/*===========================================================================*/
/*   (Module/class.scm)                                                      */
/*   Bigloo (4.5b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Fri Dec 22 05:17:06 PM CET 2023     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/bigloo/bin/bigloo -ldopt -L/home/serrano/prgm/project/bigloo/bigloo/libbacktrace/home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b  -q -afile .afile -fsharing -fno-reflection -cc gcc -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -unsafev -gno-error-localization -no-hello -O2 -rm -unsafe -s -stdc -indent Module/class.scm) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C"
{
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL_MODULE_CLASS_TYPE_DEFINITIONS
#define BGL_MODULE_CLASS_TYPE_DEFINITIONS

/* object type definitions */
	typedef struct BgL_backendz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_languagez00;
		obj_t BgL_srfi0z00;
		obj_t BgL_namez00;
		obj_t BgL_externzd2variableszd2;
		obj_t BgL_externzd2functionszd2;
		obj_t BgL_externzd2typeszd2;
		obj_t BgL_variablesz00;
		obj_t BgL_functionsz00;
		obj_t BgL_typesz00;
		bool_t BgL_typedz00;
		obj_t BgL_heapzd2suffixzd2;
		obj_t BgL_heapzd2compatiblezd2;
		bool_t BgL_callccz00;
		bool_t BgL_qualifiedzd2typeszd2;
		bool_t BgL_effectzb2zb2;
		bool_t BgL_removezd2emptyzd2letz00;
		bool_t BgL_foreignzd2closurezd2;
		bool_t BgL_typedzd2eqzd2;
		bool_t BgL_tracezd2supportzd2;
		obj_t BgL_foreignzd2clausezd2supportz00;
		obj_t BgL_debugzd2supportzd2;
		bool_t BgL_pragmazd2supportzd2;
		bool_t BgL_tvectorzd2descrzd2supportz00;
		bool_t BgL_requirezd2tailczd2;
		obj_t BgL_registersz00;
		obj_t BgL_pregistersz00;
		bool_t BgL_boundzd2checkzd2;
		bool_t BgL_typezd2checkzd2;
		bool_t BgL_typedzd2funcallzd2;
	}                 *BgL_backendz00_bglt;

	typedef struct BgL_typez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_namez00;
		obj_t BgL_siza7eza7;
		obj_t BgL_classz00;
		obj_t BgL_coercezd2tozd2;
		obj_t BgL_parentsz00;
		bool_t BgL_initzf3zf3;
		bool_t BgL_magiczf3zf3;
		obj_t BgL_z42z42;
		obj_t BgL_aliasz00;
		obj_t BgL_pointedzd2tozd2byz00;
		obj_t BgL_tvectorz00;
		obj_t BgL_locationz00;
		obj_t BgL_importzd2locationzd2;
		int BgL_occurrencez00;
	}              *BgL_typez00_bglt;

	typedef struct BgL_valuez00_bgl
	{
		header_t header;
		obj_t widening;
	}               *BgL_valuez00_bglt;

	typedef struct BgL_variablez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_namez00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_valuez00_bgl *BgL_valuez00;
		obj_t BgL_accessz00;
		obj_t BgL_fastzd2alphazd2;
		obj_t BgL_removablez00;
		long BgL_occurrencez00;
		long BgL_occurrencewz00;
		bool_t BgL_userzf3zf3;
	}                  *BgL_variablez00_bglt;

	typedef struct BgL_globalz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_namez00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_valuez00_bgl *BgL_valuez00;
		obj_t BgL_accessz00;
		obj_t BgL_fastzd2alphazd2;
		obj_t BgL_removablez00;
		long BgL_occurrencez00;
		long BgL_occurrencewz00;
		bool_t BgL_userzf3zf3;
		obj_t BgL_modulez00;
		obj_t BgL_importz00;
		bool_t BgL_evaluablezf3zf3;
		bool_t BgL_evalzf3zf3;
		obj_t BgL_libraryz00;
		obj_t BgL_pragmaz00;
		obj_t BgL_srcz00;
		obj_t BgL_jvmzd2typezd2namez00;
		obj_t BgL_initz00;
		obj_t BgL_aliasz00;
	}                *BgL_globalz00_bglt;

	typedef struct BgL_tclassz00_bgl
	{
		obj_t BgL_itszd2superzd2;
		obj_t BgL_slotsz00;
		struct BgL_globalz00_bgl *BgL_holderz00;
		obj_t BgL_wideningz00;
		long BgL_depthz00;
		bool_t BgL_finalzf3zf3;
		obj_t BgL_constructorz00;
		obj_t BgL_virtualzd2slotszd2numberz00;
		bool_t BgL_abstractzf3zf3;
		obj_t BgL_widezd2typezd2;
		obj_t BgL_subclassesz00;
	}                *BgL_tclassz00_bglt;

	typedef struct BgL_jclassz00_bgl
	{
		obj_t BgL_itszd2superzd2;
		obj_t BgL_slotsz00;
		obj_t BgL_packagez00;
	}                *BgL_jclassz00_bglt;

	typedef struct BgL_slotz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_namez00;
		obj_t BgL_srcz00;
		obj_t BgL_classzd2ownerzd2;
		long BgL_indexz00;
		obj_t BgL_typez00;
		bool_t BgL_readzd2onlyzf3z21;
		obj_t BgL_defaultzd2valuezd2;
		obj_t BgL_virtualzd2numzd2;
		bool_t BgL_virtualzd2overridezd2;
		obj_t BgL_getterz00;
		obj_t BgL_setterz00;
		obj_t BgL_userzd2infozd2;
	}              *BgL_slotz00_bglt;


#endif													// BGL_MODULE_CLASS_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_z62declarezd2classz12za2zzmodule_classz00(obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_forcezd2classzd2accessesz00zzmodule_classz00(void);
	static obj_t BGl_z62zc3z04anonymousza31854ze3ze5zzmodule_classz00(obj_t,
		obj_t);
	BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t,
		obj_t);
	static obj_t BGl_makezd2classzd2fieldsz00zzmodule_classz00(obj_t);
	extern obj_t
		BGl_classgenzd2makezd2anonymousz00zzobject_classgenz00(BgL_typez00_bglt);
	static obj_t BGl_requirezd2initializa7ationz75zzmodule_classz00 = BUNSPEC;
	static long BGl_getzd2classzd2hashz00zzmodule_classz00(obj_t);
	static obj_t
		BGl_z62classzd2finaliza7erzd2addzd2staticz12z05zzmodule_classz00(obj_t);
	static obj_t BGl_za2methodzd2unitza2zd2zzmodule_classz00 = BUNSPEC;
	extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
	static obj_t BGl_za2genericzd2unitza2zd2zzmodule_classz00 = BUNSPEC;
	BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
	extern obj_t BGl_tclassz00zzobject_classz00;
	extern bool_t BGl_widezd2classzf3z21zzobject_classz00(obj_t);
	extern obj_t BGl_za2objectzd2initzd2modeza2z00zzengine_paramz00;
	static obj_t BGl_toplevelzd2initzd2zzmodule_classz00(void);
	BGL_EXPORTED_DECL obj_t BGl_classzd2finaliza7erz75zzmodule_classz00(void);
	static obj_t BGl_z62classzd2finaliza7erz17zzmodule_classz00(obj_t);
	extern bool_t
		BGl_checkzd2classzd2declarationzf3zf3zzobject_classz00(BgL_typez00_bglt,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_declarezd2classz12zc0zzmodule_classz00(obj_t,
		obj_t, obj_t, bool_t, bool_t, obj_t, obj_t);
	BGL_IMPORT obj_t bgl_reverse(obj_t);
	static obj_t BGl_genericzd2initzd2zzmodule_classz00(void);
	BGL_IMPORT obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_za2declaredzd2classesza2zd2zzmodule_classz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_declarezd2widezd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t,
		obj_t, obj_t);
	static BgL_typez00_bglt
		BGl_z62delayzd2classzd2accessorsz12z70zzmodule_classz00(obj_t, obj_t,
		obj_t);
	BGL_IMPORT obj_t BGl_filterzd2mapzd2zz__r4_control_features_6_9z00(obj_t,
		obj_t);
	static obj_t BGl_objectzd2initzd2zzmodule_classz00(void);
	BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
	extern obj_t BGl_typez00zztype_typez00;
	extern obj_t BGl_za2debugzd2moduleza2zd2zzengine_paramz00;
	extern obj_t BGl_thezd2backendzd2zzbackend_backendz00(void);
	BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_appendzd221011zd2zzmodule_classz00(obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zzmodule_classz00(void);
	BGL_IMPORT obj_t BGl_makezd2promisezd2zz__r4_control_features_6_9z00(obj_t);
	static obj_t BGl_genzd2registerzd2classz12z12zzmodule_classz00(obj_t, obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_getzd2objectzd2unitz00zzmodule_classz00(void);
	static obj_t BGl_z62getzd2objectzd2unitz62zzmodule_classz00(obj_t);
	extern BgL_typez00_bglt
		BGl_declarezd2classzd2typez12z12zzobject_classz00(obj_t, BgL_globalz00_bglt,
		obj_t, bool_t, bool_t, obj_t);
	extern obj_t
		BGl_classgenzd2allocatezd2anonymousz00zzobject_classgenz00
		(BgL_typez00_bglt);
	BGL_IMPORT long BGl_getzd2hashnumberzd2persistentz00zz__hashz00(obj_t);
	extern obj_t BGl_idzd2ofzd2idz00zzast_identz00(obj_t, obj_t);
	extern obj_t BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00(obj_t);
	static obj_t BGl_z62zc3z04anonymousza31409ze3ze5zzmodule_classz00(obj_t);
	extern obj_t BGl_setzd2classzd2slotsz12z12zzobject_classz00(BgL_typez00_bglt,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_getzd2methodzd2unitz00zzmodule_classz00(void);
	extern obj_t BGl_jclassz00zzobject_classz00;
	static obj_t BGl_z62getzd2methodzd2unitz62zzmodule_classz00(obj_t);
	extern obj_t
		BGl_classgenzd2widenzd2anonymousz00zzobject_classgenz00(BgL_typez00_bglt);
	static obj_t BGl_z62zc3z04anonymousza31451ze3ze5zzmodule_classz00(obj_t);
	static obj_t BGl_makezd2classzd2virtualzd2fieldszd2zzmodule_classz00(obj_t);
	extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
	static obj_t BGl_setterze70ze7zzmodule_classz00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31630ze3ze5zzmodule_classz00(obj_t,
		obj_t);
	extern obj_t BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(obj_t);
	extern bool_t BGl_slotzd2defaultzf3z21zzobject_slotsz00(BgL_slotz00_bglt);
	BGL_EXPORTED_DECL obj_t
		BGl_modulezd2initializa7ationz75zzmodule_classz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_slotsz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_classgenz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_coercionz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_miscz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzbackend_backendz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzmodule_includez00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzmodule_impusez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__bitz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__structurez00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
	extern bool_t BGl_slotzd2virtualzf3z21zzobject_slotsz00(BgL_slotz00_bglt);
	static obj_t BGl_za2objectzd2unitza2zd2zzmodule_classz00 = BUNSPEC;
	static obj_t BGl_slotzd2defaultzd2exprze70ze7zzmodule_classz00(obj_t);
	extern obj_t BGl_importzd2parserzd2zzmodule_impusez00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_typezd2defaultzd2idze70ze7zzmodule_classz00(obj_t);
	BGL_IMPORT obj_t create_struct(obj_t, int);
	static obj_t BGl_cnstzd2initzd2zzmodule_classz00(void);
	static obj_t BGl_libraryzd2moduleszd2initz00zzmodule_classz00(void);
	static BgL_typez00_bglt
		BGl_declarezd2importzd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t,
		bool_t, obj_t, obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zzmodule_classz00(void);
	static obj_t BGl_gczd2rootszd2initz00zzmodule_classz00(void);
	extern obj_t
		BGl_classgenzd2slotzd2anonymousz00zzobject_classgenz00(BgL_typez00_bglt,
		BgL_slotz00_bglt);
	extern obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t, obj_t);
	extern obj_t BGl_epairifyzd2reczd2zztools_miscz00(obj_t, obj_t);
	extern obj_t
		BGl_classgenzd2shrinkzd2anonymousz00zzobject_classgenz00(BgL_typez00_bglt);
	BGL_EXPORTED_DECL obj_t BGl_getzd2genericzd2unitz00zzmodule_classz00(void);
	BGL_EXPORTED_DECL obj_t
		BGl_classzd2finaliza7erzd2addzd2staticz12z67zzmodule_classz00(void);
	extern obj_t
		BGl_findzd2classzd2constructorz00zzobject_classz00(BgL_typez00_bglt);
	static obj_t BGl_epairifyzd2slotze70z35zzmodule_classz00(obj_t, obj_t);
	BGL_EXPORTED_DECL BgL_typez00_bglt
		BGl_delayzd2classzd2accessorsz12z12zzmodule_classz00(BgL_typez00_bglt,
		obj_t);
	static long BGl_loopze70ze7zzmodule_classz00(obj_t, long);
	static obj_t BGl_za2classzd2accessesza2zd2zzmodule_classz00 = BUNSPEC;
	static obj_t BGl_getterze70ze7zzmodule_classz00(obj_t, obj_t);
	static obj_t BGl_z62declarezd2widezd2classz12z70zzmodule_classz00(obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_z62getzd2genericzd2unitz62zzmodule_classz00(obj_t);
	static BgL_typez00_bglt
		BGl_declarezd2exportzd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t,
		bool_t, obj_t, obj_t, obj_t);
	extern obj_t
		BGl_classgenzd2nilzd2anonymousz00zzobject_classgenz00(BgL_typez00_bglt);
	static obj_t __cnst[33];


	   
		 
		DEFINE_STRING(BGl_string2120z00zzmodule_classz00,
		BgL_bgl_string2120za700za7za7m2123za7,
		"generic method unit object (#unspecified) begin pragma::void module void staged call-next-virtual-setter call-next-virtual-getter call-next-slot cons obj _ call-virtual-setter v lambda call-virtual-getter o make-class-field vector define quote register-class! __object @ widening wide plain final (export static) ",
		313);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_classzd2finaliza7erzd2envza7zzmodule_classz00,
		BgL_bgl_za762classza7d2final2124z00,
		BGl_z62classzd2finaliza7erz17zzmodule_classz00, 0L, BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_classzd2finaliza7erzd2addzd2staticz12zd2envzb5zzmodule_classz00,
		BgL_bgl_za762classza7d2final2125z00,
		BGl_z62classzd2finaliza7erzd2addzd2staticz12z05zzmodule_classz00, 0L,
		BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_declarezd2widezd2classz12zd2envzc0zzmodule_classz00,
		BgL_bgl_za762declareza7d2wid2126z00,
		BGl_z62declarezd2widezd2classz12z70zzmodule_classz00, 0L, BUNSPEC, 5);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_getzd2objectzd2unitzd2envzd2zzmodule_classz00,
		BgL_bgl_za762getza7d2objectza72127za7,
		BGl_z62getzd2objectzd2unitz62zzmodule_classz00, 0L, BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_delayzd2classzd2accessorsz12zd2envzc0zzmodule_classz00,
		BgL_bgl_za762delayza7d2class2128z00,
		BGl_z62delayzd2classzd2accessorsz12z70zzmodule_classz00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_getzd2genericzd2unitzd2envzd2zzmodule_classz00,
		BgL_bgl_za762getza7d2generic2129z00,
		BGl_z62getzd2genericzd2unitz62zzmodule_classz00, 0L, BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_declarezd2classz12zd2envz12zzmodule_classz00,
		BgL_bgl_za762declareza7d2cla2130z00,
		BGl_z62declarezd2classz12za2zzmodule_classz00, 0L, BUNSPEC, 7);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_getzd2methodzd2unitzd2envzd2zzmodule_classz00,
		BgL_bgl_za762getza7d2methodza72131za7,
		BGl_z62getzd2methodzd2unitz62zzmodule_classz00, 0L, BUNSPEC, 0);
	      DEFINE_STRING(BGl_string2117z00zzmodule_classz00,
		BgL_bgl_string2117za700za7za7m2132za7, "bgl_init_module_debug_object(\"",
		30);
	      DEFINE_STRING(BGl_string2118z00zzmodule_classz00,
		BgL_bgl_string2118za700za7za7m2133za7, "\")", 2);
	      DEFINE_STRING(BGl_string2119z00zzmodule_classz00,
		BgL_bgl_string2119za700za7za7m2134za7, "module_class", 12);

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;
		   
			 ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zzmodule_classz00));
		     ADD_ROOT((void *) (&BGl_za2methodzd2unitza2zd2zzmodule_classz00));
		     ADD_ROOT((void *) (&BGl_za2genericzd2unitza2zd2zzmodule_classz00));
		     ADD_ROOT((void *) (&BGl_za2declaredzd2classesza2zd2zzmodule_classz00));
		     ADD_ROOT((void *) (&BGl_za2objectzd2unitza2zd2zzmodule_classz00));
		     ADD_ROOT((void *) (&BGl_za2classzd2accessesza2zd2zzmodule_classz00));
#undef ADD_ROOT
		if   (roots_max > 0)
			     GC_add_roots(roots_min, ((void **) roots_max) + 1);
#endif
		     return BUNSPEC;
	}



/* module-initialization */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmodule_classz00(long
		BgL_checksumz00_3268, char *BgL_fromz00_3269)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zzmodule_classz00))
				{
					BGl_requirezd2initializa7ationz75zzmodule_classz00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zzmodule_classz00();
					BGl_libraryzd2moduleszd2initz00zzmodule_classz00();
					BGl_cnstzd2initzd2zzmodule_classz00();
					BGl_importedzd2moduleszd2initz00zzmodule_classz00();
					return BGl_toplevelzd2initzd2zzmodule_classz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* library-modules-init */
	obj_t BGl_libraryzd2moduleszd2initz00zzmodule_classz00(void)
	{
		{	/* Module/class.scm 15 */
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(0L,
				"module_class");
			BGl_modulezd2initializa7ationz75zz__objectz00(0L, "module_class");
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(0L, "module_class");
			BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(0L,
				"module_class");
			BGl_modulezd2initializa7ationz75zz__readerz00(0L, "module_class");
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(0L,
				"module_class");
			BGl_modulezd2initializa7ationz75zz__hashz00(0L, "module_class");
			BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(0L, "module_class");
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(0L,
				"module_class");
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(0L, "module_class");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(0L,
				"module_class");
			BGl_modulezd2initializa7ationz75zz__bitz00(0L, "module_class");
			BGl_modulezd2initializa7ationz75zz__structurez00(0L, "module_class");
			BGl_modulezd2initializa7ationz75zz__biglooz00(0L, "module_class");
			return BUNSPEC;
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zzmodule_classz00(void)
	{
		{	/* Module/class.scm 15 */
			{	/* Module/class.scm 15 */
				obj_t BgL_cportz00_3148;

				{	/* Module/class.scm 15 */
					obj_t BgL_stringz00_3155;

					BgL_stringz00_3155 = BGl_string2120z00zzmodule_classz00;
					{	/* Module/class.scm 15 */
						obj_t BgL_startz00_3156;

						BgL_startz00_3156 = BINT(0L);
						{	/* Module/class.scm 15 */
							obj_t BgL_endz00_3157;

							BgL_endz00_3157 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_3155)));
							{	/* Module/class.scm 15 */

								BgL_cportz00_3148 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_3155, BgL_startz00_3156, BgL_endz00_3157);
				}}}}
				{
					long BgL_iz00_3149;

					BgL_iz00_3149 = 32L;
				BgL_loopz00_3150:
					if ((BgL_iz00_3149 == -1L))
						{	/* Module/class.scm 15 */
							return BUNSPEC;
						}
					else
						{	/* Module/class.scm 15 */
							{	/* Module/class.scm 15 */
								obj_t BgL_arg2122z00_3151;

								{	/* Module/class.scm 15 */

									{	/* Module/class.scm 15 */
										obj_t BgL_locationz00_3153;

										BgL_locationz00_3153 = BBOOL(((bool_t) 0));
										{	/* Module/class.scm 15 */

											BgL_arg2122z00_3151 =
												BGl_readz00zz__readerz00(BgL_cportz00_3148,
												BgL_locationz00_3153);
										}
									}
								}
								{	/* Module/class.scm 15 */
									int BgL_tmpz00_3301;

									BgL_tmpz00_3301 = (int) (BgL_iz00_3149);
									CNST_TABLE_SET(BgL_tmpz00_3301, BgL_arg2122z00_3151);
							}}
							{	/* Module/class.scm 15 */
								int BgL_auxz00_3154;

								BgL_auxz00_3154 = (int) ((BgL_iz00_3149 - 1L));
								{
									long BgL_iz00_3306;

									BgL_iz00_3306 = (long) (BgL_auxz00_3154);
									BgL_iz00_3149 = BgL_iz00_3306;
									goto BgL_loopz00_3150;
								}
							}
						}
				}
			}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zzmodule_classz00(void)
	{
		{	/* Module/class.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zzmodule_classz00(void)
	{
		{	/* Module/class.scm 15 */
			BGl_za2objectzd2unitza2zd2zzmodule_classz00 = BUNSPEC;
			BGl_za2methodzd2unitza2zd2zzmodule_classz00 = BUNSPEC;
			BGl_za2genericzd2unitza2zd2zzmodule_classz00 = BUNSPEC;
			BGl_za2classzd2accessesza2zd2zzmodule_classz00 = BNIL;
			return (BGl_za2declaredzd2classesza2zd2zzmodule_classz00 = BNIL, BUNSPEC);
		}

	}



/* append-21011 */
	obj_t BGl_appendzd221011zd2zzmodule_classz00(obj_t BgL_l1z00_1,
		obj_t BgL_l2z00_2)
	{
		{
			{
				obj_t BgL_headz00_1755;

				BgL_headz00_1755 = MAKE_YOUNG_PAIR(BNIL, BgL_l2z00_2);
				{
					obj_t BgL_prevz00_1756;
					obj_t BgL_tailz00_1757;

					BgL_prevz00_1756 = BgL_headz00_1755;
					BgL_tailz00_1757 = BgL_l1z00_1;
				BgL_loopz00_1758:
					if (PAIRP(BgL_tailz00_1757))
						{
							obj_t BgL_newzd2prevzd2_1760;

							BgL_newzd2prevzd2_1760 =
								MAKE_YOUNG_PAIR(CAR(BgL_tailz00_1757), BgL_l2z00_2);
							SET_CDR(BgL_prevz00_1756, BgL_newzd2prevzd2_1760);
							{
								obj_t BgL_tailz00_3316;
								obj_t BgL_prevz00_3315;

								BgL_prevz00_3315 = BgL_newzd2prevzd2_1760;
								BgL_tailz00_3316 = CDR(BgL_tailz00_1757);
								BgL_tailz00_1757 = BgL_tailz00_3316;
								BgL_prevz00_1756 = BgL_prevz00_3315;
								goto BgL_loopz00_1758;
							}
						}
					else
						{
							BNIL;
						}
					return CDR(BgL_headz00_1755);
				}
			}
		}

	}



/* get-class-hash */
	long BGl_getzd2classzd2hashz00zzmodule_classz00(obj_t BgL_defz00_25)
	{
		{	/* ../runtime/Llib/object.sch 19 */
			return BGl_loopze70ze7zzmodule_classz00(BgL_defz00_25, 1705L);
		}

	}



/* loop~0 */
	long BGl_loopze70ze7zzmodule_classz00(obj_t BgL_defz00_1779,
		long BgL_hashz00_1780)
	{
		{	/* ../runtime/Llib/object.sch 24 */
		BGl_loopze70ze7zzmodule_classz00:
			if (NULLP(BgL_defz00_1779))
				{	/* ../runtime/Llib/object.sch 27 */
					return BgL_hashz00_1780;
				}
			else
				{	/* ../runtime/Llib/object.sch 27 */
					if (PAIRP(BgL_defz00_1779))
						{
							long BgL_hashz00_3326;
							obj_t BgL_defz00_3324;

							BgL_defz00_3324 = CDR(BgL_defz00_1779);
							BgL_hashz00_3326 =
								BGl_loopze70ze7zzmodule_classz00(CAR(BgL_defz00_1779),
								(1966L ^ BgL_hashz00_1780));
							BgL_hashz00_1780 = BgL_hashz00_3326;
							BgL_defz00_1779 = BgL_defz00_3324;
							goto BGl_loopze70ze7zzmodule_classz00;
						}
					else
						{	/* ../runtime/Llib/object.sch 29 */
							return
								(
								(BGl_getzd2hashnumberzd2persistentz00zz__hashz00
									(BgL_defz00_1779) & 65535L) ^ BgL_hashz00_1780);
						}
				}
		}

	}



/* get-object-unit */
	BGL_EXPORTED_DEF obj_t BGl_getzd2objectzd2unitz00zzmodule_classz00(void)
	{
		{	/* Module/class.scm 60 */
			return BGl_za2objectzd2unitza2zd2zzmodule_classz00;
		}

	}



/* &get-object-unit */
	obj_t BGl_z62getzd2objectzd2unitz62zzmodule_classz00(obj_t BgL_envz00_3104)
	{
		{	/* Module/class.scm 60 */
			return BGl_getzd2objectzd2unitz00zzmodule_classz00();
		}

	}



/* get-method-unit */
	BGL_EXPORTED_DEF obj_t BGl_getzd2methodzd2unitz00zzmodule_classz00(void)
	{
		{	/* Module/class.scm 66 */
			return BGl_za2methodzd2unitza2zd2zzmodule_classz00;
		}

	}



/* &get-method-unit */
	obj_t BGl_z62getzd2methodzd2unitz62zzmodule_classz00(obj_t BgL_envz00_3105)
	{
		{	/* Module/class.scm 66 */
			return BGl_getzd2methodzd2unitz00zzmodule_classz00();
		}

	}



/* get-generic-unit */
	BGL_EXPORTED_DEF obj_t BGl_getzd2genericzd2unitz00zzmodule_classz00(void)
	{
		{	/* Module/class.scm 72 */
			return BGl_za2genericzd2unitza2zd2zzmodule_classz00;
		}

	}



/* &get-generic-unit */
	obj_t BGl_z62getzd2genericzd2unitz62zzmodule_classz00(obj_t BgL_envz00_3106)
	{
		{	/* Module/class.scm 72 */
			return BGl_getzd2genericzd2unitz00zzmodule_classz00();
		}

	}



/* declare-class! */
	BGL_EXPORTED_DEF obj_t BGl_declarezd2classz12zc0zzmodule_classz00(obj_t
		BgL_classzd2defzd2_26, obj_t BgL_modulez00_27, obj_t BgL_importz00_28,
		bool_t BgL_finalzf3zf3_29, bool_t BgL_abstractzf3zf3_30,
		obj_t BgL_defzd2srczd2_31, obj_t BgL_declzd2srczd2_32)
	{
		{	/* Module/class.scm 78 */
			if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_importz00_28,
						CNST_TABLE_REF(0L))))
				{	/* Module/class.scm 83 */
					obj_t BgL_arg1372z00_2452;

					if (BgL_finalzf3zf3_29)
						{	/* Module/class.scm 83 */
							BgL_arg1372z00_2452 = CNST_TABLE_REF(1L);
						}
					else
						{	/* Module/class.scm 83 */
							BgL_arg1372z00_2452 = CNST_TABLE_REF(2L);
						}
					return
						((obj_t)
						BGl_declarezd2exportzd2classz12z12zzmodule_classz00
						(BgL_classzd2defzd2_26, BgL_modulez00_27, BgL_arg1372z00_2452,
							BgL_abstractzf3zf3_30, BgL_defzd2srczd2_31, BgL_declzd2srczd2_32,
							BgL_importz00_28));
				}
			else
				{	/* Module/class.scm 89 */
					obj_t BgL_arg1373z00_2453;

					if (BgL_finalzf3zf3_29)
						{	/* Module/class.scm 89 */
							BgL_arg1373z00_2453 = CNST_TABLE_REF(1L);
						}
					else
						{	/* Module/class.scm 89 */
							BgL_arg1373z00_2453 = CNST_TABLE_REF(2L);
						}
					return
						((obj_t)
						BGl_declarezd2importzd2classz12z12zzmodule_classz00
						(BgL_classzd2defzd2_26, BgL_modulez00_27, BgL_arg1373z00_2453,
							BgL_abstractzf3zf3_30, BgL_defzd2srczd2_31,
							BgL_declzd2srczd2_32));
				}
		}

	}



