#include "opendylan/run-time.h"

/* Generated by Open Dylan 2014.1 for x86_64-linux */

/* Typedefs for referenced classes */

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(6);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(2);

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value mm_wrapper_implementation_class_; \
    dylan_value mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    dylan_value mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
  dylan_value incremental_gf_module_;
  dylan_value incremental_gf_domain_info_;
  dylan_value incremental_gf_method_libraries_;
  dylan_value incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLfunction_classGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLempty_listGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value properties_;
  dylan_value engine_node_callback_;
  dylan_value engine_node_entry_point_;
} _KLabsent_engine_nodeGVKg;

typedef struct {
  dylan_value wrapper;
  dylan_value namespace_name_;
  dylan_value home_library_;
} _KLmoduleGVKe;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(28);
define__KLbyte_stringGVKd(31);

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_values_;
} _KLsignatureAvaluesGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value union_type1_;
  dylan_value union_type2_;
} _KLunionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value application_object_proxy_;
} _KLapplication_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value singleton_object_;
} _KLsingletonGVKd;

typedef struct {
  dylan_value wrapper;
} _KLserverGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLpairGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
} _KLsimple_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value project_proxy_;
  dylan_value project_application_;
  dylan_value project_compiler_database_;
  dylan_value project_next_numeric_id_;
  dylan_value project_object_table_;
  dylan_value project_query_database_;
  dylan_value project_server_path_;
  dylan_value environment_object_breakpoints_;
  dylan_value source_location_breakpoints_;
  dylan_value project_properties_;
  dylan_value project_profile_state_;
} _KLproject_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_keys_;
  dylan_value signature_key_types_;
  dylan_value signature_values_;
} _KLkeyword_signatureAvaluesGVKi;

typedef struct {
  dylan_value wrapper;
} _KLsequenceGVKd;

typedef struct {
  dylan_value wrapper;
} _KLintegerGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value symbol_name_;
} _KLsymbolGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
  dylan_value iep_;
  dylan_value keyword_specifiers_;
} _KLkeyword_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value server_project_;
  dylan_value application_object_table_;
  dylan_value application_client_;
  dylan_value application_machine_;
  dylan_value application_filename_;
  dylan_value application_arguments_;
  dylan_value application_state_;
  dylan_value application_temporary_stopQ_;
} _KLapplicationGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
} _KLstringGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value class_properties_;
  dylan_value iclass_class_;
  dylan_value class_mm_wrapper_;
  dylan_value repeated_slot_descriptor_;
  dylan_value instance_slot_descriptors_;
  dylan_value iclass_dispatch_key_;
  dylan_value class_constructor_;
  dylan_value direct_superclasses_;
  dylan_value class_rcpl_vector_;
  dylan_value class_rcpl_position_;
  dylan_value class_rcpl_other_positions_;
  dylan_value class_known_joint_;
  dylan_value iclass_dependent_generics_;
  dylan_value iclass_subclass_dependent_generics_;
  dylan_value direct_subclasses_;
  dylan_value direct_methods_;
  dylan_value direct_slot_descriptors_;
  dylan_value slot_descriptors_;
  dylan_value direct_inherited_slot_descriptors_;
  dylan_value direct_initialization_argument_descriptors_;
  dylan_value class_slot_descriptors_;
  dylan_value defaulted_initialization_arguments_slot_;
  dylan_value class_slot_storage_;
} _KLimplementation_classGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
} _KLenvironment_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value slot_descriptor_properties_;
  dylan_value init_data_slot_;
  dylan_value slot_owner_;
  dylan_value init_keyword_;
  dylan_value slot_getter_;
  dylan_value slot_setter_;
  dylan_value slot_type_;
} _KLinstance_slot_descriptorGVKe;


/* Typedefs for defined classes */

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value application_object_proxy_;
} _KLaddress_objectGVenvironment_protocols;


/* Referenced object declarations */

extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLmoduleGVKe Kenvironment_protocols_moduleYdylan_userVenvironment_protocols;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
dylan_value Kunion_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLapplication_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLapplication_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLserverGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLserverGVenvironment_protocolsW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
dylan_value Kchoose_serverVenvironment_protocolsMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLproject_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLproject_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLsymbolGVKd KJsize_;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLapplicationGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLapplicationGVenvironment_protocolsW;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LstringG_typesVKi;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLclassGVKd KLenvironment_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLenvironment_objectGVenvironment_protocolsW;
extern _KLsymbolGVKd KJname_;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLinstance_slot_descriptorGVKe KPprimitive_nameVenvironment_protocolsHLenvironment_objectG;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLinstance_slot_descriptorGVKe Kapplication_object_proxyVenvironment_protocolsHLapplication_objectG;
dylan_value Kclass_instanceQ_initialVKiI (dylan_value, dylan_value);
extern _KLkeyword_methodGVKe KinitializeVKdMenvironment_protocolsM0;
extern _KLkeyword_methodGVKe KinitializeVKdMM1;

/* Defined object declarations */

