/*===========================================================================*/
/*   (Module/class.scm)                                                      */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Module/class.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_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;
} *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;
} *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;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_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;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_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;
} *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_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;


BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
extern obj_t BGl_idzd2ofzd2idz00zzast_identz00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzmodule_classz00();
BGL_IMPORT long get_hash_power_number(char *, long);
static obj_t BGl_za2objectzd2unitza2zd2zzmodule_classz00 = BUNSPEC;
static obj_t BGl_za2methodzd2unitza2zd2zzmodule_classz00 = BUNSPEC;
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(obj_t);
extern obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern obj_t BGl_tclassz00zzobject_classz00;
extern obj_t BGl_za2reflectionzf3za2zf3zzengine_paramz00;
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
extern obj_t BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(obj_t, obj_t);
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
extern obj_t BGl_typez00zztype_typez00;
static obj_t BGl__classzd2finaliza7erz75zzmodule_classz00(obj_t);
static BgL_typez00_bglt BGl_declarezd2exportzd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t, obj_t, bool_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
extern obj_t BGl_importzd2parserzd2zzmodule_impusez00(obj_t, obj_t, obj_t);
extern obj_t BGl_globalzd2setzd2readzd2onlyz12zc0zzast_varz00(BgL_globalz00_bglt);
static obj_t BGl_cnstzd2initzd2zzmodule_classz00();
BGL_EXPORTED_DECL obj_t BGl_getzd2classzd2hashz00zzmodule_classz00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza31904ze3z83zzmodule_classz00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzmodule_classz00();
static obj_t BGl_makezd2slotzd2fieldz00zzmodule_classz00(obj_t, obj_t, obj_t);
extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
static obj_t BGl__delayzd2classzd2accessorsz12z12zzmodule_classz00(obj_t, obj_t, obj_t);
static obj_t BGl_za2classzd2accessesza2zd2zzmodule_classz00 = BUNSPEC;
static obj_t BGl__getzd2classzd2hashz00zzmodule_classz00(obj_t, obj_t, obj_t);
static obj_t BGl_za2declaredzd2classesza2zd2zzmodule_classz00 = BUNSPEC;
static obj_t BGl_toplevelzd2initzd2zzmodule_classz00();
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
extern obj_t BGl_jclassz00zzobject_classz00;
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmodule_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_impusez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_includez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_plainzd2accesszd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_widezd2accesszd2(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
static obj_t BGl_findzd2infozd2attributez00zzmodule_classz00(obj_t);
static obj_t BGl_forcezd2classzd2accessesz00zzmodule_classz00();
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_delayzd2classzd2accessorsz12z12zzmodule_classz00(BgL_typez00_bglt, obj_t);
static obj_t BGl_makezd2addzd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_declarezd2classz12zc0zzmodule_classz00(obj_t, obj_t, obj_t, bool_t, bool_t, obj_t, obj_t);
static obj_t BGl__declarezd2classz12zc0zzmodule_classz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t string_append(obj_t, obj_t);
static obj_t BGl_makezd2classzd2fieldsz00zzmodule_classz00(obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza31938ze3z83zzmodule_classz00(obj_t);
static bool_t BGl_readzd2onlyzf3z21zzmodule_classz00(obj_t);
static BgL_typez00_bglt BGl_declarezd2importzd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t, obj_t, bool_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl__declarezd2widezd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_declarezd2widezd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t create_struct(obj_t, int);
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl__getzd2methodzd2unitz00zzmodule_classz00(obj_t);
BGL_IMPORT obj_t bgl_append2(obj_t, obj_t);
extern BgL_typez00_bglt BGl_declarezd2classzd2typez12z12zzobject_classz00(obj_t, BgL_globalz00_bglt, obj_t, bool_t, bool_t, obj_t);
BGL_IMPORT obj_t BGl_makezd2promisezd2zz__r4_control_features_6_9z00(obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzmodule_classz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_classzd2finaliza7erz75zzmodule_classz00();
BGL_EXPORTED_DECL obj_t BGl_getzd2objectzd2unitz00zzmodule_classz00();
static obj_t BGl__getzd2objectzd2unitz00zzmodule_classz00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzmodule_classz00();
extern obj_t BGl_za2debugzd2moduleza2zd2zzengine_paramz00;
BGL_EXPORTED_DECL obj_t BGl_getzd2methodzd2unitz00zzmodule_classz00();
static obj_t __cnst[ 35 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_getzd2classzd2hashzd2envzd2zzmodule_classz00, BgL_bgl__getza7d2classza7d2hashza700za7za7module_classza7003379z00, BGl__getzd2classzd2hashz00zzmodule_classz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_delayzd2classzd2accessorsz12zd2envzc0zzmodule_classz00, BgL_bgl__delayza7d2classza7d2accessorsza712za712za7za7module_classza7003380za7, BGl__delayzd2classzd2accessorsz12z12zzmodule_classz00, 0L, 2 );
extern obj_t BGl_importzd2plainzd2classzd2accessorsz12zd2envz12zzobject_plainzd2accesszd2;
DEFINE_STRING( BGl_string3350z00zzmodule_classz00, BgL_bgl_string3350za700za7za7module_classza7003381z00, "method unit (#unspecified) object pragma::int begin void -len -ref -set! - make-class-field get info read-only list * cons vector __object register-class! define (quote ()) @ quote error x lambda allocate- make- widening wide plain final (export static) ", 254 );
DEFINE_STRING( BGl_string3349z00zzmodule_classz00, BgL_bgl_string3349za700za7za7module_classza7003382z00, "\")", 2 );
DEFINE_STRING( BGl_string3348z00zzmodule_classz00, BgL_bgl_string3348za700za7za7module_classza7003383z00, "puts(\"    Module init (object): ", 32 );
DEFINE_STRING( BGl_string3347z00zzmodule_classz00, BgL_bgl_string3347za700za7za7module_classza7003384z00, "Illegal slot definition", 23 );
DEFINE_STRING( BGl_string3346z00zzmodule_classz00, BgL_bgl_string3346za700za7za7module_classza7003385z00, "make-class-fields", 17 );
DEFINE_STRING( BGl_string3345z00zzmodule_classz00, BgL_bgl_string3345za700za7za7module_classza7003386z00, "* ", 2 );
DEFINE_STRING( BGl_string3344z00zzmodule_classz00, BgL_bgl_string3344za700za7za7module_classza7003387z00, "Can't allocate instance of abstract classes", 43 );
DEFINE_STRING( BGl_string3343z00zzmodule_classz00, BgL_bgl_string3343za700za7za7module_classza7003388z00, "Can't make instance of abstract classes", 39 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2objectzd2unitzd2envzd2zzmodule_classz00, BgL_bgl__getza7d2objectza7d2unitza700za7za7module_classza7003389z00, BGl__getzd2objectzd2unitz00zzmodule_classz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2classz12zd2envz12zzmodule_classz00, BgL_bgl__declareza7d2classza712za7c0za7za7module_classza7003390z00, BGl__declarezd2classz12zc0zzmodule_classz00, 0L, 7 );
extern obj_t BGl_genzd2widezd2classzd2accessorsz12zd2envz12zzobject_widezd2accesszd2;
extern obj_t BGl_genzd2plainzd2classzd2accessorsz12zd2envz12zzobject_plainzd2accesszd2;
DEFINE_EXPORT_PROCEDURE( BGl_classzd2finaliza7erzd2envza7zzmodule_classz00, BgL_bgl__classza7d2finaliza7a7erza775za7za7module_classza7003391z00, BGl__classzd2finaliza7erz75zzmodule_classz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2widezd2classz12zd2envzc0zzmodule_classz00, BgL_bgl__declareza7d2wideza7d2classza712za712za7za7module_classza7003392za7, BGl__declarezd2widezd2classz12z12zzmodule_classz00, 0L, 5 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2methodzd2unitzd2envzd2zzmodule_classz00, BgL_bgl__getza7d2methodza7d2unitza700za7za7module_classza7003393z00, BGl__getzd2methodzd2unitz00zzmodule_classz00, 0L, 0 );
extern obj_t BGl_importzd2widezd2classzd2accessorsz12zd2envz12zzobject_widezd2accesszd2;



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



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzmodule_classz00()
{ AN_OBJECT;
{ /* ./Module/class.scm 15 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "module_class"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "module_class"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "module_class"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "module_class"); 
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)0), "module_class"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzmodule_classz00()
{ AN_OBJECT;
{ /* ./Module/class.scm 15 */
{ /* ./Module/class.scm 15 */
obj_t BgL_cportz00_1485;
BgL_cportz00_1485 = 
open_input_string(BGl_string3350z00zzmodule_classz00); 
{ 
long BgL_iz00_1486;
BgL_iz00_1486 = ((long)34); 
BgL_loopz00_1487:
{ /* ./Module/class.scm 15 */
bool_t BgL_test3352z00_1488;
BgL_test3352z00_1488 = 
(BgL_iz00_1486==((long)-1)); 
if(BgL_test3352z00_1488)
{ /* ./Module/class.scm 15 */
return BUNSPEC;}  else 
{ /* ./Module/class.scm 15 */
{ /* ./Module/class.scm 15 */
obj_t BgL_arg3354z00_1489;
{ /* ./Module/class.scm 15 */
obj_t BgL_list3357z00_1490;
BgL_list3357z00_1490 = 
MAKE_PAIR(BgL_cportz00_1485, BNIL); 
BgL_arg3354z00_1489 = 
BGl_readz00zz__readerz00(BgL_list3357z00_1490); } 
{ /* ./Module/class.scm 15 */
int BgL_auxz00_1511;
BgL_auxz00_1511 = 
(int)(BgL_iz00_1486); 
CNST_TABLE_SET(BgL_auxz00_1511, BgL_arg3354z00_1489); } } 
{ /* ./Module/class.scm 15 */
int BgL_auxz00_1491;
{ /* ./Module/class.scm 15 */
long BgL_auxz00_1514;
BgL_auxz00_1514 = 
(BgL_iz00_1486-((long)1)); 
BgL_auxz00_1491 = 
(int)(BgL_auxz00_1514); } 
{ 
long BgL_iz00_1517;
BgL_iz00_1517 = 
(long)(BgL_auxz00_1491); 
BgL_iz00_1486 = BgL_iz00_1517; 
goto BgL_loopz00_1487;} } } } } } } 
}



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



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



/* _get-object-unit */
obj_t BGl__getzd2objectzd2unitz00zzmodule_classz00(obj_t BgL_envz00_1424)
{ AN_OBJECT;
{ /* ./Module/class.scm 50 */
return BGl_za2objectzd2unitza2zd2zzmodule_classz00;} 
}



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



/* _get-method-unit */
obj_t BGl__getzd2methodzd2unitz00zzmodule_classz00(obj_t BgL_envz00_1425)
{ AN_OBJECT;
{ /* ./Module/class.scm 56 */
return BGl_za2methodzd2unitza2zd2zzmodule_classz00;} 
}



/* declare-class! */
BGL_EXPORTED_DEF obj_t BGl_declarezd2classz12zc0zzmodule_classz00(obj_t BgL_classzd2defzd2_19, obj_t BgL_modulez00_20, obj_t BgL_importz00_21, bool_t BgL_finalzf3zf3_22, bool_t BgL_abstractzf3zf3_23, obj_t BgL_defzd2srczd2_24, obj_t BgL_declzd2srczd2_25)
{ AN_OBJECT;
{ /* ./Module/class.scm 62 */
{ /* ./Module/class.scm 64 */
bool_t BgL_test1880z00_1128;
{ /* ./Module/class.scm 64 */
obj_t BgL_auxz00_1519;
BgL_auxz00_1519 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_importz00_21, 
CNST_TABLE_REF(((long)0))); 
BgL_test1880z00_1128 = 
CBOOL(BgL_auxz00_1519); } 
if(BgL_test1880z00_1128)
{ /* ./Module/class.scm 64 */
{ /* ./Module/class.scm 64 */
obj_t BgL_arg1882z00_1129;
if(BgL_finalzf3zf3_22)
{ /* ./Module/class.scm 64 */
BgL_arg1882z00_1129 = 
CNST_TABLE_REF(((long)1)); }  else 
{ /* ./Module/class.scm 64 */
BgL_arg1882z00_1129 = 
CNST_TABLE_REF(((long)2)); } 
{ /* ./Module/class.scm 64 */
BgL_typez00_bglt BgL_auxz00_1527;
BgL_auxz00_1527 = 
BGl_declarezd2exportzd2classz12z12zzmodule_classz00(BGl_genzd2plainzd2classzd2accessorsz12zd2envz12zzobject_plainzd2accesszd2, BgL_classzd2defzd2_19, BgL_modulez00_20, BgL_arg1882z00_1129, BgL_abstractzf3zf3_23, BgL_defzd2srczd2_24, BgL_declzd2srczd2_25, BgL_importz00_21); 
return 
(obj_t)(BgL_auxz00_1527);} } }  else 
{ /* ./Module/class.scm 64 */
{ /* ./Module/class.scm 64 */
obj_t BgL_arg1885z00_1130;
if(BgL_finalzf3zf3_22)
{ /* ./Module/class.scm 64 */
BgL_arg1885z00_1130 = 
CNST_TABLE_REF(((long)1)); }  else 
{ /* ./Module/class.scm 64 */
BgL_arg1885z00_1130 = 
CNST_TABLE_REF(((long)2)); } 
{ /* ./Module/class.scm 64 */
BgL_typez00_bglt BgL_auxz00_1533;
BgL_auxz00_1533 = 
BGl_declarezd2importzd2classz12z12zzmodule_classz00(BGl_importzd2plainzd2classzd2accessorsz12zd2envz12zzobject_plainzd2accesszd2, BgL_classzd2defzd2_19, BgL_modulez00_20, BgL_arg1885z00_1130, BgL_abstractzf3zf3_23, BgL_defzd2srczd2_24, BgL_declzd2srczd2_25); 
return 
(obj_t)(BgL_auxz00_1533);} } } } } 
}



/* _declare-class! */
obj_t BGl__declarezd2classz12zc0zzmodule_classz00(obj_t BgL_envz00_1426, obj_t BgL_classzd2defzd2_1427, obj_t BgL_modulez00_1428, obj_t BgL_importz00_1429, obj_t BgL_finalzf3zf3_1430, obj_t BgL_abstractzf3zf3_1431, obj_t BgL_defzd2srczd2_1432, obj_t BgL_declzd2srczd2_1433)
{ AN_OBJECT;
{ /* ./Module/class.scm 62 */
return 
BGl_declarezd2classz12zc0zzmodule_classz00(BgL_classzd2defzd2_1427, BgL_modulez00_1428, BgL_importz00_1429, 
CBOOL(BgL_finalzf3zf3_1430), 
CBOOL(BgL_abstractzf3zf3_1431), BgL_defzd2srczd2_1432, BgL_declzd2srczd2_1433);} 
}



/* declare-wide-class! */
BGL_EXPORTED_DEF obj_t BGl_declarezd2widezd2classz12z12zzmodule_classz00(obj_t BgL_classzd2defzd2_26, obj_t BgL_modulez00_27, obj_t BgL_importz00_28, obj_t BgL_defzd2srczd2_29, obj_t BgL_declzd2srczd2_30)
{ AN_OBJECT;
{ /* ./Module/class.scm 80 */
{ /* ./Module/class.scm 82 */
bool_t BgL_test1888z00_1131;
{ /* ./Module/class.scm 82 */
obj_t BgL_auxz00_1539;
BgL_auxz00_1539 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_importz00_28, 
CNST_TABLE_REF(((long)0))); 
BgL_test1888z00_1131 = 
CBOOL(BgL_auxz00_1539); } 
if(BgL_test1888z00_1131)
{ /* ./Module/class.scm 82 */
{ /* ./Module/class.scm 82 */
BgL_typez00_bglt BgL_auxz00_1544;
BgL_auxz00_1544 = 
BGl_declarezd2exportzd2classz12z12zzmodule_classz00(BGl_genzd2widezd2classzd2accessorsz12zd2envz12zzobject_widezd2accesszd2, BgL_classzd2defzd2_26, BgL_modulez00_27, 
CNST_TABLE_REF(((long)3)), ((bool_t)0), BgL_defzd2srczd2_29, BgL_declzd2srczd2_30, BgL_importz00_28); 
return 
(obj_t)(BgL_auxz00_1544);} }  else 
{ /* ./Module/class.scm 82 */
{ /* ./Module/class.scm 82 */
BgL_typez00_bglt BgL_auxz00_1548;
BgL_auxz00_1548 = 
BGl_declarezd2importzd2classz12z12zzmodule_classz00(BGl_importzd2widezd2classzd2accessorsz12zd2envz12zzobject_widezd2accesszd2, BgL_classzd2defzd2_26, BgL_modulez00_27, 
CNST_TABLE_REF(((long)3)), ((bool_t)0), BgL_defzd2srczd2_29, BgL_declzd2srczd2_30); 
return 
(obj_t)(BgL_auxz00_1548);} } } } 
}



/* _declare-wide-class! */
obj_t BGl__declarezd2widezd2classz12z12zzmodule_classz00(obj_t BgL_envz00_1444, obj_t BgL_classzd2defzd2_1445, obj_t BgL_modulez00_1446, obj_t BgL_importz00_1447, obj_t BgL_defzd2srczd2_1448, obj_t BgL_declzd2srczd2_1449)
{ AN_OBJECT;
{ /* ./Module/class.scm 80 */
return 
BGl_declarezd2widezd2classz12z12zzmodule_classz00(BgL_classzd2defzd2_1445, BgL_modulez00_1446, BgL_importz00_1447, BgL_defzd2srczd2_1448, BgL_declzd2srczd2_1449);} 
}



/* declare-export-class! */
BgL_typez00_bglt BGl_declarezd2exportzd2classz12z12zzmodule_classz00(obj_t BgL_genz00_31, obj_t BgL_cdefz00_32, obj_t BgL_modulez00_33, obj_t BgL_kindz00_34, bool_t BgL_abstractzf3zf3_35, obj_t BgL_srczd2defzd2_36, obj_t BgL_srczd2declzd2_37, obj_t BgL_importz00_38)
{ AN_OBJECT;
{ /* ./Module/class.scm 94 */
{ /* ./Module/class.scm 98 */
obj_t BgL_locz00_403;
BgL_locz00_403 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2defzd2_36); 
{ /* ./Module/class.scm 98 */
obj_t BgL_classzd2varzd2_404;
BgL_classzd2varzd2_404 = 
CAR(BgL_cdefz00_32); 
{ /* ./Module/class.scm 99 */
obj_t BgL_classzd2idzd2_405;
BgL_classzd2idzd2_405 = 
BGl_idzd2ofzd2idz00zzast_identz00(BgL_classzd2varzd2_404, BgL_locz00_403); 
{ /* ./Module/class.scm 100 */
obj_t BgL_holderz00_406;
{ /* ./Module/class.scm 102 */
obj_t BgL_arg1915z00_418;
{ /* ./Module/class.scm 102 */
obj_t BgL_arg1919z00_419;
BgL_arg1919z00_419 = 
MAKE_PAIR(BgL_classzd2idzd2_405, BNIL); 
BgL_arg1915z00_418 = 
MAKE_PAIR(BgL_importz00_38, BgL_arg1919z00_419); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1915z00_418); } 
BgL_holderz00_406 = 
BGl_findzd2globalzf2modulez20zzast_envz00(BgL_classzd2idzd2_405, BgL_modulez00_33); 
{ /* ./Module/class.scm 101 */
bool_t BgL_finalzf3zf3_407;
{ /* ./Module/class.scm 104 */
obj_t BgL_auxz00_1560;
BgL_auxz00_1560 = 
CNST_TABLE_REF(((long)1)); 
BgL_finalzf3zf3_407 = 
(BgL_kindz00_34==BgL_auxz00_1560); } 
{ /* ./Module/class.scm 104 */
obj_t BgL_widez00_408;
{ /* ./Module/class.scm 105 */
bool_t BgL_testz00_1563;
{ /* ./Module/class.scm 105 */
obj_t BgL_auxz00_1564;
BgL_auxz00_1564 = 
CNST_TABLE_REF(((long)3)); 
BgL_testz00_1563 = 
(BgL_kindz00_34==BgL_auxz00_1564); } 
if(BgL_testz00_1563)
{ /* ./Module/class.scm 105 */
BgL_widez00_408 = 
CNST_TABLE_REF(((long)4)); }  else 
{ /* ./Module/class.scm 105 */
BgL_widez00_408 = BFALSE; } } 
{ /* ./Module/class.scm 105 */
BgL_typez00_bglt BgL_tclassz00_409;
BgL_tclassz00_409 = 
BGl_declarezd2classzd2typez12z12zzobject_classz00(BgL_cdefz00_32, 
(BgL_globalz00_bglt)(BgL_holderz00_406), BgL_widez00_408, BgL_finalzf3zf3_407, BgL_abstractzf3zf3_35, BgL_srczd2defzd2_36); 
{ /* ./Module/class.scm 106 */

BGl_globalzd2setzd2readzd2onlyz12zc0zzast_varz00(
(BgL_globalz00_bglt)(BgL_holderz00_406)); 
{ /* ./Module/class.scm 115 */
obj_t BgL_arg1894z00_410;
BgL_arg1894z00_410 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srczd2declzd2_37, BgL_locz00_403); 
{ /* ./Module/class.scm 115 */
BgL_typez00_bglt BgL_obj1062z00_1133;obj_t BgL_val1061z00_1134;
BgL_obj1062z00_1133 = BgL_tclassz00_409; 
BgL_val1061z00_1134 = BgL_arg1894z00_410; 
((((BgL_typez00_bglt)CREF(BgL_obj1062z00_1133))->BgL_importzd2locationzd2) = ((obj_t)BgL_val1061z00_1134), BUNSPEC); } } 
{ /* ./Module/class.scm 120 */
obj_t BgL_arg1898z00_411;
{ /* ./Module/class.scm 120 */
obj_t BgL_zc3anonymousza31904ze3z83_1460;
{ 
int BgL_auxz00_1576;int BgL_auxz00_1574;
BgL_auxz00_1576 = 
(int)(((long)6)); 
BgL_auxz00_1574 = 
(int)(((long)0)); 
BgL_zc3anonymousza31904ze3z83_1460 = 
make_fx_procedure(BGl_zc3anonymousza31904ze3z83zzmodule_classz00, BgL_auxz00_1574, BgL_auxz00_1576); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1579;
BgL_auxz00_1579 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza31904ze3z83_1460, BgL_auxz00_1579, BgL_genz00_31); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1582;
BgL_auxz00_1582 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza31904ze3z83_1460, BgL_auxz00_1582, BgL_cdefz00_32); } 
{ /* ./Module/class.scm 120 */
obj_t BgL_auxz00_1587;int BgL_auxz00_1585;
BgL_auxz00_1587 = 
(obj_t)(BgL_tclassz00_409); 
BgL_auxz00_1585 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza31904ze3z83_1460, BgL_auxz00_1585, BgL_auxz00_1587); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1590;
BgL_auxz00_1590 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza31904ze3z83_1460, BgL_auxz00_1590, BgL_srczd2defzd2_36); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1593;
BgL_auxz00_1593 = 
(int)(((long)4)); 
PROCEDURE_SET(BgL_zc3anonymousza31904ze3z83_1460, BgL_auxz00_1593, BgL_importz00_38); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1596;
BgL_auxz00_1596 = 
(int)(((long)5)); 
PROCEDURE_SET(BgL_zc3anonymousza31904ze3z83_1460, BgL_auxz00_1596, BgL_holderz00_406); } 
BgL_arg1898z00_411 = 
BGl_makezd2promisezd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza31904ze3z83_1460); } 
{ /* ./Module/class.scm 117 */
BgL_typez00_bglt BgL_res3185z00_1139;
{ /* ./Module/class.scm 117 */
obj_t BgL_arg1951z00_1138;
{ /* ./Module/class.scm 117 */
obj_t BgL_auxz00_1600;
BgL_auxz00_1600 = 
(obj_t)(BgL_tclassz00_409); 
BgL_arg1951z00_1138 = 
MAKE_PAIR(BgL_auxz00_1600, BgL_arg1898z00_411); } 
BGl_za2classzd2accessesza2zd2zzmodule_classz00 = 
MAKE_PAIR(BgL_arg1951z00_1138, BGl_za2classzd2accessesza2zd2zzmodule_classz00); } 
BgL_res3185z00_1139 = BgL_tclassz00_409; 
return BgL_res3185z00_1139;} } } } } } } } } } } 
}