/* &declare-class! */
	obj_t BGl_z62declarezd2classz12za2zzmodule_classz00(obj_t BgL_envz00_3107,
		obj_t BgL_classzd2defzd2_3108, obj_t BgL_modulez00_3109,
		obj_t BgL_importz00_3110, obj_t BgL_finalzf3zf3_3111,
		obj_t BgL_abstractzf3zf3_3112, obj_t BgL_defzd2srczd2_3113,
		obj_t BgL_declzd2srczd2_3114)
	{
		{	/* Module/class.scm 78 */
			return
				BGl_declarezd2classz12zc0zzmodule_classz00(BgL_classzd2defzd2_3108,
				BgL_modulez00_3109, BgL_importz00_3110, CBOOL(BgL_finalzf3zf3_3111),
				CBOOL(BgL_abstractzf3zf3_3112), BgL_defzd2srczd2_3113,
				BgL_declzd2srczd2_3114);
		}

	}



/* declare-wide-class! */
	BGL_EXPORTED_DEF obj_t BGl_declarezd2widezd2classz12z12zzmodule_classz00(obj_t
		BgL_classzd2defzd2_33, obj_t BgL_modulez00_34, obj_t BgL_importz00_35,
		obj_t BgL_defzd2srczd2_36, obj_t BgL_declzd2srczd2_37)
	{
		{	/* Module/class.scm 96 */
			if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_importz00_35,
						CNST_TABLE_REF(0L))))
				{	/* Module/class.scm 98 */
					return
						((obj_t)
						BGl_declarezd2exportzd2classz12z12zzmodule_classz00
						(BgL_classzd2defzd2_33, BgL_modulez00_34, CNST_TABLE_REF(3L),
							((bool_t) 0), BgL_defzd2srczd2_36, BgL_declzd2srczd2_37,
							BgL_importz00_35));
				}
			else
				{	/* Module/class.scm 98 */
					return
						((obj_t)
						BGl_declarezd2importzd2classz12z12zzmodule_classz00
						(BgL_classzd2defzd2_33, BgL_modulez00_34, CNST_TABLE_REF(3L),
							((bool_t) 0), BgL_defzd2srczd2_36, BgL_declzd2srczd2_37));
				}
		}

	}



/* &declare-wide-class! */
	obj_t BGl_z62declarezd2widezd2classz12z70zzmodule_classz00(obj_t
		BgL_envz00_3115, obj_t BgL_classzd2defzd2_3116, obj_t BgL_modulez00_3117,
		obj_t BgL_importz00_3118, obj_t BgL_defzd2srczd2_3119,
		obj_t BgL_declzd2srczd2_3120)
	{
		{	/* Module/class.scm 96 */
			return
				BGl_declarezd2widezd2classz12z12zzmodule_classz00
				(BgL_classzd2defzd2_3116, BgL_modulez00_3117, BgL_importz00_3118,
				BgL_defzd2srczd2_3119, BgL_declzd2srczd2_3120);
		}

	}