static _KLsymbolGVKd KJapplication_object_proxy_;
dylan_value KLaddress_objectGZ32ZconstructorVenvironment_protocolsMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLaddress_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLaddress_objectGVenvironment_protocolsW;
extern _KLincremental_generic_functionGVKe Kaddress_read_application_objectVenvironment_protocols;
extern _KLsimple_methodGVKe Kaddress_read_application_objectVenvironment_protocolsMM0;
dylan_value Kaddress_read_application_objectVenvironment_protocolsMM0I (dylan_value, dylan_value);
static _KLpairGVKd K8;
static _KLsignatureAvaluesGVKi K9;
static _KLbyte_stringGVKd_31 K10;
static _KLsimple_object_vectorGVKd_2 K11;
static _KLsimple_object_vectorGVKd_1 K12;
static _KLunionGVKe K13;
static _KLsingletonGVKd K14;
static _KLsignatureAvaluesGVKi K15;
static _KLsimple_object_vectorGVKd_2 K16;
extern _KLincremental_generic_functionGVKe Kaddress_read_memory_contentsVenvironment_protocols;
extern _KLkeyword_methodGVKe Kaddress_read_memory_contentsVenvironment_protocolsMM0;
dylan_value Kaddress_read_memory_contentsVenvironment_protocolsMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLpairGVKd K20;
static _KLkeyword_signatureAvaluesGVKi K21;
static _KLbyte_stringGVKd_28 K22;
static _KLsimple_object_vectorGVKd_4 K23;
static _KLsimple_object_vectorGVKd_4 K24;
static _KLsimple_object_vectorGVKd_2 K25;
extern _KLunionGVKe KLdata_display_sizeGVenvironment_protocols;
extern _KLunionGVKe KLdata_display_formatGVenvironment_protocols;
extern _KLunionGVKe KLaddress_display_formatGVenvironment_protocols;
extern _KLunionGVKe KLnon_address_display_formatGVenvironment_protocols;
static _KLunionGVKe K30;
static _KLsingletonGVKd K31;
static _KLsymbolGVKd KJdouble_float_;
static _KLbyte_stringGVKd_12 K33;
static _KLunionGVKe K34;
static _KLsingletonGVKd K35;
static _KLsymbolGVKd KJsingle_float_;
static _KLbyte_stringGVKd_12 K37;
static _KLsingletonGVKd K38;
static _KLsingletonGVKd K39;
static _KLsymbolGVKd KJunicode_character_;
static _KLbyte_stringGVKd_17 K41;
static _KLsymbolGVKd KJbyte_character_;
static _KLbyte_stringGVKd_14 K43;
static _KLunionGVKe K44;
static _KLsingletonGVKd K45;
static _KLsymbolGVKd KJhexadecimal_;
static _KLbyte_stringGVKd_11 K47;
static _KLsingletonGVKd K48;
static _KLsingletonGVKd K49;
static _KLsymbolGVKd KJdecimal_;
static _KLbyte_stringGVKd_7 K51;
static _KLsymbolGVKd KJoctal_;
static _KLbyte_stringGVKd_5 K53;
static _KLunionGVKe K54;
static _KLsingletonGVKd K55;
static _KLsymbolGVKd KJword_;
static _KLbyte_stringGVKd_4 K57;
static _KLunionGVKe K58;
static _KLsingletonGVKd K59;
static _KLsymbolGVKd KJdouble_;
static _KLbyte_stringGVKd_6 K61;
static _KLunionGVKe K62;
static _KLsingletonGVKd K63;
static _KLsymbolGVKd KJfloat_;
static _KLbyte_stringGVKd_5 K65;
static _KLunionGVKe K66;
static _KLsingletonGVKd K67;
static _KLsymbolGVKd KJhyper_;
static _KLbyte_stringGVKd_5 K69;
static _KLunionGVKe K70;
static _KLsingletonGVKd K71;
static _KLsymbolGVKd KJlong_;
static _KLbyte_stringGVKd_4 K73;
static _KLsingletonGVKd K74;
static _KLsingletonGVKd K75;
static _KLsymbolGVKd KJshort_;
static _KLbyte_stringGVKd_5 K77;
static _KLsymbolGVKd KJbyte_;
static _KLbyte_stringGVKd_4 K79;
static _KLsymbolGVKd KJformat_;
static _KLsymbolGVKd KJfrom_index_;
static _KLsymbolGVKd KJto_index_;
static _KLbyte_stringGVKd_8 K83;
static _KLbyte_stringGVKd_10 K84;
static _KLbyte_stringGVKd_6 K85;
static _KLkeyword_signatureAvaluesGVKi K86;
static _KLsimple_object_vectorGVKd_8 K87;
extern _KLincremental_generic_functionGVKe Kindexed_addressVenvironment_protocols;
extern _KLkeyword_methodGVKe Kindexed_addressVenvironment_protocolsMM0;
dylan_value Kindexed_addressVenvironment_protocolsMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLpairGVKd K91;
static _KLkeyword_signatureAvaluesGVKi K92;
static _KLbyte_stringGVKd_15 K93;
static _KLsimple_object_vectorGVKd_3 K94;
static _KLsimple_object_vectorGVKd_1 K95;
static _KLsimple_object_vectorGVKd_1 K96;
static _KLsimple_object_vectorGVKd_1 K97;
static _KLkeyword_signatureAvaluesGVKi K98;
static _KLsimple_object_vectorGVKd_2 K99;
static _KLsimple_object_vectorGVKd_3 K100;
extern _KLincremental_generic_functionGVKe Kindirect_addressVenvironment_protocols;
extern _KLsimple_methodGVKe Kindirect_addressVenvironment_protocolsMM0;
dylan_value Kindirect_addressVenvironment_protocolsMM0I (dylan_value, dylan_value);
static _KLpairGVKd K104;
static _KLsignatureAvaluesGVKi K105;
static _KLbyte_stringGVKd_16 K106;
static _KLsignatureAvaluesGVKi K107;
extern _KLincremental_generic_functionGVKe Kapplication_object_addressVenvironment_protocols;
extern _KLsimple_methodGVKe Kapplication_object_addressVenvironment_protocolsMM0;
dylan_value Kapplication_object_addressVenvironment_protocolsMM0I (dylan_value, dylan_value);
static _KLpairGVKd K111;
static _KLsignatureAvaluesGVKi K112;
static _KLbyte_stringGVKd_26 K113;
static _KLsimple_object_vectorGVKd_2 K114;
static _KLsimple_object_vectorGVKd_1 K115;
static _KLunionGVKe K116;
static _KLsignatureAvaluesGVKi K117;
static _KLsimple_object_vectorGVKd_2 K118;
extern _KLincremental_generic_functionGVKe Kaddress_application_objectVenvironment_protocols;
extern _KLsimple_methodGVKe Kaddress_application_objectVenvironment_protocolsMM0;
dylan_value Kaddress_application_objectVenvironment_protocolsMM0I (dylan_value, dylan_value);
static _KLpairGVKd K122;
static _KLsignatureAvaluesGVKi K123;
static _KLbyte_stringGVKd_26 K124;
static _KLsimple_object_vectorGVKd_1 K125;
static _KLsignatureAvaluesGVKi K126;
extern _KLincremental_generic_functionGVKe Kstring_to_addressVenvironment_protocols;
extern _KLkeyword_methodGVKe Kstring_to_addressVenvironment_protocolsMM0;
dylan_value Kstring_to_addressVenvironment_protocolsMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLpairGVKd K130;
static _KLkeyword_signatureAvaluesGVKi K131;
static _KLbyte_stringGVKd_17 K132;
static _KLsimple_object_vectorGVKd_2 K133;
static _KLsimple_object_vectorGVKd_1 K134;
static _KLsimple_object_vectorGVKd_1 K135;
static _KLkeyword_signatureAvaluesGVKi K136;
static _KLsimple_object_vectorGVKd_2 K137;
static _KLsimple_object_vectorGVKd_2 K138;
extern _KLincremental_generic_functionGVKe Kaddress_to_stringVenvironment_protocols;
extern _KLkeyword_methodGVKe Kaddress_to_stringVenvironment_protocolsMM0;
dylan_value Kaddress_to_stringVenvironment_protocolsMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLpairGVKd K142;
static _KLkeyword_signatureAvaluesGVKi K143;
static _KLbyte_stringGVKd_17 K144;
static _KLkeyword_signatureAvaluesGVKi K145;
static _KLimplementation_classGVKe K146;
static _KLsimple_object_vectorGVKd_2 K147;
extern _KLkeyword_methodGVKe KLaddress_objectGZ32ZconstructorVenvironment_protocolsMM0;
static _KLsimple_object_vectorGVKd_6 K149;
static _KLkeyword_signatureAvaluesGVKi K150;
static _KLsimple_object_vectorGVKd_4 K151;
static _KLsimple_object_vectorGVKd_2 K152;
static _KLbyte_stringGVKd_16 K153;
static _KLunionGVKe K154;
static _KLpairGVKd K155;
static _KLbyte_stringGVKd_24 K156;