/* <anonymous:1904> */
obj_t BGl_zc3anonymousza31904ze3z83zzmodule_classz00(obj_t BgL_envz00_1461)
{ AN_OBJECT;
{ /* ./Module/class.scm 119 */
{ /* ./Module/class.scm 120 */
obj_t BgL_genz00_1462;obj_t BgL_cdefz00_1463;obj_t BgL_tclassz00_1464;obj_t BgL_srczd2defzd2_1465;obj_t BgL_importz00_1466;obj_t BgL_holderz00_1467;
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1604;
BgL_auxz00_1604 = 
(int)(((long)0)); 
BgL_genz00_1462 = 
PROCEDURE_REF(BgL_envz00_1461, BgL_auxz00_1604); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1607;
BgL_auxz00_1607 = 
(int)(((long)1)); 
BgL_cdefz00_1463 = 
PROCEDURE_REF(BgL_envz00_1461, BgL_auxz00_1607); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1610;
BgL_auxz00_1610 = 
(int)(((long)2)); 
BgL_tclassz00_1464 = 
PROCEDURE_REF(BgL_envz00_1461, BgL_auxz00_1610); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1613;
BgL_auxz00_1613 = 
(int)(((long)3)); 
BgL_srczd2defzd2_1465 = 
PROCEDURE_REF(BgL_envz00_1461, BgL_auxz00_1613); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1616;
BgL_auxz00_1616 = 
(int)(((long)4)); 
BgL_importz00_1466 = 
PROCEDURE_REF(BgL_envz00_1461, BgL_auxz00_1616); } 
{ /* ./Module/class.scm 120 */
int BgL_auxz00_1619;
BgL_auxz00_1619 = 
(int)(((long)5)); 
BgL_holderz00_1467 = 
PROCEDURE_REF(BgL_envz00_1461, BgL_auxz00_1619); } 
{ 

{ /* ./Module/class.scm 120 */
obj_t BgL_concretesz00_414;
BgL_concretesz00_414 = 
PROCEDURE_ENTRY(BgL_genz00_1462)(BgL_genz00_1462, BgL_cdefz00_1463, BgL_tclassz00_1464, BgL_srczd2defzd2_1465, BgL_importz00_1466, BEOA); 
{ /* ./Module/class.scm 125 */
obj_t BgL_virtualsz00_415;
{ /* ./Module/class.scm 125 */
int BgL_nz00_1135;
BgL_nz00_1135 = 
(int)(((long)1)); 
BgL_virtualsz00_415 = 
BGL_MVALUES_VAL(BgL_nz00_1135); } 
BGl_makezd2addzd2classz12z12zzmodule_classz00(BgL_holderz00_1467, BgL_tclassz00_1464, BgL_srczd2defzd2_1465, BgL_virtualsz00_415); 
return BgL_concretesz00_414;} } } } } 
}



/* declare-import-class! */
BgL_typez00_bglt BGl_declarezd2importzd2classz12z12zzmodule_classz00(obj_t BgL_genz00_39, obj_t BgL_cdefz00_40, obj_t BgL_modulez00_41, obj_t BgL_kindz00_42, bool_t BgL_abstractzf3zf3_43, obj_t BgL_srczd2defzd2_44, obj_t BgL_srczd2declzd2_45)
{ AN_OBJECT;
{ /* ./Module/class.scm 135 */
{ /* ./Module/class.scm 139 */
obj_t BgL_locz00_420;
BgL_locz00_420 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2defzd2_44); 
{ /* ./Module/class.scm 139 */
obj_t BgL_classzd2varzd2_421;
BgL_classzd2varzd2_421 = 
CAR(BgL_cdefz00_40); 
{ /* ./Module/class.scm 140 */
obj_t BgL_classzd2idzd2_422;
BgL_classzd2idzd2_422 = 
BGl_idzd2ofzd2idz00zzast_identz00(BgL_classzd2varzd2_421, BgL_locz00_420); 
{ /* ./Module/class.scm 141 */
obj_t BgL_holderz00_423;
BgL_holderz00_423 = 
BGl_importzd2parserzd2zzmodule_impusez00(BgL_modulez00_41, BgL_classzd2idzd2_422, BNIL); 
{ /* ./Module/class.scm 142 */
bool_t BgL_finalzf3zf3_424;
{ /* ./Module/class.scm 143 */
obj_t BgL_auxz00_1631;
BgL_auxz00_1631 = 
CNST_TABLE_REF(((long)1)); 
BgL_finalzf3zf3_424 = 
(BgL_kindz00_42==BgL_auxz00_1631); } 
{ /* ./Module/class.scm 143 */
obj_t BgL_widez00_425;
{ /* ./Module/class.scm 144 */
bool_t BgL_testz00_1634;
{ /* ./Module/class.scm 144 */
obj_t BgL_auxz00_1635;
BgL_auxz00_1635 = 
CNST_TABLE_REF(((long)3)); 
BgL_testz00_1634 = 
(BgL_kindz00_42==BgL_auxz00_1635); } 
if(BgL_testz00_1634)
{ /* ./Module/class.scm 144 */
BgL_widez00_425 = 
CNST_TABLE_REF(((long)4)); }  else 
{ /* ./Module/class.scm 144 */
BgL_widez00_425 = BFALSE; } } 
{ /* ./Module/class.scm 144 */
BgL_typez00_bglt BgL_tclassz00_426;
BgL_tclassz00_426 = 
BGl_declarezd2classzd2typez12z12zzobject_classz00(BgL_cdefz00_40, 
(BgL_globalz00_bglt)(BgL_holderz00_423), BgL_widez00_425, BgL_finalzf3zf3_424, BgL_abstractzf3zf3_43, BgL_srczd2defzd2_44); 
{ /* ./Module/class.scm 145 */

{ /* ./Module/class.scm 152 */
obj_t BgL_arg1928z00_427;
BgL_arg1928z00_427 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srczd2declzd2_45, BgL_locz00_420); 
{ /* ./Module/class.scm 152 */
BgL_typez00_bglt BgL_obj1062z00_1141;obj_t BgL_val1061z00_1142;
BgL_obj1062z00_1141 = BgL_tclassz00_426; 
BgL_val1061z00_1142 = BgL_arg1928z00_427; 
((((BgL_typez00_bglt)CREF(BgL_obj1062z00_1141))->BgL_importzd2locationzd2) = ((obj_t)BgL_val1061z00_1142), BUNSPEC); } } 
{ /* ./Module/class.scm 157 */
obj_t BgL_arg1933z00_428;
{ /* ./Module/class.scm 157 */
obj_t BgL_zc3anonymousza31938ze3z83_1468;
{ 
int BgL_auxz00_1645;int BgL_auxz00_1643;
BgL_auxz00_1645 = 
(int)(((long)5)); 
BgL_auxz00_1643 = 
(int)(((long)0)); 
BgL_zc3anonymousza31938ze3z83_1468 = 
make_fx_procedure(BGl_zc3anonymousza31938ze3z83zzmodule_classz00, BgL_auxz00_1643, BgL_auxz00_1645); } 
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1648;
BgL_auxz00_1648 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza31938ze3z83_1468, BgL_auxz00_1648, BgL_genz00_39); } 
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1651;
BgL_auxz00_1651 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza31938ze3z83_1468, BgL_auxz00_1651, BgL_cdefz00_40); } 
{ /* ./Module/class.scm 157 */
obj_t BgL_auxz00_1656;int BgL_auxz00_1654;
BgL_auxz00_1656 = 
(obj_t)(BgL_tclassz00_426); 
BgL_auxz00_1654 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza31938ze3z83_1468, BgL_auxz00_1654, BgL_auxz00_1656); } 
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1659;
BgL_auxz00_1659 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza31938ze3z83_1468, BgL_auxz00_1659, BgL_srczd2defzd2_44); } 
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1662;
BgL_auxz00_1662 = 
(int)(((long)4)); 
PROCEDURE_SET(BgL_zc3anonymousza31938ze3z83_1468, BgL_auxz00_1662, BgL_modulez00_41); } 
BgL_arg1933z00_428 = 
BGl_makezd2promisezd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza31938ze3z83_1468); } 
{ /* ./Module/class.scm 154 */
BgL_typez00_bglt BgL_res3186z00_1147;
{ /* ./Module/class.scm 154 */
obj_t BgL_arg1951z00_1146;
{ /* ./Module/class.scm 154 */
obj_t BgL_auxz00_1666;
BgL_auxz00_1666 = 
(obj_t)(BgL_tclassz00_426); 
BgL_arg1951z00_1146 = 
MAKE_PAIR(BgL_auxz00_1666, BgL_arg1933z00_428); } 
BGl_za2classzd2accessesza2zd2zzmodule_classz00 = 
MAKE_PAIR(BgL_arg1951z00_1146, BGl_za2classzd2accessesza2zd2zzmodule_classz00); } 
BgL_res3186z00_1147 = BgL_tclassz00_426; 
return BgL_res3186z00_1147;} } } } } } } } } } } 
}



/* <anonymous:1938> */
obj_t BGl_zc3anonymousza31938ze3z83zzmodule_classz00(obj_t BgL_envz00_1469)
{ AN_OBJECT;
{ /* ./Module/class.scm 156 */
{ /* ./Module/class.scm 157 */
obj_t BgL_genz00_1470;obj_t BgL_cdefz00_1471;obj_t BgL_tclassz00_1472;obj_t BgL_srczd2defzd2_1473;obj_t BgL_modulez00_1474;
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1670;
BgL_auxz00_1670 = 
(int)(((long)0)); 
BgL_genz00_1470 = 
PROCEDURE_REF(BgL_envz00_1469, BgL_auxz00_1670); } 
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1673;
BgL_auxz00_1673 = 
(int)(((long)1)); 
BgL_cdefz00_1471 = 
PROCEDURE_REF(BgL_envz00_1469, BgL_auxz00_1673); } 
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1676;
BgL_auxz00_1676 = 
(int)(((long)2)); 
BgL_tclassz00_1472 = 
PROCEDURE_REF(BgL_envz00_1469, BgL_auxz00_1676); } 
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1679;
BgL_auxz00_1679 = 
(int)(((long)3)); 
BgL_srczd2defzd2_1473 = 
PROCEDURE_REF(BgL_envz00_1469, BgL_auxz00_1679); } 
{ /* ./Module/class.scm 157 */
int BgL_auxz00_1682;
BgL_auxz00_1682 = 
(int)(((long)4)); 
BgL_modulez00_1474 = 
PROCEDURE_REF(BgL_envz00_1469, BgL_auxz00_1682); } 
{ 

{ /* ./Module/class.scm 157 */
obj_t BgL_concretesz00_431;
BgL_concretesz00_431 = 
PROCEDURE_ENTRY(BgL_genz00_1470)(BgL_genz00_1470, BgL_cdefz00_1471, BgL_tclassz00_1472, BgL_srczd2defzd2_1473, BgL_modulez00_1474, BEOA); 
{ /* ./Module/class.scm 157 */
obj_t BgL_virtualsz00_432;
{ /* ./Module/class.scm 157 */
int BgL_nz00_1143;
BgL_nz00_1143 = 
(int)(((long)1)); 
BgL_virtualsz00_432 = 
BGL_MVALUES_VAL(BgL_nz00_1143); } 
return BgL_concretesz00_431;} } } } } 
}



/* delay-class-accessors! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_delayzd2classzd2accessorsz12z12zzmodule_classz00(BgL_typez00_bglt BgL_typez00_46, obj_t BgL_delayedz00_47)
{ AN_OBJECT;
{ /* ./Module/class.scm 164 */
{ /* ./Module/class.scm 165 */
obj_t BgL_arg1951z00_1148;
{ /* ./Module/class.scm 165 */
obj_t BgL_auxz00_1689;
BgL_auxz00_1689 = 
(obj_t)(BgL_typez00_46); 
BgL_arg1951z00_1148 = 
MAKE_PAIR(BgL_auxz00_1689, BgL_delayedz00_47); } 
BGl_za2classzd2accessesza2zd2zzmodule_classz00 = 
MAKE_PAIR(BgL_arg1951z00_1148, BGl_za2classzd2accessesza2zd2zzmodule_classz00); } 
return BgL_typez00_46;} 
}



/* _delay-class-accessors! */
obj_t BGl__delayzd2classzd2accessorsz12z12zzmodule_classz00(obj_t BgL_envz00_1475, obj_t BgL_typez00_1476, obj_t BgL_delayedz00_1477)
{ AN_OBJECT;
{ /* ./Module/class.scm 164 */
{ /* ./Module/class.scm 165 */
BgL_typez00_bglt BgL_auxz00_1693;
BgL_auxz00_1693 = 
BGl_delayzd2classzd2accessorsz12z12zzmodule_classz00(
(BgL_typez00_bglt)(BgL_typez00_1476), BgL_delayedz00_1477); 
return 
(obj_t)(BgL_auxz00_1693);} } 
}