/* declare-export-class! */
	BgL_typez00_bglt BGl_declarezd2exportzd2classz12z12zzmodule_classz00(obj_t
		BgL_cdefz00_38, obj_t BgL_modulez00_39, obj_t BgL_kindz00_40,
		bool_t BgL_abstractzf3zf3_41, obj_t BgL_srczd2defzd2_42,
		obj_t BgL_srczd2declzd2_43, obj_t BgL_importz00_44)
	{
		{	/* Module/class.scm 110 */
			{	/* Module/class.scm 114 */
				obj_t BgL_locz00_1798;

				BgL_locz00_1798 =
					BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2defzd2_42);
				{	/* Module/class.scm 114 */
					obj_t BgL_classzd2varzd2_1799;

					BgL_classzd2varzd2_1799 = CAR(BgL_cdefz00_38);
					{	/* Module/class.scm 115 */
						obj_t BgL_classzd2idzd2_1800;

						BgL_classzd2idzd2_1800 =
							BGl_idzd2ofzd2idz00zzast_identz00(BgL_classzd2varzd2_1799,
							BgL_locz00_1798);
						{	/* Module/class.scm 116 */
							obj_t BgL_holderz00_1801;

							{	/* Module/class.scm 118 */
								obj_t BgL_arg1420z00_1810;

								{	/* Module/class.scm 118 */
									obj_t BgL_arg1431z00_1811;

									BgL_arg1431z00_1811 =
										MAKE_YOUNG_PAIR(BgL_classzd2idzd2_1800, BNIL);
									BgL_arg1420z00_1810 =
										MAKE_YOUNG_PAIR(BgL_importz00_44, BgL_arg1431z00_1811);
								}
								BGl_producezd2modulezd2clausez12z12zzmodule_modulez00
									(BgL_arg1420z00_1810);
							}
							BgL_holderz00_1801 =
								BGl_findzd2globalzf2modulez20zzast_envz00
								(BgL_classzd2idzd2_1800, BgL_modulez00_39);
							{	/* Module/class.scm 117 */
								bool_t BgL_finalzf3zf3_1802;

								BgL_finalzf3zf3_1802 = (BgL_kindz00_40 == CNST_TABLE_REF(1L));
								{	/* Module/class.scm 120 */
									obj_t BgL_widez00_1803;

									if ((BgL_kindz00_40 == CNST_TABLE_REF(3L)))
										{	/* Module/class.scm 121 */
											BgL_widez00_1803 = CNST_TABLE_REF(4L);
										}
									else
										{	/* Module/class.scm 121 */
											BgL_widez00_1803 = BFALSE;
										}
									{	/* Module/class.scm 121 */
										BgL_typez00_bglt BgL_tclassz00_1804;

										BgL_tclassz00_1804 =
											BGl_declarezd2classzd2typez12z12zzobject_classz00
											(BgL_cdefz00_38,
											((BgL_globalz00_bglt) BgL_holderz00_1801),
											BgL_widez00_1803, BgL_finalzf3zf3_1802,
											BgL_abstractzf3zf3_41, BgL_srczd2defzd2_42);
										{	/* Module/class.scm 122 */

											((((BgL_globalz00_bglt) COBJECT(
															((BgL_globalz00_bglt) BgL_holderz00_1801)))->
													BgL_srcz00) = ((obj_t) BgL_srczd2defzd2_42), BUNSPEC);
											((((BgL_typez00_bglt) COBJECT(BgL_tclassz00_1804))->
													BgL_importzd2locationzd2) =
												((obj_t)
													BGl_findzd2locationzf2locz20zztools_locationz00
													(BgL_srczd2declzd2_43, BgL_locz00_1798)), BUNSPEC);
											{	/* Module/class.scm 136 */
												obj_t BgL_arg1407z00_1806;

												{	/* Module/class.scm 136 */
													obj_t BgL_zc3z04anonymousza31409ze3z87_3121;

													BgL_zc3z04anonymousza31409ze3z87_3121 =
														MAKE_FX_PROCEDURE
														(BGl_z62zc3z04anonymousza31409ze3ze5zzmodule_classz00,
														(int) (0L), (int) (4L));
													PROCEDURE_SET(BgL_zc3z04anonymousza31409ze3z87_3121,
														(int) (0L), BgL_cdefz00_38);
													PROCEDURE_SET(BgL_zc3z04anonymousza31409ze3z87_3121,
														(int) (1L), BgL_holderz00_1801);
													PROCEDURE_SET(BgL_zc3z04anonymousza31409ze3z87_3121,
														(int) (2L), ((obj_t) BgL_tclassz00_1804));
													PROCEDURE_SET(BgL_zc3z04anonymousza31409ze3z87_3121,
														(int) (3L), BgL_srczd2defzd2_42);
													BgL_arg1407z00_1806 =
														BGl_makezd2promisezd2zz__r4_control_features_6_9z00
														(BgL_zc3z04anonymousza31409ze3z87_3121);
												}
												{	/* Module/class.scm 176 */
													obj_t BgL_arg1453z00_2459;

													BgL_arg1453z00_2459 =
														MAKE_YOUNG_PAIR(
														((obj_t) BgL_tclassz00_1804), BgL_arg1407z00_1806);
													BGl_za2classzd2accessesza2zd2zzmodule_classz00 =
														MAKE_YOUNG_PAIR(BgL_arg1453z00_2459,
														BGl_za2classzd2accessesza2zd2zzmodule_classz00);
												}
												return BgL_tclassz00_1804;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* &<@anonymous:1409> */
	obj_t BGl_z62zc3z04anonymousza31409ze3ze5zzmodule_classz00(obj_t
		BgL_envz00_3122)
	{
		{	/* Module/class.scm 135 */
			{	/* Module/class.scm 136 */
				obj_t BgL_cdefz00_3123;
				obj_t BgL_holderz00_3124;
				BgL_typez00_bglt BgL_tclassz00_3125;
				obj_t BgL_srczd2defzd2_3126;

				BgL_cdefz00_3123 = ((obj_t) PROCEDURE_REF(BgL_envz00_3122, (int) (0L)));
				BgL_holderz00_3124 = PROCEDURE_REF(BgL_envz00_3122, (int) (1L));
				BgL_tclassz00_3125 =
					((BgL_typez00_bglt) PROCEDURE_REF(BgL_envz00_3122, (int) (2L)));
				BgL_srczd2defzd2_3126 = PROCEDURE_REF(BgL_envz00_3122, (int) (3L));
				return
					BGl_genzd2registerzd2classz12z12zzmodule_classz00(BgL_cdefz00_3123,
					BgL_holderz00_3124, ((obj_t) BgL_tclassz00_3125),
					BgL_srczd2defzd2_3126);
			}
		}

	}



/* declare-import-class! */
	BgL_typez00_bglt BGl_declarezd2importzd2classz12z12zzmodule_classz00(obj_t
		BgL_cdefz00_45, obj_t BgL_modulez00_46, obj_t BgL_kindz00_47,
		bool_t BgL_abstractzf3zf3_48, obj_t BgL_srczd2defzd2_49,
		obj_t BgL_srczd2declzd2_50)
	{
		{	/* Module/class.scm 141 */
			{	/* Module/class.scm 145 */
				obj_t BgL_locz00_1812;

				BgL_locz00_1812 =
					BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2defzd2_49);
				{	/* Module/class.scm 145 */
					obj_t BgL_classzd2varzd2_1813;

					BgL_classzd2varzd2_1813 = CAR(BgL_cdefz00_45);
					{	/* Module/class.scm 146 */
						obj_t BgL_classzd2idzd2_1814;

						BgL_classzd2idzd2_1814 =
							BGl_idzd2ofzd2idz00zzast_identz00(BgL_classzd2varzd2_1813,
							BgL_locz00_1812);
						{	/* Module/class.scm 147 */
							obj_t BgL_holderz00_1815;

							BgL_holderz00_1815 =
								BGl_importzd2parserzd2zzmodule_impusez00(BgL_modulez00_46,
								BgL_classzd2idzd2_1814, BFALSE, BNIL);
							{	/* Module/class.scm 148 */
								bool_t BgL_finalzf3zf3_1816;

								BgL_finalzf3zf3_1816 = (BgL_kindz00_47 == CNST_TABLE_REF(1L));
								{	/* Module/class.scm 149 */
									obj_t BgL_widez00_1817;

									if ((BgL_kindz00_47 == CNST_TABLE_REF(3L)))
										{	/* Module/class.scm 150 */
											BgL_widez00_1817 = CNST_TABLE_REF(4L);
										}
									else
										{	/* Module/class.scm 150 */
											BgL_widez00_1817 = BFALSE;
										}
									{	/* Module/class.scm 150 */
										BgL_typez00_bglt BgL_tclassz00_1818;

										BgL_tclassz00_1818 =
											BGl_declarezd2classzd2typez12z12zzobject_classz00
											(BgL_cdefz00_45,
											((BgL_globalz00_bglt) BgL_holderz00_1815),
											BgL_widez00_1817, BgL_finalzf3zf3_1816,
											BgL_abstractzf3zf3_48, BgL_srczd2defzd2_49);
										{	/* Module/class.scm 151 */

											((((BgL_typez00_bglt) COBJECT(BgL_tclassz00_1818))->
													BgL_importzd2locationzd2) =
												((obj_t)
													BGl_findzd2locationzf2locz20zztools_locationz00
													(BgL_srczd2declzd2_50, BgL_locz00_1812)), BUNSPEC);
											{	/* Module/class.scm 166 */
												obj_t BgL_arg1437z00_1820;

												{	/* Module/class.scm 166 */
													obj_t BgL_zc3z04anonymousza31451ze3z87_3127;

													BgL_zc3z04anonymousza31451ze3z87_3127 =
														MAKE_FX_PROCEDURE
														(BGl_z62zc3z04anonymousza31451ze3ze5zzmodule_classz00,
														(int) (0L), (int) (3L));
													PROCEDURE_SET(BgL_zc3z04anonymousza31451ze3z87_3127,
														(int) (0L), ((obj_t) BgL_tclassz00_1818));
													PROCEDURE_SET(BgL_zc3z04anonymousza31451ze3z87_3127,
														(int) (1L), BgL_cdefz00_45);
													PROCEDURE_SET(BgL_zc3z04anonymousza31451ze3z87_3127,
														(int) (2L), BgL_srczd2defzd2_49);
													BgL_arg1437z00_1820 =
														BGl_makezd2promisezd2zz__r4_control_features_6_9z00
														(BgL_zc3z04anonymousza31451ze3z87_3127);
												}
												{	/* Module/class.scm 176 */
													obj_t BgL_arg1453z00_2463;

													BgL_arg1453z00_2463 =
														MAKE_YOUNG_PAIR(
														((obj_t) BgL_tclassz00_1818), BgL_arg1437z00_1820);
													BGl_za2classzd2accessesza2zd2zzmodule_classz00 =
														MAKE_YOUNG_PAIR(BgL_arg1453z00_2463,
														BGl_za2classzd2accessesza2zd2zzmodule_classz00);
												}
												return BgL_tclassz00_1818;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* &<@anonymous:1451> */
	obj_t BGl_z62zc3z04anonymousza31451ze3ze5zzmodule_classz00(obj_t
		BgL_envz00_3128)
	{
		{	/* Module/class.scm 162 */
			{	/* Module/class.scm 166 */
				BgL_typez00_bglt BgL_tclassz00_3129;
				obj_t BgL_cdefz00_3130;
				obj_t BgL_srczd2defzd2_3131;

				BgL_tclassz00_3129 =
					((BgL_typez00_bglt) PROCEDURE_REF(BgL_envz00_3128, (int) (0L)));
				BgL_cdefz00_3130 = ((obj_t) PROCEDURE_REF(BgL_envz00_3128, (int) (1L)));
				BgL_srczd2defzd2_3131 = PROCEDURE_REF(BgL_envz00_3128, (int) (2L));
				BGl_setzd2classzd2slotsz12z12zzobject_classz00(
					((BgL_typez00_bglt) BgL_tclassz00_3129), BgL_cdefz00_3130,
					BgL_srczd2defzd2_3131);
				BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00(((obj_t)
						BgL_tclassz00_3129));
				return BNIL;
			}
		}

	}



/* delay-class-accessors! */
	BGL_EXPORTED_DEF BgL_typez00_bglt
		BGl_delayzd2classzd2accessorsz12z12zzmodule_classz00(BgL_typez00_bglt
		BgL_typez00_51, obj_t BgL_delayedz00_52)
	{
		{	/* Module/class.scm 175 */
			{	/* Module/class.scm 176 */
				obj_t BgL_arg1453z00_2464;

				BgL_arg1453z00_2464 =
					MAKE_YOUNG_PAIR(((obj_t) BgL_typez00_51), BgL_delayedz00_52);
				BGl_za2classzd2accessesza2zd2zzmodule_classz00 =
					MAKE_YOUNG_PAIR(BgL_arg1453z00_2464,
					BGl_za2classzd2accessesza2zd2zzmodule_classz00);
			}
			return BgL_typez00_51;
		}

	}



/* &delay-class-accessors! */
	BgL_typez00_bglt BGl_z62delayzd2classzd2accessorsz12z70zzmodule_classz00(obj_t
		BgL_envz00_3132, obj_t BgL_typez00_3133, obj_t BgL_delayedz00_3134)
	{
		{	/* Module/class.scm 175 */
			return
				BGl_delayzd2classzd2accessorsz12z12zzmodule_classz00(
				((BgL_typez00_bglt) BgL_typez00_3133), BgL_delayedz00_3134);
		}

	}



/* gen-register-class! */
	obj_t BGl_genzd2registerzd2classz12z12zzmodule_classz00(obj_t
		BgL_classzd2defzd2_53, obj_t BgL_holderz00_54, obj_t BgL_classz00_55,
		obj_t BgL_srczd2defzd2_56)
	{
		{	/* Module/class.scm 194 */
			if (BGl_checkzd2classzd2declarationzf3zf3zzobject_classz00(
					((BgL_typez00_bglt) BgL_classz00_55), BgL_srczd2defzd2_56))
				{	/* Module/class.scm 195 */
					BGl_setzd2classzd2slotsz12z12zzobject_classz00(
						((BgL_typez00_bglt) BgL_classz00_55), BgL_classzd2defzd2_53,
						BgL_srczd2defzd2_56);
					BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00
						(BgL_classz00_55);
					{	/* Module/class.scm 202 */
						obj_t BgL_classidz00_1827;

						BgL_classidz00_1827 =
							(((BgL_typez00_bglt) COBJECT(
									((BgL_typez00_bglt) BgL_classz00_55)))->BgL_idz00);
						{	/* Module/class.scm 202 */
							obj_t BgL_classmodz00_1828;

							{	/* Module/class.scm 203 */
								BgL_globalz00_bglt BgL_arg1615z00_1876;

								{
									BgL_tclassz00_bglt BgL_auxz00_3464;

									{
										obj_t BgL_auxz00_3465;

										{	/* Module/class.scm 203 */
											BgL_objectz00_bglt BgL_tmpz00_3466;

											BgL_tmpz00_3466 =
												((BgL_objectz00_bglt)
												((BgL_typez00_bglt) BgL_classz00_55));
											BgL_auxz00_3465 = BGL_OBJECT_WIDENING(BgL_tmpz00_3466);
										}
										BgL_auxz00_3464 = ((BgL_tclassz00_bglt) BgL_auxz00_3465);
									}
									BgL_arg1615z00_1876 =
										(((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_3464))->
										BgL_holderz00);
								}
								BgL_classmodz00_1828 =
									(((BgL_globalz00_bglt) COBJECT(BgL_arg1615z00_1876))->
									BgL_modulez00);
							}
							{	/* Module/class.scm 203 */
								obj_t BgL_superz00_1829;

								{
									BgL_tclassz00_bglt BgL_auxz00_3473;

									{
										obj_t BgL_auxz00_3474;

										{	/* Module/class.scm 204 */
											BgL_objectz00_bglt BgL_tmpz00_3475;

											BgL_tmpz00_3475 =
												((BgL_objectz00_bglt)
												((BgL_typez00_bglt) BgL_classz00_55));
											BgL_auxz00_3474 = BGL_OBJECT_WIDENING(BgL_tmpz00_3475);
										}
										BgL_auxz00_3473 = ((BgL_tclassz00_bglt) BgL_auxz00_3474);
									}
									BgL_superz00_1829 =
										(((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_3473))->
										BgL_itszd2superzd2);
								}
								{	/* Module/class.scm 204 */
									obj_t BgL_supervz00_1830;

									{	/* Module/class.scm 205 */
										bool_t BgL_test2147z00_3481;

										{	/* Module/class.scm 205 */
											obj_t BgL_classz00_2471;

											BgL_classz00_2471 = BGl_tclassz00zzobject_classz00;
											if (BGL_OBJECTP(BgL_superz00_1829))
												{	/* Module/class.scm 205 */
													BgL_objectz00_bglt BgL_arg1801z00_2473;

													BgL_arg1801z00_2473 =
														(BgL_objectz00_bglt) (BgL_superz00_1829);
													if (BGL_CONDEXPAND_ISA_ARCH64())
														{	/* Module/class.scm 205 */
															long BgL_idxz00_2479;

															BgL_idxz00_2479 =
																BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2473);
															BgL_test2147z00_3481 =
																(VECTOR_REF
																(BGl_za2inheritancesza2z00zz__objectz00,
																	(BgL_idxz00_2479 + 2L)) == BgL_classz00_2471);
														}
													else
														{	/* Module/class.scm 205 */
															bool_t BgL_res2097z00_2501;

															{	/* Module/class.scm 205 */
																obj_t BgL_oclassz00_2487;

																{	/* Module/class.scm 205 */
																	long BgL_arg1808z00_2493;

																	{	/* Module/class.scm 205 */
																		long BgL_arg1809z00_2494;

																		BgL_arg1809z00_2494 =
																			BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2473);
																		BgL_arg1808z00_2493 =
																			(BgL_arg1809z00_2494 - OBJECT_TYPE);
																	}
																	BgL_oclassz00_2487 =
																		VECTOR_REF
																		(BGl_za2classesza2z00zz__objectz00,
																		BgL_arg1808z00_2493);
																}
																{	/* Module/class.scm 205 */
																	bool_t BgL__ortest_1115z00_2488;

																	BgL__ortest_1115z00_2488 =
																		(BgL_classz00_2471 == BgL_oclassz00_2487);
																	if (BgL__ortest_1115z00_2488)
																		{	/* Module/class.scm 205 */
																			BgL_res2097z00_2501 =
																				BgL__ortest_1115z00_2488;
																		}
																	else
																		{	/* Module/class.scm 205 */
																			long BgL_odepthz00_2489;

																			BgL_odepthz00_2489 =
																				BGL_CLASS_DEPTH(BgL_oclassz00_2487);
																			if ((2L < BgL_odepthz00_2489))
																				{	/* Module/class.scm 205 */
																					obj_t BgL_arg1797z00_2491;

																					BgL_arg1797z00_2491 =
																						BGL_CLASS_ANCESTORS_REF
																						(BgL_oclassz00_2487, 2L);
																					BgL_res2097z00_2501 =
																						(BgL_arg1797z00_2491 ==
																						BgL_classz00_2471);
																				}
																			else
																				{	/* Module/class.scm 205 */
																					BgL_res2097z00_2501 = ((bool_t) 0);
																				}
																		}
																}
															}
															BgL_test2147z00_3481 = BgL_res2097z00_2501;
														}
												}
											else
												{	/* Module/class.scm 205 */
													BgL_test2147z00_3481 = ((bool_t) 0);
												}
										}
										if (BgL_test2147z00_3481)
											{	/* Module/class.scm 206 */
												BgL_globalz00_bglt BgL_sholderz00_1871;

												{
													BgL_tclassz00_bglt BgL_auxz00_3501;

													{
														obj_t BgL_auxz00_3502;

														{	/* Module/class.scm 206 */
															BgL_objectz00_bglt BgL_tmpz00_3503;

															BgL_tmpz00_3503 =
																((BgL_objectz00_bglt)
																((BgL_typez00_bglt) BgL_superz00_1829));
															BgL_auxz00_3502 =
																BGL_OBJECT_WIDENING(BgL_tmpz00_3503);
														}
														BgL_auxz00_3501 =
															((BgL_tclassz00_bglt) BgL_auxz00_3502);
													}
													BgL_sholderz00_1871 =
														(((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_3501))->
														BgL_holderz00);
												}
												{	/* Module/class.scm 206 */
													obj_t BgL_sholderidz00_1872;

													BgL_sholderidz00_1872 =
														(((BgL_variablez00_bglt) COBJECT(
																((BgL_variablez00_bglt) BgL_sholderz00_1871)))->
														BgL_idz00);
													{	/* Module/class.scm 207 */
														obj_t BgL_sholdermodulez00_1873;

														BgL_sholdermodulez00_1873 =
															(((BgL_globalz00_bglt)
																COBJECT(BgL_sholderz00_1871))->BgL_modulez00);
														{	/* Module/class.scm 208 */

															{	/* Module/class.scm 209 */
																obj_t BgL_arg1613z00_1874;

																{	/* Module/class.scm 209 */
																	obj_t BgL_arg1614z00_1875;

																	BgL_arg1614z00_1875 =
																		MAKE_YOUNG_PAIR(BgL_sholdermodulez00_1873,
																		BNIL);
																	BgL_arg1613z00_1874 =
																		MAKE_YOUNG_PAIR(BgL_sholderidz00_1872,
																		BgL_arg1614z00_1875);
																}
																BgL_supervz00_1830 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
																	BgL_arg1613z00_1874);
															}
														}
													}
												}
											}
										else
											{	/* Module/class.scm 205 */
												BgL_supervz00_1830 = BFALSE;
											}
									}
									{	/* Module/class.scm 205 */
										obj_t BgL_declz00_1831;

										{	/* Module/class.scm 210 */
											obj_t BgL_arg1494z00_1837;

											{	/* Module/class.scm 210 */
												obj_t BgL_arg1496z00_1838;
												obj_t BgL_arg1497z00_1839;

												BgL_arg1496z00_1838 =
													(((BgL_variablez00_bglt) COBJECT(
															((BgL_variablez00_bglt)
																((BgL_globalz00_bglt) BgL_holderz00_54))))->
													BgL_idz00);
												{	/* Module/class.scm 211 */
													obj_t BgL_arg1519z00_1840;

													{	/* Module/class.scm 211 */
														obj_t BgL_arg1528z00_1841;
														obj_t BgL_arg1532z00_1842;

														{	/* Module/class.scm 211 */
															obj_t BgL_arg1534z00_1843;

															{	/* Module/class.scm 211 */
																obj_t BgL_arg1541z00_1844;

																BgL_arg1541z00_1844 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(6L), BNIL);
																BgL_arg1534z00_1843 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(7L),
																	BgL_arg1541z00_1844);
															}
															BgL_arg1528z00_1841 =
																MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
																BgL_arg1534z00_1843);
														}
														{	/* Module/class.scm 213 */
															obj_t BgL_arg1545z00_1845;
															obj_t BgL_arg1546z00_1846;

															{	/* Module/class.scm 213 */
																obj_t BgL_arg1547z00_1847;

																BgL_arg1547z00_1847 =
																	MAKE_YOUNG_PAIR(BgL_classidz00_1827, BNIL);
																BgL_arg1545z00_1845 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(8L),
																	BgL_arg1547z00_1847);
															}
															{	/* Module/class.scm 215 */
																obj_t BgL_arg1550z00_1848;
																obj_t BgL_arg1554z00_1849;

																{	/* Module/class.scm 215 */
																	obj_t BgL_arg1555z00_1850;

																	BgL_arg1555z00_1850 =
																		MAKE_YOUNG_PAIR(BgL_classmodz00_1828, BNIL);
																	BgL_arg1550z00_1848 =
																		MAKE_YOUNG_PAIR(CNST_TABLE_REF(8L),
																		BgL_arg1555z00_1850);
																}
																{	/* Module/class.scm 219 */
																	obj_t BgL_arg1560z00_1851;

																	{	/* Module/class.scm 219 */
																		long BgL_arg1563z00_1852;
																		obj_t BgL_arg1564z00_1853;

																		BgL_arg1563z00_1852 =
																			BGl_getzd2classzd2hashz00zzmodule_classz00
																			(BgL_srczd2defzd2_56);
																		{	/* Module/class.scm 221 */
																			obj_t BgL_arg1565z00_1854;
																			obj_t BgL_arg1575z00_1855;

																			{	/* Module/class.scm 221 */
																				bool_t BgL_test2152z00_3532;

																				{
																					BgL_tclassz00_bglt BgL_auxz00_3533;

																					{
																						obj_t BgL_auxz00_3534;

																						{	/* Module/class.scm 221 */
																							BgL_objectz00_bglt
																								BgL_tmpz00_3535;
																							BgL_tmpz00_3535 =
																								((BgL_objectz00_bglt) (
																									(BgL_typez00_bglt)
																									BgL_classz00_55));
																							BgL_auxz00_3534 =
																								BGL_OBJECT_WIDENING
																								(BgL_tmpz00_3535);
																						}
																						BgL_auxz00_3533 =
																							((BgL_tclassz00_bglt)
																							BgL_auxz00_3534);
																					}
																					BgL_test2152z00_3532 =
																						(((BgL_tclassz00_bglt)
																							COBJECT(BgL_auxz00_3533))->
																						BgL_abstractzf3zf3);
																				}
																				if (BgL_test2152z00_3532)
																					{	/* Module/class.scm 221 */
																						BgL_arg1565z00_1854 = BFALSE;
																					}
																				else
																					{	/* Module/class.scm 221 */
																						BgL_arg1565z00_1854 =
																							BGl_classgenzd2makezd2anonymousz00zzobject_classgenz00
																							(((BgL_typez00_bglt)
																								BgL_classz00_55));
																					}
																			}
																			{	/* Module/class.scm 225 */
																				obj_t BgL_arg1578z00_1857;
																				obj_t BgL_arg1579z00_1858;

																				if (BGl_widezd2classzf3z21zzobject_classz00(BgL_classz00_55))
																					{	/* Module/class.scm 225 */
																						BgL_arg1578z00_1857 =
																							BGl_classgenzd2widenzd2anonymousz00zzobject_classgenz00
																							(((BgL_typez00_bglt)
																								BgL_classz00_55));
																					}
																				else
																					{	/* Module/class.scm 225 */
																						BgL_arg1578z00_1857 =
																							BGl_classgenzd2allocatezd2anonymousz00zzobject_classgenz00
																							(((BgL_typez00_bglt)
																								BgL_classz00_55));
																					}
																				{	/* Module/class.scm 233 */
																					obj_t BgL_arg1581z00_1860;
																					obj_t BgL_arg1586z00_1861;

																					BgL_arg1581z00_1860 =
																						BGl_findzd2classzd2constructorz00zzobject_classz00
																						(((BgL_typez00_bglt)
																							BgL_classz00_55));
																					{	/* Module/class.scm 235 */
																						obj_t BgL_arg1590z00_1862;
																						obj_t BgL_arg1592z00_1863;

																						BgL_arg1590z00_1862 =
																							BGl_classgenzd2nilzd2anonymousz00zzobject_classgenz00
																							(((BgL_typez00_bglt)
																								BgL_classz00_55));
																						{	/* Module/class.scm 237 */
																							obj_t BgL_arg1595z00_1864;
																							obj_t BgL_arg1597z00_1865;

																							if (BGl_widezd2classzf3z21zzobject_classz00(BgL_classz00_55))
																								{	/* Module/class.scm 237 */
																									BgL_arg1595z00_1864 =
																										BGl_classgenzd2shrinkzd2anonymousz00zzobject_classgenz00
																										(((BgL_typez00_bglt)
																											BgL_classz00_55));
																								}
																							else
																								{	/* Module/class.scm 237 */
																									BgL_arg1595z00_1864 = BFALSE;
																								}
																							{	/* Module/class.scm 240 */
																								obj_t BgL_arg1606z00_1867;
																								obj_t BgL_arg1608z00_1868;

																								BgL_arg1606z00_1867 =
																									BGl_makezd2classzd2fieldsz00zzmodule_classz00
																									(BgL_classz00_55);
																								BgL_arg1608z00_1868 =
																									MAKE_YOUNG_PAIR
																									(BGl_makezd2classzd2virtualzd2fieldszd2zzmodule_classz00
																									(BgL_classz00_55), BNIL);
																								BgL_arg1597z00_1865 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg1606z00_1867,
																									BgL_arg1608z00_1868);
																							}
																							BgL_arg1592z00_1863 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg1595z00_1864,
																								BgL_arg1597z00_1865);
																						}
																						BgL_arg1586z00_1861 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1590z00_1862,
																							BgL_arg1592z00_1863);
																					}
																					BgL_arg1579z00_1858 =
																						MAKE_YOUNG_PAIR(BgL_arg1581z00_1860,
																						BgL_arg1586z00_1861);
																				}
																				BgL_arg1575z00_1855 =
																					MAKE_YOUNG_PAIR(BgL_arg1578z00_1857,
																					BgL_arg1579z00_1858);
																			}
																			BgL_arg1564z00_1853 =
																				MAKE_YOUNG_PAIR(BgL_arg1565z00_1854,
																				BgL_arg1575z00_1855);
																		}
																		BgL_arg1560z00_1851 =
																			MAKE_YOUNG_PAIR(BINT(BgL_arg1563z00_1852),
																			BgL_arg1564z00_1853);
																	}
																	BgL_arg1554z00_1849 =
																		MAKE_YOUNG_PAIR(BgL_supervz00_1830,
																		BgL_arg1560z00_1851);
																}
																BgL_arg1546z00_1846 =
																	MAKE_YOUNG_PAIR(BgL_arg1550z00_1848,
																	BgL_arg1554z00_1849);
															}
															BgL_arg1532z00_1842 =
																MAKE_YOUNG_PAIR(BgL_arg1545z00_1845,
																BgL_arg1546z00_1846);
														}
														BgL_arg1519z00_1840 =
															MAKE_YOUNG_PAIR(BgL_arg1528z00_1841,
															BgL_arg1532z00_1842);
													}
													BgL_arg1497z00_1839 =
														MAKE_YOUNG_PAIR(BgL_arg1519z00_1840, BNIL);
												}
												BgL_arg1494z00_1837 =
													MAKE_YOUNG_PAIR(BgL_arg1496z00_1838,
													BgL_arg1497z00_1839);
											}
											BgL_declz00_1831 =
												MAKE_YOUNG_PAIR(CNST_TABLE_REF(9L),
												BgL_arg1494z00_1837);
										}
										{	/* Module/class.scm 210 */
											obj_t BgL_edeclz00_1832;

											if (EPAIRP(BgL_srczd2defzd2_56))
												{	/* Module/class.scm 244 */
													obj_t BgL_arg1479z00_1834;
													obj_t BgL_arg1491z00_1835;
													obj_t BgL_arg1492z00_1836;

													BgL_arg1479z00_1834 = CAR(BgL_declz00_1831);
													BgL_arg1491z00_1835 = CDR(BgL_declz00_1831);
													BgL_arg1492z00_1836 =
														CER(((obj_t) BgL_srczd2defzd2_56));
													{	/* Module/class.scm 244 */
														obj_t BgL_res2098z00_2512;

														BgL_res2098z00_2512 =
															MAKE_YOUNG_EPAIR(BgL_arg1479z00_1834,
															BgL_arg1491z00_1835, BgL_arg1492z00_1836);
														BgL_edeclz00_1832 = BgL_res2098z00_2512;
													}
												}
											else
												{	/* Module/class.scm 243 */
													BgL_edeclz00_1832 = BgL_declz00_1831;
												}
											{	/* Module/class.scm 243 */

												BGl_za2declaredzd2classesza2zd2zzmodule_classz00 =
													MAKE_YOUNG_PAIR(BgL_edeclz00_1832,
													BGl_za2declaredzd2classesza2zd2zzmodule_classz00);
												return BNIL;
											}
										}
									}
								}
							}
						}
					}
				}
			else
				{	/* Module/class.scm 195 */
					{
						BgL_tclassz00_bglt BgL_auxz00_3584;

						{
							obj_t BgL_auxz00_3585;

							{	/* Module/class.scm 252 */
								BgL_objectz00_bglt BgL_tmpz00_3586;

								BgL_tmpz00_3586 =
									((BgL_objectz00_bglt) ((BgL_typez00_bglt) BgL_classz00_55));
								BgL_auxz00_3585 = BGL_OBJECT_WIDENING(BgL_tmpz00_3586);
							}
							BgL_auxz00_3584 = ((BgL_tclassz00_bglt) BgL_auxz00_3585);
						}
						((((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_3584))->BgL_slotsz00) =
							((obj_t) BNIL), BUNSPEC);
					}
					return BNIL;
				}
		}

	}



/* make-class-fields */
	obj_t BGl_makezd2classzd2fieldsz00zzmodule_classz00(obj_t BgL_classz00_57)
	{
		{	/* Module/class.scm 258 */
			{	/* Module/class.scm 299 */
				obj_t BgL_arg1616z00_1881;

				{	/* Module/class.scm 299 */
					obj_t BgL_arg1620z00_1882;

					{	/* Module/class.scm 299 */
						obj_t BgL_arg1628z00_1884;

						{
							BgL_tclassz00_bglt BgL_auxz00_3592;

							{
								obj_t BgL_auxz00_3593;

								{	/* Module/class.scm 305 */
									BgL_objectz00_bglt BgL_tmpz00_3594;

									BgL_tmpz00_3594 =
										((BgL_objectz00_bglt) ((BgL_typez00_bglt) BgL_classz00_57));
									BgL_auxz00_3593 = BGL_OBJECT_WIDENING(BgL_tmpz00_3594);
								}
								BgL_auxz00_3592 = ((BgL_tclassz00_bglt) BgL_auxz00_3593);
							}
							BgL_arg1628z00_1884 =
								(((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_3592))->BgL_slotsz00);
						}
						{	/* Module/class.scm 300 */
							obj_t BgL_zc3z04anonymousza31630ze3z87_3135;

							BgL_zc3z04anonymousza31630ze3z87_3135 =
								MAKE_FX_PROCEDURE
								(BGl_z62zc3z04anonymousza31630ze3ze5zzmodule_classz00,
								(int) (1L), (int) (1L));
							PROCEDURE_SET(BgL_zc3z04anonymousza31630ze3z87_3135, (int) (0L),
								BgL_classz00_57);
							{	/* Module/class.scm 299 */
								obj_t BgL_list1629z00_1885;

								BgL_list1629z00_1885 =
									MAKE_YOUNG_PAIR(BgL_arg1628z00_1884, BNIL);
								BgL_arg1620z00_1882 =
									BGl_filterzd2mapzd2zz__r4_control_features_6_9z00
									(BgL_zc3z04anonymousza31630ze3z87_3135, BgL_list1629z00_1885);
					}}}
					BgL_arg1616z00_1881 =
						BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg1620z00_1882,
						BNIL);
				}
				return MAKE_YOUNG_PAIR(CNST_TABLE_REF(10L), BgL_arg1616z00_1881);
			}
		}

	}



/* &<@anonymous:1630> */
	obj_t BGl_z62zc3z04anonymousza31630ze3ze5zzmodule_classz00(obj_t
		BgL_envz00_3136, obj_t BgL_sz00_3138)
	{
		{	/* Module/class.scm 299 */
			{	/* Module/class.scm 300 */
				obj_t BgL_classz00_3137;

				BgL_classz00_3137 = PROCEDURE_REF(BgL_envz00_3136, (int) (0L));
				{
					obj_t BgL_sz00_3221;
					obj_t BgL_sz00_3161;

					if (
						((((BgL_slotz00_bglt) COBJECT(
										((BgL_slotz00_bglt) BgL_sz00_3138)))->
								BgL_classzd2ownerzd2) == BgL_classz00_3137))
						{	/* Module/class.scm 300 */
							if (BGl_slotzd2virtualzf3z21zzobject_slotsz00(
									((BgL_slotz00_bglt) BgL_sz00_3138)))
								{	/* Module/class.scm 301 */
									if (
										(((BgL_slotz00_bglt) COBJECT(
													((BgL_slotz00_bglt) BgL_sz00_3138)))->
											BgL_virtualzd2overridezd2))
										{	/* Module/class.scm 302 */
											return BFALSE;
										}
									else
										{	/* Module/class.scm 302 */
											BgL_sz00_3161 = BgL_sz00_3138;
											{	/* Module/class.scm 271 */
												obj_t BgL_arg1678z00_3162;
												obj_t BgL_arg1681z00_3163;

												{	/* Module/class.scm 271 */
													obj_t BgL_arg1684z00_3164;

													{	/* Module/class.scm 271 */
														obj_t BgL_arg1686z00_3165;

														BgL_arg1686z00_3165 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(6L), BNIL);
														BgL_arg1684z00_3164 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(11L),
															BgL_arg1686z00_3165);
													}
													BgL_arg1678z00_3162 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
														BgL_arg1684z00_3164);
												}
												{	/* Module/class.scm 272 */
													obj_t BgL_arg1690z00_3166;
													obj_t BgL_arg1693z00_3167;

													{	/* Module/class.scm 272 */
														obj_t BgL_arg1695z00_3168;

														{	/* Module/class.scm 272 */
															obj_t BgL_arg1696z00_3169;

															BgL_arg1696z00_3169 =
																(((BgL_slotz00_bglt) COBJECT(
																		((BgL_slotz00_bglt) BgL_sz00_3161)))->
																BgL_idz00);
															BgL_arg1695z00_3168 =
																MAKE_YOUNG_PAIR(BgL_arg1696z00_3169, BNIL);
														}
														BgL_arg1690z00_3166 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(8L),
															BgL_arg1695z00_3168);
													}
													{	/* Module/class.scm 273 */
														obj_t BgL_arg1698z00_3170;
														obj_t BgL_arg1706z00_3171;

														{	/* Module/class.scm 273 */
															obj_t BgL_arg1707z00_3172;

															{	/* Module/class.scm 273 */
																obj_t BgL_arg1708z00_3173;
																obj_t BgL_arg1709z00_3174;

																BgL_arg1708z00_3173 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L), BNIL);
																{	/* Module/class.scm 274 */
																	obj_t BgL_arg1710z00_3175;

																	{	/* Module/class.scm 274 */
																		obj_t BgL_arg1712z00_3176;
																		obj_t BgL_arg1714z00_3177;

																		{	/* Module/class.scm 274 */
																			obj_t BgL_arg1715z00_3178;

																			{	/* Module/class.scm 274 */
																				obj_t BgL_arg1717z00_3179;

																				BgL_arg1717z00_3179 =
																					MAKE_YOUNG_PAIR(CNST_TABLE_REF(6L),
																					BNIL);
																				BgL_arg1715z00_3178 =
																					MAKE_YOUNG_PAIR(CNST_TABLE_REF(13L),
																					BgL_arg1717z00_3179);
																			}
																			BgL_arg1712z00_3176 =
																				MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
																				BgL_arg1715z00_3178);
																		}
																		{	/* Module/class.scm 274 */
																			obj_t BgL_arg1718z00_3180;

																			{	/* Module/class.scm 274 */
																				obj_t BgL_arg1729z00_3181;

																				BgL_arg1729z00_3181 =
																					(((BgL_slotz00_bglt) COBJECT(
																							((BgL_slotz00_bglt)
																								BgL_sz00_3161)))->
																					BgL_virtualzd2numzd2);
																				BgL_arg1718z00_3180 =
																					MAKE_YOUNG_PAIR(BgL_arg1729z00_3181,
																					BNIL);
																			}
																			BgL_arg1714z00_3177 =
																				MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L),
																				BgL_arg1718z00_3180);
																		}
																		BgL_arg1710z00_3175 =
																			MAKE_YOUNG_PAIR(BgL_arg1712z00_3176,
																			BgL_arg1714z00_3177);
																	}
																	BgL_arg1709z00_3174 =
																		MAKE_YOUNG_PAIR(BgL_arg1710z00_3175, BNIL);
																}
																BgL_arg1707z00_3172 =
																	MAKE_YOUNG_PAIR(BgL_arg1708z00_3173,
																	BgL_arg1709z00_3174);
															}
															BgL_arg1698z00_3170 =
																MAKE_YOUNG_PAIR(CNST_TABLE_REF(14L),
																BgL_arg1707z00_3172);
														}
														{	/* Module/class.scm 275 */
															obj_t BgL_arg1730z00_3182;
															obj_t BgL_arg1731z00_3183;

															{	/* Module/class.scm 275 */
																obj_t BgL_arg1732z00_3184;

																{	/* Module/class.scm 275 */
																	obj_t BgL_arg1733z00_3185;
																	obj_t BgL_arg1734z00_3186;

																	{	/* Module/class.scm 275 */
																		obj_t BgL_arg1735z00_3187;

																		BgL_arg1735z00_3187 =
																			MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L),
																			BNIL);
																		BgL_arg1733z00_3185 =
																			MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L),
																			BgL_arg1735z00_3187);
																	}
																	{	/* Module/class.scm 276 */
																		obj_t BgL_arg1736z00_3188;

																		{	/* Module/class.scm 276 */
																			obj_t BgL_arg1739z00_3189;
																			obj_t BgL_arg1741z00_3190;

																			{	/* Module/class.scm 276 */
																				obj_t BgL_arg1745z00_3191;

																				{	/* Module/class.scm 276 */
																					obj_t BgL_arg1746z00_3192;

																					BgL_arg1746z00_3192 =
																						MAKE_YOUNG_PAIR(CNST_TABLE_REF(6L),
																						BNIL);
																					BgL_arg1745z00_3191 =
																						MAKE_YOUNG_PAIR(CNST_TABLE_REF(16L),
																						BgL_arg1746z00_3192);
																				}
																				BgL_arg1739z00_3189 =
																					MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
																					BgL_arg1745z00_3191);
																			}
																			{	/* Module/class.scm 276 */
																				obj_t BgL_arg1747z00_3193;

																				{	/* Module/class.scm 276 */
																					obj_t BgL_arg1748z00_3194;
																					obj_t BgL_arg1749z00_3195;

																					BgL_arg1748z00_3194 =
																						(((BgL_slotz00_bglt) COBJECT(
																								((BgL_slotz00_bglt)
																									BgL_sz00_3161)))->
																						BgL_virtualzd2numzd2);
																					BgL_arg1749z00_3195 =
																						MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L),
																						BNIL);
																					BgL_arg1747z00_3193 =
																						MAKE_YOUNG_PAIR(BgL_arg1748z00_3194,
																						BgL_arg1749z00_3195);
																				}
																				BgL_arg1741z00_3190 =
																					MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L),
																					BgL_arg1747z00_3193);
																			}
																			BgL_arg1736z00_3188 =
																				MAKE_YOUNG_PAIR(BgL_arg1739z00_3189,
																				BgL_arg1741z00_3190);
																		}
																		BgL_arg1734z00_3186 =
																			MAKE_YOUNG_PAIR(BgL_arg1736z00_3188,
																			BNIL);
																	}
																	BgL_arg1732z00_3184 =
																		MAKE_YOUNG_PAIR(BgL_arg1733z00_3185,
																		BgL_arg1734z00_3186);
																}
																BgL_arg1730z00_3182 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(14L),
																	BgL_arg1732z00_3184);
															}
															{	/* Module/class.scm 277 */
																bool_t BgL_arg1750z00_3196;
																obj_t BgL_arg1751z00_3197;

																BgL_arg1750z00_3196 =
																	(((BgL_slotz00_bglt) COBJECT(
																			((BgL_slotz00_bglt) BgL_sz00_3161)))->
																	BgL_readzd2onlyzf3z21);
																{	/* Module/class.scm 279 */
																	obj_t BgL_arg1752z00_3198;

																	{	/* Module/class.scm 279 */
																		obj_t BgL_arg1753z00_3199;
																		obj_t BgL_arg1759z00_3200;

																		BgL_arg1753z00_3199 =
																			(((BgL_slotz00_bglt) COBJECT(
																					((BgL_slotz00_bglt) BgL_sz00_3161)))->
																			BgL_userzd2infozd2);
																		{	/* Module/class.scm 280 */
																			obj_t BgL_arg1760z00_3201;
																			obj_t BgL_arg1763z00_3202;

																			BgL_arg1760z00_3201 =
																				BGl_slotzd2defaultzd2exprze70ze7zzmodule_classz00
																				(BgL_sz00_3161);
																			{	/* Module/class.scm 281 */
																				obj_t BgL_arg1768z00_3203;

																				{	/* Module/class.scm 281 */
																					bool_t BgL_test2159z00_3678;

																					{	/* Module/class.scm 281 */
																						obj_t BgL_arg1799z00_3204;

																						BgL_arg1799z00_3204 =
																							(((BgL_slotz00_bglt) COBJECT(
																									((BgL_slotz00_bglt)
																										BgL_sz00_3161)))->
																							BgL_typez00);
																						{	/* Module/class.scm 281 */
																							obj_t BgL_classz00_3205;

																							BgL_classz00_3205 =
																								BGl_tclassz00zzobject_classz00;
																							if (BGL_OBJECTP
																								(BgL_arg1799z00_3204))
																								{	/* Module/class.scm 281 */
																									BgL_objectz00_bglt
																										BgL_arg1801z00_3206;
																									BgL_arg1801z00_3206 =
																										(BgL_objectz00_bglt)
																										(BgL_arg1799z00_3204);
																									if (BGL_CONDEXPAND_ISA_ARCH64
																										())
																										{	/* Module/class.scm 281 */
																											long BgL_idxz00_3207;

																											BgL_idxz00_3207 =
																												BGL_OBJECT_INHERITANCE_NUM
																												(BgL_arg1801z00_3206);
																											BgL_test2159z00_3678 =
																												(VECTOR_REF
																												(BGl_za2inheritancesza2z00zz__objectz00,
																													(BgL_idxz00_3207 +
																														2L)) ==
																												BgL_classz00_3205);
																										}
																									else
																										{	/* Module/class.scm 281 */
																											bool_t
																												BgL_res2099z00_3210;
																											{	/* Module/class.scm 281 */
																												obj_t
																													BgL_oclassz00_3211;
																												{	/* Module/class.scm 281 */
																													long
																														BgL_arg1808z00_3212;
																													{	/* Module/class.scm 281 */
																														long
																															BgL_arg1809z00_3213;
																														BgL_arg1809z00_3213
																															=
																															BGL_OBJECT_CLASS_NUM
																															(BgL_arg1801z00_3206);
																														BgL_arg1808z00_3212
																															=
																															(BgL_arg1809z00_3213
																															- OBJECT_TYPE);
																													}
																													BgL_oclassz00_3211 =
																														VECTOR_REF
																														(BGl_za2classesza2z00zz__objectz00,
																														BgL_arg1808z00_3212);
																												}
																												{	/* Module/class.scm 281 */
																													bool_t
																														BgL__ortest_1115z00_3214;
																													BgL__ortest_1115z00_3214
																														=
																														(BgL_classz00_3205
																														==
																														BgL_oclassz00_3211);
																													if (BgL__ortest_1115z00_3214)
																														{	/* Module/class.scm 281 */
																															BgL_res2099z00_3210
																																=
																																BgL__ortest_1115z00_3214;
																														}
																													else
																														{	/* Module/class.scm 281 */
																															long
																																BgL_odepthz00_3215;
																															BgL_odepthz00_3215
																																=
																																BGL_CLASS_DEPTH
																																(BgL_oclassz00_3211);
																															if ((2L <
																																	BgL_odepthz00_3215))
																																{	/* Module/class.scm 281 */
																																	obj_t
																																		BgL_arg1797z00_3216;
																																	BgL_arg1797z00_3216
																																		=
																																		BGL_CLASS_ANCESTORS_REF
																																		(BgL_oclassz00_3211,
																																		2L);
																																	BgL_res2099z00_3210
																																		=
																																		(BgL_arg1797z00_3216
																																		==
																																		BgL_classz00_3205);
																																}
																															else
																																{	/* Module/class.scm 281 */
																																	BgL_res2099z00_3210
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																												}
																											}
																											BgL_test2159z00_3678 =
																												BgL_res2099z00_3210;
																										}
																								}
																							else
																								{	/* Module/class.scm 281 */
																									BgL_test2159z00_3678 =
																										((bool_t) 0);
																								}
																						}
																					}
																					if (BgL_test2159z00_3678)
																						{	/* Module/class.scm 282 */
																							BgL_typez00_bglt BgL_oz00_3217;

																							BgL_oz00_3217 =
																								((BgL_typez00_bglt)
																								(((BgL_slotz00_bglt) COBJECT(
																											((BgL_slotz00_bglt)
																												BgL_sz00_3161)))->
																									BgL_typez00));
																							{
																								BgL_globalz00_bglt
																									BgL_auxz00_3703;
																								{
																									BgL_tclassz00_bglt
																										BgL_auxz00_3704;
																									{
																										obj_t BgL_auxz00_3705;

																										{	/* Module/class.scm 282 */
																											BgL_objectz00_bglt
																												BgL_tmpz00_3706;
																											BgL_tmpz00_3706 =
																												((BgL_objectz00_bglt)
																												BgL_oz00_3217);
																											BgL_auxz00_3705 =
																												BGL_OBJECT_WIDENING
																												(BgL_tmpz00_3706);
																										}
																										BgL_auxz00_3704 =
																											((BgL_tclassz00_bglt)
																											BgL_auxz00_3705);
																									}
																									BgL_auxz00_3703 =
																										(((BgL_tclassz00_bglt)
																											COBJECT
																											(BgL_auxz00_3704))->
																										BgL_holderz00);
																								}
																								BgL_arg1768z00_3203 =
																									((obj_t) BgL_auxz00_3703);
																							}
																						}
																					else
																						{	/* Module/class.scm 283 */
																							obj_t BgL_arg1793z00_3218;

																							{	/* Module/class.scm 283 */
																								obj_t BgL_arg1794z00_3219;

																								{	/* Module/class.scm 283 */
																									obj_t BgL_arg1798z00_3220;

																									BgL_arg1798z00_3220 =
																										(((BgL_slotz00_bglt)
																											COBJECT((
																													(BgL_slotz00_bglt)
																													BgL_sz00_3161)))->
																										BgL_typez00);
																									BgL_arg1794z00_3219 =
																										BGl_typezd2defaultzd2idze70ze7zzmodule_classz00
																										(BgL_arg1798z00_3220);
																								}
																								BgL_arg1793z00_3218 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg1794z00_3219, BNIL);
																							}
																							BgL_arg1768z00_3203 =
																								MAKE_YOUNG_PAIR(CNST_TABLE_REF
																								(8L), BgL_arg1793z00_3218);
																						}
																				}
																				BgL_arg1763z00_3202 =
																					MAKE_YOUNG_PAIR(BgL_arg1768z00_3203,
																					BNIL);
																			}
																			BgL_arg1759z00_3200 =
																				MAKE_YOUNG_PAIR(BgL_arg1760z00_3201,
																				BgL_arg1763z00_3202);
																		}
																		BgL_arg1752z00_3198 =
																			MAKE_YOUNG_PAIR(BgL_arg1753z00_3199,
																			BgL_arg1759z00_3200);
																	}
																	BgL_arg1751z00_3197 =
																		MAKE_YOUNG_PAIR(BTRUE, BgL_arg1752z00_3198);
																}
																BgL_arg1731z00_3183 =
																	MAKE_YOUNG_PAIR(BBOOL(BgL_arg1750z00_3196),
																	BgL_arg1751z00_3197);
															}
															BgL_arg1706z00_3171 =
																MAKE_YOUNG_PAIR(BgL_arg1730z00_3182,
																BgL_arg1731z00_3183);
														}
														BgL_arg1693z00_3167 =
															MAKE_YOUNG_PAIR(BgL_arg1698z00_3170,
															BgL_arg1706z00_3171);
													}
													BgL_arg1681z00_3163 =
														MAKE_YOUNG_PAIR(BgL_arg1690z00_3166,
														BgL_arg1693z00_3167);
												}
												return
													MAKE_YOUNG_PAIR(BgL_arg1678z00_3162,
													BgL_arg1681z00_3163);
											}
										}
								}
							else
								{	/* Module/class.scm 301 */
									BgL_sz00_3221 = BgL_sz00_3138;
									{	/* Module/class.scm 286 */
										obj_t BgL_defsz00_3222;

										BgL_defsz00_3222 =
											BGl_classgenzd2slotzd2anonymousz00zzobject_classgenz00(
											((BgL_typez00_bglt) BgL_classz00_3137),
											((BgL_slotz00_bglt) BgL_sz00_3221));
										{	/* Module/class.scm 288 */
											obj_t BgL_arg1802z00_3223;
											obj_t BgL_arg1816z00_3224;

											{	/* Module/class.scm 288 */
												obj_t BgL_arg1822z00_3225;

												{	/* Module/class.scm 288 */
													obj_t BgL_arg1823z00_3226;

													BgL_arg1823z00_3226 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(6L), BNIL);
													BgL_arg1822z00_3225 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(11L),
														BgL_arg1823z00_3226);
												}
												BgL_arg1802z00_3223 =
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
													BgL_arg1822z00_3225);
											}
											{	/* Module/class.scm 289 */
												obj_t BgL_arg1824z00_3227;
												obj_t BgL_arg1825z00_3228;

												{	/* Module/class.scm 289 */
													obj_t BgL_arg1826z00_3229;

													{	/* Module/class.scm 289 */
														obj_t BgL_arg1827z00_3230;

														BgL_arg1827z00_3230 =
															(((BgL_slotz00_bglt) COBJECT(
																	((BgL_slotz00_bglt) BgL_sz00_3221)))->
															BgL_idz00);
														BgL_arg1826z00_3229 =
															MAKE_YOUNG_PAIR(BgL_arg1827z00_3230, BNIL);
													}
													BgL_arg1824z00_3227 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(8L),
														BgL_arg1826z00_3229);
												}
												{	/* Module/class.scm 290 */
													obj_t BgL_arg1828z00_3231;
													obj_t BgL_arg1829z00_3232;

													BgL_arg1828z00_3231 = CAR(((obj_t) BgL_defsz00_3222));
													{	/* Module/class.scm 290 */
														obj_t BgL_arg1830z00_3233;
														obj_t BgL_arg1831z00_3234;

														{	/* Module/class.scm 290 */
															obj_t BgL_pairz00_3235;

															BgL_pairz00_3235 =
																CDR(((obj_t) BgL_defsz00_3222));
															BgL_arg1830z00_3233 = CAR(BgL_pairz00_3235);
														}
														{	/* Module/class.scm 290 */
															bool_t BgL_arg1832z00_3236;
															obj_t BgL_arg1833z00_3237;

															BgL_arg1832z00_3236 =
																(((BgL_slotz00_bglt) COBJECT(
																		((BgL_slotz00_bglt) BgL_sz00_3221)))->
																BgL_readzd2onlyzf3z21);
															{	/* Module/class.scm 292 */
																obj_t BgL_arg1834z00_3238;

																{	/* Module/class.scm 292 */
																	obj_t BgL_arg1835z00_3239;
																	obj_t BgL_arg1836z00_3240;

																	BgL_arg1835z00_3239 =
																		(((BgL_slotz00_bglt) COBJECT(
																				((BgL_slotz00_bglt) BgL_sz00_3221)))->
																		BgL_userzd2infozd2);
																	{	/* Module/class.scm 293 */
																		obj_t BgL_arg1837z00_3241;
																		obj_t BgL_arg1838z00_3242;

																		BgL_arg1837z00_3241 =
																			BGl_slotzd2defaultzd2exprze70ze7zzmodule_classz00
																			(BgL_sz00_3221);
																		{	/* Module/class.scm 294 */
																			obj_t BgL_arg1839z00_3243;

																			{	/* Module/class.scm 294 */
																				bool_t BgL_test2164z00_3752;

																				{	/* Module/class.scm 294 */
																					obj_t BgL_arg1846z00_3244;

																					BgL_arg1846z00_3244 =
																						(((BgL_slotz00_bglt) COBJECT(
																								((BgL_slotz00_bglt)
																									BgL_sz00_3221)))->
																						BgL_typez00);
																					{	/* Module/class.scm 294 */
																						obj_t BgL_classz00_3245;

																						BgL_classz00_3245 =
																							BGl_tclassz00zzobject_classz00;
																						if (BGL_OBJECTP
																							(BgL_arg1846z00_3244))
																							{	/* Module/class.scm 294 */
																								BgL_objectz00_bglt
																									BgL_arg1801z00_3246;
																								BgL_arg1801z00_3246 =
																									(BgL_objectz00_bglt)
																									(BgL_arg1846z00_3244);
																								if (BGL_CONDEXPAND_ISA_ARCH64())
																									{	/* Module/class.scm 294 */
																										long BgL_idxz00_3247;

																										BgL_idxz00_3247 =
																											BGL_OBJECT_INHERITANCE_NUM
																											(BgL_arg1801z00_3246);
																										BgL_test2164z00_3752 =
																											(VECTOR_REF
																											(BGl_za2inheritancesza2z00zz__objectz00,
																												(BgL_idxz00_3247 +
																													2L)) ==
																											BgL_classz00_3245);
																									}
																								else
																									{	/* Module/class.scm 294 */
																										bool_t BgL_res2100z00_3250;

																										{	/* Module/class.scm 294 */
																											obj_t BgL_oclassz00_3251;

																											{	/* Module/class.scm 294 */
																												long
																													BgL_arg1808z00_3252;
																												{	/* Module/class.scm 294 */
																													long
																														BgL_arg1809z00_3253;
																													BgL_arg1809z00_3253 =
																														BGL_OBJECT_CLASS_NUM
																														(BgL_arg1801z00_3246);
																													BgL_arg1808z00_3252 =
																														(BgL_arg1809z00_3253
																														- OBJECT_TYPE);
																												}
																												BgL_oclassz00_3251 =
																													VECTOR_REF
																													(BGl_za2classesza2z00zz__objectz00,
																													BgL_arg1808z00_3252);
																											}
																											{	/* Module/class.scm 294 */
																												bool_t
																													BgL__ortest_1115z00_3254;
																												BgL__ortest_1115z00_3254
																													=
																													(BgL_classz00_3245 ==
																													BgL_oclassz00_3251);
																												if (BgL__ortest_1115z00_3254)
																													{	/* Module/class.scm 294 */
																														BgL_res2100z00_3250
																															=
																															BgL__ortest_1115z00_3254;
																													}
																												else
																													{	/* Module/class.scm 294 */
																														long
																															BgL_odepthz00_3255;
																														BgL_odepthz00_3255 =
																															BGL_CLASS_DEPTH
																															(BgL_oclassz00_3251);
																														if ((2L <
																																BgL_odepthz00_3255))
																															{	/* Module/class.scm 294 */
																																obj_t
																																	BgL_arg1797z00_3256;
																																BgL_arg1797z00_3256
																																	=
																																	BGL_CLASS_ANCESTORS_REF
																																	(BgL_oclassz00_3251,
																																	2L);
																																BgL_res2100z00_3250
																																	=
																																	(BgL_arg1797z00_3256
																																	==
																																	BgL_classz00_3245);
																															}
																														else
																															{	/* Module/class.scm 294 */
																																BgL_res2100z00_3250
																																	=
																																	((bool_t) 0);
																															}
																													}
																											}
																										}
																										BgL_test2164z00_3752 =
																											BgL_res2100z00_3250;
																									}
																							}
																						else
																							{	/* Module/class.scm 294 */
																								BgL_test2164z00_3752 =
																									((bool_t) 0);
																							}
																					}
																				}
																				if (BgL_test2164z00_3752)
																					{	/* Module/class.scm 295 */
																						BgL_typez00_bglt BgL_oz00_3257;

																						BgL_oz00_3257 =
																							((BgL_typez00_bglt)
																							(((BgL_slotz00_bglt) COBJECT(
																										((BgL_slotz00_bglt)
																											BgL_sz00_3221)))->
																								BgL_typez00));
																						{
																							BgL_globalz00_bglt
																								BgL_auxz00_3777;
																							{
																								BgL_tclassz00_bglt
																									BgL_auxz00_3778;
																								{
																									obj_t BgL_auxz00_3779;

																									{	/* Module/class.scm 295 */
																										BgL_objectz00_bglt
																											BgL_tmpz00_3780;
																										BgL_tmpz00_3780 =
																											((BgL_objectz00_bglt)
																											BgL_oz00_3257);
																										BgL_auxz00_3779 =
																											BGL_OBJECT_WIDENING
																											(BgL_tmpz00_3780);
																									}
																									BgL_auxz00_3778 =
																										((BgL_tclassz00_bglt)
																										BgL_auxz00_3779);
																								}
																								BgL_auxz00_3777 =
																									(((BgL_tclassz00_bglt)
																										COBJECT(BgL_auxz00_3778))->
																									BgL_holderz00);
																							}
																							BgL_arg1839z00_3243 =
																								((obj_t) BgL_auxz00_3777);
																						}
																					}
																				else
																					{	/* Module/class.scm 296 */
																						obj_t BgL_arg1843z00_3258;

																						{	/* Module/class.scm 296 */
																							obj_t BgL_arg1844z00_3259;

																							{	/* Module/class.scm 296 */
																								obj_t BgL_arg1845z00_3260;

																								BgL_arg1845z00_3260 =
																									(((BgL_slotz00_bglt) COBJECT(
																											((BgL_slotz00_bglt)
																												BgL_sz00_3221)))->
																									BgL_typez00);
																								BgL_arg1844z00_3259 =
																									BGl_typezd2defaultzd2idze70ze7zzmodule_classz00
																									(BgL_arg1845z00_3260);
																							}
																							BgL_arg1843z00_3258 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg1844z00_3259, BNIL);
																						}
																						BgL_arg1839z00_3243 =
																							MAKE_YOUNG_PAIR(CNST_TABLE_REF
																							(8L), BgL_arg1843z00_3258);
																					}
																			}
																			BgL_arg1838z00_3242 =
																				MAKE_YOUNG_PAIR(BgL_arg1839z00_3243,
																				BNIL);
																		}
																		BgL_arg1836z00_3240 =
																			MAKE_YOUNG_PAIR(BgL_arg1837z00_3241,
																			BgL_arg1838z00_3242);
																	}
																	BgL_arg1834z00_3238 =
																		MAKE_YOUNG_PAIR(BgL_arg1835z00_3239,
																		BgL_arg1836z00_3240);
																}
																BgL_arg1833z00_3237 =
																	MAKE_YOUNG_PAIR(BFALSE, BgL_arg1834z00_3238);
															}
															BgL_arg1831z00_3234 =
																MAKE_YOUNG_PAIR(BBOOL(BgL_arg1832z00_3236),
																BgL_arg1833z00_3237);
														}
														BgL_arg1829z00_3232 =
															MAKE_YOUNG_PAIR(BgL_arg1830z00_3233,
															BgL_arg1831z00_3234);
													}
													BgL_arg1825z00_3228 =
														MAKE_YOUNG_PAIR(BgL_arg1828z00_3231,
														BgL_arg1829z00_3232);
												}
												BgL_arg1816z00_3224 =
													MAKE_YOUNG_PAIR(BgL_arg1824z00_3227,
													BgL_arg1825z00_3228);
											}
											return
												MAKE_YOUNG_PAIR(BgL_arg1802z00_3223,
												BgL_arg1816z00_3224);
										}
									}
								}
						}
					else
						{	/* Module/class.scm 300 */
							return BFALSE;
						}
				}
			}
		}

	}