/* Indirection variables */

static dylan_value IKJapplication_object_proxy_ = &KJapplication_object_proxy_;
static dylan_value IKJdouble_float_ = &KJdouble_float_;
static dylan_value IKJsingle_float_ = &KJsingle_float_;
static dylan_value IKJunicode_character_ = &KJunicode_character_;
static dylan_value IKJbyte_character_ = &KJbyte_character_;
static dylan_value IKJhexadecimal_ = &KJhexadecimal_;
static dylan_value IKJdecimal_ = &KJdecimal_;
static dylan_value IKJoctal_ = &KJoctal_;
static dylan_value IKJword_ = &KJword_;
static dylan_value IKJdouble_ = &KJdouble_;
static dylan_value IKJfloat_ = &KJfloat_;
static dylan_value IKJhyper_ = &KJhyper_;
static dylan_value IKJlong_ = &KJlong_;
static dylan_value IKJshort_ = &KJshort_;
static dylan_value IKJbyte_ = &KJbyte_;
static dylan_value IKJformat_ = &KJformat_;
static dylan_value IKJfrom_index_ = &KJfrom_index_;
static dylan_value IKJto_index_ = &KJto_index_;

/* Variables */

dylan_value Laddress_display_formatGVenvironment_protocols = &KLaddress_display_formatGVenvironment_protocols;
dylan_value Ldata_display_formatGVenvironment_protocols = &KLdata_display_formatGVenvironment_protocols;
dylan_value Ldata_display_sizeGVenvironment_protocols = &KLdata_display_sizeGVenvironment_protocols;
dylan_value Laddress_objectGVenvironment_protocols = &KLaddress_objectGVenvironment_protocols;
dylan_value Dinvalid_address_objectVenvironment_protocols = &KPunboundVKi;
dylan_value address_to_stringVenvironment_protocols = &Kaddress_to_stringVenvironment_protocols;
dylan_value string_to_addressVenvironment_protocols = &Kstring_to_addressVenvironment_protocols;
dylan_value address_application_objectVenvironment_protocols = &Kaddress_application_objectVenvironment_protocols;
dylan_value application_object_addressVenvironment_protocols = &Kapplication_object_addressVenvironment_protocols;
dylan_value indirect_addressVenvironment_protocols = &Kindirect_addressVenvironment_protocols;
dylan_value indexed_addressVenvironment_protocols = &Kindexed_addressVenvironment_protocols;
dylan_value address_read_memory_contentsVenvironment_protocols = &Kaddress_read_memory_contentsVenvironment_protocols;
dylan_value address_read_application_objectVenvironment_protocols = &Kaddress_read_application_objectVenvironment_protocols;

/* Objects */

static _KLsymbolGVKd KJapplication_object_proxy_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K156
};

_KLclassGVKd KLaddress_objectGVenvironment_protocols = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K153,
  &K146,
  (dylan_value) 1,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols
};

_KLmm_wrapperGVKi_0 KLaddress_objectGVenvironment_protocolsW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K146,
  (dylan_value) 1,
  9,
  33554439,
  (dylan_value) 1
};

_KLincremental_generic_functionGVKe Kaddress_read_application_objectVenvironment_protocols = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K9,
  (dylan_value) 1,
  &K10,
  &K8,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 25
};

_KLsimple_methodGVKe Kaddress_read_application_objectVenvironment_protocolsMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K15,
  &Kaddress_read_application_objectVenvironment_protocolsMM0I
};

static _KLpairGVKd K8 = {
  &KLpairGVKdW /* wrapper */,
  &Kaddress_read_application_objectVenvironment_protocolsMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K9 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K11,
  &K12
};

static _KLbyte_stringGVKd_31 K10 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 125,
  "address-read-application-object"
};

static _KLsimple_object_vectorGVKd_2 K11 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLserverGVenvironment_protocols,
  &KLaddress_objectGVenvironment_protocols
};