/* make-add-class! */
obj_t BGl_makezd2addzd2classz12z12zzmodule_classz00(obj_t BgL_holderz00_48, obj_t BgL_classz00_49, obj_t BgL_srczd2defzd2_50, obj_t BgL_virtualsz00_51)
{ AN_OBJECT;
{ /* ./Module/class.scm 181 */
{ /* ./Module/class.scm 182 */
obj_t BgL_superz00_437;
{ /* ./Module/class.scm 182 */
BgL_tclassz00_bglt BgL_obj1630z00_1149;
BgL_obj1630z00_1149 = 
(BgL_tclassz00_bglt)(BgL_classz00_49); 
{ 
obj_t BgL_auxz00_1698;
{ /* ./Module/class.scm 182 */
BgL_objectz00_bglt BgL_auxz00_1699;
BgL_auxz00_1699 = 
(BgL_objectz00_bglt)(BgL_obj1630z00_1149); 
BgL_auxz00_1698 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1699); } 
BgL_superz00_437 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1698))->BgL_itszd2superzd2); } } 
{ /* ./Module/class.scm 182 */
obj_t BgL_holderzd2idzd2_438;
{ /* ./Module/class.scm 183 */
BgL_variablez00_bglt BgL_obj1113z00_1150;
BgL_obj1113z00_1150 = 
(BgL_variablez00_bglt)(BgL_holderz00_48); 
BgL_holderzd2idzd2_438 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1113z00_1150))->BgL_idz00); } 
{ /* ./Module/class.scm 183 */
obj_t BgL_classzd2idzd2_439;
{ /* ./Module/class.scm 184 */
BgL_typez00_bglt BgL_obj1023z00_1151;
BgL_obj1023z00_1151 = 
(BgL_typez00_bglt)(BgL_classz00_49); 
BgL_classzd2idzd2_439 = 
(((BgL_typez00_bglt)CREF(BgL_obj1023z00_1151))->BgL_idz00); } 
{ /* ./Module/class.scm 184 */
obj_t BgL_classzd2modulezd2_440;
{ /* ./Module/class.scm 185 */
BgL_globalz00_bglt BgL_obj1186z00_1152;
BgL_obj1186z00_1152 = 
(BgL_globalz00_bglt)(BgL_holderz00_48); 
BgL_classzd2modulezd2_440 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1186z00_1152))->BgL_modulez00); } 
{ /* ./Module/class.scm 185 */
obj_t BgL_classzd2makezd2idz00_441;
{ /* ./Module/class.scm 186 */
obj_t BgL_list2331z00_614;
{ /* ./Module/class.scm 186 */
obj_t BgL_arg2333z00_615;obj_t BgL_arg2334z00_616;
BgL_arg2333z00_615 = 
CNST_TABLE_REF(((long)5)); 
BgL_arg2334z00_616 = 
MAKE_PAIR(BgL_classzd2idzd2_439, BNIL); 
BgL_list2331z00_614 = 
MAKE_PAIR(BgL_arg2333z00_615, BgL_arg2334z00_616); } 
BgL_classzd2makezd2idz00_441 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2331z00_614); } 
{ /* ./Module/class.scm 186 */
obj_t BgL_classzd2alloczd2idz00_442;
{ /* ./Module/class.scm 187 */
obj_t BgL_list2324z00_611;
{ /* ./Module/class.scm 187 */
obj_t BgL_arg2326z00_612;obj_t BgL_arg2327z00_613;
BgL_arg2326z00_612 = 
CNST_TABLE_REF(((long)6)); 
BgL_arg2327z00_613 = 
MAKE_PAIR(BgL_classzd2idzd2_439, BNIL); 
BgL_list2324z00_611 = 
MAKE_PAIR(BgL_arg2326z00_612, BgL_arg2327z00_613); } 
BgL_classzd2alloczd2idz00_442 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2324z00_611); } 
{ /* ./Module/class.scm 187 */
obj_t BgL_classzd2makezd2_443;
{ /* ./Module/class.scm 189 */
bool_t BgL_test2273z00_589;
{ /* ./Module/class.scm 189 */
BgL_tclassz00_bglt BgL_obj1646z00_1153;
BgL_obj1646z00_1153 = 
(BgL_tclassz00_bglt)(BgL_classz00_49); 
{ 
obj_t BgL_auxz00_1718;
{ /* ./Module/class.scm 189 */
BgL_objectz00_bglt BgL_auxz00_1719;
BgL_auxz00_1719 = 
(BgL_objectz00_bglt)(BgL_obj1646z00_1153); 
BgL_auxz00_1718 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1719); } 
BgL_test2273z00_589 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1718))->BgL_abstractzf3zf3); } } 
if(BgL_test2273z00_589)
{ /* ./Module/class.scm 189 */
{ /* ./Module/class.scm 190 */
obj_t BgL_arg2275z00_590;obj_t BgL_arg2276z00_591;
BgL_arg2275z00_590 = 
CNST_TABLE_REF(((long)7)); 
{ /* ./Module/class.scm 190 */
obj_t BgL_arg2279z00_592;obj_t BgL_arg2280z00_593;
{ /* ./Module/class.scm 190 */
obj_t BgL_auxz00_1725;
BgL_auxz00_1725 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg2279z00_592 = 
MAKE_PAIR(BgL_auxz00_1725, BNIL); } 
{ /* ./Module/class.scm 191 */
obj_t BgL_arg2284z00_594;
{ /* ./Module/class.scm 191 */
obj_t BgL_arg2288z00_596;obj_t BgL_arg2289z00_597;
BgL_arg2288z00_596 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Module/class.scm 192 */
obj_t BgL_arg2292z00_598;obj_t BgL_arg2293z00_599;
{ /* ./Module/class.scm 192 */
obj_t BgL_arg2296z00_600;obj_t BgL_arg2297z00_601;
BgL_arg2296z00_600 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2297z00_601 = 
MAKE_PAIR(BgL_classzd2makezd2idz00_441, BNIL); 
BgL_arg2292z00_598 = 
MAKE_PAIR(BgL_arg2296z00_600, BgL_arg2297z00_601); } 
{ /* ./Module/class.scm 191 */
obj_t BgL_arg2303z00_603;
{ /* ./Module/class.scm 194 */
obj_t BgL_arg2306z00_604;
{ /* ./Module/class.scm 194 */
obj_t BgL_arg2310z00_606;obj_t BgL_arg2311z00_607;
BgL_arg2310z00_606 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2311z00_607 = 
MAKE_PAIR(BgL_classzd2idzd2_439, BNIL); 
BgL_arg2306z00_604 = 
MAKE_PAIR(BgL_arg2310z00_606, BgL_arg2311z00_607); } 
BgL_arg2303z00_603 = 
MAKE_PAIR(BgL_arg2306z00_604, BNIL); } 
BgL_arg2293z00_599 = 
MAKE_PAIR(BGl_string3343z00zzmodule_classz00, BgL_arg2303z00_603); } 
BgL_arg2289z00_597 = 
MAKE_PAIR(BgL_arg2292z00_598, BgL_arg2293z00_599); } 
BgL_arg2284z00_594 = 
MAKE_PAIR(BgL_arg2288z00_596, BgL_arg2289z00_597); } 
BgL_arg2280z00_593 = 
MAKE_PAIR(BgL_arg2284z00_594, BNIL); } 
BgL_arg2276z00_591 = 
MAKE_PAIR(BgL_arg2279z00_592, BgL_arg2280z00_593); } 
BgL_classzd2makezd2_443 = 
MAKE_PAIR(BgL_arg2275z00_590, BgL_arg2276z00_591); } }  else 
{ /* ./Module/class.scm 189 */
if(
CBOOL(BGl_za2reflectionzf3za2zf3zzengine_paramz00))
{ /* ./Module/class.scm 195 */
{ /* ./Module/class.scm 198 */
obj_t BgL_arg2315z00_608;obj_t BgL_arg2316z00_609;
BgL_arg2315z00_608 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Module/class.scm 198 */
obj_t BgL_arg2319z00_610;
BgL_arg2319z00_610 = 
MAKE_PAIR(BgL_classzd2modulezd2_440, BNIL); 
BgL_arg2316z00_609 = 
MAKE_PAIR(BgL_classzd2makezd2idz00_441, BgL_arg2319z00_610); } 
BgL_classzd2makezd2_443 = 
MAKE_PAIR(BgL_arg2315z00_608, BgL_arg2316z00_609); } }  else 
{ /* ./Module/class.scm 195 */
BgL_classzd2makezd2_443 = BFALSE; } } } 
{ /* ./Module/class.scm 188 */
obj_t BgL_classzd2alloczd2_444;
{ /* ./Module/class.scm 199 */
bool_t BgL_test2224z00_567;
{ /* ./Module/class.scm 199 */
BgL_tclassz00_bglt BgL_obj1646z00_1154;
BgL_obj1646z00_1154 = 
(BgL_tclassz00_bglt)(BgL_classz00_49); 
{ 
obj_t BgL_auxz00_1749;
{ /* ./Module/class.scm 199 */
BgL_objectz00_bglt BgL_auxz00_1750;
BgL_auxz00_1750 = 
(BgL_objectz00_bglt)(BgL_obj1646z00_1154); 
BgL_auxz00_1749 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1750); } 
BgL_test2224z00_567 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1749))->BgL_abstractzf3zf3); } } 
if(BgL_test2224z00_567)
{ /* ./Module/class.scm 204 */
obj_t BgL_arg2226z00_568;obj_t BgL_arg2227z00_569;
BgL_arg2226z00_568 = 
CNST_TABLE_REF(((long)7)); 
{ /* ./Module/class.scm 200 */
obj_t BgL_arg2230z00_570;obj_t BgL_arg2231z00_571;
{ /* ./Module/class.scm 200 */
obj_t BgL_auxz00_1756;
BgL_auxz00_1756 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg2230z00_570 = 
MAKE_PAIR(BgL_auxz00_1756, BNIL); } 
{ /* ./Module/class.scm 201 */
obj_t BgL_arg2235z00_572;
{ /* ./Module/class.scm 201 */
obj_t BgL_arg2239z00_574;obj_t BgL_arg2240z00_575;
BgL_arg2239z00_574 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Module/class.scm 202 */
obj_t BgL_arg2243z00_576;obj_t BgL_arg2244z00_577;
{ /* ./Module/class.scm 202 */
obj_t BgL_arg2247z00_578;obj_t BgL_arg2248z00_579;
BgL_arg2247z00_578 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2248z00_579 = 
MAKE_PAIR(BgL_classzd2alloczd2idz00_442, BNIL); 
BgL_arg2243z00_576 = 
MAKE_PAIR(BgL_arg2247z00_578, BgL_arg2248z00_579); } 
{ /* ./Module/class.scm 201 */
obj_t BgL_arg2253z00_581;
{ /* ./Module/class.scm 204 */
obj_t BgL_arg2256z00_582;
{ /* ./Module/class.scm 204 */
obj_t BgL_arg2260z00_584;obj_t BgL_arg2261z00_585;
BgL_arg2260z00_584 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2261z00_585 = 
MAKE_PAIR(BgL_classzd2idzd2_439, BNIL); 
BgL_arg2256z00_582 = 
MAKE_PAIR(BgL_arg2260z00_584, BgL_arg2261z00_585); } 
BgL_arg2253z00_581 = 
MAKE_PAIR(BgL_arg2256z00_582, BNIL); } 
BgL_arg2244z00_577 = 
MAKE_PAIR(BGl_string3344z00zzmodule_classz00, BgL_arg2253z00_581); } 
BgL_arg2240z00_575 = 
MAKE_PAIR(BgL_arg2243z00_576, BgL_arg2244z00_577); } 
BgL_arg2235z00_572 = 
MAKE_PAIR(BgL_arg2239z00_574, BgL_arg2240z00_575); } 
BgL_arg2231z00_571 = 
MAKE_PAIR(BgL_arg2235z00_572, BNIL); } 
BgL_arg2227z00_569 = 
MAKE_PAIR(BgL_arg2230z00_570, BgL_arg2231z00_571); } 
BgL_classzd2alloczd2_444 = 
MAKE_PAIR(BgL_arg2226z00_568, BgL_arg2227z00_569); }  else 
{ /* ./Module/class.scm 205 */
obj_t BgL_arg2265z00_586;obj_t BgL_arg2266z00_587;
BgL_arg2265z00_586 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Module/class.scm 205 */
obj_t BgL_arg2269z00_588;
BgL_arg2269z00_588 = 
MAKE_PAIR(BgL_classzd2modulezd2_440, BNIL); 
BgL_arg2266z00_587 = 
MAKE_PAIR(BgL_classzd2alloczd2idz00_442, BgL_arg2269z00_588); } 
BgL_classzd2alloczd2_444 = 
MAKE_PAIR(BgL_arg2265z00_586, BgL_arg2266z00_587); } } 
{ /* ./Module/class.scm 199 */
obj_t BgL_hashz00_445;
{ /* ./Module/class.scm 206 */
obj_t BgL_arg2221z00_566;
{ /* ./Module/class.scm 206 */
obj_t BgL_auxz00_1777;
BgL_auxz00_1777 = 
CDR(BgL_srczd2defzd2_50); 
BgL_arg2221z00_566 = 
CDR(BgL_auxz00_1777); } 
BgL_hashz00_445 = 
BGl_getzd2classzd2hashz00zzmodule_classz00(BgL_classzd2idzd2_439, BgL_arg2221z00_566); } 
{ /* ./Module/class.scm 206 */
obj_t BgL_constrz00_446;
{ /* ./Module/class.scm 207 */
BgL_tclassz00_bglt BgL_obj1642z00_1159;
BgL_obj1642z00_1159 = 
(BgL_tclassz00_bglt)(BgL_classz00_49); 
{ 
obj_t BgL_auxz00_1782;
{ /* ./Module/class.scm 207 */
BgL_objectz00_bglt BgL_auxz00_1783;
BgL_auxz00_1783 = 
(BgL_objectz00_bglt)(BgL_obj1642z00_1159); 
BgL_auxz00_1782 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1783); } 
BgL_constrz00_446 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1782))->BgL_constructorz00); } } 
{ /* ./Module/class.scm 207 */
obj_t BgL_locz00_447;
BgL_locz00_447 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2defzd2_50); 
{ /* ./Module/class.scm 208 */
obj_t BgL_fieldsz00_448;
if(
CBOOL(BGl_za2reflectionzf3za2zf3zzengine_paramz00))
{ /* ./Module/class.scm 210 */
obj_t BgL_arg2215z00_565;
{ /* ./Module/class.scm 210 */
obj_t BgL_auxz00_1790;
BgL_auxz00_1790 = 
CDR(BgL_srczd2defzd2_50); 
BgL_arg2215z00_565 = 
CDR(BgL_auxz00_1790); } 
BgL_fieldsz00_448 = 
BGl_makezd2classzd2fieldsz00zzmodule_classz00(BgL_classzd2idzd2_439, BgL_arg2215z00_565, BgL_locz00_447); }  else 
{ /* ./Module/class.scm 209 */
BgL_fieldsz00_448 = 
CNST_TABLE_REF(((long)12)); } 
{ /* ./Module/class.scm 209 */

{ /* ./Module/class.scm 213 */
obj_t BgL_declz00_449;
{ /* ./Module/class.scm 213 */
bool_t BgL_test1968z00_455;
BgL_test1968z00_455 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_437, BGl_tclassz00zzobject_classz00); 
if(BgL_test1968z00_455)
{ /* ./Module/class.scm 224 */
BgL_globalz00_bglt BgL_sholderz00_456;
{ /* ./Module/class.scm 224 */
BgL_tclassz00_bglt BgL_obj1636z00_1165;
BgL_obj1636z00_1165 = 
(BgL_tclassz00_bglt)(BgL_superz00_437); 
{ 
obj_t BgL_auxz00_1798;
{ /* ./Module/class.scm 224 */
BgL_objectz00_bglt BgL_auxz00_1799;
BgL_auxz00_1799 = 
(BgL_objectz00_bglt)(BgL_obj1636z00_1165); 
BgL_auxz00_1798 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1799); } 
BgL_sholderz00_456 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1798))->BgL_holderz00); } } 
{ /* ./Module/class.scm 224 */
obj_t BgL_sholderzd2idzd2_457;
{ /* ./Module/class.scm 225 */
BgL_variablez00_bglt BgL_obj1113z00_1166;
BgL_obj1113z00_1166 = 
(BgL_variablez00_bglt)(BgL_sholderz00_456); 
BgL_sholderzd2idzd2_457 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1113z00_1166))->BgL_idz00); } 
{ /* ./Module/class.scm 225 */
obj_t BgL_sholderzd2modulezd2_458;
BgL_sholderzd2modulezd2_458 = 
(((BgL_globalz00_bglt)CREF(BgL_sholderz00_456))->BgL_modulez00); 
{ /* ./Module/class.scm 226 */

{ /* ./Module/class.scm 227 */
obj_t BgL_arg1970z00_459;obj_t BgL_arg1971z00_460;
BgL_arg1970z00_459 = 
CNST_TABLE_REF(((long)13)); 
{ /* ./Module/class.scm 228 */
obj_t BgL_arg1974z00_461;
{ /* ./Module/class.scm 228 */
obj_t BgL_arg1977z00_462;
{ /* ./Module/class.scm 228 */
obj_t BgL_arg1981z00_464;obj_t BgL_arg1982z00_465;
{ /* ./Module/class.scm 228 */
obj_t BgL_arg1987z00_466;obj_t BgL_arg1988z00_467;
BgL_arg1987z00_466 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Module/class.scm 228 */
obj_t BgL_arg1993z00_468;obj_t BgL_arg1994z00_469;
BgL_arg1993z00_468 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Module/class.scm 228 */
obj_t BgL_auxz00_1809;
BgL_auxz00_1809 = 
CNST_TABLE_REF(((long)15)); 
BgL_arg1994z00_469 = 
MAKE_PAIR(BgL_auxz00_1809, BNIL); } 
BgL_arg1988z00_467 = 
MAKE_PAIR(BgL_arg1993z00_468, BgL_arg1994z00_469); } 
BgL_arg1981z00_464 = 
MAKE_PAIR(BgL_arg1987z00_466, BgL_arg1988z00_467); } 
{ /* ./Module/class.scm 229 */
obj_t BgL_arg2000z00_470;obj_t BgL_arg2001z00_471;
{ /* ./Module/class.scm 229 */
obj_t BgL_arg2005z00_472;obj_t BgL_arg2006z00_473;
BgL_arg2005z00_472 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2006z00_473 = 
MAKE_PAIR(BgL_classzd2idzd2_439, BNIL); 
BgL_arg2000z00_470 = 
MAKE_PAIR(BgL_arg2005z00_472, BgL_arg2006z00_473); } 
{ /* ./Module/class.scm 229 */
obj_t BgL_arg2010z00_474;obj_t BgL_arg2011z00_475;
{ /* ./Module/class.scm 229 */
obj_t BgL_arg2014z00_476;obj_t BgL_arg2015z00_477;
BgL_arg2014z00_476 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Module/class.scm 229 */
obj_t BgL_arg2018z00_478;
BgL_arg2018z00_478 = 
MAKE_PAIR(BgL_sholderzd2modulezd2_458, BNIL); 
BgL_arg2015z00_477 = 
MAKE_PAIR(BgL_sholderzd2idzd2_457, BgL_arg2018z00_478); } 
BgL_arg2010z00_474 = 
MAKE_PAIR(BgL_arg2014z00_476, BgL_arg2015z00_477); } 
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2022z00_479;
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2025z00_480;
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2029z00_481;
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2032z00_482;
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2035z00_483;
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2038z00_484;
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2043z00_486;obj_t BgL_arg2044z00_487;
BgL_arg2043z00_486 = 
CNST_TABLE_REF(((long)16)); 
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2047z00_488;
{ /* ./Module/class.scm 232 */
bool_t BgL_test2050z00_491;
BgL_test2050z00_491 = 
NULLP(BgL_virtualsz00_51); 
if(BgL_test2050z00_491)
{ /* ./Module/class.scm 232 */
BgL_arg2047z00_488 = BNIL; }  else 
{ /* ./Module/class.scm 232 */
obj_t BgL_head1835z00_492;
BgL_head1835z00_492 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l1833z00_493;obj_t BgL_tail1836z00_494;
BgL_l1833z00_493 = BgL_virtualsz00_51; 
BgL_tail1836z00_494 = BgL_head1835z00_492; 
BgL_map1834z00_495:
{ /* ./Module/class.scm 232 */
bool_t BgL_test2053z00_496;
BgL_test2053z00_496 = 
NULLP(BgL_l1833z00_493); 
if(BgL_test2053z00_496)
{ /* ./Module/class.scm 232 */
BgL_arg2047z00_488 = 
CDR(BgL_head1835z00_492); }  else 
{ /* ./Module/class.scm 233 */
obj_t BgL_newtail1837z00_497;
{ /* ./Module/class.scm 233 */
obj_t BgL_arg2061z00_499;
{ /* ./Module/class.scm 233 */
obj_t BgL_vz00_501;
BgL_vz00_501 = 
CAR(BgL_l1833z00_493); 
{ /* ./Module/class.scm 233 */
obj_t BgL_arg2065z00_502;obj_t BgL_arg2066z00_503;
BgL_arg2065z00_502 = 
CNST_TABLE_REF(((long)17)); 
{ /* ./Module/class.scm 233 */
obj_t BgL_arg2069z00_504;obj_t BgL_arg2070z00_505;
BgL_arg2069z00_504 = 
CAR(BgL_vz00_501); 
{ /* ./Module/class.scm 234 */
obj_t BgL_arg2074z00_506;
{ /* ./Module/class.scm 234 */
obj_t BgL_arg2078z00_508;obj_t BgL_arg2080z00_509;
BgL_arg2078z00_508 = 
CNST_TABLE_REF(((long)17)); 
{ /* ./Module/class.scm 234 */
obj_t BgL_arg2083z00_510;obj_t BgL_arg2084z00_511;
{ /* ./Module/class.scm 234 */
obj_t BgL_auxz00_1832;
BgL_auxz00_1832 = 
CDR(BgL_vz00_501); 
BgL_arg2083z00_510 = 
CAR(BgL_auxz00_1832); } 
{ /* ./Module/class.scm 235 */
obj_t BgL_arg2088z00_512;
{ /* ./Module/class.scm 235 */
obj_t BgL_auxz00_1835;
{ /* ./Module/class.scm 235 */
obj_t BgL_auxz00_1836;
BgL_auxz00_1836 = 
CDR(BgL_vz00_501); 
BgL_auxz00_1835 = 
CDR(BgL_auxz00_1836); } 
BgL_arg2088z00_512 = 
CAR(BgL_auxz00_1835); } 
BgL_arg2084z00_511 = 
MAKE_PAIR(BgL_arg2088z00_512, BNIL); } 
BgL_arg2080z00_509 = 
MAKE_PAIR(BgL_arg2083z00_510, BgL_arg2084z00_511); } 
BgL_arg2074z00_506 = 
MAKE_PAIR(BgL_arg2078z00_508, BgL_arg2080z00_509); } 
BgL_arg2070z00_505 = 
MAKE_PAIR(BgL_arg2074z00_506, BNIL); } 
BgL_arg2066z00_503 = 
MAKE_PAIR(BgL_arg2069z00_504, BgL_arg2070z00_505); } 
BgL_arg2061z00_499 = 
MAKE_PAIR(BgL_arg2065z00_502, BgL_arg2066z00_503); } } 
BgL_newtail1837z00_497 = 
MAKE_PAIR(BgL_arg2061z00_499, BNIL); } 
SET_CDR(BgL_tail1836z00_494, BgL_newtail1837z00_497); 
{ /* ./Module/class.scm 232 */
obj_t BgL_arg2057z00_498;
BgL_arg2057z00_498 = 
CDR(BgL_l1833z00_493); 
{ 
obj_t BgL_tail1836z00_1850;obj_t BgL_l1833z00_1849;
BgL_l1833z00_1849 = BgL_arg2057z00_498; 
BgL_tail1836z00_1850 = BgL_newtail1837z00_497; 
BgL_tail1836z00_494 = BgL_tail1836z00_1850; 
BgL_l1833z00_493 = BgL_l1833z00_1849; 
goto BgL_map1834z00_495;} } } } } } } 
BgL_arg2044z00_487 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg2047z00_488, BNIL); } 
BgL_arg2038z00_484 = 
MAKE_PAIR(BgL_arg2043z00_486, BgL_arg2044z00_487); } 
BgL_arg2035z00_483 = 
MAKE_PAIR(BgL_arg2038z00_484, BNIL); } 
BgL_arg2032z00_482 = 
MAKE_PAIR(BgL_constrz00_446, BgL_arg2035z00_483); } 
BgL_arg2029z00_481 = 
MAKE_PAIR(BgL_fieldsz00_448, BgL_arg2032z00_482); } 
BgL_arg2025z00_480 = 
MAKE_PAIR(BgL_hashz00_445, BgL_arg2029z00_481); } 
BgL_arg2022z00_479 = 
MAKE_PAIR(BgL_classzd2alloczd2_444, BgL_arg2025z00_480); } 
BgL_arg2011z00_475 = 
MAKE_PAIR(BgL_classzd2makezd2_443, BgL_arg2022z00_479); } 
BgL_arg2001z00_471 = 
MAKE_PAIR(BgL_arg2010z00_474, BgL_arg2011z00_475); } 
BgL_arg1982z00_465 = 
MAKE_PAIR(BgL_arg2000z00_470, BgL_arg2001z00_471); } 
BgL_arg1977z00_462 = 
MAKE_PAIR(BgL_arg1981z00_464, BgL_arg1982z00_465); } 
BgL_arg1974z00_461 = 
MAKE_PAIR(BgL_arg1977z00_462, BNIL); } 
BgL_arg1971z00_460 = 
MAKE_PAIR(BgL_holderzd2idzd2_438, BgL_arg1974z00_461); } 
BgL_declz00_449 = 
MAKE_PAIR(BgL_arg1970z00_459, BgL_arg1971z00_460); } } } } }  else 
{ /* ./Module/class.scm 223 */
obj_t BgL_arg2100z00_514;obj_t BgL_arg2101z00_515;
BgL_arg2100z00_514 = 
CNST_TABLE_REF(((long)13)); 
{ /* ./Module/class.scm 215 */
obj_t BgL_arg2105z00_516;
{ /* ./Module/class.scm 215 */
obj_t BgL_arg2108z00_517;
{ /* ./Module/class.scm 215 */
obj_t BgL_arg2112z00_519;obj_t BgL_arg2113z00_520;
{ /* ./Module/class.scm 215 */
obj_t BgL_arg2116z00_521;obj_t BgL_arg2118z00_522;
BgL_arg2116z00_521 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Module/class.scm 215 */
obj_t BgL_arg2122z00_523;obj_t BgL_arg2123z00_524;
BgL_arg2122z00_523 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Module/class.scm 215 */
obj_t BgL_auxz00_1868;
BgL_auxz00_1868 = 
CNST_TABLE_REF(((long)15)); 
BgL_arg2123z00_524 = 
MAKE_PAIR(BgL_auxz00_1868, BNIL); } 
BgL_arg2118z00_522 = 
MAKE_PAIR(BgL_arg2122z00_523, BgL_arg2123z00_524); } 
BgL_arg2112z00_519 = 
MAKE_PAIR(BgL_arg2116z00_521, BgL_arg2118z00_522); } 
{ /* ./Module/class.scm 216 */
obj_t BgL_arg2127z00_525;obj_t BgL_arg2128z00_526;
{ /* ./Module/class.scm 216 */
obj_t BgL_arg2132z00_527;obj_t BgL_arg2133z00_528;
BgL_arg2132z00_527 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2133z00_528 = 
MAKE_PAIR(BgL_classzd2idzd2_439, BNIL); 
BgL_arg2127z00_525 = 
MAKE_PAIR(BgL_arg2132z00_527, BgL_arg2133z00_528); } 
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2137z00_529;
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2141z00_530;
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2144z00_531;
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2147z00_532;
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2150z00_533;
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2153z00_534;
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2156z00_535;
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2160z00_537;obj_t BgL_arg2161z00_538;
BgL_arg2160z00_537 = 
CNST_TABLE_REF(((long)16)); 
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2165z00_539;
{ /* ./Module/class.scm 219 */
bool_t BgL_test2168z00_542;
BgL_test2168z00_542 = 
NULLP(BgL_virtualsz00_51); 
if(BgL_test2168z00_542)
{ /* ./Module/class.scm 219 */
BgL_arg2165z00_539 = BNIL; }  else 
{ /* ./Module/class.scm 219 */
obj_t BgL_head1830z00_543;
BgL_head1830z00_543 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l1828z00_544;obj_t BgL_tail1831z00_545;
BgL_l1828z00_544 = BgL_virtualsz00_51; 
BgL_tail1831z00_545 = BgL_head1830z00_543; 
BgL_map1829z00_546:
{ /* ./Module/class.scm 219 */
bool_t BgL_test2170z00_547;
BgL_test2170z00_547 = 
NULLP(BgL_l1828z00_544); 
if(BgL_test2170z00_547)
{ /* ./Module/class.scm 219 */
BgL_arg2165z00_539 = 
CDR(BgL_head1830z00_543); }  else 
{ /* ./Module/class.scm 220 */
obj_t BgL_newtail1832z00_548;
{ /* ./Module/class.scm 220 */
obj_t BgL_arg2178z00_550;
{ /* ./Module/class.scm 220 */
obj_t BgL_vz00_552;
BgL_vz00_552 = 
CAR(BgL_l1828z00_544); 
{ /* ./Module/class.scm 220 */
obj_t BgL_arg2182z00_553;obj_t BgL_arg2183z00_554;
BgL_arg2182z00_553 = 
CNST_TABLE_REF(((long)17)); 
{ /* ./Module/class.scm 220 */
obj_t BgL_arg2187z00_555;obj_t BgL_arg2188z00_556;
BgL_arg2187z00_555 = 
CAR(BgL_vz00_552); 
{ /* ./Module/class.scm 221 */
obj_t BgL_arg2192z00_557;
{ /* ./Module/class.scm 221 */
obj_t BgL_arg2196z00_559;obj_t BgL_arg2197z00_560;
BgL_arg2196z00_559 = 
CNST_TABLE_REF(((long)17)); 
{ /* ./Module/class.scm 221 */
obj_t BgL_arg2200z00_561;obj_t BgL_arg2201z00_562;
{ /* ./Module/class.scm 221 */
obj_t BgL_auxz00_1887;
BgL_auxz00_1887 = 
CDR(BgL_vz00_552); 
BgL_arg2200z00_561 = 
CAR(BgL_auxz00_1887); } 
{ /* ./Module/class.scm 222 */
obj_t BgL_arg2205z00_563;
{ /* ./Module/class.scm 222 */
obj_t BgL_auxz00_1890;
{ /* ./Module/class.scm 222 */
obj_t BgL_auxz00_1891;
BgL_auxz00_1891 = 
CDR(BgL_vz00_552); 
BgL_auxz00_1890 = 
CDR(BgL_auxz00_1891); } 
BgL_arg2205z00_563 = 
CAR(BgL_auxz00_1890); } 
BgL_arg2201z00_562 = 
MAKE_PAIR(BgL_arg2205z00_563, BNIL); } 
BgL_arg2197z00_560 = 
MAKE_PAIR(BgL_arg2200z00_561, BgL_arg2201z00_562); } 
BgL_arg2192z00_557 = 
MAKE_PAIR(BgL_arg2196z00_559, BgL_arg2197z00_560); } 
BgL_arg2188z00_556 = 
MAKE_PAIR(BgL_arg2192z00_557, BNIL); } 
BgL_arg2183z00_554 = 
MAKE_PAIR(BgL_arg2187z00_555, BgL_arg2188z00_556); } 
BgL_arg2178z00_550 = 
MAKE_PAIR(BgL_arg2182z00_553, BgL_arg2183z00_554); } } 
BgL_newtail1832z00_548 = 
MAKE_PAIR(BgL_arg2178z00_550, BNIL); } 
SET_CDR(BgL_tail1831z00_545, BgL_newtail1832z00_548); 
{ /* ./Module/class.scm 219 */
obj_t BgL_arg2174z00_549;
BgL_arg2174z00_549 = 
CDR(BgL_l1828z00_544); 
{ 
obj_t BgL_tail1831z00_1905;obj_t BgL_l1828z00_1904;
BgL_l1828z00_1904 = BgL_arg2174z00_549; 
BgL_tail1831z00_1905 = BgL_newtail1832z00_548; 
BgL_tail1831z00_545 = BgL_tail1831z00_1905; 
BgL_l1828z00_544 = BgL_l1828z00_1904; 
goto BgL_map1829z00_546;} } } } } } } 
BgL_arg2161z00_538 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg2165z00_539, BNIL); } 
BgL_arg2156z00_535 = 
MAKE_PAIR(BgL_arg2160z00_537, BgL_arg2161z00_538); } 
BgL_arg2153z00_534 = 
MAKE_PAIR(BgL_arg2156z00_535, BNIL); } 
BgL_arg2150z00_533 = 
MAKE_PAIR(BgL_constrz00_446, BgL_arg2153z00_534); } 
BgL_arg2147z00_532 = 
MAKE_PAIR(BgL_fieldsz00_448, BgL_arg2150z00_533); } 
BgL_arg2144z00_531 = 
MAKE_PAIR(BgL_hashz00_445, BgL_arg2147z00_532); } 
BgL_arg2141z00_530 = 
MAKE_PAIR(BgL_classzd2alloczd2_444, BgL_arg2144z00_531); } 
BgL_arg2137z00_529 = 
MAKE_PAIR(BgL_classzd2makezd2_443, BgL_arg2141z00_530); } 
BgL_arg2128z00_526 = 
MAKE_PAIR(BFALSE, BgL_arg2137z00_529); } 
BgL_arg2113z00_520 = 
MAKE_PAIR(BgL_arg2127z00_525, BgL_arg2128z00_526); } 
BgL_arg2108z00_517 = 
MAKE_PAIR(BgL_arg2112z00_519, BgL_arg2113z00_520); } 
BgL_arg2105z00_516 = 
MAKE_PAIR(BgL_arg2108z00_517, BNIL); } 
BgL_arg2101z00_515 = 
MAKE_PAIR(BgL_holderzd2idzd2_438, BgL_arg2105z00_516); } 
BgL_declz00_449 = 
MAKE_PAIR(BgL_arg2100z00_514, BgL_arg2101z00_515); } } 
{ /* ./Module/class.scm 238 */
obj_t BgL_loczd2declzd2_450;
{ /* ./Module/class.scm 238 */
bool_t BgL_test1956z00_451;
BgL_test1956z00_451 = 
EXTENDED_PAIRP(BgL_srczd2defzd2_50); 
if(BgL_test1956z00_451)
{ /* ./Module/class.scm 239 */
obj_t BgL_arg1958z00_452;obj_t BgL_arg1960z00_453;obj_t BgL_arg1962z00_454;
BgL_arg1958z00_452 = 
CAR(BgL_declz00_449); 
BgL_arg1960z00_453 = 
CDR(BgL_declz00_449); 
BgL_arg1962z00_454 = 
CER(BgL_srczd2defzd2_50); 
{ /* ./Module/class.scm 239 */
obj_t BgL_res3187z00_1219;
BgL_res3187z00_1219 = 
MAKE_EXTENDED_PAIR(BgL_arg1958z00_452, BgL_arg1960z00_453, BgL_arg1962z00_454); 
BgL_loczd2declzd2_450 = BgL_res3187z00_1219; } }  else 
{ /* ./Module/class.scm 238 */
BgL_loczd2declzd2_450 = BgL_declz00_449; } } 
return ( 
BGl_za2declaredzd2classesza2zd2zzmodule_classz00 = 
MAKE_PAIR(BgL_loczd2declzd2_450, BGl_za2declaredzd2classesza2zd2zzmodule_classz00), BUNSPEC) ;} } } } } } } } } } } } } } } } 
}