/* slot-default-expr~0 */
	obj_t BGl_slotzd2defaultzd2exprze70ze7zzmodule_classz00(obj_t BgL_sz00_1899)
	{
		{	/* Module/class.scm 268 */
			if (BGl_slotzd2defaultzf3z21zzobject_slotsz00(
					((BgL_slotz00_bglt) BgL_sz00_1899)))
				{	/* Module/class.scm 267 */
					obj_t BgL_arg1669z00_1902;

					{	/* Module/class.scm 267 */
						obj_t BgL_arg1673z00_1903;

						{	/* Module/class.scm 267 */
							obj_t BgL_arg1675z00_1904;

							BgL_arg1675z00_1904 =
								(((BgL_slotz00_bglt) COBJECT(
										((BgL_slotz00_bglt) BgL_sz00_1899)))->
								BgL_defaultzd2valuezd2);
							BgL_arg1673z00_1903 = MAKE_YOUNG_PAIR(BgL_arg1675z00_1904, BNIL);
						}
						BgL_arg1669z00_1902 = MAKE_YOUNG_PAIR(BNIL, BgL_arg1673z00_1903);
					}
					return MAKE_YOUNG_PAIR(CNST_TABLE_REF(14L), BgL_arg1669z00_1902);
				}
			else
				{	/* Module/class.scm 266 */
					return BFALSE;
				}
		}

	}