static _KLsimple_object_vectorGVKd_1 K12 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &K13
};

static _KLunionGVKe K13 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K14,
  &KLapplication_objectGVenvironment_protocols
};

static _KLsingletonGVKd K14 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPfalseVKi
};

static _KLsignatureAvaluesGVKi K15 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K16,
  &K12
};

static _KLsimple_object_vectorGVKd_2 K16 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLproject_objectGVenvironment_protocols,
  &KLaddress_objectGVenvironment_protocols
};

_KLincremental_generic_functionGVKe Kaddress_read_memory_contentsVenvironment_protocols = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_optional_xep_2,
  &K21,
  (dylan_value) 1,
  &K22,
  &K20,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 25
};

_KLkeyword_methodGVKe Kaddress_read_memory_contentsVenvironment_protocolsMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_7,
  &K86,
  &key_mep_7,
  &Kaddress_read_memory_contentsVenvironment_protocolsMM0I,
  &K87
};

static _KLpairGVKd K20 = {
  &KLpairGVKdW /* wrapper */,
  &Kaddress_read_memory_contentsVenvironment_protocolsMM0,
  &KPempty_listVKi
};

static _KLkeyword_signatureAvaluesGVKi K21 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33818633,
  &K11,
  &K23,
  &K24,
  &K25
};

static _KLbyte_stringGVKd_28 K22 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 113,
  "address-read-memory-contents"
};

static _KLsimple_object_vectorGVKd_4 K23 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJsize_,
  &KJformat_,
  &KJfrom_index_,
  &KJto_index_
};

static _KLsimple_object_vectorGVKd_4 K24 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KLdata_display_sizeGVenvironment_protocols,
  &KLdata_display_formatGVenvironment_protocols,
  &KLintegerGVKd,
  &KLintegerGVKd
};

static _KLsimple_object_vectorGVKd_2 K25 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLsequenceGVKd,
  &KLaddress_objectGVenvironment_protocols
};

_KLunionGVKe KLdata_display_sizeGVenvironment_protocols = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K54,
  &K55
};

_KLunionGVKe KLdata_display_formatGVenvironment_protocols = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &KLaddress_display_formatGVenvironment_protocols,
  &KLnon_address_display_formatGVenvironment_protocols
};

_KLunionGVKe KLaddress_display_formatGVenvironment_protocols = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K44,
  &K45
};

_KLunionGVKe KLnon_address_display_formatGVenvironment_protocols = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K30,
  &K31
};

static _KLunionGVKe K30 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K34,
  &K35
};

static _KLsingletonGVKd K31 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJdouble_float_
};

static _KLsymbolGVKd KJdouble_float_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K33
};

static _KLbyte_stringGVKd_12 K33 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "double-float"
};

static _KLunionGVKe K34 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K38,
  &K39
};

static _KLsingletonGVKd K35 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJsingle_float_
};

static _KLsymbolGVKd KJsingle_float_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K37
};

static _KLbyte_stringGVKd_12 K37 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "single-float"
};

static _KLsingletonGVKd K38 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJbyte_character_
};

static _KLsingletonGVKd K39 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJunicode_character_
};

static _KLsymbolGVKd KJunicode_character_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K41
};

static _KLbyte_stringGVKd_17 K41 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "unicode-character"
};

static _KLsymbolGVKd KJbyte_character_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K43
};

static _KLbyte_stringGVKd_14 K43 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "byte-character"
};

static _KLunionGVKe K44 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K48,
  &K49
};

static _KLsingletonGVKd K45 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJhexadecimal_
};

static _KLsymbolGVKd KJhexadecimal_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K47
};

static _KLbyte_stringGVKd_11 K47 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "hexadecimal"
};

static _KLsingletonGVKd K48 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJoctal_
};

static _KLsingletonGVKd K49 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJdecimal_
};

static _KLsymbolGVKd KJdecimal_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K51
};

static _KLbyte_stringGVKd_7 K51 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 29,
  "decimal"
};

static _KLsymbolGVKd KJoctal_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K53
};

static _KLbyte_stringGVKd_5 K53 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "octal"
};

static _KLunionGVKe K54 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K58,
  &K59
};

static _KLsingletonGVKd K55 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJword_
};

static _KLsymbolGVKd KJword_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K57
};

static _KLbyte_stringGVKd_4 K57 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 17,
  "word"
};

static _KLunionGVKe K58 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K62,
  &K63
};

static _KLsingletonGVKd K59 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJdouble_
};

static _KLsymbolGVKd KJdouble_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K61
};

static _KLbyte_stringGVKd_6 K61 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "double"
};

static _KLunionGVKe K62 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K66,
  &K67
};

static _KLsingletonGVKd K63 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJfloat_
};

static _KLsymbolGVKd KJfloat_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K65
};

static _KLbyte_stringGVKd_5 K65 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "float"
};

static _KLunionGVKe K66 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K70,
  &K71
};

static _KLsingletonGVKd K67 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJhyper_
};

static _KLsymbolGVKd KJhyper_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K69
};

static _KLbyte_stringGVKd_5 K69 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "hyper"
};

static _KLunionGVKe K70 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K74,
  &K75
};

static _KLsingletonGVKd K71 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJlong_
};

static _KLsymbolGVKd KJlong_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K73
};

static _KLbyte_stringGVKd_4 K73 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 17,
  "long"
};

static _KLsingletonGVKd K74 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJbyte_
};

static _KLsingletonGVKd K75 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJshort_
};

static _KLsymbolGVKd KJshort_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K77
};

static _KLbyte_stringGVKd_5 K77 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "short"
};

static _KLsymbolGVKd KJbyte_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K79
};

static _KLbyte_stringGVKd_4 K79 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 17,
  "byte"
};

static _KLsymbolGVKd KJformat_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K85
};

static _KLsymbolGVKd KJfrom_index_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K84
};

static _KLsymbolGVKd KJto_index_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K83
};

static _KLbyte_stringGVKd_8 K83 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 33,
  "to-index"
};