/* get-class-hash */
BGL_EXPORTED_DEF obj_t BGl_getzd2classzd2hashz00zzmodule_classz00(obj_t BgL_classzd2idzd2_52, obj_t BgL_fieldsz00_53)
{ AN_OBJECT;
{ /* ./Module/class.scm 246 */
{ 
obj_t BgL_fieldsz00_617;long BgL_hashz00_618;
{ /* ./Module/class.scm 248 */
long BgL_arg2342z00_620;
{ /* ./Module/class.scm 248 */
obj_t BgL_arg2345z00_621;
BgL_arg2345z00_621 = 
SYMBOL_TO_STRING(BgL_classzd2idzd2_52); 
{ /* ./Module/class.scm 248 */
char * BgL_stringz00_1221;
BgL_stringz00_1221 = 
BSTRING_TO_STRING(BgL_arg2345z00_621); 
BgL_arg2342z00_620 = 
get_hash_power_number(BgL_stringz00_1221, ((long)16)); } } 
BgL_fieldsz00_617 = BgL_fieldsz00_53; 
BgL_hashz00_618 = BgL_arg2342z00_620; 
BgL_loopz00_619:
{ /* ./Module/class.scm 249 */
bool_t BgL_test2349z00_623;
BgL_test2349z00_623 = 
NULLP(BgL_fieldsz00_617); 
if(BgL_test2349z00_623)
{ /* ./Module/class.scm 249 */
return 
BINT(BgL_hashz00_618);}  else 
{ /* ./Module/class.scm 251 */
obj_t BgL_fieldz00_624;
BgL_fieldz00_624 = 
CAR(BgL_fieldsz00_617); 
{ 
obj_t BgL_idz00_630;obj_t BgL_attz00_631;obj_t BgL_idz00_627;obj_t BgL_attz00_628;
{ /* ./Module/class.scm 252 */
bool_t BgL_test2350z00_634;
BgL_test2350z00_634 = 
PAIRP(BgL_fieldz00_624); 
if(BgL_test2350z00_634)
{ /* ./Module/class.scm 252 */
bool_t BgL_test2351z00_635;
{ /* ./Module/class.scm 252 */
obj_t BgL_auxz00_1936;
BgL_auxz00_1936 = 
CDR(BgL_fieldz00_624); 
BgL_test2351z00_635 = 
NULLP(BgL_auxz00_1936); } 
if(BgL_test2351z00_635)
{ /* ./Module/class.scm 252 */
{ /* ./Module/class.scm 254 */
obj_t BgL_arg2403z00_656;long BgL_arg2404z00_657;
BgL_arg2403z00_656 = 
CDR(BgL_fieldsz00_617); 
BgL_arg2404z00_657 = 
(BgL_hashz00_618 ^ ((long)2344)); 
{ 
long BgL_hashz00_1943;obj_t BgL_fieldsz00_1942;
BgL_fieldsz00_1942 = BgL_arg2403z00_656; 
BgL_hashz00_1943 = BgL_arg2404z00_657; 
BgL_hashz00_618 = BgL_hashz00_1943; 
BgL_fieldsz00_617 = BgL_fieldsz00_1942; 
goto BgL_loopz00_619;} } }  else 
{ /* ./Module/class.scm 252 */
bool_t BgL_test2353z00_636;
BgL_test2353z00_636 = 
SYMBOLP(BgL_fieldz00_624); 
if(BgL_test2353z00_636)
{ /* ./Module/class.scm 252 */
BgL_tagzd2121zd2_626:
{ /* ./Module/class.scm 257 */
obj_t BgL_arg2409z00_658;long BgL_arg2410z00_659;
BgL_arg2409z00_658 = 
CDR(BgL_fieldsz00_617); 
{ /* ./Module/class.scm 260 */
long BgL_arg2414z00_660;
{ /* ./Module/class.scm 260 */
obj_t BgL_arg2417z00_661;
BgL_arg2417z00_661 = 
SYMBOL_TO_STRING(BgL_fieldz00_624); 
{ /* ./Module/class.scm 259 */
char * BgL_stringz00_1250;
BgL_stringz00_1250 = 
BSTRING_TO_STRING(BgL_arg2417z00_661); 
BgL_arg2414z00_660 = 
get_hash_power_number(BgL_stringz00_1250, ((long)16)); } } 
BgL_arg2410z00_659 = 
(BgL_hashz00_618 ^ BgL_arg2414z00_660); } 
{ 
long BgL_hashz00_1952;obj_t BgL_fieldsz00_1951;
BgL_fieldsz00_1951 = BgL_arg2409z00_658; 
BgL_hashz00_1952 = BgL_arg2410z00_659; 
BgL_hashz00_618 = BgL_hashz00_1952; 
BgL_fieldsz00_617 = BgL_fieldsz00_1951; 
goto BgL_loopz00_619;} } }  else 
{ /* ./Module/class.scm 252 */
obj_t BgL_cdrzd2136zd2_637;
BgL_cdrzd2136zd2_637 = 
CDR(BgL_fieldz00_624); 
{ /* ./Module/class.scm 252 */
bool_t BgL_test2355z00_638;
{ /* ./Module/class.scm 252 */
obj_t BgL_auxz00_1956;obj_t BgL_auxz00_1954;
BgL_auxz00_1956 = 
CNST_TABLE_REF(((long)18)); 
BgL_auxz00_1954 = 
CAR(BgL_fieldz00_624); 
BgL_test2355z00_638 = 
(BgL_auxz00_1954==BgL_auxz00_1956); } 
if(BgL_test2355z00_638)
{ /* ./Module/class.scm 252 */
bool_t BgL_test2356z00_639;
BgL_test2356z00_639 = 
PAIRP(BgL_cdrzd2136zd2_637); 
if(BgL_test2356z00_639)
{ /* ./Module/class.scm 252 */
obj_t BgL_carzd2139zd2_640;
BgL_carzd2139zd2_640 = 
CAR(BgL_cdrzd2136zd2_637); 
{ /* ./Module/class.scm 252 */
bool_t BgL_test2357z00_641;
BgL_test2357z00_641 = 
SYMBOLP(BgL_carzd2139zd2_640); 
if(BgL_test2357z00_641)
{ /* ./Module/class.scm 252 */
obj_t BgL_arg2360z00_642;
BgL_arg2360z00_642 = 
CDR(BgL_cdrzd2136zd2_637); 
BgL_idz00_627 = BgL_carzd2139zd2_640; 
BgL_attz00_628 = BgL_arg2360z00_642; 
{ /* ./Module/class.scm 263 */
obj_t BgL_arg2422z00_663;long BgL_arg2423z00_664;
BgL_arg2422z00_663 = 
CDR(BgL_fieldsz00_617); 
{ /* ./Module/class.scm 266 */
long BgL_arg2427z00_665;
{ /* ./Module/class.scm 266 */
obj_t BgL_arg2430z00_666;
{ /* ./Module/class.scm 266 */
obj_t BgL_arg2435z00_669;
BgL_arg2435z00_669 = 
SYMBOL_TO_STRING(BgL_idz00_627); 
BgL_arg2430z00_666 = 
string_append(BGl_string3345z00zzmodule_classz00, BgL_arg2435z00_669); } 
{ /* ./Module/class.scm 265 */
char * BgL_stringz00_1256;
BgL_stringz00_1256 = 
BSTRING_TO_STRING(BgL_arg2430z00_666); 
BgL_arg2427z00_665 = 
get_hash_power_number(BgL_stringz00_1256, ((long)16)); } } 
BgL_arg2423z00_664 = 
(BgL_hashz00_618 ^ BgL_arg2427z00_665); } 
{ 
long BgL_hashz00_1973;obj_t BgL_fieldsz00_1972;
BgL_fieldsz00_1972 = BgL_arg2422z00_663; 
BgL_hashz00_1973 = BgL_arg2423z00_664; 
BgL_hashz00_618 = BgL_hashz00_1973; 
BgL_fieldsz00_617 = BgL_fieldsz00_1972; 
goto BgL_loopz00_619;} } }  else 
{ /* ./Module/class.scm 252 */
obj_t BgL_carzd2148zd2_643;
BgL_carzd2148zd2_643 = 
CAR(BgL_fieldz00_624); 
{ /* ./Module/class.scm 252 */
bool_t BgL_test2363z00_644;
BgL_test2363z00_644 = 
SYMBOLP(BgL_carzd2148zd2_643); 
if(BgL_test2363z00_644)
{ /* ./Module/class.scm 252 */
BgL_idz00_630 = BgL_carzd2148zd2_643; 
BgL_attz00_631 = BgL_cdrzd2136zd2_637; 
BgL_tagzd2123zd2_632:
{ /* ./Module/class.scm 271 */
obj_t BgL_arg2439z00_670;long BgL_arg2440z00_671;
BgL_arg2439z00_670 = 
CDR(BgL_fieldsz00_617); 
{ /* ./Module/class.scm 274 */
long BgL_arg2444z00_672;
{ /* ./Module/class.scm 274 */
obj_t BgL_arg2447z00_673;
BgL_arg2447z00_673 = 
SYMBOL_TO_STRING(BgL_idz00_630); 
{ /* ./Module/class.scm 273 */
char * BgL_stringz00_1262;
BgL_stringz00_1262 = 
BSTRING_TO_STRING(BgL_arg2447z00_673); 
BgL_arg2444z00_672 = 
get_hash_power_number(BgL_stringz00_1262, ((long)16)); } } 
BgL_arg2440z00_671 = 
(BgL_hashz00_618 ^ BgL_arg2444z00_672); } 
{ 
long BgL_hashz00_1983;obj_t BgL_fieldsz00_1982;
BgL_fieldsz00_1982 = BgL_arg2439z00_670; 
BgL_hashz00_1983 = BgL_arg2440z00_671; 
BgL_hashz00_618 = BgL_hashz00_1983; 
BgL_fieldsz00_617 = BgL_fieldsz00_1982; 
goto BgL_loopz00_619;} } }  else 
{ /* ./Module/class.scm 252 */
return BFALSE;} } } } }  else 
{ /* ./Module/class.scm 252 */
obj_t BgL_carzd2157zd2_646;
BgL_carzd2157zd2_646 = 
CAR(BgL_fieldz00_624); 
{ /* ./Module/class.scm 252 */
bool_t BgL_test2372z00_647;
BgL_test2372z00_647 = 
SYMBOLP(BgL_carzd2157zd2_646); 
if(BgL_test2372z00_647)
{ 
obj_t BgL_attz00_1988;obj_t BgL_idz00_1987;
BgL_idz00_1987 = BgL_carzd2157zd2_646; 
BgL_attz00_1988 = BgL_cdrzd2136zd2_637; 
BgL_attz00_631 = BgL_attz00_1988; 
BgL_idz00_630 = BgL_idz00_1987; 
goto BgL_tagzd2123zd2_632;}  else 
{ /* ./Module/class.scm 252 */
return BFALSE;} } } }  else 
{ /* ./Module/class.scm 252 */
obj_t BgL_carzd2166zd2_649;
BgL_carzd2166zd2_649 = 
CAR(BgL_fieldz00_624); 
{ /* ./Module/class.scm 252 */
bool_t BgL_test2380z00_650;
BgL_test2380z00_650 = 
SYMBOLP(BgL_carzd2166zd2_649); 
if(BgL_test2380z00_650)
{ 
obj_t BgL_attz00_1993;obj_t BgL_idz00_1992;
BgL_idz00_1992 = BgL_carzd2166zd2_649; 
BgL_attz00_1993 = BgL_cdrzd2136zd2_637; 
BgL_attz00_631 = BgL_attz00_1993; 
BgL_idz00_630 = BgL_idz00_1992; 
goto BgL_tagzd2123zd2_632;}  else 
{ /* ./Module/class.scm 252 */
return BFALSE;} } } } } } }  else 
{ /* ./Module/class.scm 252 */
bool_t BgL_test2398z00_655;
BgL_test2398z00_655 = 
SYMBOLP(BgL_fieldz00_624); 
if(BgL_test2398z00_655)
{ /* ./Module/class.scm 252 */
goto BgL_tagzd2121zd2_626;}  else 
{ /* ./Module/class.scm 252 */
return BFALSE;} } } } } } } } } 
}