/* type-default-id~0 */
	obj_t BGl_typezd2defaultzd2idze70ze7zzmodule_classz00(obj_t BgL_typez00_1894)
	{
		{	/* Module/class.scm 263 */
			if (
				((((BgL_typez00_bglt) COBJECT(
								((BgL_typez00_bglt) BgL_typez00_1894)))->BgL_idz00) ==
					CNST_TABLE_REF(17L)))
				{	/* Module/class.scm 261 */
					return CNST_TABLE_REF(18L);
				}
			else
				{	/* Module/class.scm 261 */
					return
						(((BgL_typez00_bglt) COBJECT(
								((BgL_typez00_bglt) BgL_typez00_1894)))->BgL_idz00);
				}
		}

	}



/* make-class-virtual-fields */
	obj_t BGl_makezd2classzd2virtualzd2fieldszd2zzmodule_classz00(obj_t
		BgL_classz00_58)
	{
		{	/* Module/class.scm 310 */
			{	/* Module/class.scm 339 */
				obj_t BgL_arg1848z00_1993;

				{	/* Module/class.scm 339 */
					obj_t BgL_arg1850z00_1994;

					{	/* Module/class.scm 339 */
						obj_t BgL_arg1852z00_1996;

						{
							BgL_tclassz00_bglt BgL_auxz00_3819;

							{
								obj_t BgL_auxz00_3820;

								{	/* Module/class.scm 344 */
									BgL_objectz00_bglt BgL_tmpz00_3821;

									BgL_tmpz00_3821 =
										((BgL_objectz00_bglt) ((BgL_typez00_bglt) BgL_classz00_58));
									BgL_auxz00_3820 = BGL_OBJECT_WIDENING(BgL_tmpz00_3821);
								}
								BgL_auxz00_3819 = ((BgL_tclassz00_bglt) BgL_auxz00_3820);
							}
							BgL_arg1852z00_1996 =
								(((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_3819))->BgL_slotsz00);
						}
						{	/* Module/class.scm 340 */
							obj_t BgL_zc3z04anonymousza31854ze3z87_3139;

							BgL_zc3z04anonymousza31854ze3z87_3139 =
								MAKE_FX_PROCEDURE
								(BGl_z62zc3z04anonymousza31854ze3ze5zzmodule_classz00,
								(int) (1L), (int) (1L));
							PROCEDURE_SET(BgL_zc3z04anonymousza31854ze3z87_3139, (int) (0L),
								BgL_classz00_58);
							{	/* Module/class.scm 339 */
								obj_t BgL_list1853z00_1997;

								BgL_list1853z00_1997 =
									MAKE_YOUNG_PAIR(BgL_arg1852z00_1996, BNIL);
								BgL_arg1850z00_1994 =
									BGl_filterzd2mapzd2zz__r4_control_features_6_9z00
									(BgL_zc3z04anonymousza31854ze3z87_3139, BgL_list1853z00_1997);
					}}}
					BgL_arg1848z00_1993 =
						BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg1850z00_1994,
						BNIL);
				}
				return MAKE_YOUNG_PAIR(CNST_TABLE_REF(10L), BgL_arg1848z00_1993);
			}
		}

	}



/* &<@anonymous:1854> */
	obj_t BGl_z62zc3z04anonymousza31854ze3ze5zzmodule_classz00(obj_t
		BgL_envz00_3140, obj_t BgL_sz00_3142)
	{
		{	/* Module/class.scm 339 */
			{	/* Module/class.scm 340 */
				obj_t BgL_classz00_3141;

				BgL_classz00_3141 = PROCEDURE_REF(BgL_envz00_3140, (int) (0L));
				{	/* Module/class.scm 340 */
					bool_t BgL_test2171z00_3839;

					if (BGl_slotzd2virtualzf3z21zzobject_slotsz00(
							((BgL_slotz00_bglt) BgL_sz00_3142)))
						{	/* Module/class.scm 340 */
							BgL_test2171z00_3839 =
								(
								(((BgL_slotz00_bglt) COBJECT(
											((BgL_slotz00_bglt) BgL_sz00_3142)))->
									BgL_classzd2ownerzd2) == BgL_classz00_3141);
						}
					else
						{	/* Module/class.scm 340 */
							BgL_test2171z00_3839 = ((bool_t) 0);
						}
					if (BgL_test2171z00_3839)
						{	/* Module/class.scm 342 */
							obj_t BgL_arg1860z00_3261;

							{	/* Module/class.scm 342 */
								obj_t BgL_arg1861z00_3262;
								obj_t BgL_arg1864z00_3263;

								BgL_arg1861z00_3262 =
									(((BgL_slotz00_bglt) COBJECT(
											((BgL_slotz00_bglt) BgL_sz00_3142)))->
									BgL_virtualzd2numzd2);
								{	/* Module/class.scm 343 */
									obj_t BgL_arg1866z00_3264;

									{	/* Module/class.scm 343 */
										obj_t BgL_arg1867z00_3265;

										{	/* Module/class.scm 343 */
											obj_t BgL_arg1868z00_3266;
											obj_t BgL_arg1870z00_3267;

											BgL_arg1868z00_3266 =
												BGl_getterze70ze7zzmodule_classz00(BgL_classz00_3141,
												BgL_sz00_3142);
											BgL_arg1870z00_3267 =
												MAKE_YOUNG_PAIR(BGl_setterze70ze7zzmodule_classz00
												(BgL_classz00_3141, BgL_sz00_3142), BNIL);
											BgL_arg1867z00_3265 =
												MAKE_YOUNG_PAIR(BgL_arg1868z00_3266,
												BgL_arg1870z00_3267);
										}
										BgL_arg1866z00_3264 =
											MAKE_YOUNG_PAIR(CNST_TABLE_REF(19L), BgL_arg1867z00_3265);
									}
									BgL_arg1864z00_3263 =
										MAKE_YOUNG_PAIR(BgL_arg1866z00_3264, BNIL);
								}
								BgL_arg1860z00_3261 =
									MAKE_YOUNG_PAIR(BgL_arg1861z00_3262, BgL_arg1864z00_3263);
							}
							return MAKE_YOUNG_PAIR(CNST_TABLE_REF(19L), BgL_arg1860z00_3261);
						}
					else
						{	/* Module/class.scm 340 */
							return BFALSE;
						}
				}
			}
		}

	}



/* epairify-slot~0 */
	obj_t BGl_epairifyzd2slotze70z35zzmodule_classz00(obj_t BgL_defz00_2014,
		obj_t BgL_slotz00_2015)
	{
		{	/* Module/class.scm 316 */
			{	/* Module/class.scm 314 */
				bool_t BgL_test2173z00_3858;

				{	/* Module/class.scm 314 */
					obj_t BgL_arg1879z00_2021;

					BgL_arg1879z00_2021 =
						(((BgL_slotz00_bglt) COBJECT(
								((BgL_slotz00_bglt) BgL_slotz00_2015)))->BgL_srcz00);
					BgL_test2173z00_3858 = EPAIRP(BgL_arg1879z00_2021);
				}
				if (BgL_test2173z00_3858)
					{	/* Module/class.scm 315 */
						obj_t BgL_arg1877z00_2020;

						BgL_arg1877z00_2020 =
							(((BgL_slotz00_bglt) COBJECT(
									((BgL_slotz00_bglt) BgL_slotz00_2015)))->BgL_srcz00);
						return
							BGl_epairifyzd2reczd2zztools_miscz00(BgL_defz00_2014,
							BgL_arg1877z00_2020);
					}
				else
					{	/* Module/class.scm 314 */
						return BgL_defz00_2014;
					}
			}
		}

	}



/* getter~0 */
	obj_t BGl_getterze70ze7zzmodule_classz00(obj_t BgL_classz00_3145,
		obj_t BgL_slotz00_2022)
	{
		{	/* Module/class.scm 325 */
			{	/* Module/class.scm 320 */
				obj_t BgL_arg1881z00_2024;

				{	/* Module/class.scm 320 */
					obj_t BgL_arg1882z00_2025;

					{	/* Module/class.scm 320 */
						obj_t BgL_arg1883z00_2026;
						obj_t BgL_arg1884z00_2027;

						BgL_arg1883z00_2026 = MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L), BNIL);
						{	/* Module/class.scm 321 */
							obj_t BgL_arg1885z00_2028;
							obj_t BgL_arg1886z00_2029;

							{	/* Module/class.scm 321 */
								obj_t BgL_arg1888z00_2030;

								{	/* Module/class.scm 321 */
									obj_t BgL_arg1889z00_2031;
									obj_t BgL_arg1890z00_2032;

									BgL_arg1889z00_2031 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(20L), BNIL);
									{	/* Module/class.scm 322 */
										obj_t BgL_arg1892z00_2033;

										{	/* Module/class.scm 322 */
											obj_t BgL_arg1893z00_2034;

											{	/* Module/class.scm 322 */
												obj_t BgL_arg1894z00_2035;
												obj_t BgL_arg1895z00_2036;

												BgL_arg1894z00_2035 =
													(((BgL_typez00_bglt) COBJECT(
															((BgL_typez00_bglt)
																((BgL_typez00_bglt) BgL_classz00_3145))))->
													BgL_idz00);
												{	/* Module/class.scm 323 */
													obj_t BgL_arg1896z00_2037;

													{	/* Module/class.scm 323 */
														obj_t BgL_arg1897z00_2038;

														BgL_arg1897z00_2038 =
															(((BgL_slotz00_bglt) COBJECT(
																	((BgL_slotz00_bglt) BgL_slotz00_2022)))->
															BgL_virtualzd2numzd2);
														BgL_arg1896z00_2037 =
															MAKE_YOUNG_PAIR(BgL_arg1897z00_2038, BNIL);
													}
													BgL_arg1895z00_2036 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L),
														BgL_arg1896z00_2037);
												}
												BgL_arg1893z00_2034 =
													MAKE_YOUNG_PAIR(BgL_arg1894z00_2035,
													BgL_arg1895z00_2036);
											}
											BgL_arg1892z00_2033 =
												MAKE_YOUNG_PAIR(CNST_TABLE_REF(21L),
												BgL_arg1893z00_2034);
										}
										BgL_arg1890z00_2032 =
											MAKE_YOUNG_PAIR(BgL_arg1892z00_2033, BNIL);
									}
									BgL_arg1888z00_2030 =
										MAKE_YOUNG_PAIR(BgL_arg1889z00_2031, BgL_arg1890z00_2032);
								}
								BgL_arg1885z00_2028 =
									MAKE_YOUNG_PAIR(CNST_TABLE_REF(9L), BgL_arg1888z00_2030);
							}
							{	/* Module/class.scm 324 */
								obj_t BgL_arg1898z00_2039;

								{	/* Module/class.scm 324 */
									obj_t BgL_arg1899z00_2040;
									obj_t BgL_arg1900z00_2041;

									BgL_arg1899z00_2040 =
										(((BgL_slotz00_bglt) COBJECT(
												((BgL_slotz00_bglt) BgL_slotz00_2022)))->BgL_getterz00);
									BgL_arg1900z00_2041 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L), BNIL);
									BgL_arg1898z00_2039 =
										MAKE_YOUNG_PAIR(BgL_arg1899z00_2040, BgL_arg1900z00_2041);
								}
								BgL_arg1886z00_2029 =
									MAKE_YOUNG_PAIR(BgL_arg1898z00_2039, BNIL);
							}
							BgL_arg1884z00_2027 =
								MAKE_YOUNG_PAIR(BgL_arg1885z00_2028, BgL_arg1886z00_2029);
						}
						BgL_arg1882z00_2025 =
							MAKE_YOUNG_PAIR(BgL_arg1883z00_2026, BgL_arg1884z00_2027);
					}
					BgL_arg1881z00_2024 =
						MAKE_YOUNG_PAIR(CNST_TABLE_REF(14L), BgL_arg1882z00_2025);
				}
				return
					BGl_epairifyzd2slotze70z35zzmodule_classz00(BgL_arg1881z00_2024,
					BgL_slotz00_2022);
			}
		}

	}



/* setter~0 */
	obj_t BGl_setterze70ze7zzmodule_classz00(obj_t BgL_classz00_3146,
		obj_t BgL_slotz00_2042)
	{
		{	/* Module/class.scm 336 */
			if (
				(((BgL_slotz00_bglt) COBJECT(
							((BgL_slotz00_bglt) BgL_slotz00_2042)))->BgL_readzd2onlyzf3z21))
				{	/* Module/class.scm 328 */
					return BFALSE;
				}
			else
				{	/* Module/class.scm 331 */
					obj_t BgL_arg1905z00_2045;

					{	/* Module/class.scm 331 */
						obj_t BgL_arg1908z00_2046;

						{	/* Module/class.scm 331 */
							obj_t BgL_arg1909z00_2047;
							obj_t BgL_arg1911z00_2048;

							{	/* Module/class.scm 331 */
								obj_t BgL_arg1914z00_2049;

								BgL_arg1914z00_2049 =
									MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L), BNIL);
								BgL_arg1909z00_2047 =
									MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L), BgL_arg1914z00_2049);
							}
							{	/* Module/class.scm 332 */
								obj_t BgL_arg1915z00_2050;
								obj_t BgL_arg1916z00_2051;

								{	/* Module/class.scm 332 */
									obj_t BgL_arg1917z00_2052;

									{	/* Module/class.scm 332 */
										obj_t BgL_arg1918z00_2053;
										obj_t BgL_arg1920z00_2054;

										BgL_arg1918z00_2053 =
											MAKE_YOUNG_PAIR(CNST_TABLE_REF(20L), BNIL);
										{	/* Module/class.scm 333 */
											obj_t BgL_arg1921z00_2055;

											{	/* Module/class.scm 333 */
												obj_t BgL_arg1922z00_2056;

												{	/* Module/class.scm 333 */
													obj_t BgL_arg1923z00_2057;
													obj_t BgL_arg1924z00_2058;

													BgL_arg1923z00_2057 =
														(((BgL_typez00_bglt) COBJECT(
																((BgL_typez00_bglt)
																	((BgL_typez00_bglt) BgL_classz00_3146))))->
														BgL_idz00);
													{	/* Module/class.scm 334 */
														obj_t BgL_arg1925z00_2059;

														{	/* Module/class.scm 334 */
															obj_t BgL_arg1926z00_2060;
															obj_t BgL_arg1927z00_2061;

															BgL_arg1926z00_2060 =
																(((BgL_slotz00_bglt) COBJECT(
																		((BgL_slotz00_bglt) BgL_slotz00_2042)))->
																BgL_virtualzd2numzd2);
															BgL_arg1927z00_2061 =
																MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L), BNIL);
															BgL_arg1925z00_2059 =
																MAKE_YOUNG_PAIR(BgL_arg1926z00_2060,
																BgL_arg1927z00_2061);
														}
														BgL_arg1924z00_2058 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L),
															BgL_arg1925z00_2059);
													}
													BgL_arg1922z00_2056 =
														MAKE_YOUNG_PAIR(BgL_arg1923z00_2057,
														BgL_arg1924z00_2058);
												}
												BgL_arg1921z00_2055 =
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(22L),
													BgL_arg1922z00_2056);
											}
											BgL_arg1920z00_2054 =
												MAKE_YOUNG_PAIR(BgL_arg1921z00_2055, BNIL);
										}
										BgL_arg1917z00_2052 =
											MAKE_YOUNG_PAIR(BgL_arg1918z00_2053, BgL_arg1920z00_2054);
									}
									BgL_arg1915z00_2050 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(9L), BgL_arg1917z00_2052);
								}
								{	/* Module/class.scm 335 */
									obj_t BgL_arg1928z00_2062;

									{	/* Module/class.scm 335 */
										obj_t BgL_arg1929z00_2063;
										obj_t BgL_arg1930z00_2064;

										BgL_arg1929z00_2063 =
											(((BgL_slotz00_bglt) COBJECT(
													((BgL_slotz00_bglt) BgL_slotz00_2042)))->
											BgL_setterz00);
										{	/* Module/class.scm 335 */
											obj_t BgL_arg1931z00_2065;

											BgL_arg1931z00_2065 =
												MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L), BNIL);
											BgL_arg1930z00_2064 =
												MAKE_YOUNG_PAIR(CNST_TABLE_REF(12L),
												BgL_arg1931z00_2065);
										}
										BgL_arg1928z00_2062 =
											MAKE_YOUNG_PAIR(BgL_arg1929z00_2063, BgL_arg1930z00_2064);
									}
									BgL_arg1916z00_2051 =
										MAKE_YOUNG_PAIR(BgL_arg1928z00_2062, BNIL);
								}
								BgL_arg1911z00_2048 =
									MAKE_YOUNG_PAIR(BgL_arg1915z00_2050, BgL_arg1916z00_2051);
							}
							BgL_arg1908z00_2046 =
								MAKE_YOUNG_PAIR(BgL_arg1909z00_2047, BgL_arg1911z00_2048);
						}
						BgL_arg1905z00_2045 =
							MAKE_YOUNG_PAIR(CNST_TABLE_REF(14L), BgL_arg1908z00_2046);
					}
					return
						BGl_epairifyzd2slotze70z35zzmodule_classz00(BgL_arg1905z00_2045,
						BgL_slotz00_2042);
				}
		}

	}