static _KLbyte_stringGVKd_10 K84 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "from-index"
};

static _KLbyte_stringGVKd_6 K85 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "format"
};

static _KLkeyword_signatureAvaluesGVKi K86 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33818633,
  &K16,
  &K23,
  &K24,
  &K25
};

static _KLsimple_object_vectorGVKd_8 K87 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KJsize_,
  &KJword_,
  &KJformat_,
  &KJhexadecimal_,
  &KJfrom_index_,
  (dylan_value) 1,
  &KJto_index_,
  (dylan_value) 29
};

_KLincremental_generic_functionGVKe Kindexed_addressVenvironment_protocols = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_optional_xep_3,
  &K92,
  (dylan_value) 1,
  &K93,
  &K91,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 25
};

_KLkeyword_methodGVKe Kindexed_addressVenvironment_protocolsMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K98,
  &key_mep_5,
  &Kindexed_addressVenvironment_protocolsMM0I,
  &K99
};

static _KLpairGVKd K91 = {
  &KLpairGVKdW /* wrapper */,
  &Kindexed_addressVenvironment_protocolsMM0,
  &KPempty_listVKi
};

static _KLkeyword_signatureAvaluesGVKi K92 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817613,
  &K94,
  &K95,
  &K96,
  &K97
};

static _KLbyte_stringGVKd_15 K93 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "indexed-address"
};

static _KLsimple_object_vectorGVKd_3 K94 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLserverGVenvironment_protocols,
  &KLaddress_objectGVenvironment_protocols,
  &KLintegerGVKd
};

static _KLsimple_object_vectorGVKd_1 K95 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KJsize_
};

static _KLsimple_object_vectorGVKd_1 K96 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLdata_display_sizeGVenvironment_protocols
};

static _KLsimple_object_vectorGVKd_1 K97 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLaddress_objectGVenvironment_protocols
};

static _KLkeyword_signatureAvaluesGVKi K98 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817613,
  &K100,
  &K95,
  &K96,
  &K97
};

static _KLsimple_object_vectorGVKd_2 K99 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJsize_,
  &KJword_
};

static _KLsimple_object_vectorGVKd_3 K100 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLproject_objectGVenvironment_protocols,
  &KLaddress_objectGVenvironment_protocols,
  &KLintegerGVKd
};

_KLincremental_generic_functionGVKe Kindirect_addressVenvironment_protocols = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K105,
  (dylan_value) 1,
  &K106,
  &K104,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 25
};

_KLsimple_methodGVKe Kindirect_addressVenvironment_protocolsMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K107,
  &Kindirect_addressVenvironment_protocolsMM0I
};

static _KLpairGVKd K104 = {
  &KLpairGVKdW /* wrapper */,
  &Kindirect_addressVenvironment_protocolsMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K105 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K11,
  &K97
};

static _KLbyte_stringGVKd_16 K106 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "indirect-address"
};

static _KLsignatureAvaluesGVKi K107 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K16,
  &K97
};

_KLincremental_generic_functionGVKe Kapplication_object_addressVenvironment_protocols = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K112,
  (dylan_value) 1,
  &K113,
  &K111,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 25
};

_KLsimple_methodGVKe Kapplication_object_addressVenvironment_protocolsMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K117,
  &Kapplication_object_addressVenvironment_protocolsMM0I
};

static _KLpairGVKd K111 = {
  &KLpairGVKdW /* wrapper */,
  &Kapplication_object_addressVenvironment_protocolsMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K112 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K114,
  &K115
};

static _KLbyte_stringGVKd_26 K113 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 105,
  "application-object-address"
};

static _KLsimple_object_vectorGVKd_2 K114 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLserverGVenvironment_protocols,
  &KLapplication_objectGVenvironment_protocols
};

static _KLsimple_object_vectorGVKd_1 K115 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &K116
};

static _KLunionGVKe K116 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K14,
  &KLaddress_objectGVenvironment_protocols
};

static _KLsignatureAvaluesGVKi K117 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K118,
  &K115
};

static _KLsimple_object_vectorGVKd_2 K118 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLproject_objectGVenvironment_protocols,
  &KLapplication_objectGVenvironment_protocols
};

_KLincremental_generic_functionGVKe Kaddress_application_objectVenvironment_protocols = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K123,
  (dylan_value) 1,
  &K124,
  &K122,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 25
};

_KLsimple_methodGVKe Kaddress_application_objectVenvironment_protocolsMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K126,
  &Kaddress_application_objectVenvironment_protocolsMM0I
};

static _KLpairGVKd K122 = {
  &KLpairGVKdW /* wrapper */,
  &Kaddress_application_objectVenvironment_protocolsMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K123 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K11,
  &K125
};

static _KLbyte_stringGVKd_26 K124 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 105,
  "address-application-object"
};

static _KLsimple_object_vectorGVKd_1 K125 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLapplication_objectGVenvironment_protocols
};

static _KLsignatureAvaluesGVKi K126 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K16,
  &K125
};

_KLincremental_generic_functionGVKe Kstring_to_addressVenvironment_protocols = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_optional_xep_2,
  &K131,
  (dylan_value) 1,
  &K132,
  &K130,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 25
};

_KLkeyword_methodGVKe Kstring_to_addressVenvironment_protocolsMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K136,
  &key_mep_4,
  &Kstring_to_addressVenvironment_protocolsMM0I,
  &K137
};

static _KLpairGVKd K130 = {
  &KLpairGVKdW /* wrapper */,
  &Kstring_to_addressVenvironment_protocolsMM0,
  &KPempty_listVKi
};

static _KLkeyword_signatureAvaluesGVKi K131 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817609,
  &K133,
  &K134,
  &K135,
  &K97
};

static _KLbyte_stringGVKd_17 K132 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "string-to-address"
};

static _KLsimple_object_vectorGVKd_2 K133 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLserverGVenvironment_protocols,
  &KLstringGVKd
};

static _KLsimple_object_vectorGVKd_1 K134 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KJformat_
};