/* _get-class-hash */
obj_t BGl__getzd2classzd2hashz00zzmodule_classz00(obj_t BgL_envz00_1478, obj_t BgL_classzd2idzd2_1479, obj_t BgL_fieldsz00_1480)
{ AN_OBJECT;
{ /* ./Module/class.scm 246 */
return 
BGl_getzd2classzd2hashz00zzmodule_classz00(BgL_classzd2idzd2_1479, BgL_fieldsz00_1480);} 
}



/* make-class-fields */
obj_t BGl_makezd2classzd2fieldsz00zzmodule_classz00(obj_t BgL_classzd2idzd2_54, obj_t BgL_slotzd2defszd2_55, obj_t BgL_locz00_56)
{ AN_OBJECT;
{ /* ./Module/class.scm 284 */
{ /* ./Module/class.scm 351 */
obj_t BgL_slotzd2defszd2_679;
if(
PAIRP(BgL_slotzd2defszd2_55))
{ /* ./Module/class.scm 351 */
obj_t BgL_carzd2248zd2_705;
BgL_carzd2248zd2_705 = 
CAR(BgL_slotzd2defszd2_55); 
if(
PAIRP(BgL_carzd2248zd2_705))
{ /* ./Module/class.scm 351 */
bool_t BgL_testz00_2002;
{ /* ./Module/class.scm 351 */
obj_t BgL_auxz00_2003;
BgL_auxz00_2003 = 
CDR(BgL_carzd2248zd2_705); 
BgL_testz00_2002 = 
NULLP(BgL_auxz00_2003); } 
if(BgL_testz00_2002)
{ /* ./Module/class.scm 351 */
BgL_slotzd2defszd2_679 = 
CDR(BgL_slotzd2defszd2_55); }  else 
{ /* ./Module/class.scm 351 */
BgL_slotzd2defszd2_679 = BgL_slotzd2defszd2_55; } }  else 
{ /* ./Module/class.scm 351 */
BgL_slotzd2defszd2_679 = BgL_slotzd2defszd2_55; } }  else 
{ /* ./Module/class.scm 351 */
BgL_slotzd2defszd2_679 = BgL_slotzd2defszd2_55; } 
{ /* ./Module/class.scm 356 */
obj_t BgL_arg2454z00_680;obj_t BgL_arg2455z00_681;
BgL_arg2454z00_680 = 
CNST_TABLE_REF(((long)19)); 
{ /* ./Module/class.scm 356 */
obj_t BgL_arg2458z00_682;
{ /* ./Module/class.scm 356 */
bool_t BgL_test2461z00_685;
BgL_test2461z00_685 = 
NULLP(BgL_slotzd2defszd2_679); 
if(BgL_test2461z00_685)
{ /* ./Module/class.scm 356 */
BgL_arg2458z00_682 = BNIL; }  else 
{ /* ./Module/class.scm 356 */
obj_t BgL_head1840z00_686;
{ /* ./Module/class.scm 356 */
obj_t BgL_arg2482z00_697;
{ /* ./Module/class.scm 356 */
obj_t BgL_arg2486z00_699;
BgL_arg2486z00_699 = 
CAR(BgL_slotzd2defszd2_679); 
BgL_arg2482z00_697 = 
BGl_makezd2slotzd2fieldz00zzmodule_classz00(BgL_classzd2idzd2_54, BgL_locz00_56, BgL_arg2486z00_699); } 
BgL_head1840z00_686 = 
MAKE_PAIR(BgL_arg2482z00_697, BNIL); } 
{ 
obj_t BgL_l1838z00_687;obj_t BgL_tail1841z00_688;
{ /* ./Module/class.scm 356 */
obj_t BgL_arg2463z00_690;
BgL_arg2463z00_690 = 
CDR(BgL_slotzd2defszd2_679); 
BgL_l1838z00_687 = BgL_arg2463z00_690; 
BgL_tail1841z00_688 = BgL_head1840z00_686; 
BgL_map1839z00_689:
{ /* ./Module/class.scm 356 */
bool_t BgL_test2466z00_691;
BgL_test2466z00_691 = 
NULLP(BgL_l1838z00_687); 
if(BgL_test2466z00_691)
{ /* ./Module/class.scm 356 */
BgL_arg2458z00_682 = BgL_head1840z00_686; }  else 
{ /* ./Module/class.scm 356 */
obj_t BgL_newtail1842z00_692;
{ /* ./Module/class.scm 356 */
obj_t BgL_arg2473z00_694;
{ /* ./Module/class.scm 356 */
obj_t BgL_arg2477z00_696;
BgL_arg2477z00_696 = 
CAR(BgL_l1838z00_687); 
BgL_arg2473z00_694 = 
BGl_makezd2slotzd2fieldz00zzmodule_classz00(BgL_classzd2idzd2_54, BgL_locz00_56, BgL_arg2477z00_696); } 
BgL_newtail1842z00_692 = 
MAKE_PAIR(BgL_arg2473z00_694, BNIL); } 
SET_CDR(BgL_tail1841z00_688, BgL_newtail1842z00_692); 
{ /* ./Module/class.scm 356 */
obj_t BgL_arg2469z00_693;
BgL_arg2469z00_693 = 
CDR(BgL_l1838z00_687); 
{ 
obj_t BgL_tail1841z00_2022;obj_t BgL_l1838z00_2021;
BgL_l1838z00_2021 = BgL_arg2469z00_693; 
BgL_tail1841z00_2022 = BgL_newtail1842z00_692; 
BgL_tail1841z00_688 = BgL_tail1841z00_2022; 
BgL_l1838z00_687 = BgL_l1838z00_2021; 
goto BgL_map1839z00_689;} } } } } } } } 
BgL_arg2455z00_681 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg2458z00_682, BNIL); } 
return 
MAKE_PAIR(BgL_arg2454z00_680, BgL_arg2455z00_681);} } } 
}



/* read-only? */
bool_t BGl_readzd2onlyzf3z21zzmodule_classz00(obj_t BgL_attrz00_860)
{ AN_OBJECT;
{ /* ./Module/class.scm 293 */
{ 
obj_t BgL_attrz00_862;
BgL_attrz00_862 = BgL_attrz00_860; 
BgL_loopz00_863:
if(
NULLP(BgL_attrz00_862))
{ /* ./Module/class.scm 288 */
return ((bool_t)0);}  else 
{ /* ./Module/class.scm 290 */
bool_t BgL_testz00_2027;
{ /* ./Module/class.scm 290 */
obj_t BgL_auxz00_2030;obj_t BgL_auxz00_2028;
BgL_auxz00_2030 = 
CNST_TABLE_REF(((long)20)); 
BgL_auxz00_2028 = 
CAR(BgL_attrz00_862); 
BgL_testz00_2027 = 
(BgL_auxz00_2028==BgL_auxz00_2030); } 
if(BgL_testz00_2027)
{ /* ./Module/class.scm 290 */
return ((bool_t)1);}  else 
{ /* ./Module/class.scm 290 */
{ 
obj_t BgL_attrz00_2033;
BgL_attrz00_2033 = 
CDR(BgL_attrz00_862); 
BgL_attrz00_862 = BgL_attrz00_2033; 
goto BgL_loopz00_863;} } } } } 
}



