/* Generated by Nim Compiler v0.20.0 */
/*   (c) 2019 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w;
typedef struct tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA;
typedef struct tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA;
typedef struct RootObj RootObj;
typedef struct tySequence_Ef05srmQTDulnBdXR4Ja6Q tySequence_Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tySequence_MvZmat48bhe9b6x9aUD58D5Q tySequence_MvZmat48bhe9b6x9aUD58D5Q;
typedef struct tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA;
typedef struct tySequence_DXS6mEo7PVUFJkirsQ9bNQA tySequence_DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA;
typedef struct tySequence_DfgJFJEYoj4YBAHLZPl5lQ tySequence_DfgJFJEYoj4YBAHLZPl5lQ;
typedef struct tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA;
typedef struct tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct tyTuple_zwpS6d6iewrdlBSTNFoyVA tyTuple_zwpS6d6iewrdlBSTNFoyVA;
typedef struct tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw;
typedef struct tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q;
typedef struct tySequence_Mh9agqM29bm9aP5AUL1x7dZGA tySequence_Mh9agqM29bm9aP5AUL1x7dZGA;
typedef struct tyObject_TIdPair_AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair_AdFnD2YdADPeuJbG2YJ4vg;
typedef struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack_7fytPA5bBsob6See21YMRA tyObject_GcStack_7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyTuple_ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_TIdNodeTable_UWAp0mDjKLG1NEwUafSRhA tyObject_TIdNodeTable_UWAp0mDjKLG1NEwUafSRhA;
typedef struct tySequence_K8W16aeLg4OWxniQxtguMw tySequence_K8W16aeLg4OWxniQxtguMw;
typedef struct tyObject_TIdNodePair_fUuF71MXGqn0RZORg9clE3w tyObject_TIdNodePair_fUuF71MXGqn0RZORg9clE3w;
typedef struct tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw;
typedef struct tyObject_Target_9abOl5DLX8suLujOaHSvGzw tyObject_Target_9abOl5DLX8suLujOaHSvGzw;
typedef struct tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tySequence_tNFrR3kRuS1FSwuiLGoSSA tySequence_tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence_7lEisrXlQEzwtUKW5pzRCw tySequence_7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence_Zi9cGbCWofbtABoHJ5RbLNQ tySequence_Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet_CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet_CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence_4eRCaZmrYLLw2k30GPTiMw tySequence_4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence_sM4lkSb7zS6F7OVMvW9cffQ tySequence_sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence_pK3qSsBZwdXd6qyUMkd5Jw tySequence_pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType__bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType__bkMuTTb2G70XfpzAiyNrnQ;
typedef struct tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A;
typedef struct tySequence_vhmj4KkIKPinmRXny9c2Q6Q tySequence_vhmj4KkIKPinmRXny9c2Q6Q;
typedef struct tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg;
typedef struct tyTuple_z822nu9bFF1AlQnLrHjdwpA tyTuple_z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple_xYhUhS7X82rKTqbT9bRfCnw tyTuple_xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw;
typedef struct tyTuple_QeWl6B6ffS4pU6WWrtcrDw tyTuple_QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg;
typedef NU8 tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw;
typedef NU8 tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc_ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc_ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw;
typedef NU8 tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw;
typedef NU8 tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg;
struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
};
struct {NF floatVal;
};
struct {NimStringDesc* strVal;
};
struct {tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
};
struct {tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* ident;
};
struct {tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
};
};
NimStringDesc* comment;
};
typedef NU8 tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw[21];
struct RootObj {
TNimType* m_type;
};
struct tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
typedef NU8 tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw;
typedef tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* tyArray_PsPyPA45AAjHu4uDGHNjTg[4];
typedef NU8 tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc_JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc_JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence_Ef05srmQTDulnBdXR4Ja6Q* sons;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
tyArray_PsPyPA45AAjHu4uDGHNjTg attachedOps;
tySequence_MvZmat48bhe9b6x9aUD58D5Q* methods;
NI64 size;
NI16 align;
NI16 lockLevel;
tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typeInst;
NI uniqueId;
};
typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence_DfgJFJEYoj4YBAHLZPl5lQ* data;
};
typedef NU16 tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg;
typedef NU64 tySet_tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU32 tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg;
struct tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tySequence_Ef05srmQTDulnBdXR4Ja6Q* typeInstCache;
};
struct {tySequence_DXS6mEo7PVUFJkirsQ9bNQA* procInstCache;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* gcUnsafetyReason;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* transformedBody;
};
struct {tySequence_DXS6mEo7PVUFJkirsQ9bNQA* usedGenerics;
tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA tab;
};
struct {tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* guard;
NI bitsize;
};
};
tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* name;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner;
tySet_tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* constraint;
};
struct tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA {
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
tySequence_Ef05srmQTDulnBdXR4Ja6Q* concreteTypes;
NI compilesId;
};
typedef NU8 tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA;
typedef NU8 tyEnum_TLibKind_9b8v60kso59bBaw9cp8B9a9apKQ;
struct tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA {
tyEnum_TLibKind_9b8v60kso59bBaw9cp8B9a9apKQ kind;
NIM_BOOL generated;
NIM_BOOL isOverriden;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* path;
};
struct tyTuple_zwpS6d6iewrdlBSTNFoyVA {
NI Field0;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* Field1;
};
struct tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw {
NI depthLevel;
tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA symbols;
tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw* parent;
};
struct tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q {
NI counter;
tySequence_Mh9agqM29bm9aP5AUL1x7dZGA* data;
};
struct tyObject_TIdPair_AdFnD2YdADPeuJbG2YJ4vg {
tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA* key;
RootObj* val;
};
typedef NimStringDesc* tyArray_t1sx1FVcaX4m77XqENedIQ[10];
typedef NU64 tySet_tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag;
struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack_7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ* tyArray_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray_BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* tyArray_N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray_N1u1nqOgmuJN9cSZrnMHgOQ tyArray_B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw* tyArray_lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA {
tyArray_lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* tyArray_0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw {
tyArray_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyArray_LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray_LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray_SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray_BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray_B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack_7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA {
  RootObj Sup;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* left;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* right;
NI L;
NimStringDesc* data;
};
struct tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
struct tyObject_TIdNodeTable_UWAp0mDjKLG1NEwUafSRhA {
NI counter;
tySequence_K8W16aeLg4OWxniQxtguMw* data;
};
struct tyObject_TIdNodePair_fUuF71MXGqn0RZORg9clE3w {
tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA* key;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val;
};
typedef NU8 tyEnum_TSystemCPU_XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS_s7Mlr1t66SUqP6BKJMXLaQ;
struct tyObject_Target_9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU_XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU_XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS_s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS_s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU64 tySet_tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw;
typedef NU8 tySet_tyEnum_TErrorOutput_fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA {
tySequence_7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput_fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence_tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence_Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_TCommands_VH3ghgQVwLSg3krOAoXigw;
typedef NU8 tyEnum_TGCMode_tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_SymbolFilesOption_gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet_CD8Dpv0WGmASelVaNSo6zg {
tySequence_4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU16 tySet_tyEnum_Feature_01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tyEnum_IdeCmd_1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tyEnum_TSystemCC_1eWBJUonHMOnlBwsOvpFmA;
typedef NU64 tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType__bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc_QYEVXrYc9beQ379crS3rzqRA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc_Q1W5D85O9cNu3iq9cZ9alS9aWA;
typedef NU8 tyEnum_Severity_x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity_x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc_22mgIiTBBoqNe1T0FSw9ahQ;
struct tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw {
tyObject_Target_9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A m;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_TCommands_VH3ghgQVwLSg3krOAoXigw cmd;
tyEnum_TGCMode_tkz389aDYNd8ykeZszCuBSw selectedGC;
NI verbosity;
NI numberOfProcessors;
NimStringDesc* evalExpr;
NF lastCmdTime;
tyEnum_SymbolFilesOption_gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
tyObject_HashSet_CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature_01UoAKYz1MxZiuG1X2VhNQ features;
NimStringDesc* arguments;
tyEnum_IdeCmd_1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC_1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA enableNotes;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA disableNotes;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA foreignPackageNotes;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA notes;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
NI32 projectMainIdx;
NimStringDesc* command;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NIM_BOOL keepComments;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* ccompilerpath;
tySequence_pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc_QYEVXrYc9beQ379crS3rzqRA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc_Q1W5D85O9cNu3iq9cZ9alS9aWA writelnHook;
tyProc_22mgIiTBBoqNe1T0FSw9ahQ structuredErrorHook;
NimStringDesc* cppCustomNamespace;
};
typedef NU8 tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw;
typedef NimStringDesc* tyArray_JXkBzVsE9bvmcpuZvrueLVg[4];
typedef NU32 tySet_tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw;
struct tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A {
NI counter;
tySequence_vhmj4KkIKPinmRXny9c2Q6Q* data;
};
struct tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg {
NI h;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* key;
NI val;
};
struct tyTuple_z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple_xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyfile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyTuple_QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef NU8 tySet_tyEnum_CfileFlag_Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag_Vl9c9ayddDuXiWtnWTsEYGsA flags;
};
struct tySequence_Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence_DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct tySequence_DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* data[SEQ_DECL_SIZE];
};
struct tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence_MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple_zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};
struct tySequence_Mh9agqM29bm9aP5AUL1x7dZGA {
  TGenericSeq Sup;
  tyObject_TIdPair_AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
};
struct tySequence_K8W16aeLg4OWxniQxtguMw {
  TGenericSeq Sup;
  tyObject_TIdNodePair_fUuF71MXGqn0RZORg9clE3w data[SEQ_DECL_SIZE];
};
struct tySequence_vhmj4KkIKPinmRXny9c2Q6Q {
  TGenericSeq Sup;
  tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg data[SEQ_DECL_SIZE];
};
struct tySequence_tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple_z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence_7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple_xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence_Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence_4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple_QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence_sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence_pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
N_NOINLINE(void, raiseFieldError)(NimStringDesc* f);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence_Ef05srmQTDulnBdXR4Ja6Q)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef_Y32tFilzS9adEEksgrCsOzQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_DXS6mEo7PVUFJkirsQ9bNQA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_DfgJFJEYoj4YBAHLZPl5lQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef_EL9cZTJI9a9cmSIbGnseCuc9bg)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef_K9bspPztfoWajecnwjyHuYQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef_fKfcLzXYiz5jNu3NH3Tv8Q)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_MvZmat48bhe9b6x9aUD58D5Q)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef_AgIT5feFR9a9aoVjv9cx2rOtg)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef_N89ckikRqMir57209a3tEeqw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence_Mh9agqM29bm9aP5AUL1x7dZGA)(void* p, NI op);
N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ**, X5BX5D__RNblfFqyHCLnrLulG0Us9bQsystem)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ** s, NI sLen_0, NI i);
static N_INLINE(NI, subInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw**, X5BX5D__f6j2Rr9bpYzKO9bs9a65jNGYQsystem)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef_AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(void, decRef_AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT_Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, mergeLoc_3y7Rn2QCRcBO28D5ulHx6w)(tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA* a, tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA b);
N_LIB_PRIVATE N_NIMCALL(void, newSons_UKZtv7j9a9bCciLd0w3xIW1Q)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* father, NI length);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(NI, sonsLen_eY4T6kWJb9a9aTWUufrTLjXg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
static N_INLINE(NI, addInt)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newNode_PMZ27S9ai4FB3gXOMDXvwsQ)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy__qqGjvmJyZfU1z9csFLu5xLA)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* dest);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_NIMCALL(void, FieldDiscriminantCheck)(NI oldDiscVal, NI newDiscVal, TNimNode** a, NI L);
static N_INLINE(NI, getID_82csy2YSddf27azS9awAkVgidgen)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, newType_SNqpa06pdVCLFFBR28119aQ)(tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner);
N_LIB_PRIVATE N_NIMCALL(void, assignType_RDstL9c8H9bSHUphDz0iB0hg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* dest, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* src);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType_aVxWxXLmf103vwE8uZ9cXRw)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tySet_tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kinds);
static N_INLINE(NIM_BOOL, isGCedMem_nPImuPGZIdcrAfCNyf4oxAast)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, propagateToOwner_KHgxvzuOk6nXefcrhhP9cWw)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* owner, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* elem);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, newSym_IXbidcxhXTQGZY9abN63Cxg)(tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* name, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options);
N_LIB_PRIVATE N_NIMCALL(void, copyStrTable_j9aaCGqD2f9bSLzpYxKfYCiA)(tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA* dest, tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA src);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
static N_INLINE(NI, safeLen_P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NI, len_P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, findUnresolvedStatic_UPSW0jLTX5qJL51YMUAHgw_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_NOINLINE(void, chckNil)(void* p);
N_NIMCALL(void, genericReset)(void* dest, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, initStrTable_2n9b6ELeZfbbP5wqNYm7VyA)(tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA* x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, copyType_4O4aYoscFPo2FRSh4rP9ayg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner, NIM_BOOL keepId);
N_LIB_PRIVATE N_NIMCALL(NI, sonsLen_zOB1gNtXypybIzLxxB9cyWQ)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(void, nimGCunrefRC1)(void* p);
N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, copyTree_Dsjo9bte8vGxzhtcSrsTyiQ_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newNodeI_vokyXY9cZDshCSxFKChhG9bg)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newIntNode_zcNs9blLGYB6i9aGKob9bpzRw)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
N_LIB_PRIVATE N_NIMCALL(NI, len_eY4T6kWJb9a9aTWUufrTLjXg_2)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
N_LIB_PRIVATE N_NIMCALL(tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*, at__l5EwVkovx8Ofyb2pm635QA)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw** a, NI aLen_0);
static N_NIMCALL(void, Marker_tySequence_K8W16aeLg4OWxniQxtguMw)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseRecoverableError_5jd5IdwI3N06CaI2zjEQsQ)(NimStringDesc* msg);
N_NIMCALL(NI64, chckRange64)(NI64 i, NI64 a, NI64 b);
N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_LIB_PRIVATE N_NIMCALL(void, rawAddSon_9a8CdZqChTyqzq5bpSL3TzA)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* father, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* son);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem_Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, addSon_P8dDSotTW25BkfbyspojGg_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newSymNode_I2DV2TmmOysY1ZEGW19b9bRg)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNode_3PkUvehQ5keciM9cue9ayMTw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kinds);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubnodeWith_SQs4BrslojahuO1o7NDT4Q)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind);
N_LIB_PRIVATE N_NIMCALL(void, initIdTable_Z7fF0Wc4DSB4kCiKZ8rGfQ)(tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q* x);
static N_NIMCALL(void, Marker_tySequence_vhmj4KkIKPinmRXny9c2Q6Q)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, lastSon_UPSW0jLTX5qJL51YMUAHgw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
NIM_BOOL ggDebug_b0PqVRvVBKrlcFJqGWVTyQ;
TNimType NTI_cNCW9acsSznmEccl1fgQwkw_;
TNimType NTI_K9ay6LWMat9bUiT9bIbMxpDHw_;
TNimType NTI_9a3YiReNVD0IJHWFKgXRe9ag_;
TNimType NTI_x2m5g1NpbmDig4wLT3Ylhw_;
TNimType NTI_G4E4Gxe7oI2Cm03rkiOzQw_;
TNimType NTI_jyh9acXHkhZANSSvPIY7ZLg_;
extern TNimType NTI_iIXPrEsiKHiioLj0HSkQhA_;
TNimType NTI_v9ae2Dpu13OW2ZJ2U9bNMd9cQ_;
TNimType NTI_yjAJ8w0h1PBaSwSGJ3P7IA_;
TNimType NTI_TUnU4oefCIvAMjkVjD9cuBA_;
TNimType NTI_Ef05srmQTDulnBdXR4Ja6Q_;
TNimType NTI_bROa11lyF5vxEN9aYNbHmhw_;
extern TNimType NTI_WGx4rAexNXnczy1Avn646Q_;
TNimType NTI_Lj66phhshW0KaYhwBUJJ3Q_;
extern TNimType NTI_Aav8dQoMlCFnZRxA0IhTHQ_;
extern TNimType NTI_w9bl9a1ul9ctRJWiMl9cNnIMvg_;
extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg_;
TNimType NTI_JpsEh5i1AcKChGYbg7aV4w_;
TNimType NTI_5LqgVn6Tq9ainQRK7TQAQxA_;
extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA_;
TNimType NTI_Y32tFilzS9adEEksgrCsOzQ_;
TNimType NTI_DXS6mEo7PVUFJkirsQ9bNQA_;
TNimType NTI_f07aOS3dr28kGa5wcE29aFA_;
TNimType NTI_DfgJFJEYoj4YBAHLZPl5lQ_;
TNimType NTI_shZhZOdbVC5nnFvcXQAImg_;
extern TNimType NTI_B0xRsLi0eK4raPu9bd2tkcA_;
TNimType NTI_h9a2sdtQFa6zibBX41u5eAQ_;
extern TNimType NTI_7MnKRybmCNh5j9bDRLMkxLw_;
TNimType NTI_EtHNvCB0bgfu9bFjzx9cb6aA_;
TNimType NTI_O7PRFZKuiBBWbku09cayVBg_;
TNimType NTI_JK9cKMX3XnqHaUky9b6gkGEw_;
TNimType NTI_o2bqJgR4ceIupnUSpxiudA_;
TNimType NTI_yChkHmjOkttAUPxHrKvWAA_;
extern TNimType NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_;
TNimType NTI_NBMxlJ6g3utqUlplqTTHkA_;
TNimType NTI_9b8v60kso59bBaw9cp8B9a9apKQ_;
extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ_;
TNimType NTI_EL9cZTJI9a9cmSIbGnseCuc9bg_;
TNimType NTI_K9bspPztfoWajecnwjyHuYQ_;
TNimType NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_;
TNimType NTI_fKfcLzXYiz5jNu3NH3Tv8Q_;
TNimType NTI_PsPyPA45AAjHu4uDGHNjTg_;
TNimType NTI_zwpS6d6iewrdlBSTNFoyVA_;
TNimType NTI_MvZmat48bhe9b6x9aUD58D5Q_;
extern TNimType NTI_kDPg4wXyR8DDyA0MeEjIsw_;
TNimType NTI_AgIT5feFR9a9aoVjv9cx2rOtg_;
TNimType NTI_1cQRXW6aAknk7ywAwjH3nw_;
TNimType NTI_N89ckikRqMir57209a3tEeqw_;
TNimType NTI_9aiv9bp2t5icFNINcg9c4xi1Q_;
TNimType NTI_AdFnD2YdADPeuJbG2YJ4vg_;
extern TNimType NTI_eH2Hxsu3PVPvJHXo2xTrZw_;
extern TNimType NTI_0vJvi4uHbxjbxlkkX7P1EA_;
TNimType NTI_Mh9agqM29bm9aP5AUL1x7dZGA_;
extern tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
extern TNimNode* NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[162];
extern NI gFrontEndId_gyRrMPnY7JyC6tAu9bCfGng;
extern TNimNode* NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[27];
TNimType NTI_uyBDtVkS7CL1Bm1j1dvmcw_;
TNimType NTI_UWAp0mDjKLG1NEwUafSRhA_;
TNimType NTI_fUuF71MXGqn0RZORg9clE3w_;
TNimType NTI_K8W16aeLg4OWxniQxtguMw_;
TNimType NTI_wN7B39cKxLpMkvKNm9bduZ0A_;
TNimType NTI_EZfI4tFqtDSTQys2UInNjg_;
TNimType NTI_vhmj4KkIKPinmRXny9c2Q6Q_;
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_EnH1I9cGkGYbf9a1NwhuXDPg_20 = {
0xEC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_21, "sons", 4);
TNimNode* NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[162];
TNimNode* NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[27];
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_56, "stdcall", 7);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_57, "cdecl", 5);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_58, "safecall", 8);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_59, "syscall", 7);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_60, "inline", 6);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_61, "noinline", 8);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_62, "fastcall", 8);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_63, "closure", 7);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_64, "noconv", 6);
NIM_CONST tyArray_t1sx1FVcaX4m77XqENedIQ CallingConvToStr_oBp2P4atsy9a7A9avgprVSeg = {((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_56),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_57),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_58),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_59),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_60),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_61),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_62),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_63),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_64)}
;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_65, "<unspecified>", 13);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_66, "<unknown>", 9);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_EnH1I9cGkGYbf9a1NwhuXDPg_70 = {
0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_71, "intVal", 6);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_EnH1I9cGkGYbf9a1NwhuXDPg_72 = {
0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_73, "floatVal", 8);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_EnH1I9cGkGYbf9a1NwhuXDPg_74 = {
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_75, "sym", 3);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_EnH1I9cGkGYbf9a1NwhuXDPg_76 = {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_77, "ident", 5);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_EnH1I9cGkGYbf9a1NwhuXDPg_78 = {
0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_79, "strVal", 6);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_81, "tab", 3);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_82, "guard", 5);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_83, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ast.nim(1051, 10) `son != nil` ", 124);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_86, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ast.nim(1260, 10) `son != nil` ", 124);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_92, "cannot extract number from invalid AST node", 43);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_93, "cannot extract string from invalid AST node", 43);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_94, "as", 2);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_95, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ast.nim(1753, 10) `t != nil` ", 122);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_96, "=destroy", 8);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_97, "=", 1);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_98, "=sink", 5);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_99, "=deepcopy", 9);
NIM_CONST tyArray_JXkBzVsE9bvmcpuZvrueLVg AttachedOpToStr_gGSR5Ulzx6g21lOISgt9aWA = {((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_96),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_97),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_98),
((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_99)}
;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_100, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ast.nim(1146, 12) `m.ast.kind == n"
"kStmtList` ", 138);
NIM_CONST tySet_tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw OverloadableSyms_yJfP9bpZPSQn9bPO6KCo08fQ = 520256;
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_109, "runnableExamples", 16);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_110, "usedGenerics", 12);
STRING_LITERAL(TM_EnH1I9cGkGYbf9a1NwhuXDPg_111, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ast.nim(1397, 10) `s.usedGenerics."
"len == 0` ", 137);

N_LIB_PRIVATE N_NIMCALL(NI, sonsLen_zOB1gNtXypybIzLxxB9cyWQ)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, sonsLen_eY4T6kWJb9a9aTWUufrTLjXg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	return result;
}
static N_NIMCALL(void, Marker_tySequence_Ef05srmQTDulnBdXR4Ja6Q)(void* p, NI op) {
	tySequence_Ef05srmQTDulnBdXR4Ja6Q* a;
	NI T1_;
	a = (tySequence_Ef05srmQTDulnBdXR4Ja6Q*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_], op);
	}
}
static N_NIMCALL(void, Marker_tyRef_Y32tFilzS9adEEksgrCsOzQ)(void* p, NI op) {
	tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA* a;
	a = (tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA*)p;
	nimGCvisit((void*)(*a).sym, op);
	nimGCvisit((void*)(*a).concreteTypes, op);
}
static N_NIMCALL(void, Marker_tySequence_DXS6mEo7PVUFJkirsQ9bNQA)(void* p, NI op) {
	tySequence_DXS6mEo7PVUFJkirsQ9bNQA* a;
	NI T1_;
	a = (tySequence_DXS6mEo7PVUFJkirsQ9bNQA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_], op);
	}
}
static N_NIMCALL(void, Marker_tySequence_DfgJFJEYoj4YBAHLZPl5lQ)(void* p, NI op) {
	tySequence_DfgJFJEYoj4YBAHLZPl5lQ* a;
	NI T1_;
	a = (tySequence_DfgJFJEYoj4YBAHLZPl5lQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_], op);
	}
}
static N_NIMCALL(void, Marker_tyRef_EL9cZTJI9a9cmSIbGnseCuc9bg)(void* p, NI op) {
	tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA* a;
	a = (tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA*)p;
	nimGCvisit((void*)(*a).name, op);
	nimGCvisit((void*)(*a).path, op);
}
static N_NIMCALL(void, Marker_tyRef_K9bspPztfoWajecnwjyHuYQ)(void* p, NI op) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* a;
	a = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)p;
	switch ((*a).kind) {
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 7):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 4):
	nimGCvisit((void*)(*a).typeInstCache, op);
	break;
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 18):
	nimGCvisit((void*)(*a).procInstCache, op);
	nimGCvisit((void*)(*a).gcUnsafetyReason, op);
	nimGCvisit((void*)(*a).transformedBody, op);
	break;
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 6):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 24):
	nimGCvisit((void*)(*a).usedGenerics, op);
	nimGCvisit((void*)(*a).tab.data, op);
	break;
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 9):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 8):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 19):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 21):
	nimGCvisit((void*)(*a).guard, op);
	break;
	default:
	break;
	} 
	nimGCvisit((void*)(*a).typ, op);
	nimGCvisit((void*)(*a).name, op);
	nimGCvisit((void*)(*a).owner, op);
	nimGCvisit((void*)(*a).ast, op);
	nimGCvisit((void*)(*a).loc.lode, op);
	nimGCvisit((void*)(*a).loc.r, op);
	nimGCvisit((void*)(*a).annex, op);
	nimGCvisit((void*)(*a).constraint, op);
}
static N_NIMCALL(void, Marker_tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ)(void* p, NI op) {
	tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* a;
	NI T1_;
	a = (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_], op);
	}
}
static N_NIMCALL(void, Marker_tyRef_fKfcLzXYiz5jNu3NH3Tv8Q)(void* p, NI op) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a;
	a = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)p;
	nimGCvisit((void*)(*a).typ, op);
	switch ((*a).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 19):
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	nimGCvisit((void*)(*a).strVal, op);
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	nimGCvisit((void*)(*a).sym, op);
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	nimGCvisit((void*)(*a).ident, op);
	break;
	default:
	nimGCvisit((void*)(*a).sons, op);
	break;
	} 
	nimGCvisit((void*)(*a).comment, op);
}
static N_NIMCALL(void, Marker_tySequence_MvZmat48bhe9b6x9aUD58D5Q)(void* p, NI op) {
	tySequence_MvZmat48bhe9b6x9aUD58D5Q* a;
	NI T1_;
	a = (tySequence_MvZmat48bhe9b6x9aUD58D5Q*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tyRef_AgIT5feFR9a9aoVjv9cx2rOtg)(void* p, NI op) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* a;
	NI T1_;
	a = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)p;
	nimGCvisit((void*)(*a).sons, op);
	nimGCvisit((void*)(*a).n, op);
	nimGCvisit((void*)(*a).owner, op);
	nimGCvisit((void*)(*a).sym, op);
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < 4; T1_++) {
	nimGCvisit((void*)(*a).attachedOps[T1_], op);
	}
	nimGCvisit((void*)(*a).methods, op);
	nimGCvisit((void*)(*a).loc.lode, op);
	nimGCvisit((void*)(*a).loc.r, op);
	nimGCvisit((void*)(*a).typeInst, op);
}
static N_NIMCALL(void, Marker_tyRef_N89ckikRqMir57209a3tEeqw)(void* p, NI op) {
	tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw* a;
	a = (tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw*)p;
	nimGCvisit((void*)(*a).symbols.data, op);
	nimGCvisit((void*)(*a).parent, op);
}
static N_NIMCALL(void, Marker_tySequence_Mh9agqM29bm9aP5AUL1x7dZGA)(void* p, NI op) {
	tySequence_Mh9agqM29bm9aP5AUL1x7dZGA* a;
	NI T1_;
	a = (tySequence_Mh9agqM29bm9aP5AUL1x7dZGA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].key, op);
	nimGCvisit((void*)a->data[T1_].val, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initStrTable_2n9b6ELeZfbbP5wqNYm7VyA)(tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA* x) {
	(*x).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x).data), (tySequence_DfgJFJEYoj4YBAHLZPl5lQ*) newSeq((&NTI_DfgJFJEYoj4YBAHLZPl5lQ_), ((NI) 8)));
}

static N_INLINE(NI, subInt)(NI a, NI b) {
	NI result;
{	result = (NI)0;
	result = (NI)((NU32)(a) - (NU32)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU32) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}

static N_INLINE(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ**, X5BX5D__RNblfFqyHCLnrLulG0Us9bQsystem)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ** s, NI sLen_0, NI i) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ** result;
	NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_54;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ**)0;
	TM_EnH1I9cGkGYbf9a1NwhuXDPg_54 = subInt(sLen_0, i);
	if ((NU)((NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_54)) >= (NU)(sLen_0)) raiseIndexError2((NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_54),sLen_0-1);
	result = &s[(NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_54)];
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ** T1_;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	T1_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ**)0;
	T1_ = X5BX5D__RNblfFqyHCLnrLulG0Us9bQsystem((*n).sons->data, ((*n).sons ? (*n).sons->Sup.len : 0), ((NI) 1));
	result = (*T1_);
	return result;
}

static N_INLINE(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw**, X5BX5D__f6j2Rr9bpYzKO9bs9a65jNGYQsystem)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw** result;
	NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_55;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw**)0;
	TM_EnH1I9cGkGYbf9a1NwhuXDPg_55 = subInt(sLen_0, i);
	if ((NU)((NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_55)) >= (NU)(sLen_0)) raiseIndexError2((NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_55),sLen_0-1);
	result = &s[(NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_55)];
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, lastSon_UPSW0jLTX5qJL51YMUAHgw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw** T1_;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	T1_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw**)0;
	T1_ = X5BX5D__f6j2Rr9bpYzKO9bs9a65jNGYQsystem((*n).sons->data, ((*n).sons ? (*n).sons->Sup.len : 0), ((NI) 1));
	result = (*T1_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, len_eY4T6kWJb9a9aTWUufrTLjXg_2)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__75vsOXLrqmx5LmVlMWaymw)(NI16 x) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		if (!(x == ((NI) -1))) goto LA3_;
		result = copyString(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_65));
	}
	goto LA1_;
	LA3_: ;
	{
		if (!(x == ((NI) 1001))) goto LA6_;
		result = copyString(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_66));
	}
	goto LA1_;
	LA6_: ;
	{
		result = nimIntToStr(((NI) (x)));
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tySet_tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kinds) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = t;
	{
		while (1) {
			if (!((kinds &((NU64)1<<((NU)((*result).kind)&63U)))!=0)) goto LA2;
			result = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(result);
		} LA2: ;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, initIdTable_Z7fF0Wc4DSB4kCiKZ8rGfQ)(tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q* x) {
	(*x).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x).data), (tySequence_Mh9agqM29bm9aP5AUL1x7dZGA*) newSeq((&NTI_Mh9agqM29bm9aP5AUL1x7dZGA_), ((NI) 8)));
}

static N_INLINE(void, incRef_AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = (NI)((NU32)((*c).refcount) + (NU32)(((NI) 8)));
}

static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* result;
	result = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result = ((tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (ptrdiff_t) (usr))) - (NU32)(((NI) 8)))));
	return result;
}

static N_INLINE(void, rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT_Y66tOYFjgwJ0k4aLz4bc0Q((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c);
}

static N_INLINE(void, decRef_AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = (NI)((NU32)((*c).refcount) - (NU32)(((NI) 8)));
	{
		if (!((NU32)((*c).refcount) < (NU32)(((NI) 8)))) goto LA3_;
		rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA3_: ;
}

static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef_AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef_AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}

N_LIB_PRIVATE N_NIMCALL(void, mergeLoc_3y7Rn2QCRcBO28D5ulHx6w)(tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA* a, tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA b) {
	{
		if (!((*a).k == ((tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		(*a).k = b.k;
	}
	LA3_: ;
	{
		if (!((*a).storage == ((tyEnum_TStorageLoc_JK9cKMX3XnqHaUky9b6gkGEw) 0))) goto LA7_;
		(*a).storage = b.storage;
	}
	LA7_: ;
	(*a).flags = ((*a).flags | b.flags);
	{
		if (!((*a).lode == NIM_NIL)) goto LA11_;
		unsureAsgnRef((void**) (&(*a).lode), b.lode);
	}
	LA11_: ;
	{
		if (!((*a).r == NIM_NIL)) goto LA15_;
		unsureAsgnRef((void**) (&(*a).r), b.r);
	}
	LA15_: ;
}

static N_INLINE(NI, chckRange)(NI i, NI a, NI b) {
	NI result;
{	result = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a <= i);
		if (!(T3_)) goto LA4_;
		T3_ = (i <= b);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = i;
		goto BeforeRet_;
	}
	goto LA1_;
	LA5_: ;
	{
		raiseRangeError(((NI64) (i)));
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, newSons_UKZtv7j9a9bCciLd0w3xIW1Q)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* father, NI length) {
	asgnRef((void**) (&(*father).sons), (tySequence_Ef05srmQTDulnBdXR4Ja6Q*) setLengthSeqV2(&((*father).sons)->Sup, (&NTI_Ef05srmQTDulnBdXR4Ja6Q_), ((NI)chckRange(length, ((NI) 0), ((NI) 2147483647)))));
}

static N_INLINE(NI, addInt)(NI a, NI b) {
	NI result;
{	result = (NI)0;
	result = (NI)((NU32)(a) + (NU32)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, assignType_RDstL9c8H9bSHUphDz0iB0hg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* dest, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* src) {
	NI T14_;
	(*dest).kind = (*src).kind;
	(*dest).flags = (*src).flags;
	(*dest).callConv = (*src).callConv;
	asgnRef((void**) (&(*dest).n), (*src).n);
	(*dest).size = (*src).size;
	(*dest).align = (*src).align;
	genericAssign((void*)(*dest).attachedOps, (void*)(*src).attachedOps, (&NTI_PsPyPA45AAjHu4uDGHNjTg_));
	(*dest).lockLevel = (*src).lockLevel;
	{
		if (!!(((*src).sym == NIM_NIL))) goto LA3_;
		{
			if (!!(((*dest).sym == NIM_NIL))) goto LA7_;
			(*(*dest).sym).flags = ((*(*dest).sym).flags | ((*(*src).sym).flags & ~ 2));
			{
				if (!((*(*dest).sym).annex == NIM_NIL)) goto LA11_;
				asgnRef((void**) (&(*(*dest).sym).annex), (*(*src).sym).annex);
			}
			LA11_: ;
			mergeLoc_3y7Rn2QCRcBO28D5ulHx6w((&(*(*dest).sym).loc), (*(*src).sym).loc);
		}
		goto LA5_;
		LA7_: ;
		{
			asgnRef((void**) (&(*dest).sym), (*src).sym);
		}
		LA5_: ;
	}
	LA3_: ;
	T14_ = (NI)0;
	T14_ = sonsLen_eY4T6kWJb9a9aTWUufrTLjXg(src);
	newSons_UKZtv7j9a9bCciLd0w3xIW1Q(dest, T14_);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_eY4T6kWJb9a9aTWUufrTLjXg(src);
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_67;
				if (!(i_2 < colontmp_)) goto LA17;
				i = i_2;
				if ((NU)(i) >= (NU)((*dest).sons ? (*dest).sons->Sup.len : 0)) raiseIndexError2(i,((*dest).sons ? (*dest).sons->Sup.len : 0)-1);
				if ((NU)(i) >= (NU)((*src).sons ? (*src).sons->Sup.len : 0)) raiseIndexError2(i,((*src).sons ? (*src).sons->Sup.len : 0)-1);
				asgnRef((void**) (&(*dest).sons->data[i]), (*src).sons->data[i]);
				TM_EnH1I9cGkGYbf9a1NwhuXDPg_67 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_67);
			} LA17: ;
		}
	}
}

N_LIB_PRIVATE N_NIMCALL(void, eqdestroy__qqGjvmJyZfU1z9csFLu5xLA)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* dest) {
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newNode_PMZ27S9ai4FB3gXOMDXvwsQ)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw T1_;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*) newObj((&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_), sizeof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw));
	T1_ = (tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw)0;
	T1_ = kind;
	FieldDiscriminantCheck((NI)(NU)((*result).kind), (NI)(NU)(T1_), NimDT__bROa11lyF5vxEN9aYNbHmhw_kind, 162);
	(*result).kind = T1_;
	(*result).info.fileIndex = ((NI32) -1);
	(*result).info.col = ((NI16) -1);
	(*result).info.line = ((NU16) 0);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newNodeIT_2kgyckjaq2XB9bxBo5ZeIbg)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ(kind);
	(*result).info = info;
	asgnRef((void**) (&(*result).typ), typ);
	return result;
}

static N_INLINE(NI, getID_82csy2YSddf27azS9awAkVgidgen)(void) {
	NI result;
	NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_68;
	result = (NI)0;
	result = gFrontEndId_gyRrMPnY7JyC6tAu9bCfGng;
	TM_EnH1I9cGkGYbf9a1NwhuXDPg_68 = addInt(gFrontEndId_gyRrMPnY7JyC6tAu9bCfGng, ((NI) 1));
	gFrontEndId_gyRrMPnY7JyC6tAu9bCfGng = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_68);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, newType_SNqpa06pdVCLFFBR28119aQ)(tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) newObj((&NTI_AgIT5feFR9a9aoVjv9cx2rOtg_), sizeof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ));
	(*result).Sup.Sup.m_type = (&NTI_v9ae2Dpu13OW2ZJ2U9bNMd9cQ_);
	(*result).kind = kind;
	asgnRef((void**) (&(*result).owner), owner);
	(*result).size = IL64(-1);
	(*result).align = ((NI16) -1);
	(*result).Sup.id = getID_82csy2YSddf27azS9awAkVgidgen();
	(*result).uniqueId = (*result).Sup.id;
	(*result).lockLevel = ((NI16) -1);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, copyType_4O4aYoscFPo2FRSh4rP9ayg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner, NIM_BOOL keepId) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = newType_SNqpa06pdVCLFFBR28119aQ((*t).kind, owner);
	assignType_RDstL9c8H9bSHUphDz0iB0hg(result, t);
	{
		if (!keepId) goto LA3_;
		(*result).Sup.id = (*t).Sup.id;
	}
	goto LA1_;
	LA3_: ;
	{
	}
	LA1_: ;
	asgnRef((void**) (&(*result).sym), (*t).sym);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, copyIdTable_kWmPoTDdSpeN1EEQ59bRmKA)(tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q* dest, tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q src) {
	NI T1_;
	(*dest).counter = src.counter;
	T1_ = (src.data ? src.data->Sup.len : 0);
	unsureAsgnRef((void**) (&(*dest).data), (tySequence_Mh9agqM29bm9aP5AUL1x7dZGA*) newSeq((&NTI_Mh9agqM29bm9aP5AUL1x7dZGA_), ((NI)chckRange(T1_, ((NI) 0), ((NI) 2147483647)))));
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = ((src.data ? src.data->Sup.len : 0)-1);
		colontmp_ = T3_;
		res = ((NI) 0);
		{
			while (1) {
				NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_69;
				if (!(res <= colontmp_)) goto LA5;
				i = res;
				if ((NU)(i) >= (NU)((*dest).data ? (*dest).data->Sup.len : 0)) raiseIndexError2(i,((*dest).data ? (*dest).data->Sup.len : 0)-1);
				if ((NU)(i) >= (NU)(src.data ? src.data->Sup.len : 0)) raiseIndexError2(i,(src.data ? src.data->Sup.len : 0)-1);
				asgnRef((void**) (&(*dest).data->data[i].key), src.data->data[i].key);
				asgnRef((void**) (&(*dest).data->data[i].val), src.data->data[i].val);
				TM_EnH1I9cGkGYbf9a1NwhuXDPg_69 = addInt(res, ((NI) 1));
				res = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_69);
			} LA5: ;
		}
	}
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem(p);
	decRef_AT1eRuflKWyTTBdLjEDZbgsystem(T1_);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, copyNode_Dsjo9bte8vGxzhtcSrsTyiQ)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* src) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	NimStringDesc* T5_;
{	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!(src == NIM_NIL)) goto LA3_;
		result = NIM_NIL;
		goto BeforeRet_;
	}
	LA3_: ;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ((*src).kind);
	(*result).info = (*src).info;
	asgnRef((void**) (&(*result).typ), (*src).typ);
	(*result).flags = ((*src).flags & 878350);
	T5_ = (NimStringDesc*)0;
	T5_ = (*result).comment; (*result).comment = copyStringRC1((*src).comment);
	if (T5_) nimGCunrefNoCycle(T5_);
	switch ((*src).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
		(*result).intVal = (*src).intVal;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_72[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_73));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_72[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_73));
		(*result).floatVal = (*src).floatVal;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
		asgnRef((void**) (&(*result).sym), (*src).sym);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
		asgnRef((void**) (&(*result).ident), (*src).ident);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T11_;
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
		T11_ = (NimStringDesc*)0;
		T11_ = (*result).strVal; (*result).strVal = copyStringRC1((*src).strVal);
		if (T11_) nimGCunrefNoCycle(T11_);
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType_aVxWxXLmf103vwE8uZ9cXRw)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T4_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind >= ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*t).kind <= ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind >= ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*t).kind <= ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 59));
	if (T2_) goto LA3_;
	T4_ = (NIM_BOOL)0;
	T4_ = ((*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 60));
	if (!(T4_)) goto LA5_;
	T4_ = ((*t).n == NIM_NIL);
	LA5_: ;
	T2_ = T4_;
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA6_;
	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0);
	LA6_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

static N_INLINE(NIM_BOOL, isGCedMem_nPImuPGZIdcrAfCNyf4oxAast)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24));
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25));
	if (!(T3_)) goto LA4_;
	T3_ = ((*t).callConv == ((tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8));
	LA4_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, propagateToOwner_KHgxvzuOk6nXefcrhhP9cWw)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* owner, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* elem) {
	(*owner).flags = ((*owner).flags | ((*elem).flags & IL64(4296015872)));
	{
		if (!(((*elem).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)) goto LA3_;
		{
			if (!((*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA7_;
			(*owner).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 17)) & 63);
		}
		goto LA5_;
		LA7_: ;
		{
			if (!!(((*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 62) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25)))) goto LA10_;
			(*owner).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
		}
		goto LA5_;
		LA10_: ;
		LA5_: ;
	}
	LA3_: ;
	{
		if (!(((*elem).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 18))&63U)))!=0)) goto LA14_;
		{
			if (!((*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 62) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA18_;
		}
		goto LA16_;
		LA18_: ;
		{
			(*owner).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
		}
		LA16_: ;
	}
	LA14_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = isMetaType_aVxWxXLmf103vwE8uZ9cXRw(elem);
		if (!T23_) goto LA24_;
		(*owner).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
	}
	LA24_: ;
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* o2;
		if (!(((*elem).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA28_;
		o2 = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(owner, IL64(70368744179728));
		{
			if (!((*o2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*o2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*o2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*o2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*o2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 62) || (*o2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*o2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA32_;
			(*o2).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63);
			(*owner).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63);
		}
		LA32_: ;
	}
	LA28_: ;
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* o2_2;
		if (!(((*elem).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0)) goto LA36_;
		o2_2 = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(owner, IL64(70368744179728));
		{
			if (!((*o2_2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*o2_2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*o2_2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*o2_2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*o2_2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 62) || (*o2_2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*o2_2).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA40_;
			(*o2_2).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
			(*owner).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
		}
		LA40_: ;
	}
	LA36_: ;
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* elemB;
		if (!!(((*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*owner).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 21)))) goto LA44_;
		elemB = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(elem, IL64(70368744179728));
		{
			NIM_BOOL T48_;
			T48_ = (NIM_BOOL)0;
			T48_ = isGCedMem_nPImuPGZIdcrAfCNyf4oxAast(elemB);
			if (T48_) goto LA49_;
			T48_ = (((*elemB).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 21))&63U)))!=0);
			LA49_: ;
			if (!T48_) goto LA50_;
			(*owner).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 21)) & 63);
		}
		LA50_: ;
	}
	LA44_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, rawAddSon_9a8CdZqChTyqzq5bpSL3TzA)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* father, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* son) {
	NI T1_;
	asgnRef((void**) (&(*father).sons), (tySequence_Ef05srmQTDulnBdXR4Ja6Q*) incrSeqV3((TGenericSeq*)((*father).sons), (&NTI_Ef05srmQTDulnBdXR4Ja6Q_)));
	T1_ = (*father).sons->Sup.len++;
	asgnRef((void**) (&(*father).sons->data[T1_]), son);
	{
		if (!!((son == 0))) goto LA4_;
		propagateToOwner_KHgxvzuOk6nXefcrhhP9cWw(father, son);
	}
	LA4_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, newSym_IXbidcxhXTQGZY9abN63Cxg)(tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* name, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result;
	tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw T1_;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*) newObj((&NTI_K9bspPztfoWajecnwjyHuYQ_), sizeof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w));
	(*result).Sup.Sup.m_type = (&NTI_JpsEh5i1AcKChGYbg7aV4w_);
	asgnRef((void**) (&(*result).name), name);
	T1_ = (tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw)0;
	T1_ = symKind;
	FieldDiscriminantCheck((NI)(NU)((*result).kind), (NI)(NU)(T1_), NimDT__JpsEh5i1AcKChGYbg7aV4w_kind, 27);
	(*result).kind = T1_;
	(*result).flags = 0;
	(*result).info = info;
	(*result).options = options;
	asgnRef((void**) (&(*result).owner), owner);
	(*result).offset = ((NI) -1);
	(*result).Sup.id = getID_82csy2YSddf27azS9awAkVgidgen();
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, copyStrTable_j9aaCGqD2f9bSLzpYxKfYCiA)(tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA* dest, tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA src) {
	NI T1_;
	(*dest).counter = src.counter;
	T1_ = (src.data ? src.data->Sup.len : 0);
	unsureAsgnRef((void**) (&(*dest).data), (tySequence_DfgJFJEYoj4YBAHLZPl5lQ*) setLengthSeqV2(&((*dest).data)->Sup, (&NTI_DfgJFJEYoj4YBAHLZPl5lQ_), ((NI)chckRange(T1_, ((NI) 0), ((NI) 2147483647)))));
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = ((src.data ? src.data->Sup.len : 0)-1);
		colontmp_ = T3_;
		res = ((NI) 0);
		{
			while (1) {
				NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_80;
				if (!(res <= colontmp_)) goto LA5;
				i = res;
				if ((NU)(i) >= (NU)((*dest).data ? (*dest).data->Sup.len : 0)) raiseIndexError2(i,((*dest).data ? (*dest).data->Sup.len : 0)-1);
				if ((NU)(i) >= (NU)(src.data ? src.data->Sup.len : 0)) raiseIndexError2(i,(src.data ? src.data->Sup.len : 0)-1);
				asgnRef((void**) (&(*dest).data->data[i]), src.data->data[i]);
				TM_EnH1I9cGkGYbf9a1NwhuXDPg_80 = addInt(res, ((NI) 1));
				res = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_80);
			} LA5: ;
		}
	}
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, copySym_lIu8wX6Beq6dBJgESOFFjg)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	result = newSym_IXbidcxhXTQGZY9abN63Cxg((*s).kind, (*s).name, (*s).owner, (*s).info, (*s).options);
	asgnRef((void**) (&(*result).typ), (*s).typ);
	(*result).flags = (*s).flags;
	(*result).magic = (*s).magic;
	{
		if (!((*s).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 6))) goto LA3_;
		if (!(((16777280 &(1U<<((NU)((*result).kind)&31U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_81));
		if (!(((16777280 &(1U<<((NU)((*s).kind)&31U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_81));
		copyStrTable_j9aaCGqD2f9bSLzpYxKfYCiA((&(*result).tab), (*s).tab);
	}
	LA3_: ;
	(*result).options = (*s).options;
	(*result).position = (*s).position;
	genericAssign((void*)(&(*result).loc), (void*)(&(*s).loc), (&NTI_EtHNvCB0bgfu9bFjzx9cb6aA_));
	asgnRef((void**) (&(*result).annex), (*s).annex);
	{
		if (!((525056 &(1U<<((NU)((*result).kind)&31U)))!=0)) goto LA7_;
		if (!(((2622208 &(1U<<((NU)((*result).kind)&31U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_82));
		if (!(((2622208 &(1U<<((NU)((*s).kind)&31U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_82));
		asgnRef((void**) (&(*result).guard), (*s).guard);
	}
	LA7_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, add_P8dDSotTW25BkfbyspojGg)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* son) {
	NI T5_;
	{
		if (!!(!((son == NIM_NIL)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_83));
	}
	LA3_: ;
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*father).kind)>>3] &(1U<<((NU)((*father).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	asgnRef((void**) (&(*father).sons), (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*father).sons), (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
	T5_ = (*father).sons->Sup.len++;
	asgnRef((void**) (&(*father).sons->data[T5_]), son);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newNodeI_vokyXY9cZDshCSxFKChhG9bg)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw T1_;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*) newObj((&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_), sizeof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw));
	T1_ = (tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw)0;
	T1_ = kind;
	FieldDiscriminantCheck((NI)(NU)((*result).kind), (NI)(NU)(T1_), NimDT__bROa11lyF5vxEN9aYNbHmhw_kind, 162);
	(*result).kind = T1_;
	(*result).info = info;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newNode_duw0Uu9cIFXmCAaunQWIP0g)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw T1_;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*) newObj((&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_), sizeof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw));
	T1_ = (tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw)0;
	T1_ = kind;
	FieldDiscriminantCheck((NI)(NU)((*result).kind), (NI)(NU)(T1_), NimDT__bROa11lyF5vxEN9aYNbHmhw_kind, 162);
	(*result).kind = T1_;
	(*result).info = info;
	asgnRef((void**) (&(*result).typ), typ);
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	genericSeqAssign((&(*result).sons), sons, (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newSymNode_I2DV2TmmOysY1ZEGW19b9bRg)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
	asgnRef((void**) (&(*result).sym), sym);
	asgnRef((void**) (&(*result).typ), (*sym).typ);
	(*result).info = (*sym).info;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, newSons_Bu9cqnssJjx4jfWBeiR9albg)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* father, NI length) {
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*father).kind)>>3] &(1U<<((NU)((*father).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	asgnRef((void**) (&(*father).sons), (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*father).sons)->Sup, (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI)chckRange(length, ((NI) 0), ((NI) 2147483647)))));
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newIntNode_zcNs9blLGYB6i9aGKob9bpzRw)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ(kind);
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
	(*result).intVal = intVal;
	return result;
}

static N_INLINE(NI, len_P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	return result;
}

static N_INLINE(NI, safeLen_P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = len_P89cqdlERShb9alU3iC0yj8wast(n);
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, findUnresolvedStatic_UPSW0jLTX5qJL51YMUAHgw_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
{	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T4_)) goto LA5_;
		T4_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 60));
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T3_ = ((*(*n).typ).n == NIM_NIL);
		LA6_: ;
		if (!T3_) goto LA7_;
		result = n;
		goto BeforeRet_;
	}
	LA7_: ;
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* son;
		son = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen_P89cqdlERShb9alU3iC0yj8w_2ast(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n_2;
					NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_84;
					if (!(i_2 < colontmp_)) goto LA12;
					i = i_2;
					if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					son = (*n).sons->data[i];
					n_2 = findUnresolvedStatic_UPSW0jLTX5qJL51YMUAHgw_2(son);
					{
						if (!!((n_2 == NIM_NIL))) goto LA15_;
						result = n_2;
						goto BeforeRet_;
					}
					LA15_: ;
					TM_EnH1I9cGkGYbf9a1NwhuXDPg_84 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_84);
				} LA12: ;
			}
		}
	}
	result = NIM_NIL;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, newStrTable_mHe4qdIbMriO4fD2l0WhLA)(tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA* Result) {
	chckNil((void*)Result);
	genericReset((void*)Result, (&NTI_f07aOS3dr28kGa5wcE29aFA_));
	initStrTable_2n9b6ELeZfbbP5wqNYm7VyA(Result);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, exactReplica_wG9cFX0BL4VD1hNwr4zEuwQ)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = copyType_4O4aYoscFPo2FRSh4rP9ayg(t, (*t).owner, NIM_TRUE);
	return result;
}

static N_INLINE(void, nimGCunrefRC1)(void* p) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem(p);
	decRef_AT1eRuflKWyTTBdLjEDZbgsystem(T1_);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, copyTree_Dsjo9bte8vGxzhtcSrsTyiQ_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* src) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	NimStringDesc* T5_;
{	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!(src == NIM_NIL)) goto LA3_;
		result = NIM_NIL;
		goto BeforeRet_;
	}
	LA3_: ;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ((*src).kind);
	(*result).info = (*src).info;
	asgnRef((void**) (&(*result).typ), (*src).typ);
	(*result).flags = ((*src).flags & 878350);
	T5_ = (NimStringDesc*)0;
	T5_ = (*result).comment; (*result).comment = copyStringRC1((*src).comment);
	if (T5_) nimGCunrefNoCycle(T5_);
	switch ((*src).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
		(*result).intVal = (*src).intVal;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_72[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_73));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_72[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_73));
		(*result).floatVal = (*src).floatVal;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
		asgnRef((void**) (&(*result).sym), (*src).sym);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
		asgnRef((void**) (&(*result).ident), (*src).ident);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T11_;
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
		T11_ = (NimStringDesc*)0;
		T11_ = (*result).strVal; (*result).strVal = copyStringRC1((*src).strVal);
		if (T11_) nimGCunrefNoCycle(T11_);
	}
	break;
	default:
	{
		NI T13_;
		if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
		T13_ = (NI)0;
		T13_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(src);
		if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
		(*result).sons = (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI)chckRange(T13_, ((NI) 0), ((NI) 2147483647))));
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(src);
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_85;
					if (!(i_2 < colontmp_)) goto LA16;
					i = i_2;
					if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
					if ((NU)(i) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(i,((*result).sons ? (*result).sons->Sup.len : 0)-1);
					if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
					if ((NU)(i) >= (NU)((*src).sons ? (*src).sons->Sup.len : 0)) raiseIndexError2(i,((*src).sons ? (*src).sons->Sup.len : 0)-1);
					asgnRef((void**) (&(*result).sons->data[i]), copyTree_Dsjo9bte8vGxzhtcSrsTyiQ_2((*src).sons->data[i]));
					TM_EnH1I9cGkGYbf9a1NwhuXDPg_85 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_85);
				} LA16: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newSymNode_AFd9c9cdRrILXl9anrr9aRvqig)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
	asgnRef((void**) (&(*result).sym), sym);
	asgnRef((void**) (&(*result).typ), (*sym).typ);
	(*result).info = info;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, addSon_P8dDSotTW25BkfbyspojGg_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* son) {
	NI T5_;
	{
		if (!!(!((son == NIM_NIL)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_86));
	}
	LA3_: ;
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*father).kind)>>3] &(1U<<((NU)((*father).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	asgnRef((void**) (&(*father).sons), (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*father).sons), (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
	T5_ = (*father).sons->Sup.len++;
	asgnRef((void**) (&(*father).sons->data[T5_]), son);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newProcNode_g5PEkYP0A0RT03uHbJ6wKQ)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* name, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* pattern, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* exceptions) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNodeI_vokyXY9cZDshCSxFKChhG9bg(kind, info);
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
	(*result).sons = (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), 7);
	asgnRef((void**) (&(*result).sons->data[0]), name);
	asgnRef((void**) (&(*result).sons->data[1]), pattern);
	asgnRef((void**) (&(*result).sons->data[2]), genericParams);
	asgnRef((void**) (&(*result).sons->data[3]), params);
	asgnRef((void**) (&(*result).sons->data[4]), pragmas);
	asgnRef((void**) (&(*result).sons->data[5]), exceptions);
	asgnRef((void**) (&(*result).sons->data[6]), body);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, originatingModule_lIu8wX6Beq6dBJgESOFFjg_2)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	result = (*s).owner;
	{
		while (1) {
			if (!!(((*result).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA2;
			result = (*result).owner;
		} LA2: ;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, skipGenericOwner_lIu8wX6Beq6dBJgESOFFjg_3)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((520192 &(1U<<((NU)((*s).kind)&31U)))!=0);
		if (!(T3_)) goto LA4_;
		T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = (*(*s).owner).owner;
	}
	goto LA1_;
	LA5_: ;
	{
		result = (*s).owner;
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newIntTypeNode_mZbgs79bpqpV9awU62kdPZ1A)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newIntNode_zcNs9blLGYB6i9aGKob9bpzRw(kind, intVal);
	asgnRef((void**) (&(*result).typ), typ);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newIdentNode_KZLyxk08RZ9cnzbQfphbJPQ)(tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* ident, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
	asgnRef((void**) (&(*result).ident), ident);
	(*result).info = info;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericRoutine_uUQONnU7icBs9bdkKqJVqhA)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	switch ((*s).kind) {
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 18):
	{
		NIM_BOOL T2_;
		NIM_BOOL T4_;
		T2_ = (NIM_BOOL)0;
		T2_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
		if (T2_) goto LA3_;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*s).ast == NIM_NIL));
		if (!(T4_)) goto LA5_;
		if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*(*s).ast).kind)>>3] &(1U<<((NU)((*(*s).ast).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
		if ((NU)(((NI) 2)) >= (NU)((*(*s).ast).sons ? (*(*s).ast).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*(*s).ast).sons ? (*(*s).ast).sons->Sup.len : 0)-1);
		T4_ = !(((*(*(*s).ast).sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA5_: ;
		T2_ = T4_;
		LA3_: ;
		result = T2_;
	}
	break;
	default:
	{
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, requiredParams_knh7oe6js9clE7mbQBo9aJGA)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	NI result;
	NI T8_;
	NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_89;
{	result = (NI)0;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_eY4T6kWJb9a9aTWUufrTLjXg_2((*s).typ);
		i_2 = ((NI) 1);
		{
			while (1) {
				NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_88;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_87;
					if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*(*(*s).typ).n).kind)>>3] &(1U<<((NU)((*(*(*s).typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
					if ((NU)(i) >= (NU)((*(*(*s).typ).n).sons ? (*(*(*s).typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*(*s).typ).n).sons ? (*(*(*s).typ).n).sons->Sup.len : 0)-1);
					if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*(*(*(*s).typ).n).sons->data[i]).kind)>>3] &(1U<<((NU)((*(*(*(*s).typ).n).sons->data[i]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
					if (!!(((*(*(*(*(*s).typ).n).sons->data[i]).sym).ast == NIM_NIL))) goto LA6_;
					TM_EnH1I9cGkGYbf9a1NwhuXDPg_87 = subInt(i, ((NI) 1));
					result = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_87);
					goto BeforeRet_;
				}
				LA6_: ;
				TM_EnH1I9cGkGYbf9a1NwhuXDPg_88 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_88);
			} LA3: ;
		}
	}
	T8_ = (NI)0;
	T8_ = len_eY4T6kWJb9a9aTWUufrTLjXg_2((*s).typ);
	TM_EnH1I9cGkGYbf9a1NwhuXDPg_89 = subInt(T8_, ((NI) 1));
	result = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_89);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newStrNode_zLcHGdlEbBYFtoCoan9agkg)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, NimStringDesc* strVal) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	NimStringDesc* T1_;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ(kind);
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
	T1_ = (NimStringDesc*)0;
	T1_ = (*result).strVal; (*result).strVal = copyStringRC1(strVal);
	if (T1_) nimGCunrefNoCycle(T1_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newTree_FpOm4fidh9bWdkMa1BMRJkQ)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ(kind);
	{
		if (!(((NI) 0) < childrenLen_0)) goto LA3_;
		if ((NU)(((NI) 0)) >= (NU)(childrenLen_0)) raiseIndexError2(((NI) 0),childrenLen_0-1);
		(*result).info = (*children[((NI) 0)]).info;
	}
	LA3_: ;
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	asgnRef((void**) (&(*result).sons), at__l5EwVkovx8Ofyb2pm635QA(children, childrenLen_0));
	return result;
}
static N_NIMCALL(void, Marker_tySequence_K8W16aeLg4OWxniQxtguMw)(void* p, NI op) {
	tySequence_K8W16aeLg4OWxniQxtguMw* a;
	NI T1_;
	a = (tySequence_K8W16aeLg4OWxniQxtguMw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].key, op);
	nimGCvisit((void*)a->data[T1_].val, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newNodeI_UY1ElYk2XqXDzuz9cGLG1Kw)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, NI children) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw T1_;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*) newObj((&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_), sizeof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw));
	T1_ = (tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw)0;
	T1_ = kind;
	FieldDiscriminantCheck((NI)(NU)((*result).kind), (NI)(NU)(T1_), NimDT__bROa11lyF5vxEN9aYNbHmhw_kind, 162);
	(*result).kind = T1_;
	(*result).info = info;
	{
		if (!(((NI) 0) < children)) goto LA4_;
		if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
		if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
		(*result).sons = (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI)chckRange(children, ((NI) 0), ((NI) 2147483647))));
	}
	LA4_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, initIdNodeTable_n26YHulDKiMl1PNSd3sg9cA)(tyObject_TIdNodeTable_UWAp0mDjKLG1NEwUafSRhA* x) {
	(*x).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x).data), (tySequence_K8W16aeLg4OWxniQxtguMw*) newSeq((&NTI_K8W16aeLg4OWxniQxtguMw_), ((NI) 8)));
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, shallowCopy_Dsjo9bte8vGxzhtcSrsTyiQ_3)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* src) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	NimStringDesc* T5_;
{	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!(src == NIM_NIL)) goto LA3_;
		result = NIM_NIL;
		goto BeforeRet_;
	}
	LA3_: ;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ((*src).kind);
	(*result).info = (*src).info;
	asgnRef((void**) (&(*result).typ), (*src).typ);
	(*result).flags = ((*src).flags & 878350);
	T5_ = (NimStringDesc*)0;
	T5_ = (*result).comment; (*result).comment = copyStringRC1((*src).comment);
	if (T5_) nimGCunrefNoCycle(T5_);
	switch ((*src).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
		(*result).intVal = (*src).intVal;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_72[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_73));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_72[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_73));
		(*result).floatVal = (*src).floatVal;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
		asgnRef((void**) (&(*result).sym), (*src).sym);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
		asgnRef((void**) (&(*result).ident), (*src).ident);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T11_;
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
		T11_ = (NimStringDesc*)0;
		T11_ = (*result).strVal; (*result).strVal = copyStringRC1((*src).strVal);
		if (T11_) nimGCunrefNoCycle(T11_);
	}
	break;
	default:
	{
		NI T13_;
		if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
		T13_ = (NI)0;
		T13_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(src);
		if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
		(*result).sons = (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI)chckRange(T13_, ((NI) 0), ((NI) 2147483647))));
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI64, getInt_9bJVNhKKZVfVNAx9aQOEPuog)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a) {
	NI64 result;
	result = (NI64)0;
	switch ((*a).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
		result = (*a).intVal;
	}
	break;
	default:
	{
		raiseRecoverableError_5jd5IdwI3N06CaI2zjEQsQ(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_92));
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newFloatNode_FUOXigLcQdNOaWKUo0hkTg)(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind, NF floatVal) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_PMZ27S9ai4FB3gXOMDXvwsQ(kind);
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_72[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_73));
	(*result).floatVal = floatVal;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NF, getFloat_dgNNhprrT2HlJglL2Nc3EA)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a) {
	NF result;
	result = (NF)0;
	switch ((*a).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_72[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_73));
		result = (*a).floatVal;
	}
	break;
	default:
	{
		raiseRecoverableError_5jd5IdwI3N06CaI2zjEQsQ(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_92));
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStr_P2DOsHG6Jk4Siab3L2qwUg)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	switch ((*a).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
		result = copyString((*a).strVal);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	default:
	{
		raiseRecoverableError_5jd5IdwI3N06CaI2zjEQsQ(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_93));
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStrOrChar_P2DOsHG6Jk4Siab3L2qwUg_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	switch ((*a).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
		result = copyString((*a).strVal);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_70[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_71));
		result = nimCharToStr(((NIM_CHAR) (((NI)chckRange(((NI)chckRange64((*a).intVal, ((NI) (-2147483647 -1)), ((NI) 2147483647))), ((NI) 0), ((NI) 255))))));
	}
	break;
	default:
	{
		raiseRecoverableError_5jd5IdwI3N06CaI2zjEQsQ(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_93));
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, toVar_IIQZtbSxQZOu2WmBJ9bnpCg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = typ;
	{
		if (!!(((*typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA3_;
		result = newType_SNqpa06pdVCLFFBR28119aQ(((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 23), (*typ).owner);
		rawAddSon_9a8CdZqChTyqzq5bpSL3TzA(result, typ);
	}
	LA3_: ;
	return result;
}

static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}

static N_INLINE(NIM_BOOL, equalMem_Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}

static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem_Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs_CZaoTkWCFI9acor4BmYF3Yw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29));
	if (!(T2_)) goto LA3_;
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T2_ = ((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
	T1_ = eqStrings((*(*(*n).sons->data[((NI) 0)]).ident).s, ((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_94));
	LA4_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedException_dZW9czpRSiiVl9cyT6tyk84A)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf) {
	NIM_BOOL result;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* base;
{	result = (NIM_BOOL)0;
	{
		if (!!(!((t == NIM_NIL)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_95));
	}
	LA3_: ;
	{
		if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw) 30))&63U)))!=0)) goto LA7_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA7_: ;
	base = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(t, 2107408);
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = !(((*base).sym == NIM_NIL));
		if (!(T11_)) goto LA12_;
		T11_ = !(((268435488 & (*(*base).sym).flags) == 0));
		LA12_: ;
		if (!T11_) goto LA13_;
		result = NIM_TRUE;
	}
	LA13_: ;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, toRef_IIQZtbSxQZOu2WmBJ9bnpCg_2)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T3_;
		T3_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T3_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(typ, 2064);
		if (!((*T3_).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA4_;
		result = newType_SNqpa06pdVCLFFBR28119aQ(((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 22), (*typ).owner);
		rawAddSon_9a8CdZqChTyqzq5bpSL3TzA(result, typ);
	}
	LA4_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skipTypesOrNil_zsqmUNR5OZrTUna0Y9bdu9bg_2)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tySet_tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kinds) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
{	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = t;
	{
		while (1) {
			NIM_BOOL T3_;
			T3_ = (NIM_BOOL)0;
			T3_ = !((result == NIM_NIL));
			if (!(T3_)) goto LA4_;
			T3_ = ((kinds &((NU64)1<<((NU)((*result).kind)&63U)))!=0);
			LA4_: ;
			if (!T3_) goto LA2;
			{
				NI T7_;
				T7_ = (NI)0;
				T7_ = len_eY4T6kWJb9a9aTWUufrTLjXg_2(result);
				if (!(T7_ == ((NI) 0))) goto LA8_;
				result = NIM_NIL;
				goto BeforeRet_;
			}
			LA8_: ;
			result = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(result);
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, astdef_PBkjYIaAGbtrZ8DiUArHcw)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s).ast == NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = ((*(*s).ast).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 35));
		LA4_: ;
		if (!T3_) goto LA5_;
		if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*(*s).ast).kind)>>3] &(1U<<((NU)((*(*s).ast).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
		if ((NU)(((NI) 2)) >= (NU)((*(*s).ast).sons ? (*(*s).ast).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*(*s).ast).sons ? (*(*s).ast).sons->Sup.len : 0)-1);
		result = (*(*s).ast).sons->data[((NI) 2)];
	}
	goto LA1_;
	LA5_: ;
	{
		result = (*s).ast;
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, discardSons_CndA7u9cT5evGd9a583WPNqQ)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* father) {
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*father).kind)>>3] &(1U<<((NU)((*father).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	if ((*father).sons) { nimGCunrefRC1((*father).sons); (*father).sons = NIM_NIL; }
}

N_LIB_PRIVATE N_NIMCALL(void, appendToModule_T4o9clzgbAgGY4ORbfP6LmQ)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* m, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		if (!((*m).ast == NIM_NIL)) goto LA3_;
		asgnRef((void**) (&(*m).ast), newNode_PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115)));
		if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*(*m).ast).kind)>>3] &(1U<<((NU)((*(*m).ast).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
		if ((*(*m).ast).sons) { nimGCunrefRC1((*(*m).ast).sons); (*(*m).ast).sons = NIM_NIL; }
		(*(*m).ast).sons = (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), 1);
		asgnRef((void**) (&(*(*m).ast).sons->data[0]), n);
	}
	goto LA1_;
	LA3_: ;
	{
		NI T10_;
		{
			if (!!(((*(*m).ast).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA8_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_100));
		}
		LA8_: ;
		if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*(*m).ast).kind)>>3] &(1U<<((NU)((*(*m).ast).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
		asgnRef((void**) (&(*(*m).ast).sons), (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*(*m).ast).sons), (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
		T10_ = (*(*m).ast).sons->Sup.len++;
		asgnRef((void**) (&(*(*m).ast).sons->data[T10_]), n);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, delSon_oU9bKATaboy8iUhv0r9bMBPw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* father, NI idx) {
	NI length;
	NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_104;
{	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len_P89cqdlERShb9alU3iC0yj8wast(father);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	length = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(father);
	{
		NI i;
		NI colontmp_;
		NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_101;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		TM_EnH1I9cGkGYbf9a1NwhuXDPg_101 = subInt(length, ((NI) 2));
		colontmp_ = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_101);
		res = idx;
		{
			while (1) {
				NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_102;
				NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_103;
				if (!(res <= colontmp_)) goto LA8;
				i = res;
				if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*father).kind)>>3] &(1U<<((NU)((*father).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
				if ((NU)(i) >= (NU)((*father).sons ? (*father).sons->Sup.len : 0)) raiseIndexError2(i,((*father).sons ? (*father).sons->Sup.len : 0)-1);
				if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*father).kind)>>3] &(1U<<((NU)((*father).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
				TM_EnH1I9cGkGYbf9a1NwhuXDPg_102 = addInt(i, ((NI) 1));
				if ((NU)((NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_102)) >= (NU)((*father).sons ? (*father).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_102),((*father).sons ? (*father).sons->Sup.len : 0)-1);
				asgnRef((void**) (&(*father).sons->data[i]), (*father).sons->data[(NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_102)]);
				TM_EnH1I9cGkGYbf9a1NwhuXDPg_103 = addInt(res, ((NI) 1));
				res = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_103);
			} LA8: ;
		}
	}
	if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*father).kind)>>3] &(1U<<((NU)((*father).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
	TM_EnH1I9cGkGYbf9a1NwhuXDPg_104 = subInt(length, ((NI) 1));
	asgnRef((void**) (&(*father).sons), (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*father).sons)->Sup, (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI)chckRange((NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_104), ((NI) 0), ((NI) 2147483647)))));
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, newStrNode_C1MQfgDmfXqO1v69aAZbuYA)(NimStringDesc* strVal, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	NimStringDesc* T1_;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNodeI_vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20), info);
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_78[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_79));
	T1_ = (NimStringDesc*)0;
	T1_ = (*result).strVal; (*result).strVal = copyStringRC1(strVal);
	if (T1_) nimGCunrefNoCycle(T1_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCallExpr_CZaoTkWCFI9acor4BmYF3Yw_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 32));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, resetIdTable_Z7fF0Wc4DSB4kCiKZ8rGfQ_2)(tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q* x) {
	(*x).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x).data), (tySequence_Mh9agqM29bm9aP5AUL1x7dZGA*) setLengthSeqV2(&((*x).data)->Sup, (&NTI_Mh9agqM29bm9aP5AUL1x7dZGA_), ((NI) 0)));
	unsureAsgnRef((void**) (&(*x).data), (tySequence_Mh9agqM29bm9aP5AUL1x7dZGA*) setLengthSeqV2(&((*x).data)->Sup, (&NTI_Mh9agqM29bm9aP5AUL1x7dZGA_), ((NI) 8)));
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, linkTo_Lxy1G9c1I40y65cWkoPnssA)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	asgnRef((void**) (&(*t).sym), s);
	asgnRef((void**) (&(*s).typ), t);
	result = s;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, newProcType_9bgJAAoskVeu3l1AHMmz9adg)(tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T1_;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = newType_SNqpa06pdVCLFFBR28119aQ(((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25), owner);
	asgnRef((void**) (&(*result).n), newNodeI_vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 76), info));
	rawAddSon_9a8CdZqChTyqzq5bpSL3TzA(result, NIM_NIL);
	T1_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	T1_ = newNodeI_vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 152), info);
	addSon_P8dDSotTW25BkfbyspojGg_2((*result).n, T1_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, addParam_MnxL8SpIj0v6dB7M1prhCw)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* procType, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* param) {
	NI T1_;
	NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_105;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T2_;
	T1_ = (NI)0;
	T1_ = len_eY4T6kWJb9a9aTWUufrTLjXg_2(procType);
	TM_EnH1I9cGkGYbf9a1NwhuXDPg_105 = subInt(T1_, ((NI) 1));
	(*param).position = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_105);
	T2_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	T2_ = newSymNode_I2DV2TmmOysY1ZEGW19b9bRg(param);
	addSon_P8dDSotTW25BkfbyspojGg_2((*procType).n, T2_);
	rawAddSon_9a8CdZqChTyqzq5bpSL3TzA(procType, (*param).typ);
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNode_3PkUvehQ5keciM9cue9ayMTw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kinds) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!(n == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		result = ((kinds[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0);
	}
	break;
	default:
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_106;
					if (!(i_2 < colontmp_)) goto LA9;
					i = i_2;
					{
						NIM_BOOL T12_;
						T12_ = (NIM_BOOL)0;
						T12_ = ((kinds[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0);
						if (T12_) goto LA13_;
						if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						T12_ = containsNode_3PkUvehQ5keciM9cue9ayMTw((*n).sons->data[i], kinds);
						LA13_: ;
						if (!T12_) goto LA14_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA14_: ;
					TM_EnH1I9cGkGYbf9a1NwhuXDPg_106 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_106);
				} LA9: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubnodeWith_SQs4BrslojahuO1o7NDT4Q)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		result = ((*n).kind == kind);
	}
	break;
	default:
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_107;
					if (!(i_2 < colontmp_)) goto LA5;
					i = i_2;
					{
						NIM_BOOL T8_;
						T8_ = (NIM_BOOL)0;
						if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						T8_ = ((*(*n).sons->data[i]).kind == kind);
						if (T8_) goto LA9_;
						if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						T8_ = hasSubnodeWith_SQs4BrslojahuO1o7NDT4Q((*n).sons->data[i], kind);
						LA9_: ;
						if (!T8_) goto LA10_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA10_: ;
					TM_EnH1I9cGkGYbf9a1NwhuXDPg_107 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_107);
				} LA5: ;
			}
		}
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, rawAddSonNoPropagationOfTypeFlags_9a8CdZqChTyqzq5bpSL3TzA_2)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* father, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* son) {
	NI T1_;
	asgnRef((void**) (&(*father).sons), (tySequence_Ef05srmQTDulnBdXR4Ja6Q*) incrSeqV3((TGenericSeq*)((*father).sons), (&NTI_Ef05srmQTDulnBdXR4Ja6Q_)));
	T1_ = (*father).sons->Sup.len++;
	asgnRef((void**) (&(*father).sons->data[T1_]), son);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skipTypes_Jb9ck8uy9aKqJSHdNSzDJAJQ)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tySet_tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kinds, NI maxIters) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	NI i;
{	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = t;
	i = maxIters;
	{
		while (1) {
			NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_108;
			if (!((kinds &((NU64)1<<((NU)((*result).kind)&63U)))!=0)) goto LA2;
			result = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(result);
			TM_EnH1I9cGkGYbf9a1NwhuXDPg_108 = subInt(i, ((NI) 1));
			i = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_108);
			{
				if (!(i == ((NI) 0))) goto LA5_;
				result = NIM_NIL;
				goto BeforeRet_;
			}
			LA5_: ;
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, newIdTable_Vn79aD3eLpwW0W0F5ymtWkw)(tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q* Result) {
	chckNil((void*)Result);
	genericReset((void*)Result, (&NTI_9aiv9bp2t5icFNINcg9c4xi1Q_));
	initIdTable_Z7fF0Wc4DSB4kCiKZ8rGfQ(Result);
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRunnableExamples_CZaoTkWCFI9acor4BmYF3Yw_3)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T5_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
	if (!(T2_)) goto LA3_;
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_74[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_75));
	T2_ = ((*(*n).sym).magic == ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 289));
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T5_ = (NIM_BOOL)0;
	T5_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
	if (!(T5_)) goto LA6_;
	if (!(((TM_EnH1I9cGkGYbf9a1NwhuXDPg_76[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_77));
	T5_ = eqStrings((*(*n).ident).s, ((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_109));
	LA6_: ;
	T1_ = T5_;
	LA4_: ;
	result = T1_;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedStatic_aVxWxXLmf103vwE8uZ9cXRw_2)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 60));
	if (!(T1_)) goto LA2_;
	T1_ = ((*t).n == NIM_NIL);
	LA2_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, toObject_IIQZtbSxQZOu2WmBJ9bnpCg_3)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	t = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(typ, 2064);
	{
		if (!((*t).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA3_;
		result = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(t);
	}
	goto LA1_;
	LA3_: ;
	{
		result = typ;
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, createModuleAlias_ajb2UbRCmJqd8A4LzDHuFw)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s, tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* newIdent, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	result = newSym_IXbidcxhXTQGZY9abN63Cxg((*s).kind, newIdent, (*s).owner, info, options);
	asgnRef((void**) (&(*result).ast), (*s).ast);
	(*result).Sup.id = (*s).Sup.id;
	(*result).flags = (*s).flags;
	if (!(((16777280 &(1U<<((NU)((*result).kind)&31U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_81));
	if (!(((16777280 &(1U<<((NU)((*s).kind)&31U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_81));
	(*result).tab.counter = (*s).tab.counter;
	asgnRef((void**) (&(*result).tab.data), (*s).tab.data);
	(*result).options = (*s).options;
	(*result).position = (*s).position;
	genericAssign((void*)(&(*result).loc), (void*)(&(*s).loc), (&NTI_EtHNvCB0bgfu9bFjzx9cb6aA_));
	asgnRef((void**) (&(*result).annex), (*s).annex);
	{
		NI T3_;
		if (!(((16777280 &(1U<<((NU)((*s).kind)&31U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_110));
		T3_ = ((*s).usedGenerics ? (*s).usedGenerics->Sup.len : 0);
		if (!!((T3_ == ((NI) 0)))) goto LA4_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_111));
	}
	LA4_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence_vhmj4KkIKPinmRXny9c2Q6Q)(void* p, NI op) {
	tySequence_vhmj4KkIKPinmRXny9c2Q6Q* a;
	NI T1_;
	a = (tySequence_vhmj4KkIKPinmRXny9c2Q6Q*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].key, op);
	}
}

N_LIB_PRIVATE N_NIMCALL(void, initNodeTable_RsAJjlvhLCgVyd9cZJtMRoQ)(tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A* x) {
	(*x).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x).data), (tySequence_vhmj4KkIKPinmRXny9c2Q6Q*) newSeq((&NTI_vhmj4KkIKPinmRXny9c2Q6Q_), ((NI) 8)));
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, skipStmtList_UPSW0jLTX5qJL51YMUAHgw_3)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
{	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
		{
			NI i;
			NI colontmp_;
			NI T6_;
			NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_114;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T6_ = (NI)0;
			T6_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			TM_EnH1I9cGkGYbf9a1NwhuXDPg_114 = subInt(T6_, ((NI) 2));
			colontmp_ = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_114);
			res = ((NI) 0);
			{
				while (1) {
					NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_115;
					if (!(res <= colontmp_)) goto LA8;
					i = res;
					{
						if (((TM_EnH1I9cGkGYbf9a1NwhuXDPg_20[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_EnH1I9cGkGYbf9a1NwhuXDPg_21));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						if (!!(((*(*n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*(*n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 125)))) goto LA11_;
						result = n;
						goto BeforeRet_;
					}
					LA11_: ;
					TM_EnH1I9cGkGYbf9a1NwhuXDPg_115 = addInt(res, ((NI) 1));
					res = (NI)(TM_EnH1I9cGkGYbf9a1NwhuXDPg_115);
				} LA8: ;
			}
		}
		result = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
	}
	goto LA1_;
	LA3_: ;
	{
		result = n;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_astDatInit000)(void) {
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_2_26[26];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_4;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_3[26] = {
"skUnknown", 
"skConditional", 
"skDynLib", 
"skParam", 
"skGenericParam", 
"skTemp", 
"skModule", 
"skType", 
"skVar", 
"skLet", 
"skConst", 
"skResult", 
"skProc", 
"skFunc", 
"skMethod", 
"skIterator", 
"skConverter", 
"skMacro", 
"skTemplate", 
"skField", 
"skEnumField", 
"skForVar", 
"skLabel", 
"skStub", 
"skPackage", 
"skAlias"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_5_36[36];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_7;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_6[36] = {
"sfUsed", 
"sfExported", 
"sfFromGeneric", 
"sfGlobal", 
"sfForward", 
"sfImportc", 
"sfExportc", 
"sfVolatile", 
"sfRegister", 
"sfPure", 
"sfNoSideEffect", 
"sfSideEffect", 
"sfMainModule", 
"sfSystemModule", 
"sfNoReturn", 
"sfAddrTaken", 
"sfCompilerProc", 
"sfProcvar", 
"sfDiscriminant", 
"sfDeprecated", 
"sfExplain", 
"sfError", 
"sfShadowed", 
"sfThread", 
"sfCompileTime", 
"sfConstructor", 
"sfDispatcher", 
"sfBorrow", 
"sfInfixCall", 
"sfNamedParamCall", 
"sfDiscardable", 
"sfOverriden", 
"sfCallsite", 
"sfGenSym", 
"sfNonReloadable", 
"sfGeneratedOp"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_8_64[64];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_10;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_9[64] = {
"tyNone", 
"tyBool", 
"tyChar", 
"tyEmpty", 
"tyAlias", 
"tyNil", 
"tyUntyped", 
"tyTyped", 
"tyTypeDesc", 
"tyGenericInvocation", 
"tyGenericBody", 
"tyGenericInst", 
"tyGenericParam", 
"tyDistinct", 
"tyEnum", 
"tyOrdinal", 
"tyArray", 
"tyObject", 
"tyTuple", 
"tySet", 
"tyRange", 
"tyPtr", 
"tyRef", 
"tyVar", 
"tySequence", 
"tyProc", 
"tyPointer", 
"tyOpenArray", 
"tyString", 
"tyCString", 
"tyForward", 
"tyInt", 
"tyInt8", 
"tyInt16", 
"tyInt32", 
"tyInt64", 
"tyFloat", 
"tyFloat32", 
"tyFloat64", 
"tyFloat128", 
"tyUInt", 
"tyUInt8", 
"tyUInt16", 
"tyUInt32", 
"tyUInt64", 
"tyOwned", 
"tySink", 
"tyLent", 
"tyVarargs", 
"tyUncheckedArray", 
"tyProxy", 
"tyBuiltInTypeClass", 
"tyUserTypeClass", 
"tyUserTypeClassInst", 
"tyCompositeTypeClass", 
"tyInferred", 
"tyAnd", 
"tyOr", 
"tyNot", 
"tyAnything", 
"tyStatic", 
"tyFromExpr", 
"tyOpt", 
"tyVoid"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_11_38[38];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_13;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_12[38] = {
"tfVarargs", 
"tfNoSideEffect", 
"tfFinal", 
"tfInheritable", 
"tfHasOwned", 
"tfEnumHasHoles", 
"tfShallow", 
"tfThread", 
"tfFromGeneric", 
"tfUnresolved", 
"tfResolved", 
"tfRetType", 
"tfCapturesEnv", 
"tfByCopy", 
"tfByRef", 
"tfIterator", 
"tfPartial", 
"tfNotNil", 
"tfNeedsInit", 
"tfVarIsPtr", 
"tfHasMeta", 
"tfHasGCedMem", 
"tfPacked", 
"tfHasStatic", 
"tfGenericTypeParam", 
"tfImplicitTypeParam", 
"tfInferrableStatic", 
"tfConceptMatchedTypeSym", 
"tfExplicit", 
"tfWildcard", 
"tfHasAsgn", 
"tfBorrowDot", 
"tfTriggersCompileTime", 
"tfRefsAnonObj", 
"tfCovariant", 
"tfWeakCovariant", 
"tfContravariant", 
"tfCheckedForDestructor"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_14_161[161];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_16;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_15[161] = {
"nkNone", 
"nkEmpty", 
"nkIdent", 
"nkSym", 
"nkType", 
"nkCharLit", 
"nkIntLit", 
"nkInt8Lit", 
"nkInt16Lit", 
"nkInt32Lit", 
"nkInt64Lit", 
"nkUIntLit", 
"nkUInt8Lit", 
"nkUInt16Lit", 
"nkUInt32Lit", 
"nkUInt64Lit", 
"nkFloatLit", 
"nkFloat32Lit", 
"nkFloat64Lit", 
"nkFloat128Lit", 
"nkStrLit", 
"nkRStrLit", 
"nkTripleStrLit", 
"nkNilLit", 
"nkComesFrom", 
"nkDotCall", 
"nkCommand", 
"nkCall", 
"nkCallStrLit", 
"nkInfix", 
"nkPrefix", 
"nkPostfix", 
"nkHiddenCallConv", 
"nkExprEqExpr", 
"nkExprColonExpr", 
"nkIdentDefs", 
"nkVarTuple", 
"nkPar", 
"nkObjConstr", 
"nkCurly", 
"nkCurlyExpr", 
"nkBracket", 
"nkBracketExpr", 
"nkPragmaExpr", 
"nkRange", 
"nkDotExpr", 
"nkCheckedFieldExpr", 
"nkDerefExpr", 
"nkIfExpr", 
"nkElifExpr", 
"nkElseExpr", 
"nkLambda", 
"nkDo", 
"nkAccQuoted", 
"nkTableConstr", 
"nkBind", 
"nkClosedSymChoice", 
"nkOpenSymChoice", 
"nkHiddenStdConv", 
"nkHiddenSubConv", 
"nkConv", 
"nkCast", 
"nkStaticExpr", 
"nkAddr", 
"nkHiddenAddr", 
"nkHiddenDeref", 
"nkObjDownConv", 
"nkObjUpConv", 
"nkChckRangeF", 
"nkChckRange64", 
"nkChckRange", 
"nkStringToCString", 
"nkCStringToString", 
"nkAsgn", 
"nkFastAsgn", 
"nkGenericParams", 
"nkFormalParams", 
"nkOfInherit", 
"nkImportAs", 
"nkProcDef", 
"nkMethodDef", 
"nkConverterDef", 
"nkMacroDef", 
"nkTemplateDef", 
"nkIteratorDef", 
"nkOfBranch", 
"nkElifBranch", 
"nkExceptBranch", 
"nkElse", 
"nkAsmStmt", 
"nkPragma", 
"nkPragmaBlock", 
"nkIfStmt", 
"nkWhenStmt", 
"nkForStmt", 
"nkParForStmt", 
"nkWhileStmt", 
"nkCaseStmt", 
"nkTypeSection", 
"nkVarSection", 
"nkLetSection", 
"nkConstSection", 
"nkConstDef", 
"nkTypeDef", 
"nkYieldStmt", 
"nkDefer", 
"nkTryStmt", 
"nkFinally", 
"nkRaiseStmt", 
"nkReturnStmt", 
"nkBreakStmt", 
"nkContinueStmt", 
"nkBlockStmt", 
"nkStaticStmt", 
"nkDiscardStmt", 
"nkStmtList", 
"nkImportStmt", 
"nkImportExceptStmt", 
"nkExportStmt", 
"nkExportExceptStmt", 
"nkFromStmt", 
"nkIncludeStmt", 
"nkBindStmt", 
"nkMixinStmt", 
"nkUsingStmt", 
"nkCommentStmt", 
"nkStmtListExpr", 
"nkBlockExpr", 
"nkStmtListType", 
"nkBlockType", 
"nkWith", 
"nkWithout", 
"nkTypeOfExpr", 
"nkObjectTy", 
"nkTupleTy", 
"nkTupleClassTy", 
"nkTypeClassTy", 
"nkStaticTy", 
"nkRecList", 
"nkRecCase", 
"nkRecWhen", 
"nkRefTy", 
"nkPtrTy", 
"nkVarTy", 
"nkConstTy", 
"nkMutableTy", 
"nkDistinctTy", 
"nkProcTy", 
"nkIteratorTy", 
"nkSharedTy", 
"nkEnumTy", 
"nkEnumFieldDef", 
"nkArgList", 
"nkPattern", 
"nkHiddenTryStmt", 
"nkClosure", 
"nkGotoState", 
"nkState", 
"nkBreakState", 
"nkFuncDef", 
"nkTupleConstr"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_17_20[20];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_19;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_18[20] = {
"nfNone", 
"nfBase2", 
"nfBase8", 
"nfBase16", 
"nfAllConst", 
"nfTransf", 
"nfNoRewrite", 
"nfSem", 
"nfLL", 
"nfDotField", 
"nfDotSetter", 
"nfExplicitCall", 
"nfExprCall", 
"nfIsRef", 
"nfPreventCg", 
"nfBlockArg", 
"nfFromTemplate", 
"nfDefaultParam", 
"nfDefaultRefsParam", 
"nfExecuteOnReload"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[15];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_23_10[10];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_25;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_24[10] = {
"ccDefault", 
"ccStdCall", 
"ccCDecl", 
"ccSafeCall", 
"ccSysCall", 
"ccInline", 
"ccNoInline", 
"ccFastCall", 
"ccClosure", 
"ccNoConvention"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_26_5[5];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[14];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_28_3[3];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_29_3[3];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_30_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_31_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_32_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_33_296[296];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_35;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_34[296] = {
"mNone", 
"mDefined", 
"mDefinedInScope", 
"mCompiles", 
"mArrGet", 
"mArrPut", 
"mAsgn", 
"mLow", 
"mHigh", 
"mSizeOf", 
"mAlignOf", 
"mOffsetOf", 
"mTypeTrait", 
"mIs", 
"mOf", 
"mAddr", 
"mType", 
"mTypeOf", 
"mRoof", 
"mPlugin", 
"mEcho", 
"mShallowCopy", 
"mSlurp", 
"mStaticExec", 
"mStatic", 
"mParseExprToAst", 
"mParseStmtToAst", 
"mExpandToAst", 
"mQuoteAst", 
"mUnaryLt", 
"mInc", 
"mDec", 
"mOrd", 
"mNew", 
"mNewFinalize", 
"mNewSeq", 
"mNewSeqOfCap", 
"mLengthOpenArray", 
"mLengthStr", 
"mLengthArray", 
"mLengthSeq", 
"mXLenStr", 
"mXLenSeq", 
"mIncl", 
"mExcl", 
"mCard", 
"mChr", 
"mGCref", 
"mGCunref", 
"mAddI", 
"mSubI", 
"mMulI", 
"mDivI", 
"mModI", 
"mSucc", 
"mPred", 
"mAddF64", 
"mSubF64", 
"mMulF64", 
"mDivF64", 
"mShrI", 
"mShlI", 
"mAshrI", 
"mBitandI", 
"mBitorI", 
"mBitxorI", 
"mMinI", 
"mMaxI", 
"mMinF64", 
"mMaxF64", 
"mAddU", 
"mSubU", 
"mMulU", 
"mDivU", 
"mModU", 
"mEqI", 
"mLeI", 
"mLtI", 
"mEqF64", 
"mLeF64", 
"mLtF64", 
"mLeU", 
"mLtU", 
"mLeU64", 
"mLtU64", 
"mEqEnum", 
"mLeEnum", 
"mLtEnum", 
"mEqCh", 
"mLeCh", 
"mLtCh", 
"mEqB", 
"mLeB", 
"mLtB", 
"mEqRef", 
"mEqUntracedRef", 
"mLePtr", 
"mLtPtr", 
"mXor", 
"mEqCString", 
"mEqProc", 
"mUnaryMinusI", 
"mUnaryMinusI64", 
"mAbsI", 
"mNot", 
"mUnaryPlusI", 
"mBitnotI", 
"mUnaryPlusF64", 
"mUnaryMinusF64", 
"mAbsF64", 
"mZe8ToI", 
"mZe8ToI64", 
"mZe16ToI", 
"mZe16ToI64", 
"mZe32ToI64", 
"mZeIToI64", 
"mToU8", 
"mToU16", 
"mToU32", 
"mToFloat", 
"mToBiggestFloat", 
"mToInt", 
"mToBiggestInt", 
"mCharToStr", 
"mBoolToStr", 
"mIntToStr", 
"mInt64ToStr", 
"mFloatToStr", 
"mCStrToStr", 
"mStrToStr", 
"mEnumToStr", 
"mAnd", 
"mOr", 
"mEqStr", 
"mLeStr", 
"mLtStr", 
"mEqSet", 
"mLeSet", 
"mLtSet", 
"mMulSet", 
"mPlusSet", 
"mMinusSet", 
"mSymDiffSet", 
"mConStrStr", 
"mSlice", 
"mDotDot", 
"mFields", 
"mFieldPairs", 
"mOmpParFor", 
"mAppendStrCh", 
"mAppendStrStr", 
"mAppendSeqElem", 
"mInRange", 
"mInSet", 
"mRepr", 
"mExit", 
"mSetLengthStr", 
"mSetLengthSeq", 
"mIsPartOf", 
"mAstToStr", 
"mParallel", 
"mSwap", 
"mIsNil", 
"mArrToSeq", 
"mCopyStr", 
"mCopyStrLast", 
"mNewString", 
"mNewStringOfCap", 
"mParseBiggestFloat", 
"mMove", 
"mWasMoved", 
"mDestroy", 
"mDefault", 
"mUnown", 
"mAccessEnv", 
"mReset", 
"mArray", 
"mOpenArray", 
"mRange", 
"mSet", 
"mSeq", 
"mOpt", 
"mVarargs", 
"mRef", 
"mPtr", 
"mVar", 
"mDistinct", 
"mVoid", 
"mTuple", 
"mOrdinal", 
"mInt", 
"mInt8", 
"mInt16", 
"mInt32", 
"mInt64", 
"mUInt", 
"mUInt8", 
"mUInt16", 
"mUInt32", 
"mUInt64", 
"mFloat", 
"mFloat32", 
"mFloat64", 
"mFloat128", 
"mBool", 
"mChar", 
"mString", 
"mCstring", 
"mPointer", 
"mEmptySet", 
"mIntSetBaseType", 
"mNil", 
"mExpr", 
"mStmt", 
"mTypeDesc", 
"mVoidType", 
"mPNimrodNode", 
"mShared", 
"mGuarded", 
"mLock", 
"mSpawn", 
"mDeepCopy", 
"mIsMainModule", 
"mCompileDate", 
"mCompileTime", 
"mProcCall", 
"mCpuEndian", 
"mHostOS", 
"mHostCPU", 
"mBuildOS", 
"mBuildCPU", 
"mAppType", 
"mCompileOption", 
"mCompileOptionArg", 
"mNLen", 
"mNChild", 
"mNSetChild", 
"mNAdd", 
"mNAddMultiple", 
"mNDel", 
"mNKind", 
"mNSymKind", 
"mNccValue", 
"mNccInc", 
"mNcsAdd", 
"mNcsIncl", 
"mNcsLen", 
"mNcsAt", 
"mNctPut", 
"mNctLen", 
"mNctGet", 
"mNctHasNext", 
"mNctNext", 
"mNIntVal", 
"mNFloatVal", 
"mNSymbol", 
"mNIdent", 
"mNGetType", 
"mNStrVal", 
"mNSetIntVal", 
"mNSetFloatVal", 
"mNSetSymbol", 
"mNSetIdent", 
"mNSetType", 
"mNSetStrVal", 
"mNLineInfo", 
"mNNewNimNode", 
"mNCopyNimNode", 
"mNCopyNimTree", 
"mStrToIdent", 
"mNSigHash", 
"mNSizeOf", 
"mNBindSym", 
"mLocals", 
"mNCallSite", 
"mEqIdent", 
"mEqNimrodNode", 
"mSameNodeType", 
"mGetImpl", 
"mNGenSym", 
"mNHint", 
"mNWarning", 
"mNError", 
"mInstantiationInfo", 
"mGetTypeInfo", 
"mNimvm", 
"mIntDefine", 
"mStrDefine", 
"mBoolDefine", 
"mRunnableExamples", 
"mException", 
"mBuiltinType", 
"mSymOwner", 
"mUncheckedArray", 
"mGetImplTransf", 
"mSymIsInstantiationOf"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_36_5[5];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_37_11[11];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_39;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_38[11] = {
"locNone", 
"locTemp", 
"locLocalVar", 
"locGlobalVar", 
"locParam", 
"locField", 
"locExpr", 
"locProc", 
"locData", 
"locCall", 
"locOther"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_40_4[4];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_42;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_41[4] = {
"OnUnknown", 
"OnStatic", 
"OnStack", 
"OnHeap"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_43_10[10];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_45;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_44[10] = {
"lfIndirect", 
"lfFullExternalName", 
"lfNoDeepCopy", 
"lfNoDecl", 
"lfDynamicLib", 
"lfExportLib", 
"lfHeader", 
"lfImportCompilerProc", 
"lfSingleUse", 
"lfEnforceDeref"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_46_5[5];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_47_2[2];
NI TM_EnH1I9cGkGYbf9a1NwhuXDPg_49;
static char* NIM_CONST TM_EnH1I9cGkGYbf9a1NwhuXDPg_48[2] = {
"libHeader", 
"libDynamic"};
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_50_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_51_3[3];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_52_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_53_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_90_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_91_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_112_2[2];
static TNimNode* TM_EnH1I9cGkGYbf9a1NwhuXDPg_113_3[3];
static TNimNode TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[794];
NTI_cNCW9acsSznmEccl1fgQwkw_.size = sizeof(tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw);
NTI_cNCW9acsSznmEccl1fgQwkw_.kind = 14;
NTI_cNCW9acsSznmEccl1fgQwkw_.base = 0;
NTI_cNCW9acsSznmEccl1fgQwkw_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_4 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_4 < 26; TM_EnH1I9cGkGYbf9a1NwhuXDPg_4++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_4+0].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_4+0].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_4;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_4+0].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_3[TM_EnH1I9cGkGYbf9a1NwhuXDPg_4];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_2_26[TM_EnH1I9cGkGYbf9a1NwhuXDPg_4] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_4+0];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[26].len = 26; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[26].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[26].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_2_26[0];
NTI_cNCW9acsSznmEccl1fgQwkw_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[26];
NTI_K9ay6LWMat9bUiT9bIbMxpDHw_.size = sizeof(tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw);
NTI_K9ay6LWMat9bUiT9bIbMxpDHw_.kind = 14;
NTI_K9ay6LWMat9bUiT9bIbMxpDHw_.base = 0;
NTI_K9ay6LWMat9bUiT9bIbMxpDHw_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_7 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_7 < 36; TM_EnH1I9cGkGYbf9a1NwhuXDPg_7++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_7+27].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_7+27].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_7;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_7+27].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_6[TM_EnH1I9cGkGYbf9a1NwhuXDPg_7];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_5_36[TM_EnH1I9cGkGYbf9a1NwhuXDPg_7] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_7+27];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[63].len = 36; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[63].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[63].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_5_36[0];
NTI_K9ay6LWMat9bUiT9bIbMxpDHw_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[63];
NTI_9a3YiReNVD0IJHWFKgXRe9ag_.size = sizeof(tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag);
NTI_9a3YiReNVD0IJHWFKgXRe9ag_.kind = 14;
NTI_9a3YiReNVD0IJHWFKgXRe9ag_.base = 0;
NTI_9a3YiReNVD0IJHWFKgXRe9ag_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_10 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_10 < 64; TM_EnH1I9cGkGYbf9a1NwhuXDPg_10++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_10+64].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_10+64].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_10;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_10+64].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_9[TM_EnH1I9cGkGYbf9a1NwhuXDPg_10];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_8_64[TM_EnH1I9cGkGYbf9a1NwhuXDPg_10] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_10+64];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[128].len = 64; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[128].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[128].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_8_64[0];
NTI_9a3YiReNVD0IJHWFKgXRe9ag_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[128];
NTI_x2m5g1NpbmDig4wLT3Ylhw_.size = sizeof(tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw);
NTI_x2m5g1NpbmDig4wLT3Ylhw_.kind = 14;
NTI_x2m5g1NpbmDig4wLT3Ylhw_.base = 0;
NTI_x2m5g1NpbmDig4wLT3Ylhw_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_13 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_13 < 38; TM_EnH1I9cGkGYbf9a1NwhuXDPg_13++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_13+129].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_13+129].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_13;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_13+129].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_12[TM_EnH1I9cGkGYbf9a1NwhuXDPg_13];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_11_38[TM_EnH1I9cGkGYbf9a1NwhuXDPg_13] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_13+129];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[167].len = 38; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[167].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[167].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_11_38[0];
NTI_x2m5g1NpbmDig4wLT3Ylhw_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[167];
NTI_G4E4Gxe7oI2Cm03rkiOzQw_.size = sizeof(tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw);
NTI_G4E4Gxe7oI2Cm03rkiOzQw_.kind = 14;
NTI_G4E4Gxe7oI2Cm03rkiOzQw_.base = 0;
NTI_G4E4Gxe7oI2Cm03rkiOzQw_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_16 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_16 < 161; TM_EnH1I9cGkGYbf9a1NwhuXDPg_16++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_16+168].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_16+168].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_16;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_16+168].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_15[TM_EnH1I9cGkGYbf9a1NwhuXDPg_16];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_14_161[TM_EnH1I9cGkGYbf9a1NwhuXDPg_16] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_16+168];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[329].len = 161; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[329].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[329].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_14_161[0];
NTI_G4E4Gxe7oI2Cm03rkiOzQw_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[329];
NTI_jyh9acXHkhZANSSvPIY7ZLg_.size = sizeof(tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg);
NTI_jyh9acXHkhZANSSvPIY7ZLg_.kind = 14;
NTI_jyh9acXHkhZANSSvPIY7ZLg_.base = 0;
NTI_jyh9acXHkhZANSSvPIY7ZLg_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_19 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_19 < 20; TM_EnH1I9cGkGYbf9a1NwhuXDPg_19++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_19+330].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_19+330].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_19;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_19+330].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_18[TM_EnH1I9cGkGYbf9a1NwhuXDPg_19];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_17_20[TM_EnH1I9cGkGYbf9a1NwhuXDPg_19] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_19+330];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[350].len = 20; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[350].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[350].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_17_20[0];
NTI_jyh9acXHkhZANSSvPIY7ZLg_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[350];
NTI_v9ae2Dpu13OW2ZJ2U9bNMd9cQ_.size = sizeof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ);
NTI_v9ae2Dpu13OW2ZJ2U9bNMd9cQ_.kind = 17;
NTI_v9ae2Dpu13OW2ZJ2U9bNMd9cQ_.base = (&NTI_iIXPrEsiKHiioLj0HSkQhA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[352];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[352].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[352].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, kind);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[352].typ = (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[352].name = "kind";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[353];
NTI_yjAJ8w0h1PBaSwSGJ3P7IA_.size = sizeof(tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA);
NTI_yjAJ8w0h1PBaSwSGJ3P7IA_.kind = 14;
NTI_yjAJ8w0h1PBaSwSGJ3P7IA_.base = 0;
NTI_yjAJ8w0h1PBaSwSGJ3P7IA_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_25 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_25 < 10; TM_EnH1I9cGkGYbf9a1NwhuXDPg_25++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_25+354].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_25+354].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_25;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_25+354].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_24[TM_EnH1I9cGkGYbf9a1NwhuXDPg_25];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_23_10[TM_EnH1I9cGkGYbf9a1NwhuXDPg_25] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_25+354];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[364].len = 10; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[364].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[364].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_23_10[0];
NTI_yjAJ8w0h1PBaSwSGJ3P7IA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[364];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[353].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[353].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, callConv);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[353].typ = (&NTI_yjAJ8w0h1PBaSwSGJ3P7IA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[353].name = "callConv";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[365];
NTI_TUnU4oefCIvAMjkVjD9cuBA_.size = sizeof(tySet_tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw);
NTI_TUnU4oefCIvAMjkVjD9cuBA_.kind = 19;
NTI_TUnU4oefCIvAMjkVjD9cuBA_.base = (&NTI_x2m5g1NpbmDig4wLT3Ylhw_);
NTI_TUnU4oefCIvAMjkVjD9cuBA_.flags = 3;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[366].len = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[366].kind = 0;
NTI_TUnU4oefCIvAMjkVjD9cuBA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[366];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[365].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[365].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, flags);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[365].typ = (&NTI_TUnU4oefCIvAMjkVjD9cuBA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[365].name = "flags";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[3] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[367];
NTI_Ef05srmQTDulnBdXR4Ja6Q_.size = sizeof(tySequence_Ef05srmQTDulnBdXR4Ja6Q*);
NTI_Ef05srmQTDulnBdXR4Ja6Q_.kind = 24;
NTI_Ef05srmQTDulnBdXR4Ja6Q_.base = (&NTI_AgIT5feFR9a9aoVjv9cx2rOtg_);
NTI_Ef05srmQTDulnBdXR4Ja6Q_.marker = Marker_tySequence_Ef05srmQTDulnBdXR4Ja6Q;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[367].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[367].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, sons);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[367].typ = (&NTI_Ef05srmQTDulnBdXR4Ja6Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[367].name = "sons";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[4] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[368];
NTI_bROa11lyF5vxEN9aYNbHmhw_.size = sizeof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw);
NTI_bROa11lyF5vxEN9aYNbHmhw_.kind = 18;
NTI_bROa11lyF5vxEN9aYNbHmhw_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_26_5[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[370];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[370].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[370].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, typ);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[370].typ = (&NTI_AgIT5feFR9a9aoVjv9cx2rOtg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[370].name = "typ";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_26_5[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[371];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[371].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[371].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, info);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[371].typ = (&NTI_WGx4rAexNXnczy1Avn646Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[371].name = "info";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_26_5[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[372];
NTI_Lj66phhshW0KaYhwBUJJ3Q_.size = sizeof(tySet_tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg);
NTI_Lj66phhshW0KaYhwBUJJ3Q_.kind = 19;
NTI_Lj66phhshW0KaYhwBUJJ3Q_.base = (&NTI_jyh9acXHkhZANSSvPIY7ZLg_);
NTI_Lj66phhshW0KaYhwBUJJ3Q_.flags = 3;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[373].len = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[373].kind = 0;
NTI_Lj66phhshW0KaYhwBUJJ3Q_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[373];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[372].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[372].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, flags);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[372].typ = (&NTI_Lj66phhshW0KaYhwBUJJ3Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[372].name = "flags";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_26_5[3] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[374];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[374].kind = 3;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[374].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, kind);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[374].typ = (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[374].name = "kind";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[374].sons = &NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[0];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[374].len = 161;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, intVal);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375].typ = (&NTI_Aav8dQoMlCFnZRxA0IhTHQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375].name = "intVal";
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[5] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[6] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[7] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[8] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[9] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[10] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[11] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[12] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[13] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[14] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[15] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[375];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[376].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[376].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, floatVal);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[376].typ = (&NTI_w9bl9a1ul9ctRJWiMl9cNnIMvg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[376].name = "floatVal";
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[16] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[376];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[17] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[376];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[18] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[376];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[19] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[376];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[377].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[377].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, strVal);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[377].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[377].name = "strVal";
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[20] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[377];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[21] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[377];
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[22] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[377];
NTI_JpsEh5i1AcKChGYbg7aV4w_.size = sizeof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w);
NTI_JpsEh5i1AcKChGYbg7aV4w_.kind = 17;
NTI_JpsEh5i1AcKChGYbg7aV4w_.base = (&NTI_iIXPrEsiKHiioLj0HSkQhA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[380];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[380].kind = 3;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[380].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, kind);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[380].typ = (&NTI_cNCW9acsSznmEccl1fgQwkw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[380].name = "kind";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[380].sons = &NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[0];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[380].len = 26;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[381].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[381].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, typeInstCache);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[381].typ = (&NTI_Ef05srmQTDulnBdXR4Ja6Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[381].name = "typeInstCache";
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[7] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[381];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[4] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[381];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_28_3[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[383];
NTI_5LqgVn6Tq9ainQRK7TQAQxA_.size = sizeof(tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA);
NTI_5LqgVn6Tq9ainQRK7TQAQxA_.kind = 18;
NTI_5LqgVn6Tq9ainQRK7TQAQxA_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_29_3[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[385];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[385].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[385].offset = offsetof(tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA, sym);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[385].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[385].name = "sym";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_29_3[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[386];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[386].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[386].offset = offsetof(tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA, concreteTypes);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[386].typ = (&NTI_Ef05srmQTDulnBdXR4Ja6Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[386].name = "concreteTypes";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_29_3[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[387];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[387].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[387].offset = offsetof(tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA, compilesId);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[387].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[387].name = "compilesId";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[384].len = 3; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[384].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[384].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_29_3[0];
NTI_5LqgVn6Tq9ainQRK7TQAQxA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[384];
NTI_Y32tFilzS9adEEksgrCsOzQ_.size = sizeof(tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA*);
NTI_Y32tFilzS9adEEksgrCsOzQ_.kind = 22;
NTI_Y32tFilzS9adEEksgrCsOzQ_.base = (&NTI_5LqgVn6Tq9ainQRK7TQAQxA_);
NTI_Y32tFilzS9adEEksgrCsOzQ_.marker = Marker_tyRef_Y32tFilzS9adEEksgrCsOzQ;
NTI_DXS6mEo7PVUFJkirsQ9bNQA_.size = sizeof(tySequence_DXS6mEo7PVUFJkirsQ9bNQA*);
NTI_DXS6mEo7PVUFJkirsQ9bNQA_.kind = 24;
NTI_DXS6mEo7PVUFJkirsQ9bNQA_.base = (&NTI_Y32tFilzS9adEEksgrCsOzQ_);
NTI_DXS6mEo7PVUFJkirsQ9bNQA_.marker = Marker_tySequence_DXS6mEo7PVUFJkirsQ9bNQA;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[383].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[383].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, procInstCache);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[383].typ = (&NTI_DXS6mEo7PVUFJkirsQ9bNQA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[383].name = "procInstCache";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_28_3[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[388];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[388].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[388].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, gcUnsafetyReason);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[388].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[388].name = "gcUnsafetyReason";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_28_3[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[389];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[389].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[389].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, transformedBody);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[389].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[389].name = "transformedBody";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382].len = 3; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_28_3[0];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[12] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[13] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[14] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[15] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[16] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[17] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[18] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[382];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_30_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[391];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[391].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[391].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, usedGenerics);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[391].typ = (&NTI_DXS6mEo7PVUFJkirsQ9bNQA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[391].name = "usedGenerics";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_30_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[392];
NTI_f07aOS3dr28kGa5wcE29aFA_.size = sizeof(tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA);
NTI_f07aOS3dr28kGa5wcE29aFA_.kind = 18;
NTI_f07aOS3dr28kGa5wcE29aFA_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_31_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[394];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[394].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[394].offset = offsetof(tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA, counter);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[394].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[394].name = "counter";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_31_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[395];
NTI_DfgJFJEYoj4YBAHLZPl5lQ_.size = sizeof(tySequence_DfgJFJEYoj4YBAHLZPl5lQ*);
NTI_DfgJFJEYoj4YBAHLZPl5lQ_.kind = 24;
NTI_DfgJFJEYoj4YBAHLZPl5lQ_.base = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
NTI_DfgJFJEYoj4YBAHLZPl5lQ_.marker = Marker_tySequence_DfgJFJEYoj4YBAHLZPl5lQ;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[395].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[395].offset = offsetof(tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA, data);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[395].typ = (&NTI_DfgJFJEYoj4YBAHLZPl5lQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[395].name = "data";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[393].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[393].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[393].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_31_2[0];
NTI_f07aOS3dr28kGa5wcE29aFA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[393];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[392].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[392].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, tab);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[392].typ = (&NTI_f07aOS3dr28kGa5wcE29aFA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[392].name = "tab";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[390].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[390].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[390].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_30_2[0];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[6] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[390];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[24] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[390];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_32_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[397];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[397].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[397].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, guard);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[397].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[397].name = "guard";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_32_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[398];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[398].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[398].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, bitsize);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[398].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[398].name = "bitsize";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[396].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[396].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[396].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_32_2[0];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[9] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[396];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[8] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[396];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[19] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[396];
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[21] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[396];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[399].len = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[399].kind = 2;
NimDT__JpsEh5i1AcKChGYbg7aV4w_kind[26] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[399];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[400];
NTI_shZhZOdbVC5nnFvcXQAImg_.size = sizeof(tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg);
NTI_shZhZOdbVC5nnFvcXQAImg_.kind = 14;
NTI_shZhZOdbVC5nnFvcXQAImg_.base = 0;
NTI_shZhZOdbVC5nnFvcXQAImg_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_35 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_35 < 296; TM_EnH1I9cGkGYbf9a1NwhuXDPg_35++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_35+401].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_35+401].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_35;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_35+401].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_34[TM_EnH1I9cGkGYbf9a1NwhuXDPg_35];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_33_296[TM_EnH1I9cGkGYbf9a1NwhuXDPg_35] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_35+401];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[697].len = 296; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[697].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[697].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_33_296[0];
NTI_shZhZOdbVC5nnFvcXQAImg_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[697];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[400].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[400].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, magic);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[400].typ = (&NTI_shZhZOdbVC5nnFvcXQAImg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[400].name = "magic";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[698];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[698].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[698].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, typ);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[698].typ = (&NTI_AgIT5feFR9a9aoVjv9cx2rOtg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[698].name = "typ";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[3] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[699];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[699].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[699].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, name);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[699].typ = (&NTI_B0xRsLi0eK4raPu9bd2tkcA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[699].name = "name";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[4] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[700];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[700].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[700].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, info);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[700].typ = (&NTI_WGx4rAexNXnczy1Avn646Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[700].name = "info";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[5] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[701];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[701].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[701].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, owner);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[701].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[701].name = "owner";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[6] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[702];
NTI_h9a2sdtQFa6zibBX41u5eAQ_.size = sizeof(tySet_tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw);
NTI_h9a2sdtQFa6zibBX41u5eAQ_.kind = 19;
NTI_h9a2sdtQFa6zibBX41u5eAQ_.base = (&NTI_K9ay6LWMat9bUiT9bIbMxpDHw_);
NTI_h9a2sdtQFa6zibBX41u5eAQ_.flags = 3;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[703].len = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[703].kind = 0;
NTI_h9a2sdtQFa6zibBX41u5eAQ_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[703];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[702].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[702].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, flags);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[702].typ = (&NTI_h9a2sdtQFa6zibBX41u5eAQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[702].name = "flags";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[7] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[704];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[704].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[704].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, ast);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[704].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[704].name = "ast";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[8] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[705];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[705].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[705].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, options);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[705].typ = (&NTI_7MnKRybmCNh5j9bDRLMkxLw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[705].name = "options";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[9] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[706];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[706].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[706].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, position);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[706].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[706].name = "position";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[10] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[707];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[707].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[707].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, offset);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[707].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[707].name = "offset";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[11] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[708];
NTI_EtHNvCB0bgfu9bFjzx9cb6aA_.size = sizeof(tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA);
NTI_EtHNvCB0bgfu9bFjzx9cb6aA_.kind = 18;
NTI_EtHNvCB0bgfu9bFjzx9cb6aA_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_36_5[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[710];
NTI_O7PRFZKuiBBWbku09cayVBg_.size = sizeof(tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg);
NTI_O7PRFZKuiBBWbku09cayVBg_.kind = 14;
NTI_O7PRFZKuiBBWbku09cayVBg_.base = 0;
NTI_O7PRFZKuiBBWbku09cayVBg_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_39 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_39 < 11; TM_EnH1I9cGkGYbf9a1NwhuXDPg_39++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_39+711].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_39+711].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_39;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_39+711].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_38[TM_EnH1I9cGkGYbf9a1NwhuXDPg_39];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_37_11[TM_EnH1I9cGkGYbf9a1NwhuXDPg_39] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_39+711];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[722].len = 11; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[722].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[722].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_37_11[0];
NTI_O7PRFZKuiBBWbku09cayVBg_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[722];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[710].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[710].offset = offsetof(tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA, k);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[710].typ = (&NTI_O7PRFZKuiBBWbku09cayVBg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[710].name = "k";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_36_5[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[723];
NTI_JK9cKMX3XnqHaUky9b6gkGEw_.size = sizeof(tyEnum_TStorageLoc_JK9cKMX3XnqHaUky9b6gkGEw);
NTI_JK9cKMX3XnqHaUky9b6gkGEw_.kind = 14;
NTI_JK9cKMX3XnqHaUky9b6gkGEw_.base = 0;
NTI_JK9cKMX3XnqHaUky9b6gkGEw_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_42 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_42 < 4; TM_EnH1I9cGkGYbf9a1NwhuXDPg_42++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_42+724].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_42+724].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_42;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_42+724].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_41[TM_EnH1I9cGkGYbf9a1NwhuXDPg_42];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_40_4[TM_EnH1I9cGkGYbf9a1NwhuXDPg_42] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_42+724];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[728].len = 4; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[728].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[728].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_40_4[0];
NTI_JK9cKMX3XnqHaUky9b6gkGEw_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[728];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[723].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[723].offset = offsetof(tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA, storage);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[723].typ = (&NTI_JK9cKMX3XnqHaUky9b6gkGEw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[723].name = "storage";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_36_5[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[729];
NTI_o2bqJgR4ceIupnUSpxiudA_.size = sizeof(tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA);
NTI_o2bqJgR4ceIupnUSpxiudA_.kind = 14;
NTI_o2bqJgR4ceIupnUSpxiudA_.base = 0;
NTI_o2bqJgR4ceIupnUSpxiudA_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_45 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_45 < 10; TM_EnH1I9cGkGYbf9a1NwhuXDPg_45++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_45+730].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_45+730].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_45;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_45+730].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_44[TM_EnH1I9cGkGYbf9a1NwhuXDPg_45];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_43_10[TM_EnH1I9cGkGYbf9a1NwhuXDPg_45] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_45+730];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[740].len = 10; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[740].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[740].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_43_10[0];
NTI_o2bqJgR4ceIupnUSpxiudA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[740];
NTI_yChkHmjOkttAUPxHrKvWAA_.size = sizeof(tySet_tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA);
NTI_yChkHmjOkttAUPxHrKvWAA_.kind = 19;
NTI_yChkHmjOkttAUPxHrKvWAA_.base = (&NTI_o2bqJgR4ceIupnUSpxiudA_);
NTI_yChkHmjOkttAUPxHrKvWAA_.flags = 3;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[741].len = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[741].kind = 0;
NTI_yChkHmjOkttAUPxHrKvWAA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[741];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[729].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[729].offset = offsetof(tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA, flags);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[729].typ = (&NTI_yChkHmjOkttAUPxHrKvWAA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[729].name = "flags";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_36_5[3] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[742];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[742].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[742].offset = offsetof(tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA, lode);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[742].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[742].name = "lode";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_36_5[4] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[743];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[743].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[743].offset = offsetof(tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA, r);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[743].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[743].name = "r";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[709].len = 5; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[709].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[709].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_36_5[0];
NTI_EtHNvCB0bgfu9bFjzx9cb6aA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[709];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[708].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[708].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, loc);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[708].typ = (&NTI_EtHNvCB0bgfu9bFjzx9cb6aA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[708].name = "loc";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[12] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[744];
NTI_NBMxlJ6g3utqUlplqTTHkA_.size = sizeof(tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA);
NTI_NBMxlJ6g3utqUlplqTTHkA_.kind = 18;
NTI_NBMxlJ6g3utqUlplqTTHkA_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_46_5[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[746];
NTI_9b8v60kso59bBaw9cp8B9a9apKQ_.size = sizeof(tyEnum_TLibKind_9b8v60kso59bBaw9cp8B9a9apKQ);
NTI_9b8v60kso59bBaw9cp8B9a9apKQ_.kind = 14;
NTI_9b8v60kso59bBaw9cp8B9a9apKQ_.base = 0;
NTI_9b8v60kso59bBaw9cp8B9a9apKQ_.flags = 3;
for (TM_EnH1I9cGkGYbf9a1NwhuXDPg_49 = 0; TM_EnH1I9cGkGYbf9a1NwhuXDPg_49 < 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_49++) {
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_49+747].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_49+747].offset = TM_EnH1I9cGkGYbf9a1NwhuXDPg_49;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_49+747].name = TM_EnH1I9cGkGYbf9a1NwhuXDPg_48[TM_EnH1I9cGkGYbf9a1NwhuXDPg_49];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_47_2[TM_EnH1I9cGkGYbf9a1NwhuXDPg_49] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[TM_EnH1I9cGkGYbf9a1NwhuXDPg_49+747];
}
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[749].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[749].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[749].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_47_2[0];
NTI_9b8v60kso59bBaw9cp8B9a9apKQ_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[749];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[746].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[746].offset = offsetof(tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA, kind);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[746].typ = (&NTI_9b8v60kso59bBaw9cp8B9a9apKQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[746].name = "kind";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_46_5[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[750];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[750].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[750].offset = offsetof(tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA, generated);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[750].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[750].name = "generated";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_46_5[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[751];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[751].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[751].offset = offsetof(tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA, isOverriden);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[751].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[751].name = "isOverriden";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_46_5[3] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[752];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[752].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[752].offset = offsetof(tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA, name);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[752].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[752].name = "name";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_46_5[4] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[753];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[753].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[753].offset = offsetof(tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA, path);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[753].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[753].name = "path";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[745].len = 5; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[745].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[745].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_46_5[0];
NTI_NBMxlJ6g3utqUlplqTTHkA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[745];
NTI_EL9cZTJI9a9cmSIbGnseCuc9bg_.size = sizeof(tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA*);
NTI_EL9cZTJI9a9cmSIbGnseCuc9bg_.kind = 22;
NTI_EL9cZTJI9a9cmSIbGnseCuc9bg_.base = (&NTI_NBMxlJ6g3utqUlplqTTHkA_);
NTI_EL9cZTJI9a9cmSIbGnseCuc9bg_.marker = Marker_tyRef_EL9cZTJI9a9cmSIbGnseCuc9bg;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[744].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[744].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, annex);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[744].typ = (&NTI_EL9cZTJI9a9cmSIbGnseCuc9bg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[744].name = "annex";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[13] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[754];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[754].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[754].offset = offsetof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w, constraint);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[754].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[754].name = "constraint";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[379].len = 14; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[379].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[379].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_27_14[0];
NTI_JpsEh5i1AcKChGYbg7aV4w_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[379];
NTI_K9bspPztfoWajecnwjyHuYQ_.size = sizeof(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*);
NTI_K9bspPztfoWajecnwjyHuYQ_.kind = 22;
NTI_K9bspPztfoWajecnwjyHuYQ_.base = (&NTI_JpsEh5i1AcKChGYbg7aV4w_);
NTI_K9bspPztfoWajecnwjyHuYQ_.marker = Marker_tyRef_K9bspPztfoWajecnwjyHuYQ;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[378].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[378].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, sym);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[378].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[378].name = "sym";
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[3] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[378];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[755].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[755].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, ident);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[755].typ = (&NTI_B0xRsLi0eK4raPu9bd2tkcA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[755].name = "ident";
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[755];
NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_.size = sizeof(tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*);
NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_.kind = 24;
NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_.base = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_.marker = Marker_tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[756].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[756].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, sons);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[756].typ = (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[756].name = "sons";
NimDT__bROa11lyF5vxEN9aYNbHmhw_kind[161] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[756];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_26_5[4] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[757];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[757].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[757].offset = offsetof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw, comment);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[757].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[757].name = "comment";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[369].len = 5; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[369].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[369].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_26_5[0];
NTI_bROa11lyF5vxEN9aYNbHmhw_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[369];
NTI_fKfcLzXYiz5jNu3NH3Tv8Q_.size = sizeof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*);
NTI_fKfcLzXYiz5jNu3NH3Tv8Q_.kind = 22;
NTI_fKfcLzXYiz5jNu3NH3Tv8Q_.base = (&NTI_bROa11lyF5vxEN9aYNbHmhw_);
NTI_fKfcLzXYiz5jNu3NH3Tv8Q_.marker = Marker_tyRef_fKfcLzXYiz5jNu3NH3Tv8Q;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[368].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[368].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, n);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[368].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[368].name = "n";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[5] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[758];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[758].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[758].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, owner);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[758].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[758].name = "owner";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[6] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[759];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[759].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[759].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, sym);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[759].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[759].name = "sym";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[7] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[760];
NTI_PsPyPA45AAjHu4uDGHNjTg_.size = sizeof(tyArray_PsPyPA45AAjHu4uDGHNjTg);
NTI_PsPyPA45AAjHu4uDGHNjTg_.kind = 16;
NTI_PsPyPA45AAjHu4uDGHNjTg_.base = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[760].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[760].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, attachedOps);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[760].typ = (&NTI_PsPyPA45AAjHu4uDGHNjTg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[760].name = "attachedOps";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[8] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[761];
NTI_zwpS6d6iewrdlBSTNFoyVA_.size = sizeof(tyTuple_zwpS6d6iewrdlBSTNFoyVA);
NTI_zwpS6d6iewrdlBSTNFoyVA_.kind = 18;
NTI_zwpS6d6iewrdlBSTNFoyVA_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_50_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[763];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[763].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[763].offset = offsetof(tyTuple_zwpS6d6iewrdlBSTNFoyVA, Field0);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[763].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[763].name = "Field0";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_50_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[764];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[764].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[764].offset = offsetof(tyTuple_zwpS6d6iewrdlBSTNFoyVA, Field1);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[764].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[764].name = "Field1";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[762].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[762].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[762].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_50_2[0];
NTI_zwpS6d6iewrdlBSTNFoyVA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[762];
NTI_MvZmat48bhe9b6x9aUD58D5Q_.size = sizeof(tySequence_MvZmat48bhe9b6x9aUD58D5Q*);
NTI_MvZmat48bhe9b6x9aUD58D5Q_.kind = 24;
NTI_MvZmat48bhe9b6x9aUD58D5Q_.base = (&NTI_zwpS6d6iewrdlBSTNFoyVA_);
NTI_MvZmat48bhe9b6x9aUD58D5Q_.marker = Marker_tySequence_MvZmat48bhe9b6x9aUD58D5Q;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[761].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[761].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, methods);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[761].typ = (&NTI_MvZmat48bhe9b6x9aUD58D5Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[761].name = "methods";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[9] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[765];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[765].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[765].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, size);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[765].typ = (&NTI_Aav8dQoMlCFnZRxA0IhTHQ_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[765].name = "size";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[10] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[766];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[766].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[766].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, align);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[766].typ = (&NTI_kDPg4wXyR8DDyA0MeEjIsw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[766].name = "align";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[11] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[767];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[767].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[767].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, lockLevel);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[767].typ = (&NTI_kDPg4wXyR8DDyA0MeEjIsw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[767].name = "lockLevel";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[12] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[768];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[768].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[768].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, loc);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[768].typ = (&NTI_EtHNvCB0bgfu9bFjzx9cb6aA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[768].name = "loc";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[13] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[769];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[769].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[769].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, typeInst);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[769].typ = (&NTI_AgIT5feFR9a9aoVjv9cx2rOtg_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[769].name = "typeInst";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[14] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[770];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[770].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[770].offset = offsetof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ, uniqueId);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[770].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[770].name = "uniqueId";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[351].len = 15; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[351].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[351].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_22_15[0];
NTI_v9ae2Dpu13OW2ZJ2U9bNMd9cQ_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[351];
NTI_AgIT5feFR9a9aoVjv9cx2rOtg_.size = sizeof(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*);
NTI_AgIT5feFR9a9aoVjv9cx2rOtg_.kind = 22;
NTI_AgIT5feFR9a9aoVjv9cx2rOtg_.base = (&NTI_v9ae2Dpu13OW2ZJ2U9bNMd9cQ_);
NTI_AgIT5feFR9a9aoVjv9cx2rOtg_.marker = Marker_tyRef_AgIT5feFR9a9aoVjv9cx2rOtg;
NTI_1cQRXW6aAknk7ywAwjH3nw_.size = sizeof(tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw);
NTI_1cQRXW6aAknk7ywAwjH3nw_.kind = 18;
NTI_1cQRXW6aAknk7ywAwjH3nw_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_51_3[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[772];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[772].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[772].offset = offsetof(tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw, depthLevel);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[772].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[772].name = "depthLevel";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_51_3[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[773];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[773].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[773].offset = offsetof(tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw, symbols);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[773].typ = (&NTI_f07aOS3dr28kGa5wcE29aFA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[773].name = "symbols";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_51_3[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[774];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[774].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[774].offset = offsetof(tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw, parent);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[774].typ = (&NTI_N89ckikRqMir57209a3tEeqw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[774].name = "parent";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[771].len = 3; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[771].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[771].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_51_3[0];
NTI_1cQRXW6aAknk7ywAwjH3nw_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[771];
NTI_N89ckikRqMir57209a3tEeqw_.size = sizeof(tyObject_TScope_1cQRXW6aAknk7ywAwjH3nw*);
NTI_N89ckikRqMir57209a3tEeqw_.kind = 22;
NTI_N89ckikRqMir57209a3tEeqw_.base = (&NTI_1cQRXW6aAknk7ywAwjH3nw_);
NTI_N89ckikRqMir57209a3tEeqw_.marker = Marker_tyRef_N89ckikRqMir57209a3tEeqw;
NTI_9aiv9bp2t5icFNINcg9c4xi1Q_.size = sizeof(tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q);
NTI_9aiv9bp2t5icFNINcg9c4xi1Q_.kind = 18;
NTI_9aiv9bp2t5icFNINcg9c4xi1Q_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_52_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[776];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[776].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[776].offset = offsetof(tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q, counter);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[776].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[776].name = "counter";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_52_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[777];
NTI_AdFnD2YdADPeuJbG2YJ4vg_.size = sizeof(tyObject_TIdPair_AdFnD2YdADPeuJbG2YJ4vg);
NTI_AdFnD2YdADPeuJbG2YJ4vg_.kind = 18;
NTI_AdFnD2YdADPeuJbG2YJ4vg_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_53_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[779];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[779].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[779].offset = offsetof(tyObject_TIdPair_AdFnD2YdADPeuJbG2YJ4vg, key);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[779].typ = (&NTI_eH2Hxsu3PVPvJHXo2xTrZw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[779].name = "key";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_53_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[780];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[780].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[780].offset = offsetof(tyObject_TIdPair_AdFnD2YdADPeuJbG2YJ4vg, val);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[780].typ = (&NTI_0vJvi4uHbxjbxlkkX7P1EA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[780].name = "val";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[778].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[778].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[778].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_53_2[0];
NTI_AdFnD2YdADPeuJbG2YJ4vg_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[778];
NTI_Mh9agqM29bm9aP5AUL1x7dZGA_.size = sizeof(tySequence_Mh9agqM29bm9aP5AUL1x7dZGA*);
NTI_Mh9agqM29bm9aP5AUL1x7dZGA_.kind = 24;
NTI_Mh9agqM29bm9aP5AUL1x7dZGA_.base = (&NTI_AdFnD2YdADPeuJbG2YJ4vg_);
NTI_Mh9agqM29bm9aP5AUL1x7dZGA_.marker = Marker_tySequence_Mh9agqM29bm9aP5AUL1x7dZGA;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[777].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[777].offset = offsetof(tyObject_TIdTable_9aiv9bp2t5icFNINcg9c4xi1Q, data);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[777].typ = (&NTI_Mh9agqM29bm9aP5AUL1x7dZGA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[777].name = "data";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[775].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[775].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[775].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_52_2[0];
NTI_9aiv9bp2t5icFNINcg9c4xi1Q_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[775];
(&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_)->finalizer = (void*)eqdestroy__qqGjvmJyZfU1z9csFLu5xLA;
(&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_)->finalizer = (void*)eqdestroy__qqGjvmJyZfU1z9csFLu5xLA;
(&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_)->finalizer = (void*)eqdestroy__qqGjvmJyZfU1z9csFLu5xLA;
NTI_uyBDtVkS7CL1Bm1j1dvmcw_.size = sizeof(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw**);
NTI_uyBDtVkS7CL1Bm1j1dvmcw_.kind = 21;
NTI_uyBDtVkS7CL1Bm1j1dvmcw_.base = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
NTI_uyBDtVkS7CL1Bm1j1dvmcw_.flags = 3;
NTI_UWAp0mDjKLG1NEwUafSRhA_.size = sizeof(tyObject_TIdNodeTable_UWAp0mDjKLG1NEwUafSRhA);
NTI_UWAp0mDjKLG1NEwUafSRhA_.kind = 18;
NTI_UWAp0mDjKLG1NEwUafSRhA_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_90_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[782];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[782].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[782].offset = offsetof(tyObject_TIdNodeTable_UWAp0mDjKLG1NEwUafSRhA, counter);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[782].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[782].name = "counter";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_90_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[783];
NTI_fUuF71MXGqn0RZORg9clE3w_.size = sizeof(tyObject_TIdNodePair_fUuF71MXGqn0RZORg9clE3w);
NTI_fUuF71MXGqn0RZORg9clE3w_.kind = 18;
NTI_fUuF71MXGqn0RZORg9clE3w_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_91_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[785];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[785].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[785].offset = offsetof(tyObject_TIdNodePair_fUuF71MXGqn0RZORg9clE3w, key);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[785].typ = (&NTI_eH2Hxsu3PVPvJHXo2xTrZw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[785].name = "key";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_91_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[786];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[786].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[786].offset = offsetof(tyObject_TIdNodePair_fUuF71MXGqn0RZORg9clE3w, val);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[786].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[786].name = "val";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[784].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[784].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[784].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_91_2[0];
NTI_fUuF71MXGqn0RZORg9clE3w_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[784];
NTI_K8W16aeLg4OWxniQxtguMw_.size = sizeof(tySequence_K8W16aeLg4OWxniQxtguMw*);
NTI_K8W16aeLg4OWxniQxtguMw_.kind = 24;
NTI_K8W16aeLg4OWxniQxtguMw_.base = (&NTI_fUuF71MXGqn0RZORg9clE3w_);
NTI_K8W16aeLg4OWxniQxtguMw_.marker = Marker_tySequence_K8W16aeLg4OWxniQxtguMw;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[783].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[783].offset = offsetof(tyObject_TIdNodeTable_UWAp0mDjKLG1NEwUafSRhA, data);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[783].typ = (&NTI_K8W16aeLg4OWxniQxtguMw_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[783].name = "data";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[781].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[781].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[781].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_90_2[0];
NTI_UWAp0mDjKLG1NEwUafSRhA_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[781];
(&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_)->finalizer = (void*)eqdestroy__qqGjvmJyZfU1z9csFLu5xLA;
NTI_wN7B39cKxLpMkvKNm9bduZ0A_.size = sizeof(tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A);
NTI_wN7B39cKxLpMkvKNm9bduZ0A_.kind = 18;
NTI_wN7B39cKxLpMkvKNm9bduZ0A_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_112_2[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[788];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[788].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[788].offset = offsetof(tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A, counter);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[788].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[788].name = "counter";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_112_2[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[789];
NTI_EZfI4tFqtDSTQys2UInNjg_.size = sizeof(tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg);
NTI_EZfI4tFqtDSTQys2UInNjg_.kind = 18;
NTI_EZfI4tFqtDSTQys2UInNjg_.base = 0;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_113_3[0] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[791];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[791].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[791].offset = offsetof(tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg, h);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[791].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[791].name = "h";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_113_3[1] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[792];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[792].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[792].offset = offsetof(tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg, key);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[792].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[792].name = "key";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_113_3[2] = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[793];
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[793].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[793].offset = offsetof(tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg, val);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[793].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[793].name = "val";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[790].len = 3; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[790].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[790].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_113_3[0];
NTI_EZfI4tFqtDSTQys2UInNjg_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[790];
NTI_vhmj4KkIKPinmRXny9c2Q6Q_.size = sizeof(tySequence_vhmj4KkIKPinmRXny9c2Q6Q*);
NTI_vhmj4KkIKPinmRXny9c2Q6Q_.kind = 24;
NTI_vhmj4KkIKPinmRXny9c2Q6Q_.base = (&NTI_EZfI4tFqtDSTQys2UInNjg_);
NTI_vhmj4KkIKPinmRXny9c2Q6Q_.marker = Marker_tySequence_vhmj4KkIKPinmRXny9c2Q6Q;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[789].kind = 1;
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[789].offset = offsetof(tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A, data);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[789].typ = (&NTI_vhmj4KkIKPinmRXny9c2Q6Q_);
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[789].name = "data";
TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[787].len = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[787].kind = 2; TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[787].sons = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_112_2[0];
NTI_wN7B39cKxLpMkvKNm9bduZ0A_.node = &TM_EnH1I9cGkGYbf9a1NwhuXDPg_0[787];
}