static _KLsimple_object_vectorGVKd_1 K135 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLaddress_display_formatGVenvironment_protocols
};

static _KLkeyword_signatureAvaluesGVKi K136 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817609,
  &K138,
  &K134,
  &K135,
  &K97
};

static _KLsimple_object_vectorGVKd_2 K137 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJformat_,
  &KJhexadecimal_
};

static _KLsimple_object_vectorGVKd_2 K138 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLproject_objectGVenvironment_protocols,
  &KLstringGVKd
};

_KLincremental_generic_functionGVKe Kaddress_to_stringVenvironment_protocols = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_optional_xep_2,
  &K143,
  &KPfalseVKi,
  &K144,
  &K142,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 25
};

_KLkeyword_methodGVKe Kaddress_to_stringVenvironment_protocolsMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K145,
  &key_mep_4,
  &Kaddress_to_stringVenvironment_protocolsMM0I,
  &K137
};

static _KLpairGVKd K142 = {
  &KLpairGVKdW /* wrapper */,
  &Kaddress_to_stringVenvironment_protocolsMM0,
  &KPempty_listVKi
};

static _KLkeyword_signatureAvaluesGVKi K143 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817609,
  &K11,
  &K134,
  &K135,
  &KDsignature_LstringG_typesVKi
};

static _KLbyte_stringGVKd_17 K144 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "address-to-string"
};

static _KLkeyword_signatureAvaluesGVKi K145 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817609,
  &K16,
  &K134,
  &K135,
  &KDsignature_LstringG_typesVKi
};

static _KLimplementation_classGVKe K146 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 477102089,
  &KLaddress_objectGVenvironment_protocols,
  &KLaddress_objectGVenvironment_protocolsW,
  &KPfalseVKi,
  &K147,
  (dylan_value) -3,
  &KLaddress_objectGZ32ZconstructorVenvironment_protocolsMM0,
  &K125,
  &K149,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K147,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_2 K147 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KPprimitive_nameVenvironment_protocolsHLenvironment_objectG,
  &Kapplication_object_proxyVenvironment_protocolsHLapplication_objectG
};

_KLkeyword_methodGVKe KLaddress_objectGZ32ZconstructorVenvironment_protocolsMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K150,
  &key_mep_2,
  &KLaddress_objectGZ32ZconstructorVenvironment_protocolsMM0I,
  &K151
};

static _KLsimple_object_vectorGVKd_6 K149 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLenvironment_objectGVenvironment_protocols,
  &KLapplication_objectGVenvironment_protocols,
  &KLaddress_objectGVenvironment_protocols,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K150 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K152,
  &KDsignature_LobjectG_typesVKi,
  &K97
};

static _KLsimple_object_vectorGVKd_4 K151 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJname_,
  &KPfalseVKi,
  &KJapplication_object_proxy_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_2 K152 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJname_,
  &KJapplication_object_proxy_
};

static _KLbyte_stringGVKd_16 K153 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "<address-object>"
};

static _KLunionGVKe K154 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K14,
  &KLstringGVKd
};

static _KLpairGVKd K155 = {
  &KLpairGVKdW /* wrapper */,
  &KinitializeVKdMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K156 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 97,
  "application-object-proxy"
};

/* Code */