/* find-info-attribute */
obj_t BGl_findzd2infozd2attributez00zzmodule_classz00(obj_t BgL_attrz00_832)
{ AN_OBJECT;
{ /* ./Module/class.scm 310 */
BGl_findzd2infozd2attributez00zzmodule_classz00:
if(
PAIRP(BgL_attrz00_832))
{ 

{ /* ./Module/class.scm 306 */
obj_t BgL_ezd2183zd2_838;
BgL_ezd2183zd2_838 = 
CAR(BgL_attrz00_832); 
if(
PAIRP(BgL_ezd2183zd2_838))
{ /* ./Module/class.scm 306 */
obj_t BgL_cdrzd2187zd2_840;
BgL_cdrzd2187zd2_840 = 
CDR(BgL_ezd2183zd2_838); 
{ /* ./Module/class.scm 306 */
bool_t BgL_testz00_2041;
{ /* ./Module/class.scm 306 */
obj_t BgL_auxz00_2044;obj_t BgL_auxz00_2042;
BgL_auxz00_2044 = 
CNST_TABLE_REF(((long)21)); 
BgL_auxz00_2042 = 
CAR(BgL_ezd2183zd2_838); 
BgL_testz00_2041 = 
(BgL_auxz00_2042==BgL_auxz00_2044); } 
if(BgL_testz00_2041)
{ /* ./Module/class.scm 306 */
if(
PAIRP(BgL_cdrzd2187zd2_840))
{ /* ./Module/class.scm 306 */
bool_t BgL_testz00_2049;
{ /* ./Module/class.scm 306 */
obj_t BgL_auxz00_2050;
BgL_auxz00_2050 = 
CDR(BgL_cdrzd2187zd2_840); 
BgL_testz00_2049 = 
NULLP(BgL_auxz00_2050); } 
if(BgL_testz00_2049)
{ /* ./Module/class.scm 306 */
return 
CAR(BgL_cdrzd2187zd2_840);}  else 
{ /* ./Module/class.scm 306 */
BgL_tagzd2182zd2_837:
{ 
obj_t BgL_attrz00_2054;
BgL_attrz00_2054 = 
CDR(BgL_attrz00_832); 
BgL_attrz00_832 = BgL_attrz00_2054; 
goto BGl_findzd2infozd2attributez00zzmodule_classz00;} } }  else 
{ /* ./Module/class.scm 306 */
goto BgL_tagzd2182zd2_837;} }  else 
{ /* ./Module/class.scm 306 */
goto BgL_tagzd2182zd2_837;} } }  else 
{ /* ./Module/class.scm 306 */
goto BgL_tagzd2182zd2_837;} } }  else 
{ /* ./Module/class.scm 304 */
return BFALSE;} } 
}



/* make-slot-field */
obj_t BGl_makezd2slotzd2fieldz00zzmodule_classz00(obj_t BgL_classzd2idzd2_1483, obj_t BgL_locz00_1482, obj_t BgL_slotz00_710)
{ AN_OBJECT;
{ /* ./Module/class.scm 350 */
{ 
obj_t BgL_attrz00_849;
{ 
obj_t BgL_idz00_713;obj_t BgL_attz00_714;obj_t BgL_idz00_716;obj_t BgL_attz00_717;
{ /* ./Module/class.scm 350 */
bool_t BgL_test2508z00_721;
BgL_test2508z00_721 = 
SYMBOLP(BgL_slotz00_710); 
if(BgL_test2508z00_721)
{ /* ./Module/class.scm 350 */
{ /* ./Module/class.scm 315 */
obj_t BgL_idz00_740;
BgL_idz00_740 = 
BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(BgL_slotz00_710, BgL_locz00_1482); 
{ /* ./Module/class.scm 316 */
obj_t BgL_arg2555z00_741;obj_t BgL_arg2556z00_742;
{ /* ./Module/class.scm 316 */
obj_t BgL_arg2559z00_743;obj_t BgL_arg2560z00_744;
BgL_arg2559z00_743 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Module/class.scm 316 */
obj_t BgL_arg2563z00_745;obj_t BgL_arg2564z00_746;
BgL_arg2563z00_745 = 
CNST_TABLE_REF(((long)23)); 
{ /* ./Module/class.scm 316 */
obj_t BgL_auxz00_2061;
BgL_auxz00_2061 = 
CNST_TABLE_REF(((long)15)); 
BgL_arg2564z00_746 = 
MAKE_PAIR(BgL_auxz00_2061, BNIL); } 
BgL_arg2560z00_744 = 
MAKE_PAIR(BgL_arg2563z00_745, BgL_arg2564z00_746); } 
BgL_arg2555z00_741 = 
MAKE_PAIR(BgL_arg2559z00_743, BgL_arg2560z00_744); } 
{ /* ./Module/class.scm 317 */
obj_t BgL_arg2568z00_747;obj_t BgL_arg2569z00_748;
{ /* ./Module/class.scm 317 */
obj_t BgL_arg2573z00_749;obj_t BgL_arg2574z00_750;
BgL_arg2573z00_749 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2574z00_750 = 
MAKE_PAIR(BgL_idz00_740, BNIL); 
BgL_arg2568z00_747 = 
MAKE_PAIR(BgL_arg2573z00_749, BgL_arg2574z00_750); } 
{ /* ./Module/class.scm 318 */
obj_t BgL_arg2578z00_751;obj_t BgL_arg2579z00_752;
{ /* ./Module/class.scm 318 */
obj_t BgL_list2582z00_753;
{ /* ./Module/class.scm 318 */
obj_t BgL_arg2584z00_754;
{ /* ./Module/class.scm 318 */
obj_t BgL_arg2587z00_755;obj_t BgL_arg2588z00_756;
BgL_arg2587z00_755 = 
CNST_TABLE_REF(((long)24)); 
BgL_arg2588z00_756 = 
MAKE_PAIR(BgL_idz00_740, BNIL); 
BgL_arg2584z00_754 = 
MAKE_PAIR(BgL_arg2587z00_755, BgL_arg2588z00_756); } 
BgL_list2582z00_753 = 
MAKE_PAIR(BgL_classzd2idzd2_1483, BgL_arg2584z00_754); } 
BgL_arg2578z00_751 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2582z00_753); } 
{ /* ./Module/class.scm 319 */
obj_t BgL_arg2592z00_757;obj_t BgL_arg2593z00_758;
{ /* ./Module/class.scm 319 */
obj_t BgL_list2596z00_759;
{ /* ./Module/class.scm 319 */
obj_t BgL_arg2598z00_760;
{ /* ./Module/class.scm 319 */
obj_t BgL_arg2601z00_761;obj_t BgL_arg2602z00_762;
BgL_arg2601z00_761 = 
CNST_TABLE_REF(((long)24)); 
{ /* ./Module/class.scm 319 */
obj_t BgL_arg2605z00_763;
{ /* ./Module/class.scm 319 */
obj_t BgL_auxz00_2075;
BgL_auxz00_2075 = 
CNST_TABLE_REF(((long)25)); 
BgL_arg2605z00_763 = 
MAKE_PAIR(BgL_auxz00_2075, BNIL); } 
BgL_arg2602z00_762 = 
MAKE_PAIR(BgL_idz00_740, BgL_arg2605z00_763); } 
BgL_arg2598z00_760 = 
MAKE_PAIR(BgL_arg2601z00_761, BgL_arg2602z00_762); } 
BgL_list2596z00_759 = 
MAKE_PAIR(BgL_classzd2idzd2_1483, BgL_arg2598z00_760); } 
BgL_arg2592z00_757 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2596z00_759); } 
{ /* ./Module/class.scm 316 */
obj_t BgL_arg2609z00_764;
{ /* ./Module/class.scm 316 */
obj_t BgL_arg2612z00_765;
BgL_arg2612z00_765 = 
MAKE_PAIR(BFALSE, BNIL); 
BgL_arg2609z00_764 = 
MAKE_PAIR(BFALSE, BgL_arg2612z00_765); } 
BgL_arg2593z00_758 = 
MAKE_PAIR(BUNSPEC, BgL_arg2609z00_764); } 
BgL_arg2579z00_752 = 
MAKE_PAIR(BgL_arg2592z00_757, BgL_arg2593z00_758); } 
BgL_arg2569z00_748 = 
MAKE_PAIR(BgL_arg2578z00_751, BgL_arg2579z00_752); } 
BgL_arg2556z00_742 = 
MAKE_PAIR(BgL_arg2568z00_747, BgL_arg2569z00_748); } 
return 
MAKE_PAIR(BgL_arg2555z00_741, BgL_arg2556z00_742);} } }  else 
{ /* ./Module/class.scm 350 */
bool_t BgL_test2510z00_722;
BgL_test2510z00_722 = 
PAIRP(BgL_slotz00_710); 
if(BgL_test2510z00_722)
{ /* ./Module/class.scm 350 */
obj_t BgL_cdrzd2204zd2_723;
BgL_cdrzd2204zd2_723 = 
CDR(BgL_slotz00_710); 
{ /* ./Module/class.scm 350 */
bool_t BgL_test2511z00_724;
{ /* ./Module/class.scm 350 */
obj_t BgL_auxz00_2094;obj_t BgL_auxz00_2092;
BgL_auxz00_2094 = 
CNST_TABLE_REF(((long)18)); 
BgL_auxz00_2092 = 
CAR(BgL_slotz00_710); 
BgL_test2511z00_724 = 
(BgL_auxz00_2092==BgL_auxz00_2094); } 
if(BgL_test2511z00_724)
{ /* ./Module/class.scm 350 */
bool_t BgL_test2512z00_725;
BgL_test2512z00_725 = 
PAIRP(BgL_cdrzd2204zd2_723); 
if(BgL_test2512z00_725)
{ /* ./Module/class.scm 350 */
obj_t BgL_carzd2207zd2_726;
BgL_carzd2207zd2_726 = 
CAR(BgL_cdrzd2204zd2_723); 
{ /* ./Module/class.scm 350 */
bool_t BgL_test2513z00_727;
BgL_test2513z00_727 = 
SYMBOLP(BgL_carzd2207zd2_726); 
if(BgL_test2513z00_727)
{ /* ./Module/class.scm 350 */
obj_t BgL_arg2515z00_728;
BgL_arg2515z00_728 = 
CDR(BgL_cdrzd2204zd2_723); 
BgL_idz00_713 = BgL_carzd2207zd2_726; 
BgL_attz00_714 = BgL_arg2515z00_728; 
{ /* ./Module/class.scm 325 */
obj_t BgL_idz00_766;
BgL_idz00_766 = 
BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(BgL_idz00_713, BgL_locz00_1482); 
{ /* ./Module/class.scm 326 */
obj_t BgL_arg2617z00_767;obj_t BgL_arg2618z00_768;
{ /* ./Module/class.scm 326 */
obj_t BgL_arg2621z00_769;obj_t BgL_arg2622z00_770;
BgL_arg2621z00_769 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Module/class.scm 326 */
obj_t BgL_arg2625z00_771;obj_t BgL_arg2626z00_772;
BgL_arg2625z00_771 = 
CNST_TABLE_REF(((long)23)); 
{ /* ./Module/class.scm 326 */
obj_t BgL_auxz00_2107;
BgL_auxz00_2107 = 
CNST_TABLE_REF(((long)15)); 
BgL_arg2626z00_772 = 
MAKE_PAIR(BgL_auxz00_2107, BNIL); } 
BgL_arg2622z00_770 = 
MAKE_PAIR(BgL_arg2625z00_771, BgL_arg2626z00_772); } 
BgL_arg2617z00_767 = 
MAKE_PAIR(BgL_arg2621z00_769, BgL_arg2622z00_770); } 
{ /* ./Module/class.scm 327 */
obj_t BgL_arg2630z00_773;obj_t BgL_arg2631z00_774;
{ /* ./Module/class.scm 327 */
obj_t BgL_arg2634z00_775;obj_t BgL_arg2635z00_776;
BgL_arg2634z00_775 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2635z00_776 = 
MAKE_PAIR(BgL_idz00_766, BNIL); 
BgL_arg2630z00_773 = 
MAKE_PAIR(BgL_arg2634z00_775, BgL_arg2635z00_776); } 
{ /* ./Module/class.scm 328 */
obj_t BgL_arg2639z00_777;obj_t BgL_arg2640z00_778;
{ /* ./Module/class.scm 328 */
obj_t BgL_list2643z00_779;
{ /* ./Module/class.scm 328 */
obj_t BgL_arg2646z00_780;
{ /* ./Module/class.scm 328 */
obj_t BgL_arg2649z00_781;obj_t BgL_arg2650z00_782;
BgL_arg2649z00_781 = 
CNST_TABLE_REF(((long)24)); 
{ /* ./Module/class.scm 328 */
obj_t BgL_arg2653z00_783;
{ /* ./Module/class.scm 328 */
obj_t BgL_auxz00_2116;
BgL_auxz00_2116 = 
CNST_TABLE_REF(((long)26)); 
BgL_arg2653z00_783 = 
MAKE_PAIR(BgL_auxz00_2116, BNIL); } 
BgL_arg2650z00_782 = 
MAKE_PAIR(BgL_idz00_766, BgL_arg2653z00_783); } 
BgL_arg2646z00_780 = 
MAKE_PAIR(BgL_arg2649z00_781, BgL_arg2650z00_782); } 
BgL_list2643z00_779 = 
MAKE_PAIR(BgL_classzd2idzd2_1483, BgL_arg2646z00_780); } 
BgL_arg2639z00_777 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2643z00_779); } 
{ /* ./Module/class.scm 329 */
obj_t BgL_arg2657z00_784;obj_t BgL_arg2658z00_785;
{ /* ./Module/class.scm 329 */
bool_t BgL_test2660z00_786;
BgL_test2660z00_786 = 
BGl_readzd2onlyzf3z21zzmodule_classz00(BgL_attz00_714); 
if(BgL_test2660z00_786)
{ /* ./Module/class.scm 329 */
BgL_arg2657z00_784 = BUNSPEC; }  else 
{ /* ./Module/class.scm 330 */
obj_t BgL_list2662z00_787;
{ /* ./Module/class.scm 330 */
obj_t BgL_arg2664z00_788;
{ /* ./Module/class.scm 330 */
obj_t BgL_arg2667z00_789;obj_t BgL_arg2668z00_790;
BgL_arg2667z00_789 = 
CNST_TABLE_REF(((long)24)); 
{ /* ./Module/class.scm 330 */
obj_t BgL_arg2671z00_791;
{ /* ./Module/class.scm 330 */
obj_t BgL_auxz00_2126;
BgL_auxz00_2126 = 
CNST_TABLE_REF(((long)25)); 
BgL_arg2671z00_791 = 
MAKE_PAIR(BgL_auxz00_2126, BNIL); } 
BgL_arg2668z00_790 = 
MAKE_PAIR(BgL_idz00_766, BgL_arg2671z00_791); } 
BgL_arg2664z00_788 = 
MAKE_PAIR(BgL_arg2667z00_789, BgL_arg2668z00_790); } 
BgL_list2662z00_787 = 
MAKE_PAIR(BgL_classzd2idzd2_1483, BgL_arg2664z00_788); } 
BgL_arg2657z00_784 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2662z00_787); } } 
{ /* ./Module/class.scm 332 */
obj_t BgL_arg2676z00_792;obj_t BgL_arg2677z00_793;
{ /* ./Module/class.scm 332 */
obj_t BgL_list2680z00_794;
{ /* ./Module/class.scm 332 */
obj_t BgL_arg2682z00_795;
{ /* ./Module/class.scm 332 */
obj_t BgL_arg2685z00_796;obj_t BgL_arg2686z00_797;
BgL_arg2685z00_796 = 
CNST_TABLE_REF(((long)24)); 
{ /* ./Module/class.scm 332 */
obj_t BgL_arg2689z00_798;
{ /* ./Module/class.scm 332 */
obj_t BgL_auxz00_2134;
BgL_auxz00_2134 = 
CNST_TABLE_REF(((long)27)); 
BgL_arg2689z00_798 = 
MAKE_PAIR(BgL_auxz00_2134, BNIL); } 
BgL_arg2686z00_797 = 
MAKE_PAIR(BgL_idz00_766, BgL_arg2689z00_798); } 
BgL_arg2682z00_795 = 
MAKE_PAIR(BgL_arg2685z00_796, BgL_arg2686z00_797); } 
BgL_list2680z00_794 = 
MAKE_PAIR(BgL_classzd2idzd2_1483, BgL_arg2682z00_795); } 
BgL_arg2676z00_792 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2680z00_794); } 
{ /* ./Module/class.scm 334 */
obj_t BgL_arg2693z00_799;
{ /* ./Module/class.scm 334 */
obj_t BgL_arg2696z00_800;
BgL_arg2696z00_800 = 
BGl_findzd2infozd2attributez00zzmodule_classz00(BgL_slotz00_710); 
BgL_arg2693z00_799 = 
MAKE_PAIR(BgL_arg2696z00_800, BNIL); } 
BgL_arg2677z00_793 = 
MAKE_PAIR(BFALSE, BgL_arg2693z00_799); } 
BgL_arg2658z00_785 = 
MAKE_PAIR(BgL_arg2676z00_792, BgL_arg2677z00_793); } 
BgL_arg2640z00_778 = 
MAKE_PAIR(BgL_arg2657z00_784, BgL_arg2658z00_785); } 
BgL_arg2631z00_774 = 
MAKE_PAIR(BgL_arg2639z00_777, BgL_arg2640z00_778); } 
BgL_arg2618z00_768 = 
MAKE_PAIR(BgL_arg2630z00_773, BgL_arg2631z00_774); } 
return 
MAKE_PAIR(BgL_arg2617z00_767, BgL_arg2618z00_768);} } }  else 
{ /* ./Module/class.scm 350 */
obj_t BgL_carzd2216zd2_729;
BgL_carzd2216zd2_729 = 
CAR(BgL_slotz00_710); 
{ /* ./Module/class.scm 350 */
bool_t BgL_test2518z00_730;
BgL_test2518z00_730 = 
SYMBOLP(BgL_carzd2216zd2_729); 
if(BgL_test2518z00_730)
{ /* ./Module/class.scm 350 */
BgL_idz00_716 = BgL_carzd2216zd2_729; 
BgL_attz00_717 = BgL_cdrzd2204zd2_723; 
BgL_tagzd2194zd2_718:
{ /* ./Module/class.scm 337 */
obj_t BgL_idz00_802;
BgL_idz00_802 = 
BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(BgL_idz00_716, BgL_locz00_1482); 
{ /* ./Module/class.scm 338 */
obj_t BgL_arg2702z00_803;obj_t BgL_arg2703z00_804;
{ /* ./Module/class.scm 338 */
obj_t BgL_arg2706z00_805;obj_t BgL_arg2707z00_806;
BgL_arg2706z00_805 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Module/class.scm 338 */
obj_t BgL_arg2710z00_807;obj_t BgL_arg2711z00_808;
BgL_arg2710z00_807 = 
CNST_TABLE_REF(((long)23)); 
{ /* ./Module/class.scm 338 */
obj_t BgL_auxz00_2155;
BgL_auxz00_2155 = 
CNST_TABLE_REF(((long)15)); 
BgL_arg2711z00_808 = 
MAKE_PAIR(BgL_auxz00_2155, BNIL); } 
BgL_arg2707z00_806 = 
MAKE_PAIR(BgL_arg2710z00_807, BgL_arg2711z00_808); } 
BgL_arg2702z00_803 = 
MAKE_PAIR(BgL_arg2706z00_805, BgL_arg2707z00_806); } 
{ /* ./Module/class.scm 339 */
obj_t BgL_arg2715z00_809;obj_t BgL_arg2716z00_810;
{ /* ./Module/class.scm 339 */
obj_t BgL_arg2719z00_811;obj_t BgL_arg2720z00_812;
BgL_arg2719z00_811 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2720z00_812 = 
MAKE_PAIR(BgL_idz00_802, BNIL); 
BgL_arg2715z00_809 = 
MAKE_PAIR(BgL_arg2719z00_811, BgL_arg2720z00_812); } 
{ /* ./Module/class.scm 340 */
obj_t BgL_arg2724z00_813;obj_t BgL_arg2725z00_814;
{ /* ./Module/class.scm 340 */
obj_t BgL_list2728z00_815;
{ /* ./Module/class.scm 340 */
obj_t BgL_arg2730z00_816;
{ /* ./Module/class.scm 340 */
obj_t BgL_arg2733z00_817;obj_t BgL_arg2734z00_818;
BgL_arg2733z00_817 = 
CNST_TABLE_REF(((long)24)); 
BgL_arg2734z00_818 = 
MAKE_PAIR(BgL_idz00_802, BNIL); 
BgL_arg2730z00_816 = 
MAKE_PAIR(BgL_arg2733z00_817, BgL_arg2734z00_818); } 
BgL_list2728z00_815 = 
MAKE_PAIR(BgL_classzd2idzd2_1483, BgL_arg2730z00_816); } 
BgL_arg2724z00_813 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2728z00_815); } 
{ /* ./Module/class.scm 341 */
obj_t BgL_arg2738z00_819;obj_t BgL_arg2739z00_820;
{ /* ./Module/class.scm 341 */
bool_t BgL_test2741z00_821;
BgL_test2741z00_821 = 
BGl_readzd2onlyzf3z21zzmodule_classz00(BgL_attz00_717); 
if(BgL_test2741z00_821)
{ /* ./Module/class.scm 341 */
BgL_arg2738z00_819 = BUNSPEC; }  else 
{ /* ./Module/class.scm 342 */
obj_t BgL_list2743z00_822;
{ /* ./Module/class.scm 342 */
obj_t BgL_arg2745z00_823;
{ /* ./Module/class.scm 342 */
obj_t BgL_arg2748z00_824;obj_t BgL_arg2749z00_825;
BgL_arg2748z00_824 = 
CNST_TABLE_REF(((long)24)); 
{ /* ./Module/class.scm 342 */
obj_t BgL_arg2752z00_826;
{ /* ./Module/class.scm 342 */
obj_t BgL_auxz00_2171;
BgL_auxz00_2171 = 
CNST_TABLE_REF(((long)25)); 
BgL_arg2752z00_826 = 
MAKE_PAIR(BgL_auxz00_2171, BNIL); } 
BgL_arg2749z00_825 = 
MAKE_PAIR(BgL_idz00_802, BgL_arg2752z00_826); } 
BgL_arg2745z00_823 = 
MAKE_PAIR(BgL_arg2748z00_824, BgL_arg2749z00_825); } 
BgL_list2743z00_822 = 
MAKE_PAIR(BgL_classzd2idzd2_1483, BgL_arg2745z00_823); } 
BgL_arg2738z00_819 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2743z00_822); } } 
{ /* ./Module/class.scm 345 */
obj_t BgL_arg2757z00_827;
{ /* ./Module/class.scm 345 */
bool_t BgL_arg2760z00_828;obj_t BgL_arg2761z00_829;
BgL_attrz00_849 = BgL_attz00_717; 
{ 
obj_t BgL_attrz00_851;
BgL_attrz00_851 = BgL_attrz00_849; 
BgL_loopz00_852:
if(
NULLP(BgL_attrz00_851))
{ /* ./Module/class.scm 297 */
BgL_arg2760z00_828 = ((bool_t)0); }  else 
{ /* ./Module/class.scm 299 */
bool_t BgL_testz00_2180;
{ /* ./Module/class.scm 299 */
bool_t BgL_testz00_2181;
{ /* ./Module/class.scm 299 */
obj_t BgL_auxz00_2182;
BgL_auxz00_2182 = 
CAR(BgL_attrz00_851); 
BgL_testz00_2181 = 
PAIRP(BgL_auxz00_2182); } 
if(BgL_testz00_2181)
{ /* ./Module/class.scm 299 */
obj_t BgL_auxz00_2189;obj_t BgL_auxz00_2185;
BgL_auxz00_2189 = 
CNST_TABLE_REF(((long)22)); 
{ /* ./Module/class.scm 299 */
obj_t BgL_auxz00_2186;
BgL_auxz00_2186 = 
CAR(BgL_attrz00_851); 
BgL_auxz00_2185 = 
CAR(BgL_auxz00_2186); } 
BgL_testz00_2180 = 
(BgL_auxz00_2185==BgL_auxz00_2189); }  else 
{ /* ./Module/class.scm 299 */
BgL_testz00_2180 = ((bool_t)0)
; } } 
if(BgL_testz00_2180)
{ /* ./Module/class.scm 299 */
BgL_arg2760z00_828 = ((bool_t)1); }  else 
{ /* ./Module/class.scm 299 */
{ 
obj_t BgL_attrz00_2192;
BgL_attrz00_2192 = 
CDR(BgL_attrz00_851); 
BgL_attrz00_851 = BgL_attrz00_2192; 
goto BgL_loopz00_852;} } } } 
{ /* ./Module/class.scm 346 */
obj_t BgL_arg2765z00_830;
BgL_arg2765z00_830 = 
BGl_findzd2infozd2attributez00zzmodule_classz00(BgL_slotz00_710); 
BgL_arg2761z00_829 = 
MAKE_PAIR(BgL_arg2765z00_830, BNIL); } 
{ /* ./Module/class.scm 338 */
obj_t BgL_auxz00_2196;
BgL_auxz00_2196 = 
BBOOL(BgL_arg2760z00_828); 
BgL_arg2757z00_827 = 
MAKE_PAIR(BgL_auxz00_2196, BgL_arg2761z00_829); } } 
BgL_arg2739z00_820 = 
MAKE_PAIR(BUNSPEC, BgL_arg2757z00_827); } 
BgL_arg2725z00_814 = 
MAKE_PAIR(BgL_arg2738z00_819, BgL_arg2739z00_820); } 
BgL_arg2716z00_810 = 
MAKE_PAIR(BgL_arg2724z00_813, BgL_arg2725z00_814); } 
BgL_arg2703z00_804 = 
MAKE_PAIR(BgL_arg2715z00_809, BgL_arg2716z00_810); } 
return 
MAKE_PAIR(BgL_arg2702z00_803, BgL_arg2703z00_804);} } }  else 
{ /* ./Module/class.scm 350 */
BgL_tagzd2195zd2_719:
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string3346z00zzmodule_classz00, BGl_string3347z00zzmodule_classz00, BgL_slotz00_710);} } } } }  else 
{ /* ./Module/class.scm 350 */
obj_t BgL_carzd2225zd2_732;
BgL_carzd2225zd2_732 = 
CAR(BgL_slotz00_710); 
{ /* ./Module/class.scm 350 */
bool_t BgL_test2528z00_733;
BgL_test2528z00_733 = 
SYMBOLP(BgL_carzd2225zd2_732); 
if(BgL_test2528z00_733)
{ 
obj_t BgL_attz00_2209;obj_t BgL_idz00_2208;
BgL_idz00_2208 = BgL_carzd2225zd2_732; 
BgL_attz00_2209 = BgL_cdrzd2204zd2_723; 
BgL_attz00_717 = BgL_attz00_2209; 
BgL_idz00_716 = BgL_idz00_2208; 
goto BgL_tagzd2194zd2_718;}  else 
{ /* ./Module/class.scm 350 */
goto BgL_tagzd2195zd2_719;} } } }  else 
{ /* ./Module/class.scm 350 */
obj_t BgL_carzd2234zd2_735;
BgL_carzd2234zd2_735 = 
CAR(BgL_slotz00_710); 
{ /* ./Module/class.scm 350 */
bool_t BgL_test2537z00_736;
BgL_test2537z00_736 = 
SYMBOLP(BgL_carzd2234zd2_735); 
if(BgL_test2537z00_736)
{ 
obj_t BgL_attz00_2214;obj_t BgL_idz00_2213;
BgL_idz00_2213 = BgL_carzd2234zd2_735; 
BgL_attz00_2214 = BgL_cdrzd2204zd2_723; 
BgL_attz00_717 = BgL_attz00_2214; 
BgL_idz00_716 = BgL_idz00_2213; 
goto BgL_tagzd2194zd2_718;}  else 
{ /* ./Module/class.scm 350 */
goto BgL_tagzd2195zd2_719;} } } } }  else 
{ /* ./Module/class.scm 350 */
goto BgL_tagzd2195zd2_719;} } } } } } 
}