/* class-finalizer */
	BGL_EXPORTED_DEF obj_t BGl_classzd2finaliza7erz75zzmodule_classz00(void)
	{
		{	/* Module/class.scm 351 */
			{	/* Module/class.scm 353 */
				bool_t BgL_test2175z00_3934;

				if (NULLP(BGl_za2classzd2accessesza2zd2zzmodule_classz00))
					{	/* Module/class.scm 353 */
						if (
							(BGl_za2objectzd2initzd2modeza2z00zzengine_paramz00 ==
								CNST_TABLE_REF(23L)))
							{	/* Module/class.scm 353 */
								BgL_test2175z00_3934 = ((bool_t) 0);
							}
						else
							{	/* Module/class.scm 353 */
								BgL_test2175z00_3934 = ((bool_t) 1);
							}
					}
				else
					{	/* Module/class.scm 353 */
						BgL_test2175z00_3934 = ((bool_t) 0);
					}
				if (BgL_test2175z00_3934)
					{	/* Module/class.scm 353 */
						return CNST_TABLE_REF(24L);
					}
				else
					{	/* Module/class.scm 368 */
						obj_t BgL_bodyz00_2071;

						BgL_bodyz00_2071 =
							BGl_forcezd2classzd2accessesz00zzmodule_classz00();
						{	/* Module/class.scm 368 */
							obj_t BgL_bodyz00_2072;

							BgL_bodyz00_2072 =
								BGl_appendzd221011zd2zzmodule_classz00(bgl_reverse
								(BGl_za2declaredzd2classesza2zd2zzmodule_classz00),
								BgL_bodyz00_2071);
							{	/* Module/class.scm 369 */
								obj_t BgL_bodyz00_2073;

								{	/* Module/class.scm 370 */
									bool_t BgL_test2178z00_3944;

									if (
										((long) CINT(BGl_za2debugzd2moduleza2zd2zzengine_paramz00) >
											0L))
										{	/* Module/class.scm 371 */
											bool_t BgL_test2180z00_3948;

											{	/* Module/class.scm 372 */
												obj_t BgL_arg1956z00_2098;

												{	/* Module/class.scm 372 */
													obj_t BgL_arg1957z00_2099;

													BgL_arg1957z00_2099 =
														BGl_thezd2backendzd2zzbackend_backendz00();
													BgL_arg1956z00_2098 =
														(((BgL_backendz00_bglt) COBJECT(
																((BgL_backendz00_bglt) BgL_arg1957z00_2099)))->
														BgL_debugzd2supportzd2);
												}
												BgL_test2180z00_3948 =
													CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
													(CNST_TABLE_REF(25L), BgL_arg1956z00_2098));
											}
											if (BgL_test2180z00_3948)
												{	/* Module/class.scm 371 */
													BgL_test2178z00_3944 =
														PAIRP
														(BGl_za2declaredzd2classesza2zd2zzmodule_classz00);
												}
											else
												{	/* Module/class.scm 371 */
													BgL_test2178z00_3944 = ((bool_t) 0);
												}
										}
									else
										{	/* Module/class.scm 370 */
											BgL_test2178z00_3944 = ((bool_t) 0);
										}
									if (BgL_test2178z00_3944)
										{	/* Module/class.scm 377 */
											obj_t BgL_arg1949z00_2089;

											{	/* Module/class.scm 377 */
												obj_t BgL_arg1950z00_2090;

												{	/* Module/class.scm 377 */
													obj_t BgL_arg1951z00_2091;
													obj_t BgL_arg1952z00_2092;

													{	/* Module/class.scm 377 */
														obj_t BgL_arg1953z00_2093;

														{	/* Module/class.scm 377 */
															obj_t BgL_arg1954z00_2094;

															{	/* Module/class.scm 377 */
																obj_t BgL_arg1955z00_2095;

																{	/* Module/class.scm 377 */
																	obj_t BgL_symbolz00_2623;

																	BgL_symbolz00_2623 =
																		BGl_za2moduleza2z00zzmodule_modulez00;
																	{	/* Module/class.scm 377 */
																		obj_t BgL_arg1454z00_2624;

																		BgL_arg1454z00_2624 =
																			SYMBOL_TO_STRING(BgL_symbolz00_2623);
																		BgL_arg1955z00_2095 =
																			BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																			(BgL_arg1454z00_2624);
																	}
																}
																BgL_arg1954z00_2094 =
																	string_append_3
																	(BGl_string2117z00zzmodule_classz00,
																	BgL_arg1955z00_2095,
																	BGl_string2118z00zzmodule_classz00);
															}
															BgL_arg1953z00_2093 =
																MAKE_YOUNG_PAIR(BgL_arg1954z00_2094, BNIL);
														}
														BgL_arg1951z00_2091 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(26L),
															BgL_arg1953z00_2093);
													}
													BgL_arg1952z00_2092 =
														BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
														(BgL_bodyz00_2072, BNIL);
													BgL_arg1950z00_2090 =
														MAKE_YOUNG_PAIR(BgL_arg1951z00_2091,
														BgL_arg1952z00_2092);
												}
												BgL_arg1949z00_2089 =
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(27L),
													BgL_arg1950z00_2090);
											}
											BgL_bodyz00_2073 =
												MAKE_YOUNG_PAIR(BgL_arg1949z00_2089, BNIL);
										}
									else
										{	/* Module/class.scm 370 */
											BgL_bodyz00_2073 = BgL_bodyz00_2072;
										}
								}
								{	/* Module/class.scm 370 */

									{	/* Module/class.scm 383 */
										obj_t BgL_arg1934z00_2074;
										bool_t BgL_arg1935z00_2075;

										if (PAIRP(BgL_bodyz00_2073))
											{	/* Module/class.scm 383 */
												BgL_arg1934z00_2074 = BgL_bodyz00_2073;
											}
										else
											{	/* Module/class.scm 383 */
												BgL_arg1934z00_2074 = CNST_TABLE_REF(28L);
											}
										BgL_arg1935z00_2075 =
											(BGl_za2objectzd2initzd2modeza2z00zzengine_paramz00 ==
											CNST_TABLE_REF(23L));
										{	/* Module/class.scm 381 */
											obj_t BgL_idz00_2625;

											BgL_idz00_2625 = CNST_TABLE_REF(29L);
											{	/* Module/class.scm 381 */
												obj_t BgL_newz00_2626;

												BgL_newz00_2626 =
													create_struct(CNST_TABLE_REF(30L), (int) (5L));
												{	/* Module/class.scm 381 */
													obj_t BgL_auxz00_3978;
													int BgL_tmpz00_3976;

													BgL_auxz00_3978 = BBOOL(BgL_arg1935z00_2075);
													BgL_tmpz00_3976 = (int) (4L);
													STRUCT_SET(BgL_newz00_2626, BgL_tmpz00_3976,
														BgL_auxz00_3978);
												}
												{	/* Module/class.scm 381 */
													int BgL_tmpz00_3981;

													BgL_tmpz00_3981 = (int) (3L);
													STRUCT_SET(BgL_newz00_2626, BgL_tmpz00_3981, BTRUE);
												}
												{	/* Module/class.scm 381 */
													int BgL_tmpz00_3984;

													BgL_tmpz00_3984 = (int) (2L);
													STRUCT_SET(BgL_newz00_2626, BgL_tmpz00_3984,
														BgL_arg1934z00_2074);
												}
												{	/* Module/class.scm 381 */
													obj_t BgL_auxz00_3989;
													int BgL_tmpz00_3987;

													BgL_auxz00_3989 = BINT(19L);
													BgL_tmpz00_3987 = (int) (1L);
													STRUCT_SET(BgL_newz00_2626, BgL_tmpz00_3987,
														BgL_auxz00_3989);
												}
												{	/* Module/class.scm 381 */
													int BgL_tmpz00_3992;

													BgL_tmpz00_3992 = (int) (0L);
													STRUCT_SET(BgL_newz00_2626, BgL_tmpz00_3992,
														BgL_idz00_2625);
												}
												BGl_za2objectzd2unitza2zd2zzmodule_classz00 =
													BgL_newz00_2626;
									}}}
									{	/* Module/class.scm 398 */
										bool_t BgL_arg1937z00_2077;

										BgL_arg1937z00_2077 =
											(BGl_za2objectzd2initzd2modeza2z00zzengine_paramz00 ==
											CNST_TABLE_REF(23L));
										{	/* Module/class.scm 392 */
											obj_t BgL_idz00_2632;
											obj_t BgL_sexpza2za2_2633;

											BgL_idz00_2632 = CNST_TABLE_REF(31L);
											BgL_sexpza2za2_2633 = CNST_TABLE_REF(28L);
											{	/* Module/class.scm 392 */
												obj_t BgL_newz00_2634;

												BgL_newz00_2634 =
													create_struct(CNST_TABLE_REF(30L), (int) (5L));
												{	/* Module/class.scm 392 */
													obj_t BgL_auxz00_4004;
													int BgL_tmpz00_4002;

													BgL_auxz00_4004 = BBOOL(BgL_arg1937z00_2077);
													BgL_tmpz00_4002 = (int) (4L);
													STRUCT_SET(BgL_newz00_2634, BgL_tmpz00_4002,
														BgL_auxz00_4004);
												}
												{	/* Module/class.scm 392 */
													int BgL_tmpz00_4007;

													BgL_tmpz00_4007 = (int) (3L);
													STRUCT_SET(BgL_newz00_2634, BgL_tmpz00_4007, BTRUE);
												}
												{	/* Module/class.scm 392 */
													int BgL_tmpz00_4010;

													BgL_tmpz00_4010 = (int) (2L);
													STRUCT_SET(BgL_newz00_2634, BgL_tmpz00_4010,
														BgL_sexpza2za2_2633);
												}
												{	/* Module/class.scm 392 */
													obj_t BgL_auxz00_4015;
													int BgL_tmpz00_4013;

													BgL_auxz00_4015 = BINT(21L);
													BgL_tmpz00_4013 = (int) (1L);
													STRUCT_SET(BgL_newz00_2634, BgL_tmpz00_4013,
														BgL_auxz00_4015);
												}
												{	/* Module/class.scm 392 */
													int BgL_tmpz00_4018;

													BgL_tmpz00_4018 = (int) (0L);
													STRUCT_SET(BgL_newz00_2634, BgL_tmpz00_4018,
														BgL_idz00_2632);
												}
												BGl_za2methodzd2unitza2zd2zzmodule_classz00 =
													BgL_newz00_2634;
									}}}
									{	/* Module/class.scm 405 */
										bool_t BgL_arg1938z00_2078;

										BgL_arg1938z00_2078 =
											(BGl_za2objectzd2initzd2modeza2z00zzengine_paramz00 ==
											CNST_TABLE_REF(23L));
										{	/* Module/class.scm 399 */
											obj_t BgL_idz00_2640;
											obj_t BgL_sexpza2za2_2641;

											BgL_idz00_2640 = CNST_TABLE_REF(32L);
											BgL_sexpza2za2_2641 = CNST_TABLE_REF(28L);
											{	/* Module/class.scm 399 */
												obj_t BgL_newz00_2642;

												BgL_newz00_2642 =
													create_struct(CNST_TABLE_REF(30L), (int) (5L));
												{	/* Module/class.scm 399 */
													obj_t BgL_auxz00_4030;
													int BgL_tmpz00_4028;

													BgL_auxz00_4030 = BBOOL(BgL_arg1938z00_2078);
													BgL_tmpz00_4028 = (int) (4L);
													STRUCT_SET(BgL_newz00_2642, BgL_tmpz00_4028,
														BgL_auxz00_4030);
												}
												{	/* Module/class.scm 399 */
													int BgL_tmpz00_4033;

													BgL_tmpz00_4033 = (int) (3L);
													STRUCT_SET(BgL_newz00_2642, BgL_tmpz00_4033, BTRUE);
												}
												{	/* Module/class.scm 399 */
													int BgL_tmpz00_4036;

													BgL_tmpz00_4036 = (int) (2L);
													STRUCT_SET(BgL_newz00_2642, BgL_tmpz00_4036,
														BgL_sexpza2za2_2641);
												}
												{	/* Module/class.scm 399 */
													obj_t BgL_auxz00_4041;
													int BgL_tmpz00_4039;

													BgL_auxz00_4041 = BINT(20L);
													BgL_tmpz00_4039 = (int) (1L);
													STRUCT_SET(BgL_newz00_2642, BgL_tmpz00_4039,
														BgL_auxz00_4041);
												}
												{	/* Module/class.scm 399 */
													int BgL_tmpz00_4044;

													BgL_tmpz00_4044 = (int) (0L);
													STRUCT_SET(BgL_newz00_2642, BgL_tmpz00_4044,
														BgL_idz00_2640);
												}
												BGl_za2genericzd2unitza2zd2zzmodule_classz00 =
													BgL_newz00_2642;
									}}}
									BGl_za2classzd2accessesza2zd2zzmodule_classz00 = BNIL;
									BGl_za2declaredzd2classesza2zd2zzmodule_classz00 = BNIL;
									{	/* Module/class.scm 409 */
										obj_t BgL_list1939z00_2079;

										{	/* Module/class.scm 409 */
											obj_t BgL_arg1940z00_2080;

											{	/* Module/class.scm 409 */
												obj_t BgL_arg1941z00_2081;

												BgL_arg1941z00_2081 =
													MAKE_YOUNG_PAIR
													(BGl_za2methodzd2unitza2zd2zzmodule_classz00, BNIL);
												BgL_arg1940z00_2080 =
													MAKE_YOUNG_PAIR
													(BGl_za2genericzd2unitza2zd2zzmodule_classz00,
													BgL_arg1941z00_2081);
											}
											BgL_list1939z00_2079 =
												MAKE_YOUNG_PAIR
												(BGl_za2objectzd2unitza2zd2zzmodule_classz00,
												BgL_arg1940z00_2080);
										}
										return BgL_list1939z00_2079;
									}
								}
							}
						}
					}
			}
		}

	}



/* &class-finalizer */
	obj_t BGl_z62classzd2finaliza7erz17zzmodule_classz00(obj_t BgL_envz00_3143)
	{
		{	/* Module/class.scm 351 */
			return BGl_classzd2finaliza7erz75zzmodule_classz00();
		}

	}



/* class-finalizer-add-static! */
	BGL_EXPORTED_DEF obj_t
		BGl_classzd2finaliza7erzd2addzd2staticz12z67zzmodule_classz00(void)
	{
		{	/* Module/class.scm 417 */
			{	/* Module/class.scm 418 */
				obj_t BgL_bodyz00_2102;

				BgL_bodyz00_2102 = BGl_forcezd2classzd2accessesz00zzmodule_classz00();
				{	/* Module/class.scm 418 */
					obj_t BgL_bodyz00_2103;

					BgL_bodyz00_2103 =
						BGl_appendzd221011zd2zzmodule_classz00(bgl_reverse
						(BGl_za2declaredzd2classesza2zd2zzmodule_classz00),
						BgL_bodyz00_2102);
					{	/* Module/class.scm 419 */

						{	/* Module/class.scm 420 */
							bool_t BgL_test2182z00_4054;

							{	/* Module/class.scm 420 */
								obj_t BgL_oz00_2649;

								BgL_oz00_2649 = BGl_za2objectzd2unitza2zd2zzmodule_classz00;
								if (STRUCTP(BgL_oz00_2649))
									{	/* Module/class.scm 420 */
										BgL_test2182z00_4054 =
											(STRUCT_KEY(BgL_oz00_2649) == CNST_TABLE_REF(30L));
									}
								else
									{	/* Module/class.scm 420 */
										BgL_test2182z00_4054 = ((bool_t) 0);
									}
							}
							if (BgL_test2182z00_4054)
								{	/* Module/class.scm 422 */
									obj_t BgL_arg1960z00_2105;

									BgL_arg1960z00_2105 =
										BGl_appendzd221011zd2zzmodule_classz00(STRUCT_REF
										(BGl_za2objectzd2unitza2zd2zzmodule_classz00, (int) (2L)),
										BgL_bodyz00_2103);
									{	/* Module/class.scm 421 */
										int BgL_tmpz00_4063;

										BgL_tmpz00_4063 = (int) (2L);
										STRUCT_SET(BGl_za2objectzd2unitza2zd2zzmodule_classz00,
											BgL_tmpz00_4063, BgL_arg1960z00_2105);
								}}
							else
								{	/* Module/class.scm 426 */
									obj_t BgL_arg1962z00_2107;
									bool_t BgL_arg1963z00_2108;

									if (PAIRP(BgL_bodyz00_2103))
										{	/* Module/class.scm 426 */
											BgL_arg1962z00_2107 = BgL_bodyz00_2103;
										}
									else
										{	/* Module/class.scm 426 */
											BgL_arg1962z00_2107 = CNST_TABLE_REF(28L);
										}
									BgL_arg1963z00_2108 =
										(BGl_za2objectzd2initzd2modeza2z00zzengine_paramz00 ==
										CNST_TABLE_REF(23L));
									{	/* Module/class.scm 424 */
										obj_t BgL_idz00_2658;

										BgL_idz00_2658 = CNST_TABLE_REF(29L);
										{	/* Module/class.scm 424 */
											obj_t BgL_newz00_2659;

											BgL_newz00_2659 =
												create_struct(CNST_TABLE_REF(30L), (int) (5L));
											{	/* Module/class.scm 424 */
												obj_t BgL_auxz00_4077;
												int BgL_tmpz00_4075;

												BgL_auxz00_4077 = BBOOL(BgL_arg1963z00_2108);
												BgL_tmpz00_4075 = (int) (4L);
												STRUCT_SET(BgL_newz00_2659, BgL_tmpz00_4075,
													BgL_auxz00_4077);
											}
											{	/* Module/class.scm 424 */
												int BgL_tmpz00_4080;

												BgL_tmpz00_4080 = (int) (3L);
												STRUCT_SET(BgL_newz00_2659, BgL_tmpz00_4080, BTRUE);
											}
											{	/* Module/class.scm 424 */
												int BgL_tmpz00_4083;

												BgL_tmpz00_4083 = (int) (2L);
												STRUCT_SET(BgL_newz00_2659, BgL_tmpz00_4083,
													BgL_arg1962z00_2107);
											}
											{	/* Module/class.scm 424 */
												obj_t BgL_auxz00_4088;
												int BgL_tmpz00_4086;

												BgL_auxz00_4088 = BINT(19L);
												BgL_tmpz00_4086 = (int) (1L);
												STRUCT_SET(BgL_newz00_2659, BgL_tmpz00_4086,
													BgL_auxz00_4088);
											}
											{	/* Module/class.scm 424 */
												int BgL_tmpz00_4091;

												BgL_tmpz00_4091 = (int) (0L);
												STRUCT_SET(BgL_newz00_2659, BgL_tmpz00_4091,
													BgL_idz00_2658);
											}
											BGl_za2objectzd2unitza2zd2zzmodule_classz00 =
												BgL_newz00_2659;
						}}}}
						{	/* Module/class.scm 429 */
							bool_t BgL_test2185z00_4094;

							{	/* Module/class.scm 429 */
								obj_t BgL_oz00_2665;

								BgL_oz00_2665 = BGl_za2methodzd2unitza2zd2zzmodule_classz00;
								if (STRUCTP(BgL_oz00_2665))
									{	/* Module/class.scm 429 */
										BgL_test2185z00_4094 =
											(STRUCT_KEY(BgL_oz00_2665) == CNST_TABLE_REF(30L));
									}
								else
									{	/* Module/class.scm 429 */
										BgL_test2185z00_4094 = ((bool_t) 0);
									}
							}
							if (BgL_test2185z00_4094)
								{	/* Module/class.scm 429 */
									BFALSE;
								}
							else
								{	/* Module/class.scm 437 */
									bool_t BgL_arg1966z00_2111;

									BgL_arg1966z00_2111 =
										(BGl_za2objectzd2initzd2modeza2z00zzengine_paramz00 ==
										CNST_TABLE_REF(23L));
									{	/* Module/class.scm 431 */
										obj_t BgL_idz00_2670;
										obj_t BgL_sexpza2za2_2671;

										BgL_idz00_2670 = CNST_TABLE_REF(31L);
										BgL_sexpza2za2_2671 = CNST_TABLE_REF(28L);
										{	/* Module/class.scm 431 */
											obj_t BgL_newz00_2672;

											BgL_newz00_2672 =
												create_struct(CNST_TABLE_REF(30L), (int) (5L));
											{	/* Module/class.scm 431 */
												obj_t BgL_auxz00_4109;
												int BgL_tmpz00_4107;

												BgL_auxz00_4109 = BBOOL(BgL_arg1966z00_2111);
												BgL_tmpz00_4107 = (int) (4L);
												STRUCT_SET(BgL_newz00_2672, BgL_tmpz00_4107,
													BgL_auxz00_4109);
											}
											{	/* Module/class.scm 431 */
												int BgL_tmpz00_4112;

												BgL_tmpz00_4112 = (int) (3L);
												STRUCT_SET(BgL_newz00_2672, BgL_tmpz00_4112, BTRUE);
											}
											{	/* Module/class.scm 431 */
												int BgL_tmpz00_4115;

												BgL_tmpz00_4115 = (int) (2L);
												STRUCT_SET(BgL_newz00_2672, BgL_tmpz00_4115,
													BgL_sexpza2za2_2671);
											}
											{	/* Module/class.scm 431 */
												obj_t BgL_auxz00_4120;
												int BgL_tmpz00_4118;

												BgL_auxz00_4120 = BINT(21L);
												BgL_tmpz00_4118 = (int) (1L);
												STRUCT_SET(BgL_newz00_2672, BgL_tmpz00_4118,
													BgL_auxz00_4120);
											}
											{	/* Module/class.scm 431 */
												int BgL_tmpz00_4123;

												BgL_tmpz00_4123 = (int) (0L);
												STRUCT_SET(BgL_newz00_2672, BgL_tmpz00_4123,
													BgL_idz00_2670);
											}
											BGl_za2methodzd2unitza2zd2zzmodule_classz00 =
												BgL_newz00_2672;
						}}}}
						{	/* Module/class.scm 438 */
							bool_t BgL_test2187z00_4126;

							{	/* Module/class.scm 438 */
								obj_t BgL_oz00_2678;

								BgL_oz00_2678 = BGl_za2genericzd2unitza2zd2zzmodule_classz00;
								if (STRUCTP(BgL_oz00_2678))
									{	/* Module/class.scm 438 */
										BgL_test2187z00_4126 =
											(STRUCT_KEY(BgL_oz00_2678) == CNST_TABLE_REF(30L));
									}
								else
									{	/* Module/class.scm 438 */
										BgL_test2187z00_4126 = ((bool_t) 0);
									}
							}
							if (BgL_test2187z00_4126)
								{	/* Module/class.scm 438 */
									BFALSE;
								}
							else
								{	/* Module/class.scm 446 */
									bool_t BgL_arg1968z00_2113;

									BgL_arg1968z00_2113 =
										(BGl_za2objectzd2initzd2modeza2z00zzengine_paramz00 ==
										CNST_TABLE_REF(23L));
									{	/* Module/class.scm 440 */
										obj_t BgL_idz00_2683;
										obj_t BgL_sexpza2za2_2684;

										BgL_idz00_2683 = CNST_TABLE_REF(32L);
										BgL_sexpza2za2_2684 = CNST_TABLE_REF(28L);
										{	/* Module/class.scm 440 */
											obj_t BgL_newz00_2685;

											BgL_newz00_2685 =
												create_struct(CNST_TABLE_REF(30L), (int) (5L));
											{	/* Module/class.scm 440 */
												obj_t BgL_auxz00_4141;
												int BgL_tmpz00_4139;

												BgL_auxz00_4141 = BBOOL(BgL_arg1968z00_2113);
												BgL_tmpz00_4139 = (int) (4L);
												STRUCT_SET(BgL_newz00_2685, BgL_tmpz00_4139,
													BgL_auxz00_4141);
											}
											{	/* Module/class.scm 440 */
												int BgL_tmpz00_4144;

												BgL_tmpz00_4144 = (int) (3L);
												STRUCT_SET(BgL_newz00_2685, BgL_tmpz00_4144, BTRUE);
											}
											{	/* Module/class.scm 440 */
												int BgL_tmpz00_4147;

												BgL_tmpz00_4147 = (int) (2L);
												STRUCT_SET(BgL_newz00_2685, BgL_tmpz00_4147,
													BgL_sexpza2za2_2684);
											}
											{	/* Module/class.scm 440 */
												obj_t BgL_auxz00_4152;
												int BgL_tmpz00_4150;

												BgL_auxz00_4152 = BINT(21L);
												BgL_tmpz00_4150 = (int) (1L);
												STRUCT_SET(BgL_newz00_2685, BgL_tmpz00_4150,
													BgL_auxz00_4152);
											}
											{	/* Module/class.scm 440 */
												int BgL_tmpz00_4155;

												BgL_tmpz00_4155 = (int) (0L);
												STRUCT_SET(BgL_newz00_2685, BgL_tmpz00_4155,
													BgL_idz00_2683);
											}
											BGl_za2genericzd2unitza2zd2zzmodule_classz00 =
												BgL_newz00_2685;
						}}}}
						BGl_za2classzd2accessesza2zd2zzmodule_classz00 = BNIL;
						BGl_za2declaredzd2classesza2zd2zzmodule_classz00 = BNIL;
						return BUNSPEC;
					}
				}
			}
		}

	}



/* &class-finalizer-add-static! */
	obj_t BGl_z62classzd2finaliza7erzd2addzd2staticz12z05zzmodule_classz00(obj_t
		BgL_envz00_3144)
	{
		{	/* Module/class.scm 417 */
			return BGl_classzd2finaliza7erzd2addzd2staticz12z67zzmodule_classz00();
		}

	}