dylan_value KLaddress_objectGZ32ZconstructorVenvironment_protocolsMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_Pprimitive_name_, dylan_value Uunique_application_object_proxy_) {
  dylan_value T5;
  dylan_value Uunique_Pprimitive_nameF6;
  dylan_value T7_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:58
  T5 = primitive_object_allocate_filled(3,&KLaddress_objectGVenvironment_protocolsW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_Pprimitive_name_, &K154);
  Uunique_Pprimitive_nameF6 = Uunique_Pprimitive_name_;
  SLOT_VALUE_SETTER(Uunique_Pprimitive_nameF6, T5, 0);
  SLOT_VALUE_SETTER(Uunique_application_object_proxy_, T5, 1);
  MEP_APPLY2(&KinitializeVKdMenvironment_protocolsM0, &K155, T5, init_args_);
  T7_0 = T5;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:58
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value Kaddress_read_application_objectVenvironment_protocolsMM0I (dylan_value project_, dylan_value addr_) {
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6;
  dylan_value server_;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:311
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:314
  server_ = Kchoose_serverVenvironment_protocolsMM0I(project_, addr_, &KPempty_vectorVKi, &KPfalseVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:315
  if (server_ != &KPfalseVKi) {
    T6 = server_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:315
    CONGRUENT_CALL_PROLOG(&Kaddress_read_application_objectVenvironment_protocols, 2);
    T3_0 = CONGRUENT_CALL2(T6, addr_);
    T5_0 = T3_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:315
    T4_0 = &KPfalseVKi;
    T5_0 = T4_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:315
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:311
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value Kaddress_read_memory_contentsVenvironment_protocolsMM0I (dylan_value project_, dylan_value addr_, dylan_value Urest_, dylan_value size_, dylan_value format_, dylan_value from_index_, dylan_value to_index_) {
  dylan_value sizeF8;
  dylan_value formatF9;
  dylan_value from_indexF10;
  dylan_value to_indexF11;
  dylan_value T12_0;
  dylan_value T12_1;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value server_;
  _KLsimple_object_vectorGVKd_8 T16 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value T18_0;
  dylan_value T18_1;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:278
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:278
  primitive_type_check(size_, &KLdata_display_sizeGVenvironment_protocols);
  sizeF8 = size_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:278
  primitive_type_check(format_, &KLdata_display_formatGVenvironment_protocols);
  formatF9 = format_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:278
  primitive_type_check(from_index_, &KLintegerGVKd);
  from_indexF10 = from_index_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:278
  primitive_type_check(to_index_, &KLintegerGVKd);
  to_indexF11 = to_index_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:285
  server_ = Kchoose_serverVenvironment_protocolsMM0I(project_, addr_, &KPempty_vectorVKi, &KPfalseVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:286
  if (server_ != &KPfalseVKi) {
    T14 = server_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:287
    T16.vector_element_[0] = IKJformat_;
    T16.vector_element_[1] = formatF9;
    T16.vector_element_[2] = IKJfrom_index_;
    T16.vector_element_[3] = from_indexF10;
    T16.vector_element_[4] = IKJto_index_;
    T16.vector_element_[5] = to_indexF11;
    T16.vector_element_[6] = &KJsize_;
    T16.vector_element_[7] = sizeF8;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:287
    CONGRUENT_CALL_PROLOG(&Kaddress_read_memory_contentsVenvironment_protocols, 3);
    T12_0 = CONGRUENT_CALL3(T14, addr_, &T16);
    T12_1 = MV_GET_ELT(1);
    T13_0 = T12_0;
    T13_1 = T12_1;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:293
    T17_0 = &KPempty_vectorVKi;
    T17_1 = Dinvalid_address_objectVenvironment_protocols;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:293
    T18_0 = T17_0;
    T18_1 = T17_1;
    {
      MV_CHECK_TYPE_PROLOGUE(T17_0);
      primitive_type_check(T18_0, &KLobjectGVKd);
      primitive_type_check(T18_1, &KLaddress_objectGVenvironment_protocols);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T13_0 = T18_0;
    T13_1 = T18_1;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:286
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:278
  MV_SET_ELT(1, T13_1);
  MV_SET_COUNT(2);
  return(T13_0);
}

dylan_value Kindexed_addressVenvironment_protocolsMM0I (dylan_value project_, dylan_value addr_, dylan_value i_, dylan_value Urest_, dylan_value size_) {
  dylan_value sizeF6;
  dylan_value T7;
  dylan_value Utmp_;
  dylan_value T9_0;
  dylan_value T10_0;
  dylan_value T11_0;
  dylan_value T12;
  dylan_value T13;
  dylan_value server_;
  _KLsimple_object_vectorGVKd_2 T15 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T16_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:243
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:243
  primitive_type_check(size_, &KLdata_display_sizeGVenvironment_protocols);
  sizeF6 = size_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:247
  server_ = Kchoose_serverVenvironment_protocolsMM0I(project_, addr_, &KPempty_vectorVKi, &KPfalseVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:248
  if (server_ != &KPfalseVKi) {
    T12 = server_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:248
    T15.vector_element_[0] = &KJsize_;
    T15.vector_element_[1] = sizeF6;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:248
    CONGRUENT_CALL_PROLOG(&Kindexed_addressVenvironment_protocols, 4);
    T7 = CONGRUENT_CALL4(T12, addr_, i_, &T15);
    Utmp_ = T7;
  } else {
    Utmp_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:248
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:248
  if (Utmp_ != &KPfalseVKi) {
    T13 = Utmp_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:248
    T9_0 = T13;
    T11_0 = T9_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:249
    T10_0 = Dinvalid_address_objectVenvironment_protocols;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:249
    T16_0 = T10_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T10_0);
      primitive_type_check(T16_0, &KLaddress_objectGVenvironment_protocols);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T11_0 = T16_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:248
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:243
  MV_SET_COUNT(1);
  return(T11_0);
}

dylan_value Kindirect_addressVenvironment_protocolsMM0I (dylan_value project_, dylan_value addr_) {
  dylan_value T3;
  dylan_value Utmp_;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8;
  dylan_value T9;
  dylan_value server_;
  dylan_value T11_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:218
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:221
  server_ = Kchoose_serverVenvironment_protocolsMM0I(project_, addr_, &KPempty_vectorVKi, &KPfalseVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:222
  if (server_ != &KPfalseVKi) {
    T8 = server_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:222
    CONGRUENT_CALL_PROLOG(&Kindirect_addressVenvironment_protocols, 2);
    T3 = CONGRUENT_CALL2(T8, addr_);
    Utmp_ = T3;
  } else {
    Utmp_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:222
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:222
  if (Utmp_ != &KPfalseVKi) {
    T9 = Utmp_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:222
    T5_0 = T9;
    T7_0 = T5_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:222
    T6_0 = Dinvalid_address_objectVenvironment_protocols;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:222
    T11_0 = T6_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T6_0);
      primitive_type_check(T11_0, &KLaddress_objectGVenvironment_protocols);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T7_0 = T11_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:222
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:218
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value Kapplication_object_addressVenvironment_protocolsMM0I (dylan_value project_, dylan_value object_) {
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6;
  dylan_value T7;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:195
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:198
  T7 = SLOT_VALUE_INITD(project_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:199
  if (T7 != &KPfalseVKi) {
    T6 = T7;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:199
    CONGRUENT_CALL_PROLOG(&Kapplication_object_addressVenvironment_protocols, 2);
    T3_0 = CONGRUENT_CALL2(T6, object_);
    T5_0 = T3_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:199
    T4_0 = &KPfalseVKi;
    T5_0 = T4_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:199
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:195
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value Kaddress_application_objectVenvironment_protocolsMM0I (dylan_value project_, dylan_value addr_) {
  dylan_value T3;
  dylan_value Utmp_;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8;
  dylan_value T9;
  dylan_value server_;
  dylan_value T11_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:156
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:159
  server_ = Kchoose_serverVenvironment_protocolsMM0I(project_, addr_, &KPempty_vectorVKi, &KPfalseVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:160
  if (server_ != &KPfalseVKi) {
    T8 = server_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:160
    CONGRUENT_CALL_PROLOG(&Kaddress_application_objectVenvironment_protocols, 2);
    T3 = CONGRUENT_CALL2(T8, addr_);
    Utmp_ = T3;
  } else {
    Utmp_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:160
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:160
  if (Utmp_ != &KPfalseVKi) {
    T9 = Utmp_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:160
    T5_0 = T9;
    T7_0 = T5_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:160
    T6_0 = Dinvalid_address_objectVenvironment_protocols;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:160
    T11_0 = T6_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T6_0);
      primitive_type_check(T11_0, &KLapplication_objectGVenvironment_protocols);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T7_0 = T11_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:160
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:156
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value Kstring_to_addressVenvironment_protocolsMM0I (dylan_value project_, dylan_value str_, dylan_value Urest_, dylan_value format_) {
  dylan_value formatF5;
  dylan_value T6;
  dylan_value Utmp_;
  dylan_value T8_0;
  dylan_value T9_0;
  dylan_value T10_0;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  _KLsimple_object_vectorGVKd_2 T14 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T15_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:125
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:125
  primitive_type_check(format_, &KLaddress_display_formatGVenvironment_protocols);
  formatF5 = format_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:131
  T13 = SLOT_VALUE_INITD(project_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:132
  if (T13 != &KPfalseVKi) {
    T11 = T13;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:132
    T14.vector_element_[0] = IKJformat_;
    T14.vector_element_[1] = formatF5;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:132
    CONGRUENT_CALL_PROLOG(&Kstring_to_addressVenvironment_protocols, 3);
    T6 = CONGRUENT_CALL3(T11, str_, &T14);
    Utmp_ = T6;
  } else {
    Utmp_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:132
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:132
  if (Utmp_ != &KPfalseVKi) {
    T12 = Utmp_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:132
    T8_0 = T12;
    T10_0 = T8_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:133
    T9_0 = Dinvalid_address_objectVenvironment_protocols;
    // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:133
    T15_0 = T9_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T9_0);
      primitive_type_check(T15_0, &KLaddress_objectGVenvironment_protocols);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T10_0 = T15_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:132
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:125
  MV_SET_COUNT(1);
  return(T10_0);
}

dylan_value Kaddress_to_stringVenvironment_protocolsMM0I (dylan_value project_, dylan_value address_, dylan_value Urest_, dylan_value format_) {
  dylan_value formatF5;
  dylan_value T6_0;
  dylan_value server_;

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:93
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:93
  primitive_type_check(format_, &KLaddress_display_formatGVenvironment_protocols);
  formatF5 = format_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:97
  server_ = Kchoose_serverVenvironment_protocolsMM0I(project_, address_, &KPempty_vectorVKi, &KPfalseVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:98
  T6_0 = CALL4(&Kaddress_to_stringVenvironment_protocols, server_, address_, IKJformat_, formatF5);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:93
  MV_SET_COUNT(1);
  return(T6_0);
}


/* SYSTEM INIT CODE */

void _Init_environment_protocols__X_address_objects_for_system () {
  extern dylan_value KPresolve_symbolVKiI(dylan_value);
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJapplication_object_proxy_);
    if (T0 != &KJapplication_object_proxy_) {
      primitive_repeated_slot_value_setter(T0, &K152, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K151, 1, 2);
      IKJapplication_object_proxy_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdouble_float_);
    if (T0 != &KJdouble_float_) {
      primitive_slot_value_setter(T0, &K31, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsingle_float_);
    if (T0 != &KJsingle_float_) {
      primitive_slot_value_setter(T0, &K35, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJunicode_character_);
    if (T0 != &KJunicode_character_) {
      primitive_slot_value_setter(T0, &K39, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJbyte_character_);
    if (T0 != &KJbyte_character_) {
      primitive_slot_value_setter(T0, &K38, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJhexadecimal_);
    if (T0 != &KJhexadecimal_) {
      primitive_repeated_slot_value_setter(T0, &K137, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K87, 1, 3);
      primitive_slot_value_setter(T0, &K45, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdecimal_);
    if (T0 != &KJdecimal_) {
      primitive_slot_value_setter(T0, &K49, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJoctal_);
    if (T0 != &KJoctal_) {
      primitive_slot_value_setter(T0, &K48, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJword_);
    if (T0 != &KJword_) {
      primitive_repeated_slot_value_setter(T0, &K99, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K87, 1, 1);
      primitive_slot_value_setter(T0, &K55, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdouble_);
    if (T0 != &KJdouble_) {
      primitive_slot_value_setter(T0, &K59, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJfloat_);
    if (T0 != &KJfloat_) {
      primitive_slot_value_setter(T0, &K63, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJhyper_);
    if (T0 != &KJhyper_) {
      primitive_slot_value_setter(T0, &K67, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJlong_);
    if (T0 != &KJlong_) {
      primitive_slot_value_setter(T0, &K71, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJshort_);
    if (T0 != &KJshort_) {
      primitive_slot_value_setter(T0, &K75, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJbyte_);
    if (T0 != &KJbyte_) {
      primitive_slot_value_setter(T0, &K74, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJformat_);
    if (T0 != &KJformat_) {
      IKJformat_ = T0;
      primitive_repeated_slot_value_setter(T0, &K137, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K134, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K87, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K23, 1, 1);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJfrom_index_);
    if (T0 != &KJfrom_index_) {
      primitive_repeated_slot_value_setter(T0, &K87, 1, 4);
      IKJfrom_index_ = T0;
      primitive_repeated_slot_value_setter(T0, &K23, 1, 2);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJto_index_);
    if (T0 != &KJto_index_) {
      primitive_repeated_slot_value_setter(T0, &K87, 1, 6);
      IKJto_index_ = T0;
      primitive_repeated_slot_value_setter(T0, &K23, 1, 3);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_environment_protocols__X_address_objects_for_user () {
{
  dylan_value T0;
  dylan_value T1;
  dylan_value T2_0;
  _KLsimple_object_vectorGVKd_2 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:68
  T3.vector_element_[0] = IKJapplication_object_proxy_;
  T3.vector_element_[1] = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:68
  T2_0 = KLaddress_objectGZ32ZconstructorVenvironment_protocolsMM0I(&KLaddress_objectGVenvironment_protocols, &T3, &KPfalseVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:68
  T1 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:67
  Dinvalid_address_objectVenvironment_protocols = T1;
  // /home/bruce/Development/dylan/opendylan/sources/environment/protocols/address-objects.dylan:67
  T0 = &KPfalseVKi;
  goto I0;
}
I0:

  return;
}


/* eof */