/* class-finalizer */
BGL_EXPORTED_DEF obj_t BGl_classzd2finaliza7erz75zzmodule_classz00()
{ AN_OBJECT;
{ /* ./Module/class.scm 363 */
{ /* ./Module/class.scm 365 */
bool_t BgL_test2836z00_873;
{ /* ./Module/class.scm 365 */
obj_t BgL_objz00_1324;
BgL_objz00_1324 = BGl_za2classzd2accessesza2zd2zzmodule_classz00; 
BgL_test2836z00_873 = 
NULLP(BgL_objz00_1324); } 
if(BgL_test2836z00_873)
{ /* ./Module/class.scm 365 */
return 
CNST_TABLE_REF(((long)28));}  else 
{ /* ./Module/class.scm 365 */
{ /* ./Module/class.scm 380 */
obj_t BgL_bodyz00_874;
BgL_bodyz00_874 = 
BGl_forcezd2classzd2accessesz00zzmodule_classz00(); 
{ /* ./Module/class.scm 380 */
obj_t BgL_bodyz00_875;
{ /* ./Module/class.scm 381 */
obj_t BgL_arg2882z00_897;
BgL_arg2882z00_897 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BGl_za2declaredzd2classesza2zd2zzmodule_classz00); 
BgL_bodyz00_875 = 
bgl_append2(BgL_arg2882z00_897, BgL_bodyz00_874); } 
{ /* ./Module/class.scm 381 */
obj_t BgL_bodyz00_876;
{ /* ./Module/class.scm 382 */
bool_t BgL_test2851z00_883;
{ /* ./Module/class.scm 382 */
long BgL_n1z00_1325;
BgL_n1z00_1325 = 
(long)CINT(BGl_za2debugzd2moduleza2zd2zzengine_paramz00); 
BgL_test2851z00_883 = 
(BgL_n1z00_1325>((long)0)); } 
if(BgL_test2851z00_883)
{ /* ./Module/class.scm 383 */
obj_t BgL_arg2853z00_884;
{ /* ./Module/class.scm 383 */
obj_t BgL_arg2857z00_886;obj_t BgL_arg2858z00_887;
BgL_arg2857z00_886 = 
CNST_TABLE_REF(((long)29)); 
{ /* ./Module/class.scm 384 */
obj_t BgL_arg2861z00_888;obj_t BgL_arg2862z00_889;
{ /* ./Module/class.scm 384 */
obj_t BgL_arg2865z00_890;obj_t BgL_arg2866z00_891;
BgL_arg2865z00_890 = 
CNST_TABLE_REF(((long)30)); 
{ /* ./Module/class.scm 385 */
obj_t BgL_arg2869z00_892;
{ /* ./Module/class.scm 385 */
obj_t BgL_arg2874z00_895;
{ /* ./Module/class.scm 386 */
obj_t BgL_symbolz00_1327;
BgL_symbolz00_1327 = BGl_za2moduleza2z00zzmodule_modulez00; 
BgL_arg2874z00_895 = 
SYMBOL_TO_STRING(BgL_symbolz00_1327); } 
BgL_arg2869z00_892 = 
string_append_3(BGl_string3348z00zzmodule_classz00, BgL_arg2874z00_895, BGl_string3349z00zzmodule_classz00); } 
BgL_arg2866z00_891 = 
MAKE_PAIR(BgL_arg2869z00_892, BNIL); } 
BgL_arg2861z00_888 = 
MAKE_PAIR(BgL_arg2865z00_890, BgL_arg2866z00_891); } 
BgL_arg2862z00_889 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_bodyz00_875, BNIL); 
BgL_arg2858z00_887 = 
MAKE_PAIR(BgL_arg2861z00_888, BgL_arg2862z00_889); } 
BgL_arg2853z00_884 = 
MAKE_PAIR(BgL_arg2857z00_886, BgL_arg2858z00_887); } 
BgL_bodyz00_876 = 
MAKE_PAIR(BgL_arg2853z00_884, BNIL); }  else 
{ /* ./Module/class.scm 382 */
BgL_bodyz00_876 = BgL_bodyz00_875; } } 
{ /* ./Module/class.scm 382 */

{ /* ./Module/class.scm 390 */
obj_t BgL_arg2838z00_877;obj_t BgL_arg2840z00_879;
BgL_arg2838z00_877 = 
CNST_TABLE_REF(((long)31)); 
if(
PAIRP(BgL_bodyz00_876))
{ /* ./Module/class.scm 392 */
BgL_arg2840z00_879 = BgL_bodyz00_876; }  else 
{ /* ./Module/class.scm 392 */
BgL_arg2840z00_879 = 
CNST_TABLE_REF(((long)32)); } 
{ /* ./Module/class.scm 390 */
obj_t BgL_newz00_1333;
{ /* ./Module/class.scm 390 */
int BgL_auxz00_2240;obj_t BgL_auxz00_2238;
BgL_auxz00_2240 = 
(int)(((long)4)); 
BgL_auxz00_2238 = 
CNST_TABLE_REF(((long)33)); 
BgL_newz00_1333 = 
create_struct(BgL_auxz00_2238, BgL_auxz00_2240); } 
{ /* ./Module/class.scm 390 */
int BgL_kz00_1337;
BgL_kz00_1337 = 
(int)(((long)3)); 
STRUCT_SET(BgL_newz00_1333, BgL_kz00_1337, BTRUE); } 
{ /* ./Module/class.scm 390 */
int BgL_kz00_1342;
BgL_kz00_1342 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_1333, BgL_kz00_1342, BgL_arg2840z00_879); } 
{ /* ./Module/class.scm 390 */
int BgL_kz00_1347;obj_t BgL_oz00_1348;
BgL_kz00_1347 = 
(int)(((long)1)); 
BgL_oz00_1348 = 
BINT(((long)19)); 
STRUCT_SET(BgL_newz00_1333, BgL_kz00_1347, BgL_oz00_1348); } 
{ /* ./Module/class.scm 390 */
int BgL_kz00_1352;
BgL_kz00_1352 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1333, BgL_kz00_1352, BgL_arg2838z00_877); } 
BGl_za2objectzd2unitza2zd2zzmodule_classz00 = BgL_newz00_1333; } } 
{ /* ./Module/class.scm 400 */
obj_t BgL_idz00_1354;obj_t BgL_sexpza2za2_1356;
BgL_idz00_1354 = 
CNST_TABLE_REF(((long)34)); 
BgL_sexpza2za2_1356 = 
CNST_TABLE_REF(((long)32)); 
{ /* ./Module/class.scm 400 */
obj_t BgL_newz00_1358;
{ /* ./Module/class.scm 400 */
int BgL_auxz00_2256;obj_t BgL_auxz00_2254;
BgL_auxz00_2256 = 
(int)(((long)4)); 
BgL_auxz00_2254 = 
CNST_TABLE_REF(((long)33)); 
BgL_newz00_1358 = 
create_struct(BgL_auxz00_2254, BgL_auxz00_2256); } 
{ /* ./Module/class.scm 400 */
int BgL_kz00_1362;
BgL_kz00_1362 = 
(int)(((long)3)); 
STRUCT_SET(BgL_newz00_1358, BgL_kz00_1362, BTRUE); } 
{ /* ./Module/class.scm 400 */
int BgL_kz00_1367;
BgL_kz00_1367 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_1358, BgL_kz00_1367, BgL_sexpza2za2_1356); } 
{ /* ./Module/class.scm 400 */
int BgL_kz00_1372;obj_t BgL_oz00_1373;
BgL_kz00_1372 = 
(int)(((long)1)); 
BgL_oz00_1373 = 
BINT(((long)20)); 
STRUCT_SET(BgL_newz00_1358, BgL_kz00_1372, BgL_oz00_1373); } 
{ /* ./Module/class.scm 400 */
int BgL_kz00_1377;
BgL_kz00_1377 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1358, BgL_kz00_1377, BgL_idz00_1354); } 
BGl_za2methodzd2unitza2zd2zzmodule_classz00 = BgL_newz00_1358; } } 
{ /* ./Module/class.scm 406 */
obj_t BgL_list2846z00_881;
{ /* ./Module/class.scm 406 */
obj_t BgL_arg2848z00_882;
BgL_arg2848z00_882 = 
MAKE_PAIR(BGl_za2methodzd2unitza2zd2zzmodule_classz00, BNIL); 
BgL_list2846z00_881 = 
MAKE_PAIR(BGl_za2objectzd2unitza2zd2zzmodule_classz00, BgL_arg2848z00_882); } 
return BgL_list2846z00_881;} } } } } } } } 
}



/* _class-finalizer */
obj_t BGl__classzd2finaliza7erz75zzmodule_classz00(obj_t BgL_envz00_1481)
{ AN_OBJECT;
{ /* ./Module/class.scm 363 */
return 
BGl_classzd2finaliza7erz75zzmodule_classz00();} 
}