/* force-class-accesses */
	obj_t BGl_forcezd2classzd2accessesz00zzmodule_classz00(void)
	{
		{	/* Module/class.scm 458 */
			{	/* Module/class.scm 460 */
				obj_t BgL_g1113z00_2115;

				BgL_g1113z00_2115 =
					bgl_reverse(BGl_za2classzd2accessesza2zd2zzmodule_classz00);
				{
					obj_t BgL_curz00_2119;
					obj_t BgL_nextz00_2120;
					obj_t BgL_accessz00_2121;

					BgL_curz00_2119 = BgL_g1113z00_2115;
					BgL_nextz00_2120 = BNIL;
					BgL_accessz00_2121 = BNIL;
				BgL_zc3z04anonymousza31970ze3z87_2122:
					if (NULLP(BgL_curz00_2119))
						{	/* Module/class.scm 463 */
							if (NULLP(BgL_nextz00_2120))
								{	/* Module/class.scm 464 */
									return BgL_accessz00_2121;
								}
							else
								{
									obj_t BgL_nextz00_4165;
									obj_t BgL_curz00_4164;

									BgL_curz00_4164 = BgL_nextz00_2120;
									BgL_nextz00_4165 = BNIL;
									BgL_nextz00_2120 = BgL_nextz00_4165;
									BgL_curz00_2119 = BgL_curz00_4164;
									goto BgL_zc3z04anonymousza31970ze3z87_2122;
								}
						}
					else
						{	/* Module/class.scm 467 */
							obj_t BgL_classz00_2125;

							{	/* Module/class.scm 467 */
								obj_t BgL_pairz00_2692;

								BgL_pairz00_2692 = CAR(((obj_t) BgL_curz00_2119));
								BgL_classz00_2125 = CAR(BgL_pairz00_2692);
							}
							{	/* Module/class.scm 467 */
								obj_t BgL_superz00_2126;

								{	/* Module/class.scm 468 */
									bool_t BgL_test2191z00_4169;

									{	/* Module/class.scm 468 */
										obj_t BgL_classz00_2693;

										BgL_classz00_2693 = BGl_tclassz00zzobject_classz00;
										if (BGL_OBJECTP(BgL_classz00_2125))
											{	/* Module/class.scm 468 */
												BgL_objectz00_bglt BgL_arg1801z00_2695;

												BgL_arg1801z00_2695 =
													(BgL_objectz00_bglt) (BgL_classz00_2125);
												if (BGL_CONDEXPAND_ISA_ARCH64())
													{	/* Module/class.scm 468 */
														long BgL_idxz00_2701;

														BgL_idxz00_2701 =
															BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2695);
														BgL_test2191z00_4169 =
															(VECTOR_REF
															(BGl_za2inheritancesza2z00zz__objectz00,
																(BgL_idxz00_2701 + 2L)) == BgL_classz00_2693);
													}
												else
													{	/* Module/class.scm 468 */
														bool_t BgL_res2105z00_2723;

														{	/* Module/class.scm 468 */
															obj_t BgL_oclassz00_2709;

															{	/* Module/class.scm 468 */
																long BgL_arg1808z00_2715;

																{	/* Module/class.scm 468 */
																	long BgL_arg1809z00_2716;

																	BgL_arg1809z00_2716 =
																		BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2695);
																	BgL_arg1808z00_2715 =
																		(BgL_arg1809z00_2716 - OBJECT_TYPE);
																}
																BgL_oclassz00_2709 =
																	VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
																	BgL_arg1808z00_2715);
															}
															{	/* Module/class.scm 468 */
																bool_t BgL__ortest_1115z00_2710;

																BgL__ortest_1115z00_2710 =
																	(BgL_classz00_2693 == BgL_oclassz00_2709);
																if (BgL__ortest_1115z00_2710)
																	{	/* Module/class.scm 468 */
																		BgL_res2105z00_2723 =
																			BgL__ortest_1115z00_2710;
																	}
																else
																	{	/* Module/class.scm 468 */
																		long BgL_odepthz00_2711;

																		BgL_odepthz00_2711 =
																			BGL_CLASS_DEPTH(BgL_oclassz00_2709);
																		if ((2L < BgL_odepthz00_2711))
																			{	/* Module/class.scm 468 */
																				obj_t BgL_arg1797z00_2713;

																				BgL_arg1797z00_2713 =
																					BGL_CLASS_ANCESTORS_REF
																					(BgL_oclassz00_2709, 2L);
																				BgL_res2105z00_2723 =
																					(BgL_arg1797z00_2713 ==
																					BgL_classz00_2693);
																			}
																		else
																			{	/* Module/class.scm 468 */
																				BgL_res2105z00_2723 = ((bool_t) 0);
																			}
																	}
															}
														}
														BgL_test2191z00_4169 = BgL_res2105z00_2723;
													}
											}
										else
											{	/* Module/class.scm 468 */
												BgL_test2191z00_4169 = ((bool_t) 0);
											}
									}
									if (BgL_test2191z00_4169)
										{
											BgL_tclassz00_bglt BgL_auxz00_4189;

											{
												obj_t BgL_auxz00_4190;

												{	/* Module/class.scm 469 */
													BgL_objectz00_bglt BgL_tmpz00_4191;

													BgL_tmpz00_4191 =
														((BgL_objectz00_bglt)
														((BgL_typez00_bglt) BgL_classz00_2125));
													BgL_auxz00_4190 =
														BGL_OBJECT_WIDENING(BgL_tmpz00_4191);
												}
												BgL_auxz00_4189 =
													((BgL_tclassz00_bglt) BgL_auxz00_4190);
											}
											BgL_superz00_2126 =
												(((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_4189))->
												BgL_itszd2superzd2);
										}
									else
										{
											BgL_jclassz00_bglt BgL_auxz00_4197;

											{
												obj_t BgL_auxz00_4198;

												{	/* Module/class.scm 470 */
													BgL_objectz00_bglt BgL_tmpz00_4199;

													BgL_tmpz00_4199 =
														((BgL_objectz00_bglt)
														((BgL_typez00_bglt) BgL_classz00_2125));
													BgL_auxz00_4198 =
														BGL_OBJECT_WIDENING(BgL_tmpz00_4199);
												}
												BgL_auxz00_4197 =
													((BgL_jclassz00_bglt) BgL_auxz00_4198);
											}
											BgL_superz00_2126 =
												(((BgL_jclassz00_bglt) COBJECT(BgL_auxz00_4197))->
												BgL_itszd2superzd2);
										}
								}
								{	/* Module/class.scm 468 */

									if ((BgL_superz00_2126 == BgL_classz00_2125))
										{	/* Module/class.scm 474 */
											obj_t BgL_arg1973z00_2127;
											obj_t BgL_arg1974z00_2128;

											BgL_arg1973z00_2127 = CDR(((obj_t) BgL_curz00_2119));
											{	/* Module/class.scm 476 */
												obj_t BgL_arg1975z00_2129;

												{	/* Module/class.scm 476 */
													obj_t BgL_arg1976z00_2130;

													{	/* Module/class.scm 476 */
														obj_t BgL_pairz00_2730;

														BgL_pairz00_2730 = CAR(((obj_t) BgL_curz00_2119));
														BgL_arg1976z00_2130 = CDR(BgL_pairz00_2730);
													}
													BgL_arg1975z00_2129 =
														(VA_PROCEDUREP(BgL_arg1976z00_2130)
														? ((obj_t(*)(obj_t,
																	...))
															PROCEDURE_ENTRY(BgL_arg1976z00_2130))
														(BgL_arg1976z00_2130,
															BEOA) : ((obj_t(*)(obj_t))
															PROCEDURE_ENTRY(BgL_arg1976z00_2130))
														(BgL_arg1976z00_2130));
												}
												BgL_arg1974z00_2128 =
													BGl_appendzd221011zd2zzmodule_classz00
													(BgL_arg1975z00_2129, BgL_accessz00_2121);
											}
											{
												obj_t BgL_accessz00_4217;
												obj_t BgL_curz00_4216;

												BgL_curz00_4216 = BgL_arg1973z00_2127;
												BgL_accessz00_4217 = BgL_arg1974z00_2128;
												BgL_accessz00_2121 = BgL_accessz00_4217;
												BgL_curz00_2119 = BgL_curz00_4216;
												goto BgL_zc3z04anonymousza31970ze3z87_2122;
											}
										}
									else
										{	/* Module/class.scm 477 */
											bool_t BgL_test2197z00_4218;

											{	/* Module/class.scm 477 */
												bool_t BgL_test2198z00_4219;

												{	/* Module/class.scm 477 */
													obj_t BgL_classz00_2731;

													BgL_classz00_2731 = BGl_tclassz00zzobject_classz00;
													if (BGL_OBJECTP(BgL_classz00_2125))
														{	/* Module/class.scm 477 */
															BgL_objectz00_bglt BgL_arg1801z00_2733;

															BgL_arg1801z00_2733 =
																(BgL_objectz00_bglt) (BgL_classz00_2125);
															if (BGL_CONDEXPAND_ISA_ARCH64())
																{	/* Module/class.scm 477 */
																	long BgL_idxz00_2739;

																	BgL_idxz00_2739 =
																		BGL_OBJECT_INHERITANCE_NUM
																		(BgL_arg1801z00_2733);
																	BgL_test2198z00_4219 =
																		(VECTOR_REF
																		(BGl_za2inheritancesza2z00zz__objectz00,
																			(BgL_idxz00_2739 + 2L)) ==
																		BgL_classz00_2731);
																}
															else
																{	/* Module/class.scm 477 */
																	bool_t BgL_res2106z00_2761;

																	{	/* Module/class.scm 477 */
																		obj_t BgL_oclassz00_2747;

																		{	/* Module/class.scm 477 */
																			long BgL_arg1808z00_2753;

																			{	/* Module/class.scm 477 */
																				long BgL_arg1809z00_2754;

																				BgL_arg1809z00_2754 =
																					BGL_OBJECT_CLASS_NUM
																					(BgL_arg1801z00_2733);
																				BgL_arg1808z00_2753 =
																					(BgL_arg1809z00_2754 - OBJECT_TYPE);
																			}
																			BgL_oclassz00_2747 =
																				VECTOR_REF
																				(BGl_za2classesza2z00zz__objectz00,
																				BgL_arg1808z00_2753);
																		}
																		{	/* Module/class.scm 477 */
																			bool_t BgL__ortest_1115z00_2748;

																			BgL__ortest_1115z00_2748 =
																				(BgL_classz00_2731 ==
																				BgL_oclassz00_2747);
																			if (BgL__ortest_1115z00_2748)
																				{	/* Module/class.scm 477 */
																					BgL_res2106z00_2761 =
																						BgL__ortest_1115z00_2748;
																				}
																			else
																				{	/* Module/class.scm 477 */
																					long BgL_odepthz00_2749;

																					BgL_odepthz00_2749 =
																						BGL_CLASS_DEPTH(BgL_oclassz00_2747);
																					if ((2L < BgL_odepthz00_2749))
																						{	/* Module/class.scm 477 */
																							obj_t BgL_arg1797z00_2751;

																							BgL_arg1797z00_2751 =
																								BGL_CLASS_ANCESTORS_REF
																								(BgL_oclassz00_2747, 2L);
																							BgL_res2106z00_2761 =
																								(BgL_arg1797z00_2751 ==
																								BgL_classz00_2731);
																						}
																					else
																						{	/* Module/class.scm 477 */
																							BgL_res2106z00_2761 =
																								((bool_t) 0);
																						}
																				}
																		}
																	}
																	BgL_test2198z00_4219 = BgL_res2106z00_2761;
																}
														}
													else
														{	/* Module/class.scm 477 */
															BgL_test2198z00_4219 = ((bool_t) 0);
														}
												}
												if (BgL_test2198z00_4219)
													{	/* Module/class.scm 477 */
														bool_t BgL_test2203z00_4239;

														{	/* Module/class.scm 477 */
															obj_t BgL_classz00_2762;

															BgL_classz00_2762 =
																BGl_tclassz00zzobject_classz00;
															if (BGL_OBJECTP(BgL_superz00_2126))
																{	/* Module/class.scm 477 */
																	BgL_objectz00_bglt BgL_arg1801z00_2764;

																	BgL_arg1801z00_2764 =
																		(BgL_objectz00_bglt) (BgL_superz00_2126);
																	if (BGL_CONDEXPAND_ISA_ARCH64())
																		{	/* Module/class.scm 477 */
																			long BgL_idxz00_2770;

																			BgL_idxz00_2770 =
																				BGL_OBJECT_INHERITANCE_NUM
																				(BgL_arg1801z00_2764);
																			BgL_test2203z00_4239 =
																				(VECTOR_REF
																				(BGl_za2inheritancesza2z00zz__objectz00,
																					(BgL_idxz00_2770 + 2L)) ==
																				BgL_classz00_2762);
																		}
																	else
																		{	/* Module/class.scm 477 */
																			bool_t BgL_res2107z00_2792;

																			{	/* Module/class.scm 477 */
																				obj_t BgL_oclassz00_2778;

																				{	/* Module/class.scm 477 */
																					long BgL_arg1808z00_2784;

																					{	/* Module/class.scm 477 */
																						long BgL_arg1809z00_2785;

																						BgL_arg1809z00_2785 =
																							BGL_OBJECT_CLASS_NUM
																							(BgL_arg1801z00_2764);
																						BgL_arg1808z00_2784 =
																							(BgL_arg1809z00_2785 -
																							OBJECT_TYPE);
																					}
																					BgL_oclassz00_2778 =
																						VECTOR_REF
																						(BGl_za2classesza2z00zz__objectz00,
																						BgL_arg1808z00_2784);
																				}
																				{	/* Module/class.scm 477 */
																					bool_t BgL__ortest_1115z00_2779;

																					BgL__ortest_1115z00_2779 =
																						(BgL_classz00_2762 ==
																						BgL_oclassz00_2778);
																					if (BgL__ortest_1115z00_2779)
																						{	/* Module/class.scm 477 */
																							BgL_res2107z00_2792 =
																								BgL__ortest_1115z00_2779;
																						}
																					else
																						{	/* Module/class.scm 477 */
																							long BgL_odepthz00_2780;

																							BgL_odepthz00_2780 =
																								BGL_CLASS_DEPTH
																								(BgL_oclassz00_2778);
																							if ((2L < BgL_odepthz00_2780))
																								{	/* Module/class.scm 477 */
																									obj_t BgL_arg1797z00_2782;

																									BgL_arg1797z00_2782 =
																										BGL_CLASS_ANCESTORS_REF
																										(BgL_oclassz00_2778, 2L);
																									BgL_res2107z00_2792 =
																										(BgL_arg1797z00_2782 ==
																										BgL_classz00_2762);
																								}
																							else
																								{	/* Module/class.scm 477 */
																									BgL_res2107z00_2792 =
																										((bool_t) 0);
																								}
																						}
																				}
																			}
																			BgL_test2203z00_4239 =
																				BgL_res2107z00_2792;
																		}
																}
															else
																{	/* Module/class.scm 477 */
																	BgL_test2203z00_4239 = ((bool_t) 0);
																}
														}
														if (BgL_test2203z00_4239)
															{	/* Module/class.scm 477 */
																BgL_test2197z00_4218 = ((bool_t) 0);
															}
														else
															{	/* Module/class.scm 477 */
																BgL_test2197z00_4218 = ((bool_t) 1);
															}
													}
												else
													{	/* Module/class.scm 477 */
														BgL_test2197z00_4218 = ((bool_t) 0);
													}
											}
											if (BgL_test2197z00_4218)
												{	/* Module/class.scm 478 */
													bool_t BgL_test2208z00_4259;

													{	/* Module/class.scm 478 */
														obj_t BgL_classz00_2793;

														BgL_classz00_2793 = BGl_typez00zztype_typez00;
														if (BGL_OBJECTP(BgL_superz00_2126))
															{	/* Module/class.scm 478 */
																BgL_objectz00_bglt BgL_arg1801z00_2795;

																BgL_arg1801z00_2795 =
																	(BgL_objectz00_bglt) (BgL_superz00_2126);
																if (BGL_CONDEXPAND_ISA_ARCH64())
																	{	/* Module/class.scm 478 */
																		long BgL_idxz00_2801;

																		BgL_idxz00_2801 =
																			BGL_OBJECT_INHERITANCE_NUM
																			(BgL_arg1801z00_2795);
																		BgL_test2208z00_4259 =
																			(VECTOR_REF
																			(BGl_za2inheritancesza2z00zz__objectz00,
																				(BgL_idxz00_2801 + 1L)) ==
																			BgL_classz00_2793);
																	}
																else
																	{	/* Module/class.scm 478 */
																		bool_t BgL_res2108z00_2823;

																		{	/* Module/class.scm 478 */
																			obj_t BgL_oclassz00_2809;

																			{	/* Module/class.scm 478 */
																				long BgL_arg1808z00_2815;

																				{	/* Module/class.scm 478 */
																					long BgL_arg1809z00_2816;

																					BgL_arg1809z00_2816 =
																						BGL_OBJECT_CLASS_NUM
																						(BgL_arg1801z00_2795);
																					BgL_arg1808z00_2815 =
																						(BgL_arg1809z00_2816 - OBJECT_TYPE);
																				}
																				BgL_oclassz00_2809 =
																					VECTOR_REF
																					(BGl_za2classesza2z00zz__objectz00,
																					BgL_arg1808z00_2815);
																			}
																			{	/* Module/class.scm 478 */
																				bool_t BgL__ortest_1115z00_2810;

																				BgL__ortest_1115z00_2810 =
																					(BgL_classz00_2793 ==
																					BgL_oclassz00_2809);
																				if (BgL__ortest_1115z00_2810)
																					{	/* Module/class.scm 478 */
																						BgL_res2108z00_2823 =
																							BgL__ortest_1115z00_2810;
																					}
																				else
																					{	/* Module/class.scm 478 */
																						long BgL_odepthz00_2811;

																						BgL_odepthz00_2811 =
																							BGL_CLASS_DEPTH
																							(BgL_oclassz00_2809);
																						if ((1L < BgL_odepthz00_2811))
																							{	/* Module/class.scm 478 */
																								obj_t BgL_arg1797z00_2813;

																								BgL_arg1797z00_2813 =
																									BGL_CLASS_ANCESTORS_REF
																									(BgL_oclassz00_2809, 1L);
																								BgL_res2108z00_2823 =
																									(BgL_arg1797z00_2813 ==
																									BgL_classz00_2793);
																							}
																						else
																							{	/* Module/class.scm 478 */
																								BgL_res2108z00_2823 =
																									((bool_t) 0);
																							}
																					}
																			}
																		}
																		BgL_test2208z00_4259 = BgL_res2108z00_2823;
																	}
															}
														else
															{	/* Module/class.scm 478 */
																BgL_test2208z00_4259 = ((bool_t) 0);
															}
													}
													if (BgL_test2208z00_4259)
														{	/* Module/class.scm 478 */
															{
																BgL_tclassz00_bglt BgL_auxz00_4279;

																{
																	obj_t BgL_auxz00_4280;

																	{	/* Module/class.scm 482 */
																		BgL_objectz00_bglt BgL_tmpz00_4281;

																		BgL_tmpz00_4281 =
																			((BgL_objectz00_bglt)
																			((BgL_typez00_bglt) BgL_classz00_2125));
																		BgL_auxz00_4280 =
																			BGL_OBJECT_WIDENING(BgL_tmpz00_4281);
																	}
																	BgL_auxz00_4279 =
																		((BgL_tclassz00_bglt) BgL_auxz00_4280);
																}
																((((BgL_tclassz00_bglt)
																			COBJECT(BgL_auxz00_4279))->BgL_slotsz00) =
																	((obj_t) BNIL), BUNSPEC);
															}
															{	/* Module/class.scm 483 */
																obj_t BgL_arg1982z00_2136;

																BgL_arg1982z00_2136 =
																	CDR(((obj_t) BgL_curz00_2119));
																{
																	obj_t BgL_curz00_4289;

																	BgL_curz00_4289 = BgL_arg1982z00_2136;
																	BgL_curz00_2119 = BgL_curz00_4289;
																	goto BgL_zc3z04anonymousza31970ze3z87_2122;
																}
															}
														}
													else
														{	/* Module/class.scm 486 */
															obj_t BgL_arg1983z00_2137;
															obj_t BgL_arg1984z00_2138;

															BgL_arg1983z00_2137 =
																CDR(((obj_t) BgL_curz00_2119));
															{	/* Module/class.scm 488 */
																obj_t BgL_arg1985z00_2139;

																{	/* Module/class.scm 488 */
																	obj_t BgL_arg1986z00_2140;

																	{	/* Module/class.scm 488 */
																		obj_t BgL_pairz00_2829;

																		BgL_pairz00_2829 =
																			CAR(((obj_t) BgL_curz00_2119));
																		BgL_arg1986z00_2140 = CDR(BgL_pairz00_2829);
																	}
																	BgL_arg1985z00_2139 =
																		(VA_PROCEDUREP(BgL_arg1986z00_2140)
																		? ((obj_t(*)(obj_t,
																					...))
																			PROCEDURE_ENTRY(BgL_arg1986z00_2140))
																		(BgL_arg1986z00_2140,
																			BEOA) : ((obj_t(*)(obj_t))
																			PROCEDURE_ENTRY(BgL_arg1986z00_2140))
																		(BgL_arg1986z00_2140));
																}
																BgL_arg1984z00_2138 =
																	BGl_appendzd221011zd2zzmodule_classz00
																	(BgL_arg1985z00_2139, BgL_accessz00_2121);
															}
															{
																obj_t BgL_accessz00_4300;
																obj_t BgL_curz00_4299;

																BgL_curz00_4299 = BgL_arg1983z00_2137;
																BgL_accessz00_4300 = BgL_arg1984z00_2138;
																BgL_accessz00_2121 = BgL_accessz00_4300;
																BgL_curz00_2119 = BgL_curz00_4299;
																goto BgL_zc3z04anonymousza31970ze3z87_2122;
															}
														}
												}
											else
												{	/* Module/class.scm 489 */
													bool_t BgL_test2213z00_4301;

													{	/* Module/class.scm 489 */
														bool_t BgL_test2214z00_4302;

														{	/* Module/class.scm 489 */
															obj_t BgL_classz00_2830;

															BgL_classz00_2830 =
																BGl_jclassz00zzobject_classz00;
															if (BGL_OBJECTP(BgL_classz00_2125))
																{	/* Module/class.scm 489 */
																	BgL_objectz00_bglt BgL_arg1801z00_2832;

																	BgL_arg1801z00_2832 =
																		(BgL_objectz00_bglt) (BgL_classz00_2125);
																	if (BGL_CONDEXPAND_ISA_ARCH64())
																		{	/* Module/class.scm 489 */
																			long BgL_idxz00_2838;

																			BgL_idxz00_2838 =
																				BGL_OBJECT_INHERITANCE_NUM
																				(BgL_arg1801z00_2832);
																			BgL_test2214z00_4302 =
																				(VECTOR_REF
																				(BGl_za2inheritancesza2z00zz__objectz00,
																					(BgL_idxz00_2838 + 2L)) ==
																				BgL_classz00_2830);
																		}
																	else
																		{	/* Module/class.scm 489 */
																			bool_t BgL_res2109z00_2860;

																			{	/* Module/class.scm 489 */
																				obj_t BgL_oclassz00_2846;

																				{	/* Module/class.scm 489 */
																					long BgL_arg1808z00_2852;

																					{	/* Module/class.scm 489 */
																						long BgL_arg1809z00_2853;

																						BgL_arg1809z00_2853 =
																							BGL_OBJECT_CLASS_NUM
																							(BgL_arg1801z00_2832);
																						BgL_arg1808z00_2852 =
																							(BgL_arg1809z00_2853 -
																							OBJECT_TYPE);
																					}
																					BgL_oclassz00_2846 =
																						VECTOR_REF
																						(BGl_za2classesza2z00zz__objectz00,
																						BgL_arg1808z00_2852);
																				}
																				{	/* Module/class.scm 489 */
																					bool_t BgL__ortest_1115z00_2847;

																					BgL__ortest_1115z00_2847 =
																						(BgL_classz00_2830 ==
																						BgL_oclassz00_2846);
																					if (BgL__ortest_1115z00_2847)
																						{	/* Module/class.scm 489 */
																							BgL_res2109z00_2860 =
																								BgL__ortest_1115z00_2847;
																						}
																					else
																						{	/* Module/class.scm 489 */
																							long BgL_odepthz00_2848;

																							BgL_odepthz00_2848 =
																								BGL_CLASS_DEPTH
																								(BgL_oclassz00_2846);
																							if ((2L < BgL_odepthz00_2848))
																								{	/* Module/class.scm 489 */
																									obj_t BgL_arg1797z00_2850;

																									BgL_arg1797z00_2850 =
																										BGL_CLASS_ANCESTORS_REF
																										(BgL_oclassz00_2846, 2L);
																									BgL_res2109z00_2860 =
																										(BgL_arg1797z00_2850 ==
																										BgL_classz00_2830);
																								}
																							else
																								{	/* Module/class.scm 489 */
																									BgL_res2109z00_2860 =
																										((bool_t) 0);
																								}
																						}
																				}
																			}
																			BgL_test2214z00_4302 =
																				BgL_res2109z00_2860;
																		}
																}
															else
																{	/* Module/class.scm 489 */
																	BgL_test2214z00_4302 = ((bool_t) 0);
																}
														}
														if (BgL_test2214z00_4302)
															{	/* Module/class.scm 489 */
																bool_t BgL_test2219z00_4322;

																{	/* Module/class.scm 489 */
																	obj_t BgL_classz00_2861;

																	BgL_classz00_2861 =
																		BGl_jclassz00zzobject_classz00;
																	if (BGL_OBJECTP(BgL_superz00_2126))
																		{	/* Module/class.scm 489 */
																			BgL_objectz00_bglt BgL_arg1801z00_2863;

																			BgL_arg1801z00_2863 =
																				(BgL_objectz00_bglt)
																				(BgL_superz00_2126);
																			if (BGL_CONDEXPAND_ISA_ARCH64())
																				{	/* Module/class.scm 489 */
																					long BgL_idxz00_2869;

																					BgL_idxz00_2869 =
																						BGL_OBJECT_INHERITANCE_NUM
																						(BgL_arg1801z00_2863);
																					BgL_test2219z00_4322 =
																						(VECTOR_REF
																						(BGl_za2inheritancesza2z00zz__objectz00,
																							(BgL_idxz00_2869 + 2L)) ==
																						BgL_classz00_2861);
																				}
																			else
																				{	/* Module/class.scm 489 */
																					bool_t BgL_res2110z00_2891;

																					{	/* Module/class.scm 489 */
																						obj_t BgL_oclassz00_2877;

																						{	/* Module/class.scm 489 */
																							long BgL_arg1808z00_2883;

																							{	/* Module/class.scm 489 */
																								long BgL_arg1809z00_2884;

																								BgL_arg1809z00_2884 =
																									BGL_OBJECT_CLASS_NUM
																									(BgL_arg1801z00_2863);
																								BgL_arg1808z00_2883 =
																									(BgL_arg1809z00_2884 -
																									OBJECT_TYPE);
																							}
																							BgL_oclassz00_2877 =
																								VECTOR_REF
																								(BGl_za2classesza2z00zz__objectz00,
																								BgL_arg1808z00_2883);
																						}
																						{	/* Module/class.scm 489 */
																							bool_t BgL__ortest_1115z00_2878;

																							BgL__ortest_1115z00_2878 =
																								(BgL_classz00_2861 ==
																								BgL_oclassz00_2877);
																							if (BgL__ortest_1115z00_2878)
																								{	/* Module/class.scm 489 */
																									BgL_res2110z00_2891 =
																										BgL__ortest_1115z00_2878;
																								}
																							else
																								{	/* Module/class.scm 489 */
																									long BgL_odepthz00_2879;

																									BgL_odepthz00_2879 =
																										BGL_CLASS_DEPTH
																										(BgL_oclassz00_2877);
																									if ((2L < BgL_odepthz00_2879))
																										{	/* Module/class.scm 489 */
																											obj_t BgL_arg1797z00_2881;

																											BgL_arg1797z00_2881 =
																												BGL_CLASS_ANCESTORS_REF
																												(BgL_oclassz00_2877,
																												2L);
																											BgL_res2110z00_2891 =
																												(BgL_arg1797z00_2881 ==
																												BgL_classz00_2861);
																										}
																									else
																										{	/* Module/class.scm 489 */
																											BgL_res2110z00_2891 =
																												((bool_t) 0);
																										}
																								}
																						}
																					}
																					BgL_test2219z00_4322 =
																						BgL_res2110z00_2891;
																				}
																		}
																	else
																		{	/* Module/class.scm 489 */
																			BgL_test2219z00_4322 = ((bool_t) 0);
																		}
																}
																if (BgL_test2219z00_4322)
																	{	/* Module/class.scm 489 */
																		BgL_test2213z00_4301 = ((bool_t) 0);
																	}
																else
																	{	/* Module/class.scm 489 */
																		BgL_test2213z00_4301 = ((bool_t) 1);
																	}
															}
														else
															{	/* Module/class.scm 489 */
																BgL_test2213z00_4301 = ((bool_t) 0);
															}
													}
													if (BgL_test2213z00_4301)
														{	/* Module/class.scm 490 */
															bool_t BgL_test2224z00_4342;

															{	/* Module/class.scm 490 */
																obj_t BgL_classz00_2892;

																BgL_classz00_2892 = BGl_typez00zztype_typez00;
																if (BGL_OBJECTP(BgL_superz00_2126))
																	{	/* Module/class.scm 490 */
																		BgL_objectz00_bglt BgL_arg1801z00_2894;

																		BgL_arg1801z00_2894 =
																			(BgL_objectz00_bglt) (BgL_superz00_2126);
																		if (BGL_CONDEXPAND_ISA_ARCH64())
																			{	/* Module/class.scm 490 */
																				long BgL_idxz00_2900;

																				BgL_idxz00_2900 =
																					BGL_OBJECT_INHERITANCE_NUM
																					(BgL_arg1801z00_2894);
																				BgL_test2224z00_4342 =
																					(VECTOR_REF
																					(BGl_za2inheritancesza2z00zz__objectz00,
																						(BgL_idxz00_2900 + 1L)) ==
																					BgL_classz00_2892);
																			}
																		else
																			{	/* Module/class.scm 490 */
																				bool_t BgL_res2111z00_2922;

																				{	/* Module/class.scm 490 */
																					obj_t BgL_oclassz00_2908;

																					{	/* Module/class.scm 490 */
																						long BgL_arg1808z00_2914;

																						{	/* Module/class.scm 490 */
																							long BgL_arg1809z00_2915;

																							BgL_arg1809z00_2915 =
																								BGL_OBJECT_CLASS_NUM
																								(BgL_arg1801z00_2894);
																							BgL_arg1808z00_2914 =
																								(BgL_arg1809z00_2915 -
																								OBJECT_TYPE);
																						}
																						BgL_oclassz00_2908 =
																							VECTOR_REF
																							(BGl_za2classesza2z00zz__objectz00,
																							BgL_arg1808z00_2914);
																					}
																					{	/* Module/class.scm 490 */
																						bool_t BgL__ortest_1115z00_2909;

																						BgL__ortest_1115z00_2909 =
																							(BgL_classz00_2892 ==
																							BgL_oclassz00_2908);
																						if (BgL__ortest_1115z00_2909)
																							{	/* Module/class.scm 490 */
																								BgL_res2111z00_2922 =
																									BgL__ortest_1115z00_2909;
																							}
																						else
																							{	/* Module/class.scm 490 */
																								long BgL_odepthz00_2910;

																								BgL_odepthz00_2910 =
																									BGL_CLASS_DEPTH
																									(BgL_oclassz00_2908);
																								if ((1L < BgL_odepthz00_2910))
																									{	/* Module/class.scm 490 */
																										obj_t BgL_arg1797z00_2912;

																										BgL_arg1797z00_2912 =
																											BGL_CLASS_ANCESTORS_REF
																											(BgL_oclassz00_2908, 1L);
																										BgL_res2111z00_2922 =
																											(BgL_arg1797z00_2912 ==
																											BgL_classz00_2892);
																									}
																								else
																									{	/* Module/class.scm 490 */
																										BgL_res2111z00_2922 =
																											((bool_t) 0);
																									}
																							}
																					}
																				}
																				BgL_test2224z00_4342 =
																					BgL_res2111z00_2922;
																			}
																	}
																else
																	{	/* Module/class.scm 490 */
																		BgL_test2224z00_4342 = ((bool_t) 0);
																	}
															}
															if (BgL_test2224z00_4342)
																{	/* Module/class.scm 490 */
																	{
																		BgL_jclassz00_bglt BgL_auxz00_4362;

																		{
																			obj_t BgL_auxz00_4363;

																			{	/* Module/class.scm 494 */
																				BgL_objectz00_bglt BgL_tmpz00_4364;

																				BgL_tmpz00_4364 =
																					((BgL_objectz00_bglt)
																					((BgL_typez00_bglt)
																						BgL_classz00_2125));
																				BgL_auxz00_4363 =
																					BGL_OBJECT_WIDENING(BgL_tmpz00_4364);
																			}
																			BgL_auxz00_4362 =
																				((BgL_jclassz00_bglt) BgL_auxz00_4363);
																		}
																		((((BgL_jclassz00_bglt)
																					COBJECT(BgL_auxz00_4362))->
																				BgL_slotsz00) =
																			((obj_t) BNIL), BUNSPEC);
																	}
																	{	/* Module/class.scm 495 */
																		obj_t BgL_arg1992z00_2146;

																		BgL_arg1992z00_2146 =
																			CDR(((obj_t) BgL_curz00_2119));
																		{
																			obj_t BgL_curz00_4372;

																			BgL_curz00_4372 = BgL_arg1992z00_2146;
																			BgL_curz00_2119 = BgL_curz00_4372;
																			goto
																				BgL_zc3z04anonymousza31970ze3z87_2122;
																		}
																	}
																}
															else
																{	/* Module/class.scm 498 */
																	obj_t BgL_arg1993z00_2147;
																	obj_t BgL_arg1994z00_2148;

																	BgL_arg1993z00_2147 =
																		CDR(((obj_t) BgL_curz00_2119));
																	{	/* Module/class.scm 500 */
																		obj_t BgL_arg1995z00_2149;

																		{	/* Module/class.scm 500 */
																			obj_t BgL_arg1996z00_2150;

																			{	/* Module/class.scm 500 */
																				obj_t BgL_pairz00_2928;

																				BgL_pairz00_2928 =
																					CAR(((obj_t) BgL_curz00_2119));
																				BgL_arg1996z00_2150 =
																					CDR(BgL_pairz00_2928);
																			}
																			BgL_arg1995z00_2149 =
																				(VA_PROCEDUREP(BgL_arg1996z00_2150)
																				? ((obj_t(*)(obj_t,
																							...))
																					PROCEDURE_ENTRY(BgL_arg1996z00_2150))
																				(BgL_arg1996z00_2150,
																					BEOA) : ((obj_t(*)(obj_t))
																					PROCEDURE_ENTRY(BgL_arg1996z00_2150))
																				(BgL_arg1996z00_2150));
																		}
																		BgL_arg1994z00_2148 =
																			BGl_appendzd221011zd2zzmodule_classz00
																			(BgL_arg1995z00_2149, BgL_accessz00_2121);
																	}
																	{
																		obj_t BgL_accessz00_4383;
																		obj_t BgL_curz00_4382;

																		BgL_curz00_4382 = BgL_arg1993z00_2147;
																		BgL_accessz00_4383 = BgL_arg1994z00_2148;
																		BgL_accessz00_2121 = BgL_accessz00_4383;
																		BgL_curz00_2119 = BgL_curz00_4382;
																		goto BgL_zc3z04anonymousza31970ze3z87_2122;
																	}
																}
														}
													else
														{	/* Module/class.scm 501 */
															bool_t BgL_test2229z00_4384;

															{	/* Module/class.scm 501 */
																bool_t BgL_test2230z00_4385;

																{	/* Module/class.scm 501 */
																	obj_t BgL_classz00_2929;

																	BgL_classz00_2929 =
																		BGl_tclassz00zzobject_classz00;
																	if (BGL_OBJECTP(BgL_classz00_2125))
																		{	/* Module/class.scm 501 */
																			BgL_objectz00_bglt BgL_arg1801z00_2931;

																			BgL_arg1801z00_2931 =
																				(BgL_objectz00_bglt)
																				(BgL_classz00_2125);
																			if (BGL_CONDEXPAND_ISA_ARCH64())
																				{	/* Module/class.scm 501 */
																					long BgL_idxz00_2937;

																					BgL_idxz00_2937 =
																						BGL_OBJECT_INHERITANCE_NUM
																						(BgL_arg1801z00_2931);
																					BgL_test2230z00_4385 =
																						(VECTOR_REF
																						(BGl_za2inheritancesza2z00zz__objectz00,
																							(BgL_idxz00_2937 + 2L)) ==
																						BgL_classz00_2929);
																				}
																			else
																				{	/* Module/class.scm 501 */
																					bool_t BgL_res2112z00_2959;

																					{	/* Module/class.scm 501 */
																						obj_t BgL_oclassz00_2945;

																						{	/* Module/class.scm 501 */
																							long BgL_arg1808z00_2951;

																							{	/* Module/class.scm 501 */
																								long BgL_arg1809z00_2952;

																								BgL_arg1809z00_2952 =
																									BGL_OBJECT_CLASS_NUM
																									(BgL_arg1801z00_2931);
																								BgL_arg1808z00_2951 =
																									(BgL_arg1809z00_2952 -
																									OBJECT_TYPE);
																							}
																							BgL_oclassz00_2945 =
																								VECTOR_REF
																								(BGl_za2classesza2z00zz__objectz00,
																								BgL_arg1808z00_2951);
																						}
																						{	/* Module/class.scm 501 */
																							bool_t BgL__ortest_1115z00_2946;

																							BgL__ortest_1115z00_2946 =
																								(BgL_classz00_2929 ==
																								BgL_oclassz00_2945);
																							if (BgL__ortest_1115z00_2946)
																								{	/* Module/class.scm 501 */
																									BgL_res2112z00_2959 =
																										BgL__ortest_1115z00_2946;
																								}
																							else
																								{	/* Module/class.scm 501 */
																									long BgL_odepthz00_2947;

																									BgL_odepthz00_2947 =
																										BGL_CLASS_DEPTH
																										(BgL_oclassz00_2945);
																									if ((2L < BgL_odepthz00_2947))
																										{	/* Module/class.scm 501 */
																											obj_t BgL_arg1797z00_2949;

																											BgL_arg1797z00_2949 =
																												BGL_CLASS_ANCESTORS_REF
																												(BgL_oclassz00_2945,
																												2L);
																											BgL_res2112z00_2959 =
																												(BgL_arg1797z00_2949 ==
																												BgL_classz00_2929);
																										}
																									else
																										{	/* Module/class.scm 501 */
																											BgL_res2112z00_2959 =
																												((bool_t) 0);
																										}
																								}
																						}
																					}
																					BgL_test2230z00_4385 =
																						BgL_res2112z00_2959;
																				}
																		}
																	else
																		{	/* Module/class.scm 501 */
																			BgL_test2230z00_4385 = ((bool_t) 0);
																		}
																}
																if (BgL_test2230z00_4385)
																	{	/* Module/class.scm 501 */
																		obj_t BgL_arg2018z00_2172;

																		{
																			BgL_tclassz00_bglt BgL_auxz00_4405;

																			{
																				obj_t BgL_auxz00_4406;

																				{	/* Module/class.scm 501 */
																					BgL_objectz00_bglt BgL_tmpz00_4407;

																					BgL_tmpz00_4407 =
																						((BgL_objectz00_bglt)
																						((BgL_typez00_bglt)
																							BgL_superz00_2126));
																					BgL_auxz00_4406 =
																						BGL_OBJECT_WIDENING
																						(BgL_tmpz00_4407);
																				}
																				BgL_auxz00_4405 =
																					((BgL_tclassz00_bglt)
																					BgL_auxz00_4406);
																			}
																			BgL_arg2018z00_2172 =
																				(((BgL_tclassz00_bglt)
																					COBJECT(BgL_auxz00_4405))->
																				BgL_slotsz00);
																		}
																		BgL_test2229z00_4384 =
																			(BgL_arg2018z00_2172 == BUNSPEC);
																	}
																else
																	{	/* Module/class.scm 501 */
																		BgL_test2229z00_4384 = ((bool_t) 0);
																	}
															}
															if (BgL_test2229z00_4384)
																{	/* Module/class.scm 503 */
																	obj_t BgL_arg2001z00_2155;
																	obj_t BgL_arg2002z00_2156;

																	BgL_arg2001z00_2155 =
																		CDR(((obj_t) BgL_curz00_2119));
																	{	/* Module/class.scm 504 */
																		obj_t BgL_arg2003z00_2157;

																		BgL_arg2003z00_2157 =
																			CAR(((obj_t) BgL_curz00_2119));
																		BgL_arg2002z00_2156 =
																			MAKE_YOUNG_PAIR(BgL_arg2003z00_2157,
																			BgL_nextz00_2120);
																	}
																	{
																		obj_t BgL_nextz00_4420;
																		obj_t BgL_curz00_4419;

																		BgL_curz00_4419 = BgL_arg2001z00_2155;
																		BgL_nextz00_4420 = BgL_arg2002z00_2156;
																		BgL_nextz00_2120 = BgL_nextz00_4420;
																		BgL_curz00_2119 = BgL_curz00_4419;
																		goto BgL_zc3z04anonymousza31970ze3z87_2122;
																	}
																}
															else
																{	/* Module/class.scm 506 */
																	bool_t BgL_test2235z00_4421;

																	{	/* Module/class.scm 506 */
																		bool_t BgL_test2236z00_4422;

																		{	/* Module/class.scm 506 */
																			obj_t BgL_classz00_2964;

																			BgL_classz00_2964 =
																				BGl_jclassz00zzobject_classz00;
																			if (BGL_OBJECTP(BgL_classz00_2125))
																				{	/* Module/class.scm 506 */
																					BgL_objectz00_bglt
																						BgL_arg1801z00_2966;
																					BgL_arg1801z00_2966 =
																						(BgL_objectz00_bglt)
																						(BgL_classz00_2125);
																					if (BGL_CONDEXPAND_ISA_ARCH64())
																						{	/* Module/class.scm 506 */
																							long BgL_idxz00_2972;

																							BgL_idxz00_2972 =
																								BGL_OBJECT_INHERITANCE_NUM
																								(BgL_arg1801z00_2966);
																							BgL_test2236z00_4422 =
																								(VECTOR_REF
																								(BGl_za2inheritancesza2z00zz__objectz00,
																									(BgL_idxz00_2972 + 2L)) ==
																								BgL_classz00_2964);
																						}
																					else
																						{	/* Module/class.scm 506 */
																							bool_t BgL_res2113z00_2994;

																							{	/* Module/class.scm 506 */
																								obj_t BgL_oclassz00_2980;

																								{	/* Module/class.scm 506 */
																									long BgL_arg1808z00_2986;

																									{	/* Module/class.scm 506 */
																										long BgL_arg1809z00_2987;

																										BgL_arg1809z00_2987 =
																											BGL_OBJECT_CLASS_NUM
																											(BgL_arg1801z00_2966);
																										BgL_arg1808z00_2986 =
																											(BgL_arg1809z00_2987 -
																											OBJECT_TYPE);
																									}
																									BgL_oclassz00_2980 =
																										VECTOR_REF
																										(BGl_za2classesza2z00zz__objectz00,
																										BgL_arg1808z00_2986);
																								}
																								{	/* Module/class.scm 506 */
																									bool_t
																										BgL__ortest_1115z00_2981;
																									BgL__ortest_1115z00_2981 =
																										(BgL_classz00_2964 ==
																										BgL_oclassz00_2980);
																									if (BgL__ortest_1115z00_2981)
																										{	/* Module/class.scm 506 */
																											BgL_res2113z00_2994 =
																												BgL__ortest_1115z00_2981;
																										}
																									else
																										{	/* Module/class.scm 506 */
																											long BgL_odepthz00_2982;

																											BgL_odepthz00_2982 =
																												BGL_CLASS_DEPTH
																												(BgL_oclassz00_2980);
																											if ((2L <
																													BgL_odepthz00_2982))
																												{	/* Module/class.scm 506 */
																													obj_t
																														BgL_arg1797z00_2984;
																													BgL_arg1797z00_2984 =
																														BGL_CLASS_ANCESTORS_REF
																														(BgL_oclassz00_2980,
																														2L);
																													BgL_res2113z00_2994 =
																														(BgL_arg1797z00_2984
																														==
																														BgL_classz00_2964);
																												}
																											else
																												{	/* Module/class.scm 506 */
																													BgL_res2113z00_2994 =
																														((bool_t) 0);
																												}
																										}
																								}
																							}
																							BgL_test2236z00_4422 =
																								BgL_res2113z00_2994;
																						}
																				}
																			else
																				{	/* Module/class.scm 506 */
																					BgL_test2236z00_4422 = ((bool_t) 0);
																				}
																		}
																		if (BgL_test2236z00_4422)
																			{	/* Module/class.scm 506 */
																				obj_t BgL_arg2016z00_2170;

																				{
																					BgL_jclassz00_bglt BgL_auxz00_4442;

																					{
																						obj_t BgL_auxz00_4443;

																						{	/* Module/class.scm 506 */
																							BgL_objectz00_bglt
																								BgL_tmpz00_4444;
																							BgL_tmpz00_4444 =
																								((BgL_objectz00_bglt) (
																									(BgL_typez00_bglt)
																									BgL_superz00_2126));
																							BgL_auxz00_4443 =
																								BGL_OBJECT_WIDENING
																								(BgL_tmpz00_4444);
																						}
																						BgL_auxz00_4442 =
																							((BgL_jclassz00_bglt)
																							BgL_auxz00_4443);
																					}
																					BgL_arg2016z00_2170 =
																						(((BgL_jclassz00_bglt)
																							COBJECT(BgL_auxz00_4442))->
																						BgL_slotsz00);
																				}
																				BgL_test2235z00_4421 =
																					(BgL_arg2016z00_2170 == BUNSPEC);
																			}
																		else
																			{	/* Module/class.scm 506 */
																				BgL_test2235z00_4421 = ((bool_t) 0);
																			}
																	}
																	if (BgL_test2235z00_4421)
																		{	/* Module/class.scm 508 */
																			obj_t BgL_arg2008z00_2161;
																			obj_t BgL_arg2009z00_2162;

																			BgL_arg2008z00_2161 =
																				CDR(((obj_t) BgL_curz00_2119));
																			{	/* Module/class.scm 509 */
																				obj_t BgL_arg2010z00_2163;

																				BgL_arg2010z00_2163 =
																					CAR(((obj_t) BgL_curz00_2119));
																				BgL_arg2009z00_2162 =
																					MAKE_YOUNG_PAIR(BgL_arg2010z00_2163,
																					BgL_nextz00_2120);
																			}
																			{
																				obj_t BgL_nextz00_4457;
																				obj_t BgL_curz00_4456;

																				BgL_curz00_4456 = BgL_arg2008z00_2161;
																				BgL_nextz00_4457 = BgL_arg2009z00_2162;
																				BgL_nextz00_2120 = BgL_nextz00_4457;
																				BgL_curz00_2119 = BgL_curz00_4456;
																				goto
																					BgL_zc3z04anonymousza31970ze3z87_2122;
																			}
																		}
																	else
																		{	/* Module/class.scm 513 */
																			obj_t BgL_arg2011z00_2164;
																			obj_t BgL_arg2012z00_2165;

																			BgL_arg2011z00_2164 =
																				CDR(((obj_t) BgL_curz00_2119));
																			{	/* Module/class.scm 515 */
																				obj_t BgL_arg2013z00_2166;

																				{	/* Module/class.scm 515 */
																					obj_t BgL_arg2014z00_2167;

																					{	/* Module/class.scm 515 */
																						obj_t BgL_pairz00_3001;

																						BgL_pairz00_3001 =
																							CAR(((obj_t) BgL_curz00_2119));
																						BgL_arg2014z00_2167 =
																							CDR(BgL_pairz00_3001);
																					}
																					BgL_arg2013z00_2166 =
																						(VA_PROCEDUREP(BgL_arg2014z00_2167)
																						? ((obj_t(*)(obj_t,
																									...))
																							PROCEDURE_ENTRY
																							(BgL_arg2014z00_2167))
																						(BgL_arg2014z00_2167,
																							BEOA) : ((obj_t(*)(obj_t))
																							PROCEDURE_ENTRY
																							(BgL_arg2014z00_2167))
																						(BgL_arg2014z00_2167));
																				}
																				BgL_arg2012z00_2165 =
																					BGl_appendzd221011zd2zzmodule_classz00
																					(BgL_arg2013z00_2166,
																					BgL_accessz00_2121);
																			}
																			{
																				obj_t BgL_accessz00_4468;
																				obj_t BgL_curz00_4467;

																				BgL_curz00_4467 = BgL_arg2011z00_2164;
																				BgL_accessz00_4468 =
																					BgL_arg2012z00_2165;
																				BgL_accessz00_2121 = BgL_accessz00_4468;
																				BgL_curz00_2119 = BgL_curz00_4467;
																				goto
																					BgL_zc3z04anonymousza31970ze3z87_2122;
																			}
																		}
																}
														}
												}
										}
								}
							}
						}
				}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zzmodule_classz00(void)
	{
		{	/* Module/class.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zzmodule_classz00(void)
	{
		{	/* Module/class.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zzmodule_classz00(void)
	{
		{	/* Module/class.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zzmodule_classz00(void)
	{
		{	/* Module/class.scm 15 */
			BGl_modulezd2initializa7ationz75zztools_tracez00(54713316L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzmodule_modulez00(158397907L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzmodule_impusez00(478324304L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzmodule_includez00(184800657L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzbackend_backendz00(216206620L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzengine_paramz00(517137079L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zztools_shapez00(365925558L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zztools_errorz00(300504031L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zztools_locationz00(462333240L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zztools_miscz00(9470071L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zztype_typez00(515343395L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zztype_envz00(296457443L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzast_identz00(174885617L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzast_varz00(90839984L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzast_envz00(146730773L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzast_objectz00(520121776L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzast_nodez00(469732712L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzobject_classz00(502007119L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzobject_coercionz00(208160543L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			BGl_modulezd2initializa7ationz75zzobject_classgenz00(502726840L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
			return
				BGl_modulezd2initializa7ationz75zzobject_slotsz00(151271251L,
				BSTRING_TO_STRING(BGl_string2119z00zzmodule_classz00));
		}

	}

#ifdef __cplusplus
}
#endif