/* force-class-accesses */
obj_t BGl_forcezd2classzd2accessesz00zzmodule_classz00()
{ AN_OBJECT;
{ /* ./Module/class.scm 415 */
{ 
obj_t BgL_curz00_898;obj_t BgL_nextz00_899;obj_t BgL_accessz00_900;
{ /* ./Module/class.scm 417 */
obj_t BgL_arg2888z00_902;
BgL_arg2888z00_902 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BGl_za2classzd2accessesza2zd2zzmodule_classz00); 
BgL_curz00_898 = BgL_arg2888z00_902; 
BgL_nextz00_899 = BNIL; 
BgL_accessz00_900 = BNIL; 
BgL_loopz00_901:
{ /* ./Module/class.scm 420 */
bool_t BgL_test2893z00_905;
BgL_test2893z00_905 = 
NULLP(BgL_curz00_898); 
if(BgL_test2893z00_905)
{ /* ./Module/class.scm 421 */
bool_t BgL_test2894z00_906;
BgL_test2894z00_906 = 
NULLP(BgL_nextz00_899); 
if(BgL_test2894z00_906)
{ /* ./Module/class.scm 421 */
return BgL_accessz00_900;}  else 
{ 
obj_t BgL_nextz00_2277;obj_t BgL_curz00_2276;
BgL_curz00_2276 = BgL_nextz00_899; 
BgL_nextz00_2277 = BNIL; 
BgL_nextz00_899 = BgL_nextz00_2277; 
BgL_curz00_898 = BgL_curz00_2276; 
goto BgL_loopz00_901;} }  else 
{ /* ./Module/class.scm 424 */
obj_t BgL_classz00_907;
{ /* ./Module/class.scm 424 */
obj_t BgL_auxz00_2278;
BgL_auxz00_2278 = 
CAR(BgL_curz00_898); 
BgL_classz00_907 = 
CAR(BgL_auxz00_2278); } 
{ /* ./Module/class.scm 424 */
obj_t BgL_superz00_908;
{ /* ./Module/class.scm 425 */
bool_t BgL_test3017z00_952;
BgL_test3017z00_952 = 
BGl_iszd2azf3z21zz__objectz00(BgL_classz00_907, BGl_tclassz00zzobject_classz00); 
if(BgL_test3017z00_952)
{ /* ./Module/class.scm 426 */
BgL_tclassz00_bglt BgL_obj1630z00_1386;
BgL_obj1630z00_1386 = 
(BgL_tclassz00_bglt)(BgL_classz00_907); 
{ 
obj_t BgL_auxz00_2284;
{ /* ./Module/class.scm 426 */
BgL_objectz00_bglt BgL_auxz00_2285;
BgL_auxz00_2285 = 
(BgL_objectz00_bglt)(BgL_obj1630z00_1386); 
BgL_auxz00_2284 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2285); } 
BgL_superz00_908 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_2284))->BgL_itszd2superzd2); } }  else 
{ /* ./Module/class.scm 427 */
BgL_jclassz00_bglt BgL_obj1717z00_1387;
BgL_obj1717z00_1387 = 
(BgL_jclassz00_bglt)(BgL_classz00_907); 
{ 
obj_t BgL_auxz00_2290;
{ /* ./Module/class.scm 427 */
BgL_objectz00_bglt BgL_auxz00_2291;
BgL_auxz00_2291 = 
(BgL_objectz00_bglt)(BgL_obj1717z00_1387); 
BgL_auxz00_2290 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2291); } 
BgL_superz00_908 = 
(((BgL_jclassz00_bglt)CREF(BgL_auxz00_2290))->BgL_itszd2superzd2); } } } 
{ /* ./Module/class.scm 425 */

{ /* ./Module/class.scm 429 */
bool_t BgL_test2897z00_909;
BgL_test2897z00_909 = 
(BgL_superz00_908==BgL_classz00_907); 
if(BgL_test2897z00_909)
{ /* ./Module/class.scm 429 */
{ /* ./Module/class.scm 431 */
obj_t BgL_arg2899z00_910;obj_t BgL_arg2900z00_911;
BgL_arg2899z00_910 = 
CDR(BgL_curz00_898); 
{ /* ./Module/class.scm 433 */
obj_t BgL_arg2904z00_912;
{ /* ./Module/class.scm 433 */
obj_t BgL_arg2907z00_913;
{ /* ./Module/class.scm 433 */
obj_t BgL_auxz00_2298;
BgL_auxz00_2298 = 
CAR(BgL_curz00_898); 
BgL_arg2907z00_913 = 
CDR(BgL_auxz00_2298); } 
BgL_arg2904z00_912 = 
PROCEDURE_ENTRY(BgL_arg2907z00_913)(BgL_arg2907z00_913, BEOA); } 
BgL_arg2900z00_911 = 
bgl_append2(BgL_arg2904z00_912, BgL_accessz00_900); } 
{ 
obj_t BgL_accessz00_2305;obj_t BgL_curz00_2304;
BgL_curz00_2304 = BgL_arg2899z00_910; 
BgL_accessz00_2305 = BgL_arg2900z00_911; 
BgL_accessz00_900 = BgL_accessz00_2305; 
BgL_curz00_898 = BgL_curz00_2304; 
goto BgL_loopz00_901;} } }  else 
{ /* ./Module/class.scm 435 */
bool_t BgL_test2913z00_915;
{ /* ./Module/class.scm 435 */
bool_t BgL_test3012z00_950;
BgL_test3012z00_950 = 
BGl_iszd2azf3z21zz__objectz00(BgL_classz00_907, BGl_tclassz00zzobject_classz00); 
if(BgL_test3012z00_950)
{ /* ./Module/class.scm 435 */
bool_t BgL_test3013z00_951;
BgL_test3013z00_951 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_908, BGl_tclassz00zzobject_classz00); 
if(BgL_test3013z00_951)
{ /* ./Module/class.scm 435 */
BgL_test2913z00_915 = ((bool_t)0); }  else 
{ /* ./Module/class.scm 435 */
BgL_test2913z00_915 = ((bool_t)1); } }  else 
{ /* ./Module/class.scm 435 */
BgL_test2913z00_915 = ((bool_t)0); } } 
if(BgL_test2913z00_915)
{ /* ./Module/class.scm 435 */
{ /* ./Module/class.scm 436 */
bool_t BgL_test2914z00_916;
BgL_test2914z00_916 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_908, BGl_typez00zztype_typez00); 
if(BgL_test2914z00_916)
{ /* ./Module/class.scm 436 */
{ /* ./Module/class.scm 440 */
BgL_tclassz00_bglt BgL_obj1635z00_1395;obj_t BgL_val1634z00_1396;
BgL_obj1635z00_1395 = 
(BgL_tclassz00_bglt)(BgL_classz00_907); 
BgL_val1634z00_1396 = BNIL; 
{ 
obj_t BgL_auxz00_2314;
{ /* ./Module/class.scm 440 */
BgL_objectz00_bglt BgL_auxz00_2315;
BgL_auxz00_2315 = 
(BgL_objectz00_bglt)(BgL_obj1635z00_1395); 
BgL_auxz00_2314 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2315); } 
((((BgL_tclassz00_bglt)CREF(BgL_auxz00_2314))->BgL_slotsz00) = ((obj_t)BgL_val1634z00_1396), BUNSPEC); } } 
{ /* ./Module/class.scm 441 */
obj_t BgL_arg2917z00_917;
BgL_arg2917z00_917 = 
CDR(BgL_curz00_898); 
{ 
obj_t BgL_curz00_2320;
BgL_curz00_2320 = BgL_arg2917z00_917; 
BgL_curz00_898 = BgL_curz00_2320; 
goto BgL_loopz00_901;} } }  else 
{ /* ./Module/class.scm 444 */
obj_t BgL_arg2921z00_918;obj_t BgL_arg2922z00_919;
BgL_arg2921z00_918 = 
CDR(BgL_curz00_898); 
{ /* ./Module/class.scm 446 */
obj_t BgL_arg2926z00_920;
{ /* ./Module/class.scm 446 */
obj_t BgL_arg2929z00_921;
{ /* ./Module/class.scm 446 */
obj_t BgL_auxz00_2322;
BgL_auxz00_2322 = 
CAR(BgL_curz00_898); 
BgL_arg2929z00_921 = 
CDR(BgL_auxz00_2322); } 
BgL_arg2926z00_920 = 
PROCEDURE_ENTRY(BgL_arg2929z00_921)(BgL_arg2929z00_921, BEOA); } 
BgL_arg2922z00_919 = 
bgl_append2(BgL_arg2926z00_920, BgL_accessz00_900); } 
{ 
obj_t BgL_accessz00_2329;obj_t BgL_curz00_2328;
BgL_curz00_2328 = BgL_arg2921z00_918; 
BgL_accessz00_2329 = BgL_arg2922z00_919; 
BgL_accessz00_900 = BgL_accessz00_2329; 
BgL_curz00_898 = BgL_curz00_2328; 
goto BgL_loopz00_901;} } } }  else 
{ /* ./Module/class.scm 448 */
bool_t BgL_test2936z00_923;
{ /* ./Module/class.scm 448 */
bool_t BgL_test3008z00_948;
BgL_test3008z00_948 = 
BGl_iszd2azf3z21zz__objectz00(BgL_classz00_907, BGl_jclassz00zzobject_classz00); 
if(BgL_test3008z00_948)
{ /* ./Module/class.scm 448 */
bool_t BgL_test3009z00_949;
BgL_test3009z00_949 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_908, BGl_jclassz00zzobject_classz00); 
if(BgL_test3009z00_949)
{ /* ./Module/class.scm 448 */
BgL_test2936z00_923 = ((bool_t)0); }  else 
{ /* ./Module/class.scm 448 */
BgL_test2936z00_923 = ((bool_t)1); } }  else 
{ /* ./Module/class.scm 448 */
BgL_test2936z00_923 = ((bool_t)0); } } 
if(BgL_test2936z00_923)
{ /* ./Module/class.scm 448 */
{ /* ./Module/class.scm 449 */
bool_t BgL_test2937z00_924;
BgL_test2937z00_924 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_908, BGl_typez00zztype_typez00); 
if(BgL_test2937z00_924)
{ /* ./Module/class.scm 449 */
{ /* ./Module/class.scm 453 */
BgL_jclassz00_bglt BgL_obj1722z00_1405;obj_t BgL_val1721z00_1406;
BgL_obj1722z00_1405 = 
(BgL_jclassz00_bglt)(BgL_classz00_907); 
BgL_val1721z00_1406 = BNIL; 
{ 
obj_t BgL_auxz00_2338;
{ /* ./Module/class.scm 453 */
BgL_objectz00_bglt BgL_auxz00_2339;
BgL_auxz00_2339 = 
(BgL_objectz00_bglt)(BgL_obj1722z00_1405); 
BgL_auxz00_2338 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2339); } 
((((BgL_jclassz00_bglt)CREF(BgL_auxz00_2338))->BgL_slotsz00) = ((obj_t)BgL_val1721z00_1406), BUNSPEC); } } 
{ /* ./Module/class.scm 454 */
obj_t BgL_arg2940z00_925;
BgL_arg2940z00_925 = 
CDR(BgL_curz00_898); 
{ 
obj_t BgL_curz00_2344;
BgL_curz00_2344 = BgL_arg2940z00_925; 
BgL_curz00_898 = BgL_curz00_2344; 
goto BgL_loopz00_901;} } }  else 
{ /* ./Module/class.scm 457 */
obj_t BgL_arg2944z00_926;obj_t BgL_arg2946z00_927;
BgL_arg2944z00_926 = 
CDR(BgL_curz00_898); 
{ /* ./Module/class.scm 459 */
obj_t BgL_arg2950z00_928;
{ /* ./Module/class.scm 459 */
obj_t BgL_arg2953z00_929;
{ /* ./Module/class.scm 459 */
obj_t BgL_auxz00_2346;
BgL_auxz00_2346 = 
CAR(BgL_curz00_898); 
BgL_arg2953z00_929 = 
CDR(BgL_auxz00_2346); } 
BgL_arg2950z00_928 = 
PROCEDURE_ENTRY(BgL_arg2953z00_929)(BgL_arg2953z00_929, BEOA); } 
BgL_arg2946z00_927 = 
bgl_append2(BgL_arg2950z00_928, BgL_accessz00_900); } 
{ 
obj_t BgL_accessz00_2353;obj_t BgL_curz00_2352;
BgL_curz00_2352 = BgL_arg2944z00_926; 
BgL_accessz00_2353 = BgL_arg2946z00_927; 
BgL_accessz00_900 = BgL_accessz00_2353; 
BgL_curz00_898 = BgL_curz00_2352; 
goto BgL_loopz00_901;} } } }  else 
{ /* ./Module/class.scm 461 */
bool_t BgL_test2960z00_931;
{ /* ./Module/class.scm 461 */
bool_t BgL_test3002z00_946;
BgL_test3002z00_946 = 
BGl_iszd2azf3z21zz__objectz00(BgL_classz00_907, BGl_tclassz00zzobject_classz00); 
if(BgL_test3002z00_946)
{ /* ./Module/class.scm 461 */
obj_t BgL_auxz00_2356;
{ /* ./Module/class.scm 461 */
BgL_tclassz00_bglt BgL_obj1633z00_1413;
BgL_obj1633z00_1413 = 
(BgL_tclassz00_bglt)(BgL_superz00_908); 
{ 
obj_t BgL_auxz00_2358;
{ /* ./Module/class.scm 461 */
BgL_objectz00_bglt BgL_auxz00_2359;
BgL_auxz00_2359 = 
(BgL_objectz00_bglt)(BgL_obj1633z00_1413); 
BgL_auxz00_2358 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2359); } 
BgL_auxz00_2356 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_2358))->BgL_slotsz00); } } 
BgL_test2960z00_931 = 
(BgL_auxz00_2356==BUNSPEC); }  else 
{ /* ./Module/class.scm 461 */
BgL_test2960z00_931 = ((bool_t)0); } } 
if(BgL_test2960z00_931)
{ /* ./Module/class.scm 461 */
{ /* ./Module/class.scm 463 */
obj_t BgL_arg2962z00_932;obj_t BgL_arg2963z00_933;
BgL_arg2962z00_932 = 
CDR(BgL_curz00_898); 
{ /* ./Module/class.scm 464 */
obj_t BgL_arg2967z00_934;
BgL_arg2967z00_934 = 
CAR(BgL_curz00_898); 
BgL_arg2963z00_933 = 
MAKE_PAIR(BgL_arg2967z00_934, BgL_nextz00_899); } 
{ 
obj_t BgL_nextz00_2369;obj_t BgL_curz00_2368;
BgL_curz00_2368 = BgL_arg2962z00_932; 
BgL_nextz00_2369 = BgL_arg2963z00_933; 
BgL_nextz00_899 = BgL_nextz00_2369; 
BgL_curz00_898 = BgL_curz00_2368; 
goto BgL_loopz00_901;} } }  else 
{ /* ./Module/class.scm 466 */
bool_t BgL_test2970z00_935;
{ /* ./Module/class.scm 466 */
bool_t BgL_test2996z00_944;
BgL_test2996z00_944 = 
BGl_iszd2azf3z21zz__objectz00(BgL_classz00_907, BGl_jclassz00zzobject_classz00); 
if(BgL_test2996z00_944)
{ /* ./Module/class.scm 466 */
obj_t BgL_auxz00_2372;
{ /* ./Module/class.scm 466 */
BgL_jclassz00_bglt BgL_obj1720z00_1417;
BgL_obj1720z00_1417 = 
(BgL_jclassz00_bglt)(BgL_superz00_908); 
{ 
obj_t BgL_auxz00_2374;
{ /* ./Module/class.scm 466 */
BgL_objectz00_bglt BgL_auxz00_2375;
BgL_auxz00_2375 = 
(BgL_objectz00_bglt)(BgL_obj1720z00_1417); 
BgL_auxz00_2374 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2375); } 
BgL_auxz00_2372 = 
(((BgL_jclassz00_bglt)CREF(BgL_auxz00_2374))->BgL_slotsz00); } } 
BgL_test2970z00_935 = 
(BgL_auxz00_2372==BUNSPEC); }  else 
{ /* ./Module/class.scm 466 */
BgL_test2970z00_935 = ((bool_t)0); } } 
if(BgL_test2970z00_935)
{ /* ./Module/class.scm 466 */
{ /* ./Module/class.scm 468 */
obj_t BgL_arg2973z00_936;obj_t BgL_arg2974z00_937;
BgL_arg2973z00_936 = 
CDR(BgL_curz00_898); 
{ /* ./Module/class.scm 469 */
obj_t BgL_arg2978z00_938;
BgL_arg2978z00_938 = 
CAR(BgL_curz00_898); 
BgL_arg2974z00_937 = 
MAKE_PAIR(BgL_arg2978z00_938, BgL_nextz00_899); } 
{ 
obj_t BgL_nextz00_2385;obj_t BgL_curz00_2384;
BgL_curz00_2384 = BgL_arg2973z00_936; 
BgL_nextz00_2385 = BgL_arg2974z00_937; 
BgL_nextz00_899 = BgL_nextz00_2385; 
BgL_curz00_898 = BgL_curz00_2384; 
goto BgL_loopz00_901;} } }  else 
{ /* ./Module/class.scm 466 */
{ /* ./Module/class.scm 473 */
obj_t BgL_arg2982z00_939;obj_t BgL_arg2983z00_940;
BgL_arg2982z00_939 = 
CDR(BgL_curz00_898); 
{ /* ./Module/class.scm 475 */
obj_t BgL_arg2987z00_941;
{ /* ./Module/class.scm 475 */
obj_t BgL_arg2990z00_942;
{ /* ./Module/class.scm 475 */
obj_t BgL_auxz00_2387;
BgL_auxz00_2387 = 
CAR(BgL_curz00_898); 
BgL_arg2990z00_942 = 
CDR(BgL_auxz00_2387); } 
BgL_arg2987z00_941 = 
PROCEDURE_ENTRY(BgL_arg2990z00_942)(BgL_arg2990z00_942, BEOA); } 
BgL_arg2983z00_940 = 
bgl_append2(BgL_arg2987z00_941, BgL_accessz00_900); } 
{ 
obj_t BgL_accessz00_2394;obj_t BgL_curz00_2393;
BgL_curz00_2393 = BgL_arg2982z00_939; 
BgL_accessz00_2394 = BgL_arg2983z00_940; 
BgL_accessz00_900 = BgL_accessz00_2394; 
BgL_curz00_898 = BgL_curz00_2393; 
goto BgL_loopz00_901;} } } } } } } } } } } } } } } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzmodule_classz00()
{ AN_OBJECT;
{ /* ./Module/class.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "module_class"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "module_class"); 
BGl_modulezd2initializa7ationz75zzmodule_impusez00(((long)12782), "module_class"); 
BGl_modulezd2initializa7ationz75zzmodule_includez00(((long)1783), "module_class"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "module_class"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "module_class"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "module_class"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "module_class"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "module_class"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "module_class"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "module_class"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "module_class"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "module_class"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "module_class"); 
BGl_modulezd2initializa7ationz75zzobject_plainzd2accesszd2(((long)39347), "module_class"); 
return 
BGl_modulezd2initializa7ationz75zzobject_widezd2accesszd2(((long)47051), "module_class");} 
}

