/* Generated by Nim Compiler v1.2.4 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#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 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
typedef struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w;
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_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 TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg;
typedef struct tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ;
typedef struct tySequence__9brg1xNurxcus33lU4IE1Dw tySequence__9brg1xNurxcus33lU4IE1Dw;
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ tySequence__DfgJFJEYoj4YBAHLZPl5lQ;
typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
typedef struct tySequence__bWZXqEvLFwhLvAqSRoFNgQ tySequence__bWZXqEvLFwhLvAqSRoFNgQ;
typedef struct tyObject_IncrementalCtx__sdH7TnbKACuAzE7DBabnCA tyObject_IncrementalCtx__sdH7TnbKACuAzE7DBabnCA;
typedef struct tyObject_Table__IioUJGdqPI6xC7S7QF8MBw tyObject_Table__IioUJGdqPI6xC7S7QF8MBw;
typedef struct tySequence__Qr6E8eH7btq79cFKGaJfGLw tySequence__Qr6E8eH7btq79cFKGaJfGLw;
typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
typedef struct tySequence__PzqTLBFNawCGiqTk0UORYw tySequence__PzqTLBFNawCGiqTk0UORYw;
typedef struct tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q;
typedef struct tySequence__Ef05srmQTDulnBdXR4Ja6Q tySequence__Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA tySequence__DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
typedef struct tySequence__DL2Id9b2SwHghZpjvWsUcAw tySequence__DL2Id9b2SwHghZpjvWsUcAw;
typedef struct tyTuple__CHGVxU5ophQHfZDcth7p1w tyTuple__CHGVxU5ophQHfZDcth7p1w;
typedef struct tySequence__76wc9cnTOK9c6epudv8uYE0w tySequence__76wc9cnTOK9c6epudv8uYE0w;
typedef struct tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q;
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 tySequence__AK3cQuijuQxFGdWA8l9a9aYA tySequence__AK3cQuijuQxFGdWA8l9a9aYA;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__quA39a2QdEQU9cSEIUSibApQ tyTuple__quA39a2QdEQU9cSEIUSibApQ;
typedef struct tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g;
typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
typedef struct tyTuple__euPCXX9bc3XzndEhYlqNS7g tyTuple__euPCXX9bc3XzndEhYlqNS7g;
typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
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;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
} _kind_4;
struct {tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident;
} _kind_5;
struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} _kind_6;
};
NimStringDesc* comment;
};
typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
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;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg {
NI elems;
NI counter;
NI max;
tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ* head;
tySequence__9brg1xNurxcus33lU4IE1Dw* data;
tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
};
struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* data;
};
struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
NI counter;
};
struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence__kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__xdLb0cyzx3FuM6Q4NnRTpQ;
typedef tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tyArray__OLX364rHC66WkzRbMp49aQg[64];
typedef tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tyArray__6GDJmNRiFxkWAAdMgUie8g[70];
struct tyObject_IncrementalCtx__sdH7TnbKACuAzE7DBabnCA {
char dummy;
};
struct tyObject_Table__IioUJGdqPI6xC7S7QF8MBw {
tySequence__Qr6E8eH7btq79cFKGaJfGLw* data;
NI counter;
};
struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*, tyProc__c6vdo1yHyj19b9bS17tijS2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__d5yEkT9aXkAtHvVerr7IeCQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(void, tyProc__sP1I7TbCn358eLy9bX4IphA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
tySequence__23SMqauuRsbDANhthj9bWlA* data;
NI counter;
};
struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
NI counter;
};
struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
NI counter;
};
typedef N_NIMCALL_PTR(void, tyProc__R9aa9aO9cNhvWgTGK9bAAvuSRA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
typedef N_NIMCALL_PTR(void, tyProc__gSRciuQJWoGdSES9cKZObDA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* assumptions, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toProve, tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q* Result);
typedef N_NIMCALL_PTR(void, tyProc__1WzpMcp9cPe19cAmEzHWVDNQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* assumptions, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* requirement, tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q* Result);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__3TeLOx1euAsRk3YCaQCuPg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* formal, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* actual);
struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* modules;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg deps;
tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
NIM_BOOL suggestMode;
NIM_BOOL invalidTransitiveClosure;
tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
RootObj* backend;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
RootObj* vm;
tyProc__xdLb0cyzx3FuM6Q4NnRTpQ doStopCompile;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* usageSym;
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* owners;
tySequence__bWZXqEvLFwhLvAqSRoFNgQ* methods;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* systemModule;
tyArray__OLX364rHC66WkzRbMp49aQg sysTypes;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
tyArray__6GDJmNRiFxkWAAdMgUie8g intTypeCache;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* opContains;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* opNot;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
tyObject_IncrementalCtx__sdH7TnbKACuAzE7DBabnCA incr;
tyObject_Table__IioUJGdqPI6xC7S7QF8MBw canonTypes;
tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
tyProc__c6vdo1yHyj19b9bS17tijS2w importModuleCallback;
tyProc__d5yEkT9aXkAtHvVerr7IeCQ includeFileCallback;
tyProc__sP1I7TbCn358eLy9bX4IphA recordStmt;
tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
tySequence__PzqTLBFNawCGiqTk0UORYw* passes;
tyProc__R9aa9aO9cNhvWgTGK9bAAvuSRA onDefinition;
tyProc__R9aa9aO9cNhvWgTGK9bAAvuSRA onDefinitionResolveForward;
tyProc__R9aa9aO9cNhvWgTGK9bAAvuSRA onUsage;
tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
tyProc__gSRciuQJWoGdSES9cKZObDA proofEngine;
tyProc__1WzpMcp9cPe19cAmEzHWVDNQ requirementsCheck;
tyProc__3TeLOx1euAsRk3YCaQCuPg compatibleProps;
};
typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
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_TSym__JpsEh5i1AcKChGYbg7aV4w {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tySequence__Ef05srmQTDulnBdXR4Ja6Q* typeInstCache;
} _kind_1;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* procInstCache;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* gcUnsafetyReason;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
} _kind_2;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* usedGenerics;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* guard;
NI bitsize;
NI alignment;
} _kind_4;
};
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 tyTuple__CHGVxU5ophQHfZDcth7p1w {
tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg Field0;
tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg Field1;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q {
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pnode;
NI id;
NI idx;
NI lowLink;
NIM_BOOL onStack;
tySequence__76wc9cnTOK9c6epudv8uYE0w* kids;
NI hAQ;
NI hIS;
NI hB;
NI hCmd;
};
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;
};
typedef NU tyArray__VqSA39cBDWnwnJySTumCdjw[8];
struct tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ {
tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ* next;
NI key;
tyArray__VqSA39cBDWnwnJySTumCdjw bits;
};
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* x, tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* y, void* ClE_0);
void* ClE_0;
} tyProc__BX9cYxd9cF2mTlqoQZOdSHDA;
typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
typedef N_CLOSURE_PTR(NI, TM__wGDfi9c1BEw7VBzRnDQgLpQ_57) (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* x, tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* y, void* ClE_0);
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
};
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct tyTuple__quA39a2QdEQU9cSEIUSibApQ {
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* Field0;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field1;
};
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* Field2;
};
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
NI Field0;
NimStringDesc* Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringDesc* Field1;
NI64 Field2;
};
struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
NI entries;
};
struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
NI Field0;
NimStringDesc* Field1;
tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
};
typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__8ooe5vdoqmvpHnfXV29bP3w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
struct tyTuple__euPCXX9bc3XzndEhYlqNS7g {
tyProc__8ooe5vdoqmvpHnfXV29bP3w Field0;
tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
NIM_BOOL Field3;
};
struct tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q {
NIM_BOOL Field0;
NimStringDesc* Field1;
};
struct tySequence__DL2Id9b2SwHghZpjvWsUcAw {
  TGenericSeq Sup;
  tyTuple__CHGVxU5ophQHfZDcth7p1w data[SEQ_DECL_SIZE];
};
struct tySequence__76wc9cnTOK9c6epudv8uYE0w {
  TGenericSeq Sup;
  tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* data[SEQ_DECL_SIZE];
};
struct tySequence__AK3cQuijuQxFGdWA8l9a9aYA {
  TGenericSeq Sup;
  tySequence__76wc9cnTOK9c6epudv8uYE0w* data[SEQ_DECL_SIZE];
};
struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence__9brg1xNurxcus33lU4IE1Dw {
  TGenericSeq Sup;
  tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE];
};
struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* data[SEQ_DECL_SIZE];
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  TGenericSeq Sup;
  tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct tySequence__bWZXqEvLFwhLvAqSRoFNgQ {
  TGenericSeq Sup;
  tyTuple__quA39a2QdEQU9cSEIUSibApQ data[SEQ_DECL_SIZE];
};
struct tySequence__Qr6E8eH7btq79cFKGaJfGLw {
  TGenericSeq Sup;
  tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g data[SEQ_DECL_SIZE];
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
  TGenericSeq Sup;
  tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
};
struct tySequence__23SMqauuRsbDANhthj9bWlA {
  TGenericSeq Sup;
  tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  TGenericSeq Sup;
  tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
};
struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
  TGenericSeq Sup;
  tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
};
struct tySequence__PzqTLBFNawCGiqTk0UORYw {
  TGenericSeq Sup;
  tyTuple__euPCXX9bc3XzndEhYlqNS7g data[SEQ_DECL_SIZE];
};
struct tySequence__Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasForbiddenPragma__QIHxP9aHKAIpWu3E0oiiONQ)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
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_NOINLINE(void, raiseFieldError)(NimStringDesc* f);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, initIntSet__n8oDZMn19bEdodSnrBQB9a1Q)(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, splitSections__Ydu9bY9bKLkBUE0Ph8YGkV9bg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
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*, newNode__PMZ27S9ai4FB3gXOMDXvwsQ)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
N_LIB_PRIVATE N_NIMCALL(void, add__P8dDSotTW25BkfbyspojGg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, expandIncludes__f6opa6EYhh0IqorrrfgDqg)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* modulePath, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* includedFiles);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasIncludes__QIHxP9aHKAIpWu3E0oiiONQ_2)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI32, checkModuleName__fDy39b69bb9cFVEyPkMJp3GTg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL doLocalError);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__VFt0uM7bgfJ5age9alOsU9cg)(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* s, NI key);
N_LIB_PRIVATE N_NIMCALL(void, localError__NF6kBGchnhQYPbCedyefVA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toMsgFilename__eX9aCxa5NfPq9alDDS1zYbvw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, includeModule__KT74AZK8B9bGaazZVJqBE4A)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, NI32 fileIdx);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseFile__HSBHiITVPKlv327uAC12yw)(NI32 fileIdx, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
N_LIB_PRIVATE N_NIMCALL(void, addDep__cCI0fqtTipEqkPEycgnc9cg)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* m, NI32 dep);
N_LIB_PRIVATE N_NIMCALL(void, addIncludeDep__sRGnaJBZsj1fPp3iXseulA)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI32 module, NI32 includeFile);
N_LIB_PRIVATE N_NIMCALL(void, excl__jENnK9c9bPE73pKmo2vYjpqg_2)(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tySequence__DL2Id9b2SwHghZpjvWsUcAw*, newSeq__WTLrxQOyqUrGXib4dKrzTw)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* declares, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* uses, NIM_BOOL topLevel);
N_LIB_PRIVATE N_NIMCALL(void, addDecl__qCO3hgGiY7pqZX3XlARn0w)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* declares);
N_LIB_PRIVATE N_NIMCALL(void, incl__jENnK9c9bPE73pKmo2vYjpqg)(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*, accQuoted__fp73k52v83pnBAJRbJAZKw)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*, getIdent__9coBOmdXN09be4rJvXK6fQGQ)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res);
N_LIB_PRIVATE N_NIMCALL(tySequence__76wc9cnTOK9c6epudv8uYE0w*, buildGraph__l1rQixGqVPrOr9aCWQMBrWw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__DL2Id9b2SwHghZpjvWsUcAw* deps);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewSeqOfCap)(TNimType* typ, NI cap);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__OiD2O9bS9cMtitswLivRUn5g)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*, newDepN__XaQski0zL4giy3TLeFookg)(NI id, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pnode);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
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);
static N_INLINE(void, nimGCunrefRC1)(void* p);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasBody__B4TcFoMDWZUYH2FU5h9bJHg)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasBody__QIHxP9aHKAIpWu3E0oiiONQ_3)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCommand__B4TcFoMDWZUYH2FU5h9bJHg_2)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCommand__QIHxP9aHKAIpWu3E0oiiONQ_4)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasImportStmt__B4TcFoMDWZUYH2FU5h9bJHg_3)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasImportStmt__QIHxP9aHKAIpWu3E0oiiONQ_5)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasAccQuotedDef__B4TcFoMDWZUYH2FU5h9bJHg_4)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasAccQuotedDef__QIHxP9aHKAIpWu3E0oiiONQ_6)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasAccQuoted__QIHxP9aHKAIpWu3E0oiiONQ_7)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, intersects__8Gx51ToIYYxUPWqAYrrAKg)(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* s1, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* s2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__R6uRTGpl30Ofaw4Ni3vawA)(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tySequence__AK3cQuijuQxFGdWA8l9a9aYA*, getStrongComponents__N6M3Dh4hz2dG37nYvFu4rg)(tySequence__76wc9cnTOK9c6epudv8uYE0w** g);
N_LIB_PRIVATE N_NIMCALL(tySequence__AK3cQuijuQxFGdWA8l9a9aYA*, newSeq__unyZp3WGenzYT0IKfWWApw)(NI len);
N_LIB_PRIVATE N_NIMCALL(tySequence__76wc9cnTOK9c6epudv8uYE0w*, newSeq__hJ5RQ2a9bsrV6HM2KvQcKQw)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, strongConnect__1hP01ICoCybbFvI8jHdjIg)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q** v, NI* idx, tySequence__76wc9cnTOK9c6epudv8uYE0w** s, tySequence__AK3cQuijuQxFGdWA8l9a9aYA** res);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*, pop__IQjTOeK0Ndjm0ns4zcluIAsystem)(tySequence__76wc9cnTOK9c6epudv8uYE0w** s);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, mergeSections__xvaSMx9bQereWHQhLVKr7Qw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__AK3cQuijuQxFGdWA8l9a9aYA* comps, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res);
N_LIB_PRIVATE N_NIMCALL(tySequence__76wc9cnTOK9c6epudv8uYE0w*, sorted__1d6z7mFg8pfnJxr2lUHibg)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q** a, NI aLen_0, tyProc__BX9cYxd9cF2mTlqoQZOdSHDA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(NI, colonanonymous___RDVHzNvzSdkk3euhSWcxKg)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* xX60gensym43305215_, tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* yX60gensym43305216_);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__sulHEHLaDujOhOm0ckj5uA)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, haveSameKind__dV5rxFg9a5znXdd39a9c5E8mg)(tySequence__76wc9cnTOK9c6epudv8uYE0w* dns);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(void, message__mMj7lrOf3zBP9bl69amiKu5g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__wGDfi9c1BEw7VBzRnDQgLpQ_2 = {
0xec, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_3, "\'sons\' is not accessible using discriminant \'kind\' of type \'TNo"
"de\'", 66);
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__wGDfi9c1BEw7VBzRnDQgLpQ_4 = {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_5, "\'ident\' is not accessible using discriminant \'kind\' of type \'TN"
"ode\'", 67);
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_6, "push", 4);
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_8, "reorder.nim(171, 10) `n.kind == nkStmtList` ", 44);
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_12, "recursive dependency: \'$1\'", 26);
N_LIB_PRIVATE TNimType NTI__CHGVxU5ophQHfZDcth7p1w_;
extern TNimType NTI__PQrmFm4BXFkFSVOUl1ojSg_;
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__wGDfi9c1BEw7VBzRnDQgLpQ_17 = {
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_18, "\'sym\' is not accessible using discriminant \'kind\' of type \'TNod"
"e\'", 65);
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_31, "pragma", 6);
N_LIB_PRIVATE TNimType NTI__eVONEEaK4II8kv8La51d2Q_;
extern TNimType NTI__fKfcLzXYiz5jNu3NH3Tv8Q_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
N_LIB_PRIVATE TNimType NTI__OiD2O9bS9cMtitswLivRUn5g_;
extern TNimType NTI__76wc9cnTOK9c6epudv8uYE0w_;
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_53, "iterators.nim(198, 11) `len(a) == L` the length of the seq chan"
"ged while iterating over it", 90);
extern TNimType NTI__AK3cQuijuQxFGdWA8l9a9aYA_;
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_56, "reorder.nim(196, 12) `c.len > 0` ", 33);
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_59, "iterators.nim(189, 11) `len(a) == L` the length of the seq chan"
"ged while iterating over it", 90);
STRING_LITERAL(TM__wGDfi9c1BEw7VBzRnDQgLpQ_61, "Circular dependency detected. `codeReordering` pragma may not b"
"e able to reorder some nodes properely", 101);
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
static N_INLINE(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.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;
}
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__9bGgqEk7RXXl6eqM9c1HdELAsystem)(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__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res) {
	NIM_BOOL result;
	NI r;
	result = (NIM_BOOL)0;
	r = ((NI) ((NU)((NU64)(((NU) (a))) + (NU64)(((NU) (b))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(r ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(r ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*res) = r;
	}
	goto LA1_;
	LA5_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasForbiddenPragma__QIHxP9aHKAIpWu3E0oiiONQ)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
		a = (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) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_7;
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					a = (*n)._kind_6.sons->data[i];
					{
						NIM_BOOL T7_;
						NIM_BOOL T8_;
						T7_ = (NIM_BOOL)0;
						T8_ = (NIM_BOOL)0;
						T8_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
						if (!(T8_)) goto LA9_;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(((NI) 0)) >= (NU)((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)-1); }
						T8_ = ((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
						LA9_: ;
						T7_ = T8_;
						if (!(T7_)) goto LA10_;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(((NI) 0)) >= (NU)((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)-1); }
						if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_4[(NU)((*(*a)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*a)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_5)); }
						T7_ = eqStrings((*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_6));
						LA10_: ;
						if (!T7_) goto LA11_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA11_: ;
					if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_7)) { raiseOverflow(); };
					i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_7);
				} LA4: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, splitSections__Ydu9bY9bKLkBUE0Ph8YGkV9bg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_8));
	}
	LA3_: ;
	result = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
		a = (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) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_10;
					if (!(i_2 < colontmp_)) goto LA8;
					i = i_2;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					a = (*n)._kind_6.sons->data[i];
					{
						NIM_BOOL T11_;
						NI T13_;
						T11_ = (NIM_BOOL)0;
						T11_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101));
						if (!(T11_)) goto LA12_;
						T13_ = (NI)0;
						T13_ = len__P89cqdlERShb9alU3iC0yj8wast(a);
						T11_ = (((NI) 1) < T13_);
						LA12_: ;
						if (!T11_) goto LA14_;
						{
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
							b = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
							{
								NI i_3;
								NI colontmp__2;
								NI i_4;
								i_3 = (NI)0;
								colontmp__2 = (NI)0;
								colontmp__2 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(a);
								i_4 = ((NI) 0);
								{
									while (1) {
										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
										NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_9;
										if (!(i_4 < colontmp__2)) goto LA19;
										i_3 = i_4;
										if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
										if ((NU)(i_3) >= (NU)((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_3,((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)-1); }
										b = (*a)._kind_6.sons->data[i_3];
										s = newNode__PMZ27S9ai4FB3gXOMDXvwsQ((*a).kind);
										(*s).info = (*b).info;
										add__P8dDSotTW25BkfbyspojGg(s, b);
										add__P8dDSotTW25BkfbyspojGg(result, s);
										if (nimAddInt(i_4, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_9)) { raiseOverflow(); };
										i_4 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_9);
									} LA19: ;
								}
							}
						}
					}
					goto LA9_;
					LA14_: ;
					{
						add__P8dDSotTW25BkfbyspojGg(result, a);
					}
					LA9_: ;
					if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_10)) { raiseOverflow(); };
					i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_10);
				} LA8: ;
			}
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasIncludes__QIHxP9aHKAIpWu3E0oiiONQ_2)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
		a = (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) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_11;
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					a = (*n)._kind_6.sons->data[i];
					{
						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121))) goto LA7_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA7_: ;
					if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_11)) { raiseOverflow(); };
					i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_11);
				} LA4: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, includeModule__KT74AZK8B9bGaazZVJqBE4A)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, NI32 fileIdx) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = parseFile__HSBHiITVPKlv327uAC12yw(fileIdx, (*graph).cache, (*graph).config);
	addDep__cCI0fqtTipEqkPEycgnc9cg(graph, s, fileIdx);
	if (((*s).position) < ((NI32) (-2147483647 -1)) || ((*s).position) > ((NI32) 2147483647)){ raiseRangeErrorI((*s).position, ((NI32) (-2147483647 -1)), ((NI32) 2147483647)); }
	addIncludeDep__sRGnaJBZsj1fPp3iXseulA(graph, ((NI32) ((*s).position)), fileIdx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, expandIncludes__f6opa6EYhh0IqorrrfgDqg)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* modulePath, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* includedFiles) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasIncludes__QIHxP9aHKAIpWu3E0oiiONQ_2(n);
		if (!!(T3_)) goto LA4_;
		result = n;
		goto BeforeRet_;
	}
	LA4_: ;
	result = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
		a = (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) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_15;
					if (!(i_2 < colontmp_)) goto LA9;
					i = i_2;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					a = (*n)._kind_6.sons->data[i];
					{
						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121))) goto LA12_;
						{
							NI i_3;
							NI colontmp__2;
							NI i_4;
							i_3 = (NI)0;
							colontmp__2 = (NI)0;
							colontmp__2 = len__P89cqdlERShb9alU3iC0yj8wast(a);
							i_4 = ((NI) 0);
							{
								while (1) {
									NI32 f;
									NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_14;
									if (!(i_4 < colontmp__2)) goto LA16;
									i_3 = i_4;
									if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
									if ((NU)(i_3) >= (NU)((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_3,((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)-1); }
									f = checkModuleName__fDy39b69bb9cFVEyPkMJp3GTg((*graph).config, (*a)._kind_6.sons->data[i_3], NIM_TRUE);
									{
										if (!!((f == ((NI32) -1)))) goto LA19_;
										{
											NIM_BOOL T23_;
											NimStringDesc* T26_;
											NimStringDesc* T27_;
											T23_ = (NIM_BOOL)0;
											T23_ = containsOrIncl__VFt0uM7bgfJ5age9alOsU9cg(includedFiles, ((NI) (f)));
											if (!T23_) goto LA24_;
											T26_ = (NimStringDesc*)0;
											T26_ = toMsgFilename__eX9aCxa5NfPq9alDDS1zYbvw((*graph).config, f);
											T27_ = (NimStringDesc*)0;
											T27_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_12), T26_);
											localError__NF6kBGchnhQYPbCedyefVA((*graph).config, (*a).info, T27_);
										}
										goto LA21_;
										LA24_: ;
										{
											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn;
											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nnn;
											nn = includeModule__KT74AZK8B9bGaazZVJqBE4A(graph, module, f);
											nnn = expandIncludes__f6opa6EYhh0IqorrrfgDqg(graph, module, nn, modulePath, includedFiles);
											excl__jENnK9c9bPE73pKmo2vYjpqg_2(includedFiles, ((NI) (f)));
											{
												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
												b = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
												{
													NI i_5;
													NI colontmp__3;
													NI i_6;
													i_5 = (NI)0;
													colontmp__3 = (NI)0;
													colontmp__3 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(nnn);
													i_6 = ((NI) 0);
													{
														while (1) {
															NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_13;
															if (!(i_6 < colontmp__3)) goto LA32;
															i_5 = i_6;
															if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*nnn).kind)>>3] &(1U<<((NU)((*nnn).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
															if ((NU)(i_5) >= (NU)((*nnn)._kind_6.sons ? (*nnn)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_5,((*nnn)._kind_6.sons ? (*nnn)._kind_6.sons->Sup.len : 0)-1); }
															b = (*nnn)._kind_6.sons->data[i_5];
															add__P8dDSotTW25BkfbyspojGg(result, b);
															if (nimAddInt(i_6, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_13)) { raiseOverflow(); };
															i_6 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_13);
														} LA32: ;
													}
												}
											}
										}
										LA21_: ;
									}
									LA19_: ;
									if (nimAddInt(i_4, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_14)) { raiseOverflow(); };
									i_4 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_14);
								} LA16: ;
							}
						}
					}
					goto LA10_;
					LA12_: ;
					{
						add__P8dDSotTW25BkfbyspojGg(result, a);
					}
					LA10_: ;
					if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_15)) { raiseOverflow(); };
					i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_15);
				} LA9: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*, accQuoted__fp73k52v83pnBAJRbJAZKw)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* result;
	NimStringDesc* id;
	result = (tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*)0;
	id = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
				NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_19;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
				if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
				x = (*n)._kind_6.sons->data[i];
				switch ((*x).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
				{
					if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_4[(NU)((*x).kind)>>3] &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_5)); }
					id = resizeString(id, ((*(*x)._kind_5.ident).s ? (*(*x)._kind_5.ident).s->Sup.len : 0) + 0);
appendString(id, (*(*x)._kind_5.ident).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_17[(NU)((*x).kind)>>3] &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_18)); }
					id = resizeString(id, ((*(*(*x)._kind_4.sym).name).s ? (*(*(*x)._kind_4.sym).name).s->Sup.len : 0) + 0);
appendString(id, (*(*(*x)._kind_4.sym).name).s);
				}
				break;
				default:
				{
				}
				break;
				}
				if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_19)) { raiseOverflow(); };
				i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_19);
			} LA3: ;
		}
	}
	result = getIdent__9coBOmdXN09be4rJvXK6fQGQ(cache, id);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addDecl__qCO3hgGiY7pqZX3XlARn0w)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* declares) {
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
		if ((NU)(((NI) 1)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
		addDecl__qCO3hgGiY7pqZX3XlARn0w(cache, (*n)._kind_6.sons->data[((NI) 1)], declares);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
		if ((NU)(((NI) 0)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
		addDecl__qCO3hgGiY7pqZX3XlARn0w(cache, (*n)._kind_6.sons->data[((NI) 0)], declares);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_5)); }
		incl__jENnK9c9bPE73pKmo2vYjpqg(declares, (*(*n)._kind_5.ident).Sup.id);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_17[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_18)); }
		incl__jENnK9c9bPE73pKmo2vYjpqg(declares, (*(*(*n)._kind_4.sym).name).Sup.id);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* a;
		a = accQuoted__fp73k52v83pnBAJRbJAZKw(cache, n);
		incl__jENnK9c9bPE73pKmo2vYjpqg(declares, (*a).Sup.id);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
		if ((NU)(((NI) 0)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
		addDecl__qCO3hgGiY7pqZX3XlARn0w(cache, (*n)._kind_6.sons->data[((NI) 0)], declares);
	}
	break;
	default:
	{
	}
	break;
	}
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res) {
	NIM_BOOL result;
	NI r;
	result = (NIM_BOOL)0;
	r = ((NI) ((NU)((NU64)(((NU) (a))) - (NU64)(((NU) (b))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(r ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(r ^ (NI)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*res) = r;
	}
	goto LA1_;
	LA5_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* declares, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* uses, NIM_BOOL topLevel) {
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	{
		{
			if (!topLevel) goto LA4_;
			if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
			if ((NU)(((NI) 0)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
			addDecl__qCO3hgGiY7pqZX3XlARn0w(cache, (*n)._kind_6.sons->data[((NI) 0)], declares);
		}
		LA4_: ;
		{
			NI i;
			NI res;
			i = (NI)0;
			res = ((NI) 1);
			{
				while (1) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_20;
					if (!(res <= ((NI) 6))) goto LA8;
					i = res;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g(cache, (*n)._kind_6.sons->data[i], declares, uses, NIM_FALSE);
					if (nimAddInt(res, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_20)) { raiseOverflow(); };
					res = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_20);
				} LA8: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
			a = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_2;
				NI colontmp_;
				NI i_3;
				i_2 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				i_3 = ((NI) 0);
				{
					while (1) {
						NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_25;
						if (!(i_3 < colontmp_)) goto LA13;
						i_2 = i_3;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(i_2) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_2,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
						a = (*n)._kind_6.sons->data[i_2];
						{
							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA16_;
							{
								NI j;
								NI colontmp__2;
								NI T19_;
								NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_21;
								NI i_4;
								j = (NI)0;
								colontmp__2 = (NI)0;
								T19_ = (NI)0;
								T19_ = len__P89cqdlERShb9alU3iC0yj8wast(a);
								if (nimSubInt(T19_, ((NI) 2), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_21)) { raiseOverflow(); };
								colontmp__2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_21);
								i_4 = ((NI) 0);
								{
									while (1) {
										NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_22;
										if (!(i_4 < colontmp__2)) goto LA21;
										j = i_4;
										{
											if (!topLevel) goto LA24_;
											if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
											if ((NU)(j) >= (NU)((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(j,((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)-1); }
											addDecl__qCO3hgGiY7pqZX3XlARn0w(cache, (*a)._kind_6.sons->data[j], declares);
										}
										LA24_: ;
										if (nimAddInt(i_4, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_22)) { raiseOverflow(); };
										i_4 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_22);
									} LA21: ;
								}
							}
							{
								NI j_2;
								NI colontmp__3;
								NI colontmp__4;
								NI T27_;
								NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_23;
								NI i_5;
								j_2 = (NI)0;
								colontmp__3 = (NI)0;
								colontmp__4 = (NI)0;
								T27_ = (NI)0;
								T27_ = len__P89cqdlERShb9alU3iC0yj8wast(a);
								if (nimSubInt(T27_, ((NI) 2), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_23)) { raiseOverflow(); };
								colontmp__3 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_23);
								colontmp__4 = len__P89cqdlERShb9alU3iC0yj8wast(a);
								i_5 = colontmp__3;
								{
									while (1) {
										NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_24;
										if (!(i_5 < colontmp__4)) goto LA29;
										j_2 = i_5;
										if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
										if ((NU)(j_2) >= (NU)((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(j_2,((*a)._kind_6.sons ? (*a)._kind_6.sons->Sup.len : 0)-1); }
										computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g(cache, (*a)._kind_6.sons->data[j_2], declares, uses, NIM_FALSE);
										if (nimAddInt(i_5, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_24)) { raiseOverflow(); };
										i_5 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_24);
									} LA29: ;
								}
							}
						}
						LA16_: ;
						if (nimAddInt(i_3, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_25)) { raiseOverflow(); };
						i_3 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_25);
					} LA13: ;
				}
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
			a_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_6;
				NI colontmp__5;
				NI i_7;
				i_6 = (NI)0;
				colontmp__5 = (NI)0;
				colontmp__5 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				i_7 = ((NI) 0);
				{
					while (1) {
						NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_28;
						if (!(i_7 < colontmp__5)) goto LA34;
						i_6 = i_7;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(i_6) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_6,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
						a_2 = (*n)._kind_6.sons->data[i_6];
						{
							NI T37_;
							T37_ = (NI)0;
							T37_ = len__P89cqdlERShb9alU3iC0yj8wast(a_2);
							if (!(((NI) 3) <= T37_)) goto LA38_;
							{
								if (!topLevel) goto LA42_;
								if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a_2).kind)>>3] &(1U<<((NU)((*a_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
								if ((NU)(((NI) 0)) >= (NU)((*a_2)._kind_6.sons ? (*a_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*a_2)._kind_6.sons ? (*a_2)._kind_6.sons->Sup.len : 0)-1); }
								addDecl__qCO3hgGiY7pqZX3XlARn0w(cache, (*a_2)._kind_6.sons->data[((NI) 0)], declares);
							}
							LA42_: ;
							{
								NI i_8;
								NI colontmp__6;
								NI i_9;
								i_8 = (NI)0;
								colontmp__6 = (NI)0;
								colontmp__6 = len__P89cqdlERShb9alU3iC0yj8wast(a_2);
								i_9 = ((NI) 1);
								{
									while (1) {
										NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_27;
										if (!(i_9 < colontmp__6)) goto LA46;
										i_8 = i_9;
										{
											if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a_2).kind)>>3] &(1U<<((NU)((*a_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
											if ((NU)(i_8) >= (NU)((*a_2)._kind_6.sons ? (*a_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_8,((*a_2)._kind_6.sons ? (*a_2)._kind_6.sons->Sup.len : 0)-1); }
											if (!((*(*a_2)._kind_6.sons->data[i_8]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150))) goto LA49_;
											{
												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__7;
												b = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
												colontmp__7 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
												if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a_2).kind)>>3] &(1U<<((NU)((*a_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
												if ((NU)(i_8) >= (NU)((*a_2)._kind_6.sons ? (*a_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_8,((*a_2)._kind_6.sons ? (*a_2)._kind_6.sons->Sup.len : 0)-1); }
												colontmp__7 = (*a_2)._kind_6.sons->data[i_8];
												{
													NI i_10;
													NI colontmp__8;
													NI i_11;
													i_10 = (NI)0;
													colontmp__8 = (NI)0;
													colontmp__8 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(colontmp__7);
													i_11 = ((NI) 0);
													{
														while (1) {
															NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_26;
															if (!(i_11 < colontmp__8)) goto LA54;
															i_10 = i_11;
															if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*colontmp__7).kind)>>3] &(1U<<((NU)((*colontmp__7).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
															if ((NU)(i_10) >= (NU)((*colontmp__7)._kind_6.sons ? (*colontmp__7)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_10,((*colontmp__7)._kind_6.sons ? (*colontmp__7)._kind_6.sons->Sup.len : 0)-1); }
															b = (*colontmp__7)._kind_6.sons->data[i_10];
															{
																if (!topLevel) goto LA57_;
																addDecl__qCO3hgGiY7pqZX3XlARn0w(cache, b, declares);
															}
															LA57_: ;
															if (nimAddInt(i_11, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_26)) { raiseOverflow(); };
															i_11 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_26);
														} LA54: ;
													}
												}
											}
										}
										goto LA47_;
										LA49_: ;
										{
											if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a_2).kind)>>3] &(1U<<((NU)((*a_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
											if ((NU)(i_8) >= (NU)((*a_2)._kind_6.sons ? (*a_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_8,((*a_2)._kind_6.sons ? (*a_2)._kind_6.sons->Sup.len : 0)-1); }
											computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g(cache, (*a_2)._kind_6.sons->data[i_8], declares, uses, NIM_FALSE);
										}
										LA47_: ;
										if (nimAddInt(i_9, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_27)) { raiseOverflow(); };
										i_9 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_27);
									} LA46: ;
								}
							}
						}
						LA38_: ;
						if (nimAddInt(i_7, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_28)) { raiseOverflow(); };
						i_7 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_28);
					} LA34: ;
				}
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		{
			NI i_12;
			NI colontmp__9;
			NI i_13;
			i_12 = (NI)0;
			colontmp__9 = (NI)0;
			colontmp__9 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			i_13 = ((NI) 1);
			{
				while (1) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_29;
					if (!(i_13 < colontmp__9)) goto LA63;
					i_12 = i_13;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i_12) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_12,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g(cache, (*n)._kind_6.sons->data[i_12], declares, uses, NIM_FALSE);
					if (nimAddInt(i_13, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_29)) { raiseOverflow(); };
					i_13 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_29);
				} LA63: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_5)); }
		incl__jENnK9c9bPE73pKmo2vYjpqg(uses, (*(*n)._kind_5.ident).Sup.id);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_17[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_18)); }
		incl__jENnK9c9bPE73pKmo2vYjpqg(uses, (*(*(*n)._kind_4.sym).name).Sup.id);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* T67_;
		T67_ = (tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*)0;
		T67_ = accQuoted__fp73k52v83pnBAJRbJAZKw(cache, n);
		incl__jENnK9c9bPE73pKmo2vYjpqg(uses, (*T67_).Sup.id);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
	{
		if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
		if ((NU)(((NI) 0)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
		if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_17[(NU)((*(*n)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_18)); }
		incl__jENnK9c9bPE73pKmo2vYjpqg(uses, (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).Sup.id);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
		{
			NI i_14;
			NI colontmp__10;
			NI i_15;
			i_14 = (NI)0;
			colontmp__10 = (NI)0;
			colontmp__10 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			i_15 = ((NI) 0);
			{
				while (1) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_30;
					if (!(i_15 < colontmp__10)) goto LA72;
					i_14 = i_15;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i_14) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_14,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g(cache, (*n)._kind_6.sons->data[i_14], declares, uses, topLevel);
					if (nimAddInt(i_15, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_30)) { raiseOverflow(); };
					i_15 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_30);
				} LA72: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
		if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
		if ((NU)(((NI) 0)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
		a_3 = (*n)._kind_6.sons->data[((NI) 0)];
		{
			NIM_BOOL T76_;
			NIM_BOOL T77_;
			T76_ = (NIM_BOOL)0;
			T77_ = (NIM_BOOL)0;
			T77_ = ((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
			if (!(T77_)) goto LA78_;
			if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a_3).kind)>>3] &(1U<<((NU)((*a_3).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
			if ((NU)(((NI) 0)) >= (NU)((*a_3)._kind_6.sons ? (*a_3)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*a_3)._kind_6.sons ? (*a_3)._kind_6.sons->Sup.len : 0)-1); }
			T77_ = ((*(*a_3)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
			LA78_: ;
			T76_ = T77_;
			if (!(T76_)) goto LA79_;
			if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a_3).kind)>>3] &(1U<<((NU)((*a_3).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
			if ((NU)(((NI) 0)) >= (NU)((*a_3)._kind_6.sons ? (*a_3)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*a_3)._kind_6.sons ? (*a_3)._kind_6.sons->Sup.len : 0)-1); }
			if (!(((TM__wGDfi9c1BEw7VBzRnDQgLpQ_4[(NU)((*(*a_3)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*a_3)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_5)); }
			T76_ = eqStrings((*(*(*a_3)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_31));
			LA79_: ;
			if (!T76_) goto LA80_;
			{
				if (!topLevel) goto LA84_;
				if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*a_3).kind)>>3] &(1U<<((NU)((*a_3).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
				if ((NU)(((NI) 1)) >= (NU)((*a_3)._kind_6.sons ? (*a_3)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*a_3)._kind_6.sons ? (*a_3)._kind_6.sons->Sup.len : 0)-1); }
				addDecl__qCO3hgGiY7pqZX3XlARn0w(cache, (*a_3)._kind_6.sons->data[((NI) 1)], declares);
			}
			LA84_: ;
		}
		goto LA74_;
		LA80_: ;
		{
			{
				NI i_16;
				NI colontmp__11;
				NI i_17;
				i_16 = (NI)0;
				colontmp__11 = (NI)0;
				colontmp__11 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
				i_17 = ((NI) 0);
				{
					while (1) {
						NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_32;
						if (!(i_17 < colontmp__11)) goto LA89;
						i_16 = i_17;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(i_16) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_16,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
						computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g(cache, (*n)._kind_6.sons->data[i_16], declares, uses, NIM_FALSE);
						if (nimAddInt(i_17, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_32)) { raiseOverflow(); };
						i_17 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_32);
					} LA89: ;
				}
			}
		}
		LA74_: ;
	}
	break;
	default:
	{
		{
			NI i_18;
			NI colontmp__12;
			NI i_19;
			i_18 = (NI)0;
			colontmp__12 = (NI)0;
			colontmp__12 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
			i_19 = ((NI) 0);
			{
				while (1) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_33;
					if (!(i_19 < colontmp__12)) goto LA93;
					i_18 = i_19;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i_18) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_18,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g(cache, (*n)._kind_6.sons->data[i_18], declares, uses, NIM_FALSE);
					if (nimAddInt(i_19, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_33)) { raiseOverflow(); };
					i_19 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_33);
				} LA93: ;
			}
		}
	}
	break;
	}
}
static N_NIMCALL(void, Marker_tyRef__OiD2O9bS9cMtitswLivRUn5g)(void* p, NI op) {
	tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* a;
	a = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*)p;
	nimGCvisit((void*)(*a).pnode, op);
	nimGCvisit((void*)(*a).kids, op);
}
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	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 = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA4_: ;
}
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;
}
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_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*, newDepN__XaQski0zL4giy3TLeFookg)(NI id, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pnode) {
	tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* result;
	result = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*)0;
	result = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*) newObj((&NTI__OiD2O9bS9cMtitswLivRUn5g_), sizeof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q));
	(*result).id = id;
	asgnRef((void**) (&(*result).pnode), pnode);
	(*result).idx = ((NI) -1);
	(*result).lowLink = ((NI) -1);
	(*result).onStack = NIM_FALSE;
	if ((*result).kids) { nimGCunrefRC1((*result).kids); (*result).kids = NIM_NIL; }
	(*result).hAQ = ((NI) -1);
	(*result).hIS = ((NI) -1);
	(*result).hB = ((NI) -1);
	(*result).hCmd = ((NI) -1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasBody__QIHxP9aHKAIpWu3E0oiiONQ_3)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	{
		NI T3_;
		NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_37;
		if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
		T3_ = (NI)0;
		T3_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		if (nimSubInt(T3_, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_37)) { raiseOverflow(); };
		if ((NU)((NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_37)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2((NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_37),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
		result = ((*(*n)._kind_6.sons->data[(NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_37)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
			a = (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) {
						NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_38;
						if (!(i_2 < colontmp_)) goto LA8;
						i = i_2;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
						a = (*n)._kind_6.sons->data[i];
						{
							NIM_BOOL T11_;
							T11_ = (NIM_BOOL)0;
							T11_ = hasBody__QIHxP9aHKAIpWu3E0oiiONQ_3(a);
							if (!T11_) goto LA12_;
							result = NIM_TRUE;
							goto BeforeRet_;
						}
						LA12_: ;
						if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_38)) { raiseOverflow(); };
						i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_38);
					} LA8: ;
				}
			}
		}
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasBody__B4TcFoMDWZUYH2FU5h9bJHg)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T5_;
		if (!((*n).hB < ((NI) 0))) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = hasBody__QIHxP9aHKAIpWu3E0oiiONQ_3((*n).pnode);
		(*n).hB = T5_;
	}
	LA3_: ;
	result = (((*n).hB) != 0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCommand__QIHxP9aHKAIpWu3E0oiiONQ_4)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
			a = (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) {
						NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_39;
						if (!(i_2 < colontmp_)) goto LA6;
						i = i_2;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
						a = (*n)._kind_6.sons->data[i];
						{
							NIM_BOOL T9_;
							T9_ = (NIM_BOOL)0;
							T9_ = hasCommand__QIHxP9aHKAIpWu3E0oiiONQ_4(a);
							if (!T9_) goto LA10_;
							result = NIM_TRUE;
							goto BeforeRet_;
						}
						LA10_: ;
						if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_39)) { raiseOverflow(); };
						i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_39);
					} LA6: ;
				}
			}
		}
	}
	break;
	default:
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCommand__B4TcFoMDWZUYH2FU5h9bJHg_2)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T5_;
		if (!((*n).hCmd < ((NI) 0))) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = hasCommand__QIHxP9aHKAIpWu3E0oiiONQ_4((*n).pnode);
		(*n).hCmd = T5_;
	}
	LA3_: ;
	result = (((*n).hCmd) != 0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasImportStmt__QIHxP9aHKAIpWu3E0oiiONQ_5)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
	{
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
			a = (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) {
						NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_40;
						if (!(i_2 < colontmp_)) goto LA6;
						i = i_2;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
						a = (*n)._kind_6.sons->data[i];
						{
							NIM_BOOL T9_;
							T9_ = (NIM_BOOL)0;
							T9_ = hasImportStmt__QIHxP9aHKAIpWu3E0oiiONQ_5(a);
							if (!T9_) goto LA10_;
							result = NIM_TRUE;
							goto BeforeRet_;
						}
						LA10_: ;
						if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_40)) { raiseOverflow(); };
						i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_40);
					} LA6: ;
				}
			}
		}
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasImportStmt__B4TcFoMDWZUYH2FU5h9bJHg_3)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T5_;
		if (!((*n).hIS < ((NI) 0))) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = hasImportStmt__QIHxP9aHKAIpWu3E0oiiONQ_5((*n).pnode);
		(*n).hIS = T5_;
	}
	LA3_: ;
	result = (((*n).hIS) != 0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasAccQuoted__QIHxP9aHKAIpWu3E0oiiONQ_7)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA3_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
		a = (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) {
					NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_41;
					if (!(i_2 < colontmp_)) goto LA8;
					i = i_2;
					if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
					if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					a = (*n)._kind_6.sons->data[i];
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = hasAccQuoted__QIHxP9aHKAIpWu3E0oiiONQ_7(a);
						if (!T11_) goto LA12_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA12_: ;
					if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_41)) { raiseOverflow(); };
					i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_41);
				} LA8: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasAccQuotedDef__QIHxP9aHKAIpWu3E0oiiONQ_6)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	{
		if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
		if ((NU)(((NI) 0)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
		result = hasAccQuoted__QIHxP9aHKAIpWu3E0oiiONQ_7((*n)._kind_6.sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
			a = (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) {
						NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_42;
						if (!(i_2 < colontmp_)) goto LA6;
						i = i_2;
						if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
						if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
						a = (*n)._kind_6.sons->data[i];
						{
							NIM_BOOL T9_;
							T9_ = (NIM_BOOL)0;
							T9_ = hasAccQuotedDef__QIHxP9aHKAIpWu3E0oiiONQ_6(a);
							if (!T9_) goto LA10_;
							result = NIM_TRUE;
							goto BeforeRet_;
						}
						LA10_: ;
						if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_42)) { raiseOverflow(); };
						i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_42);
					} LA6: ;
				}
			}
		}
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasAccQuotedDef__B4TcFoMDWZUYH2FU5h9bJHg_4)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T5_;
		if (!((*n).hAQ < ((NI) 0))) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = hasAccQuotedDef__QIHxP9aHKAIpWu3E0oiiONQ_6((*n).pnode);
		(*n).hAQ = T5_;
	}
	LA3_: ;
	result = (((*n).hAQ) != 0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, intersects__8Gx51ToIYYxUPWqAYrrAKg)(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* s1, tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg* s2) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NI a;
		a = (NI)0;
		{
			if (!((*s1).elems <= ((NI) 34))) goto LA4_;
			{
				NI i;
				NI i_2;
				i = (NI)0;
				i_2 = ((NI) 0);
				{
					while (1) {
						NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_43;
						if (!(i_2 < (*s1).elems)) goto LA8;
						i = i_2;
						if ((NU)(i) > (NU)(33)){ raiseIndexError2(i, 33); }
						a = (*s1).a[(i)- 0];
						{
							NIM_BOOL T11_;
							T11_ = (NIM_BOOL)0;
							T11_ = contains__R6uRTGpl30Ofaw4Ni3vawA(s2, a);
							if (!T11_) goto LA12_;
							result = NIM_TRUE;
							goto BeforeRet_;
						}
						LA12_: ;
						if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_43)) { raiseOverflow(); };
						i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_43);
					} LA8: ;
				}
			}
		}
		goto LA2_;
		LA4_: ;
		{
			tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ* r;
			r = (*s1).head;
			{
				while (1) {
					NI i_3;
					if (!!((r == NIM_NIL))) goto LA16;
					i_3 = ((NI) 0);
					{
						while (1) {
							NU w;
							NI j;
							NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_45;
							if (!(i_3 <= ((NI) 7))) goto LA18;
							if ((NU)(i_3) > (NU)(7)){ raiseIndexError2(i_3, 7); }
							w = (*r).bits[(i_3)- 0];
							j = ((NI) 0);
							{
								while (1) {
									NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_44;
									if (!!((w == ((NU) 0)))) goto LA20;
									{
										NI T25_;
										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA23_;
										T25_ = (NI)0;
										T25_ = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((NI)((NU64)(i_3) << (NU64)(((NI) 6))), j);
										a = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T25_);
										{
											NIM_BOOL T28_;
											T28_ = (NIM_BOOL)0;
											T28_ = contains__R6uRTGpl30Ofaw4Ni3vawA(s2, a);
											if (!T28_) goto LA29_;
											result = NIM_TRUE;
											goto BeforeRet_;
										}
										LA29_: ;
									}
									LA23_: ;
									if (nimAddInt(j, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_44)) { raiseOverflow(); };
									j = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_44);
									w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
								} LA20: ;
							}
							if (nimAddInt(i_3, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_45)) { raiseOverflow(); };
							i_3 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_45);
						} LA18: ;
					}
					r = (*r).next;
				} LA16: ;
			}
		}
		LA2_: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__76wc9cnTOK9c6epudv8uYE0w*, buildGraph__l1rQixGqVPrOr9aCWQMBrWw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__DL2Id9b2SwHghZpjvWsUcAw* deps) {
	tySequence__76wc9cnTOK9c6epudv8uYE0w* result;
	NI T1_;
	result = (tySequence__76wc9cnTOK9c6epudv8uYE0w*)0;
	T1_ = (deps ? deps->Sup.len : 0);
	if ((T1_) < ((NI) 0) || (T1_) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(T1_, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	result = (tySequence__76wc9cnTOK9c6epudv8uYE0w*)nimNewSeqOfCap((&NTI__76wc9cnTOK9c6epudv8uYE0w_), ((NI) (T1_)));
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (deps ? deps->Sup.len : 0);
		colontmp_ = T3_;
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* T6_;
				NI T7_;
				NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_36;
				if (!(i_2 < colontmp_)) goto LA5;
				i = i_2;
				if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
				if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
				T6_ = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*)0;
				T6_ = newDepN__XaQski0zL4giy3TLeFookg(i, (*n)._kind_6.sons->data[i]);
				result = (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)(result), (&NTI__76wc9cnTOK9c6epudv8uYE0w_));
				T7_ = result->Sup.len++;
				asgnRef((void**) (&result->data[T7_]), T6_);
				if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_36)) { raiseOverflow(); };
				i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_36);
			} LA5: ;
		}
	}
	{
		NI i_3;
		NI colontmp__2;
		NI T9_;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		T9_ = (deps ? deps->Sup.len : 0);
		colontmp__2 = T9_;
		i_4 = ((NI) 0);
		{
			while (1) {
				tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* ni;
				tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg uses;
				NIM_BOOL niHasBody;
				NIM_BOOL niHasCmd;
				NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_50;
				if (!(i_4 < colontmp__2)) goto LA11;
				i_3 = i_4;
				if ((NU)(i_3) >= (NU)(result ? result->Sup.len : 0)){ raiseIndexError2(i_3,(result ? result->Sup.len : 0)-1); }
				ni = result->data[i_3];
				nimZeroMem((void*)(&uses), sizeof(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg));
				if ((NU)(i_3) >= (NU)(deps ? deps->Sup.len : 0)){ raiseIndexError2(i_3,(deps ? deps->Sup.len : 0)-1); }
				nimCopyMem((void*)(&uses), (NIM_CONST void*)(&deps->data[i_3].Field1), sizeof(uses));
				niHasBody = hasBody__B4TcFoMDWZUYH2FU5h9bJHg(ni);
				niHasCmd = hasCommand__B4TcFoMDWZUYH2FU5h9bJHg_2(ni);
				{
					NI j;
					NI colontmp__3;
					NI T13_;
					NI i_5;
					j = (NI)0;
					colontmp__3 = (NI)0;
					T13_ = (deps ? deps->Sup.len : 0);
					colontmp__3 = T13_;
					i_5 = ((NI) 0);
					{
						while (1) {
							NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_49;
							if (!(i_5 < colontmp__3)) goto LA15;
							j = i_5;
							{
								tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* nj;
								tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg declares;
								{
									if (!(i_3 == j)) goto LA19_;
									goto LA16;
								}
								LA19_: ;
								if ((NU)(j) >= (NU)(result ? result->Sup.len : 0)){ raiseIndexError2(j,(result ? result->Sup.len : 0)-1); }
								nj = result->data[j];
								nimZeroMem((void*)(&declares), sizeof(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg));
								if ((NU)(j) >= (NU)(deps ? deps->Sup.len : 0)){ raiseIndexError2(j,(deps ? deps->Sup.len : 0)-1); }
								nimCopyMem((void*)(&declares), (NIM_CONST void*)(&deps->data[j].Field0), sizeof(declares));
								{
									NIM_BOOL T23_;
									NIM_BOOL T24_;
									NI T29_;
									T23_ = (NIM_BOOL)0;
									T24_ = (NIM_BOOL)0;
									T24_ = (j < i_3);
									if (!(T24_)) goto LA25_;
									T24_ = hasCommand__B4TcFoMDWZUYH2FU5h9bJHg_2(nj);
									LA25_: ;
									T23_ = T24_;
									if (!(T23_)) goto LA26_;
									T23_ = niHasCmd;
									LA26_: ;
									if (!T23_) goto LA27_;
									asgnRef((void**) (&(*ni).kids), (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)((*ni).kids), (&NTI__76wc9cnTOK9c6epudv8uYE0w_)));
									T29_ = (*ni).kids->Sup.len++;
									asgnRef((void**) (&(*ni).kids->data[T29_]), nj);
								}
								goto LA21_;
								LA27_: ;
								{
									NIM_BOOL T31_;
									NI T35_;
									T31_ = (NIM_BOOL)0;
									T31_ = (j < i_3);
									if (!(T31_)) goto LA32_;
									T31_ = hasImportStmt__B4TcFoMDWZUYH2FU5h9bJHg_3(nj);
									LA32_: ;
									if (!T31_) goto LA33_;
									asgnRef((void**) (&(*ni).kids), (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)((*ni).kids), (&NTI__76wc9cnTOK9c6epudv8uYE0w_)));
									T35_ = (*ni).kids->Sup.len++;
									asgnRef((void**) (&(*ni).kids->data[T35_]), nj);
								}
								goto LA21_;
								LA33_: ;
								{
									NIM_BOOL T37_;
									NIM_BOOL T38_;
									NI T43_;
									T37_ = (NIM_BOOL)0;
									T38_ = (NIM_BOOL)0;
									T38_ = (j < i_3);
									if (!(T38_)) goto LA39_;
									T38_ = niHasBody;
									LA39_: ;
									T37_ = T38_;
									if (!(T37_)) goto LA40_;
									T37_ = hasAccQuotedDef__B4TcFoMDWZUYH2FU5h9bJHg_4(nj);
									LA40_: ;
									if (!T37_) goto LA41_;
									asgnRef((void**) (&(*ni).kids), (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)((*ni).kids), (&NTI__76wc9cnTOK9c6epudv8uYE0w_)));
									T43_ = (*ni).kids->Sup.len++;
									asgnRef((void**) (&(*ni).kids->data[T43_]), nj);
								}
								goto LA21_;
								LA41_: ;
								{
									NIM_BOOL T45_;
									NIM_BOOL T46_;
									NIM_BOOL T47_;
									NIM_BOOL T50_;
									NI T54_;
									T45_ = (NIM_BOOL)0;
									T46_ = (NIM_BOOL)0;
									T47_ = (NIM_BOOL)0;
									T47_ = (j < i_3);
									if (!(T47_)) goto LA48_;
									T47_ = niHasBody;
									LA48_: ;
									T46_ = T47_;
									if (!(T46_)) goto LA49_;
									T50_ = (NIM_BOOL)0;
									T50_ = hasBody__B4TcFoMDWZUYH2FU5h9bJHg(nj);
									T46_ = !(T50_);
									LA49_: ;
									T45_ = T46_;
									if (!(T45_)) goto LA51_;
									if ((NU)(i_3) >= (NU)(deps ? deps->Sup.len : 0)){ raiseIndexError2(i_3,(deps ? deps->Sup.len : 0)-1); }
									T45_ = intersects__8Gx51ToIYYxUPWqAYrrAKg((&deps->data[i_3].Field0), (&declares));
									LA51_: ;
									if (!T45_) goto LA52_;
									asgnRef((void**) (&(*ni).kids), (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)((*ni).kids), (&NTI__76wc9cnTOK9c6epudv8uYE0w_)));
									T54_ = (*ni).kids->Sup.len++;
									asgnRef((void**) (&(*ni).kids->data[T54_]), nj);
								}
								goto LA21_;
								LA52_: ;
								{
									{
										NI d;
										d = (NI)0;
										{
											if (!(declares.elems <= ((NI) 34))) goto LA59_;
											{
												NI i_6;
												NI i_7;
												i_6 = (NI)0;
												i_7 = ((NI) 0);
												{
													while (1) {
														NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_46;
														if (!(i_7 < declares.elems)) goto LA63;
														i_6 = i_7;
														if ((NU)(i_6) > (NU)(33)){ raiseIndexError2(i_6, 33); }
														d = declares.a[(i_6)- 0];
														{
															NIM_BOOL T66_;
															NI T69_;
															T66_ = (NIM_BOOL)0;
															T66_ = contains__R6uRTGpl30Ofaw4Ni3vawA((&uses), d);
															if (!T66_) goto LA67_;
															asgnRef((void**) (&(*ni).kids), (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)((*ni).kids), (&NTI__76wc9cnTOK9c6epudv8uYE0w_)));
															T69_ = (*ni).kids->Sup.len++;
															asgnRef((void**) (&(*ni).kids->data[T69_]), nj);
														}
														LA67_: ;
														if (nimAddInt(i_7, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_46)) { raiseOverflow(); };
														i_7 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_46);
													} LA63: ;
												}
											}
										}
										goto LA57_;
										LA59_: ;
										{
											tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ* r;
											r = declares.head;
											{
												while (1) {
													NI i_8;
													if (!!((r == NIM_NIL))) goto LA72;
													i_8 = ((NI) 0);
													{
														while (1) {
															NU w;
															NI j_2;
															NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_48;
															if (!(i_8 <= ((NI) 7))) goto LA74;
															if ((NU)(i_8) > (NU)(7)){ raiseIndexError2(i_8, 7); }
															w = (*r).bits[(i_8)- 0];
															j_2 = ((NI) 0);
															{
																while (1) {
																	NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_47;
																	if (!!((w == ((NU) 0)))) goto LA76;
																	{
																		NI T81_;
																		if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA79_;
																		T81_ = (NI)0;
																		T81_ = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((NI)((NU64)(i_8) << (NU64)(((NI) 6))), j_2);
																		d = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T81_);
																		{
																			NIM_BOOL T84_;
																			NI T87_;
																			T84_ = (NIM_BOOL)0;
																			T84_ = contains__R6uRTGpl30Ofaw4Ni3vawA((&uses), d);
																			if (!T84_) goto LA85_;
																			asgnRef((void**) (&(*ni).kids), (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)((*ni).kids), (&NTI__76wc9cnTOK9c6epudv8uYE0w_)));
																			T87_ = (*ni).kids->Sup.len++;
																			asgnRef((void**) (&(*ni).kids->data[T87_]), nj);
																		}
																		LA85_: ;
																	}
																	LA79_: ;
																	if (nimAddInt(j_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_47)) { raiseOverflow(); };
																	j_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_47);
																	w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
																} LA76: ;
															}
															if (nimAddInt(i_8, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_48)) { raiseOverflow(); };
															i_8 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_48);
														} LA74: ;
													}
													r = (*r).next;
												} LA72: ;
											}
										}
										LA57_: ;
									}
								}
								LA21_: ;
							} LA16: ;
							if (nimAddInt(i_5, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_49)) { raiseOverflow(); };
							i_5 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_49);
						} LA15: ;
					}
				}
				if (nimAddInt(i_4, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_50)) { raiseOverflow(); };
				i_4 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_50);
			} LA11: ;
		}
	}
	return result;
}
static N_INLINE(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*, pop__IQjTOeK0Ndjm0ns4zcluIAsystem)(tySequence__76wc9cnTOK9c6epudv8uYE0w** s) {
	tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* result;
	NI L;
	NI T1_;
	NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_54;
	result = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*)0;
	T1_ = ((*s) ? (*s)->Sup.len : 0);
	if (nimSubInt(T1_, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_54)) { raiseOverflow(); };
	L = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_54);
	if ((NU)(L) >= (NU)((*s) ? (*s)->Sup.len : 0)){ raiseIndexError2(L,((*s) ? (*s)->Sup.len : 0)-1); }
	result = (*s)->data[L];
	if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	unsureAsgnRef((void**) (&(*s)), (tySequence__76wc9cnTOK9c6epudv8uYE0w*) setLengthSeqV2(&((*s))->Sup, (&NTI__76wc9cnTOK9c6epudv8uYE0w_), ((NI) (L))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, strongConnect__1hP01ICoCybbFvI8jHdjIg)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q** v, NI* idx, tySequence__76wc9cnTOK9c6epudv8uYE0w** s, tySequence__AK3cQuijuQxFGdWA8l9a9aYA** res) {
	NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_51;
	NI T1_;
	(*(*v)).idx = (*idx);
	(*(*v)).lowLink = (*idx);
	if (nimAddInt((*idx), ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_51)) { raiseOverflow(); };
	(*idx) = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_51);
	unsureAsgnRef((void**) (&(*s)), (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)((*s)), (&NTI__76wc9cnTOK9c6epudv8uYE0w_)));
	T1_ = (*s)->Sup.len++;
	asgnRef((void**) (&(*s)->data[T1_]), (*v));
	(*(*v)).onStack = NIM_TRUE;
	{
		tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q** w;
		NI i;
		NI L;
		NI T3_;
		w = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q**)0;
		i = ((NI) 0);
		T3_ = ((*(*v)).kids ? (*(*v)).kids->Sup.len : 0);
		L = T3_;
		{
			while (1) {
				NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_52;
				if (!(i < L)) goto LA5;
				if ((NU)(i) >= (NU)((*(*v)).kids ? (*(*v)).kids->Sup.len : 0)){ raiseIndexError2(i,((*(*v)).kids ? (*(*v)).kids->Sup.len : 0)-1); }
				w = &(*(*v)).kids->data[i];
				{
					if (!((*(*w)).idx < ((NI) 0))) goto LA8_;
					strongConnect__1hP01ICoCybbFvI8jHdjIg(w, idx, s, res);
					(*(*v)).lowLink = (((*(*v)).lowLink <= (*(*w)).lowLink) ? (*(*v)).lowLink : (*(*w)).lowLink);
				}
				goto LA6_;
				LA8_: ;
				{
					if (!(*(*w)).onStack) goto LA11_;
					(*(*v)).lowLink = (((*(*v)).lowLink <= (*(*w)).idx) ? (*(*v)).lowLink : (*(*w)).idx);
				}
				goto LA6_;
				LA11_: ;
				LA6_: ;
				if (nimAddInt(i, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_52)) { raiseOverflow(); };
				i = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_52);
				{
					NI T15_;
					T15_ = ((*(*v)).kids ? (*(*v)).kids->Sup.len : 0);
					if (!!((T15_ == L))) goto LA16_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_53));
				}
				LA16_: ;
			} LA5: ;
		}
	}
	{
		tySequence__76wc9cnTOK9c6epudv8uYE0w* comp;
		NI T29_;
		if (!((*(*v)).lowLink == (*(*v)).idx)) goto LA20_;
		comp = newSeq__hJ5RQ2a9bsrV6HM2KvQcKQw(((NI) 0));
		{
			while (1) {
				tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* w_2;
				NI T24_;
				w_2 = pop__IQjTOeK0Ndjm0ns4zcluIAsystem(s);
				(*w_2).onStack = NIM_FALSE;
				comp = (tySequence__76wc9cnTOK9c6epudv8uYE0w*) incrSeqV3((TGenericSeq*)(comp), (&NTI__76wc9cnTOK9c6epudv8uYE0w_));
				T24_ = comp->Sup.len++;
				asgnRef((void**) (&comp->data[T24_]), w_2);
				{
					if (!((*w_2).id == (*(*v)).id)) goto LA27_;
					goto LA22;
				}
				LA27_: ;
			}
		} LA22: ;
		unsureAsgnRef((void**) (&(*res)), (tySequence__AK3cQuijuQxFGdWA8l9a9aYA*) incrSeqV3((TGenericSeq*)((*res)), (&NTI__AK3cQuijuQxFGdWA8l9a9aYA_)));
		T29_ = (*res)->Sup.len++;
		genericSeqAssign((&(*res)->data[T29_]), comp, (&NTI__76wc9cnTOK9c6epudv8uYE0w_));
	}
	LA20_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__AK3cQuijuQxFGdWA8l9a9aYA*, getStrongComponents__N6M3Dh4hz2dG37nYvFu4rg)(tySequence__76wc9cnTOK9c6epudv8uYE0w** g) {
	tySequence__AK3cQuijuQxFGdWA8l9a9aYA* result;
	tySequence__76wc9cnTOK9c6epudv8uYE0w* s;
	NI idx;
	result = (tySequence__AK3cQuijuQxFGdWA8l9a9aYA*)0;
	result = newSeq__unyZp3WGenzYT0IKfWWApw(((NI) 0));
	s = newSeq__hJ5RQ2a9bsrV6HM2KvQcKQw(((NI) 0));
	idx = ((NI) 0);
	{
		tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q** v;
		NI i;
		NI L;
		NI T2_;
		v = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q**)0;
		i = ((NI) 0);
		T2_ = ((*g) ? (*g)->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_55;
				if (!(i < L)) goto LA4;
				if ((NU)(i) >= (NU)((*g) ? (*g)->Sup.len : 0)){ raiseIndexError2(i,((*g) ? (*g)->Sup.len : 0)-1); }
				v = &(*g)->data[i];
				{
					if (!((*(*v)).idx < ((NI) 0))) goto LA7_;
					strongConnect__1hP01ICoCybbFvI8jHdjIg(v, (&idx), (&s), (&result));
				}
				LA7_: ;
				if (nimAddInt(i, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_55)) { raiseOverflow(); };
				i = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_55);
				{
					NI T11_;
					T11_ = ((*g) ? (*g)->Sup.len : 0);
					if (!!((T11_ == L))) goto LA12_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_53));
				}
				LA12_: ;
			} LA4: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, colonanonymous___RDVHzNvzSdkk3euhSWcxKg)(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* xX60gensym43305215_, tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* yX60gensym43305216_) {
	NI result;
	tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* it;
	NI aX60gensym43305217_;
	NI bX60gensym43305218_;
	result = (NI)0;
	it = xX60gensym43305215_;
	aX60gensym43305217_ = (*it).id;
	it = yX60gensym43305216_;
	bX60gensym43305218_ = (*it).id;
	result = cmp__sulHEHLaDujOhOm0ckj5uA(aX60gensym43305217_, bX60gensym43305218_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, haveSameKind__dV5rxFg9a5znXdd39a9c5E8mg)(tySequence__76wc9cnTOK9c6epudv8uYE0w* dns) {
	NIM_BOOL result;
	tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
{	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	if ((NU)(((NI) 0)) >= (NU)(dns ? dns->Sup.len : 0)){ raiseIndexError2(((NI) 0),(dns ? dns->Sup.len : 0)-1); }
	kind = (*(*dns->data[((NI) 0)]).pnode).kind;
	{
		tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* dn;
		NI i;
		NI L;
		NI T2_;
		dn = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*)0;
		i = ((NI) 0);
		T2_ = (dns ? dns->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_58;
				if (!(i < L)) goto LA4;
				if ((NU)(i) >= (NU)(dns ? dns->Sup.len : 0)){ raiseIndexError2(i,(dns ? dns->Sup.len : 0)-1); }
				dn = dns->data[i];
				{
					if (!!(((*(*dn).pnode).kind == kind))) goto LA7_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA7_: ;
				if (nimAddInt(i, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_58)) { raiseOverflow(); };
				i = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_58);
				{
					NI T11_;
					T11_ = (dns ? dns->Sup.len : 0);
					if (!!((T11_ == L))) goto LA12_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_59));
				}
				LA12_: ;
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeSections__xvaSMx9bQereWHQhLVKr7Qw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__AK3cQuijuQxFGdWA8l9a9aYA* comps, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res) {
	{
		tySequence__76wc9cnTOK9c6epudv8uYE0w* c;
		NI i;
		NI L;
		NI T2_;
		c = (tySequence__76wc9cnTOK9c6epudv8uYE0w*)0;
		i = ((NI) 0);
		T2_ = (comps ? comps->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_65;
				if (!(i < L)) goto LA4;
				if ((NU)(i) >= (NU)(comps ? comps->Sup.len : 0)){ raiseIndexError2(i,(comps ? comps->Sup.len : 0)-1); }
				c = comps->data[i];
				{
					NI T7_;
					T7_ = (c ? c->Sup.len : 0);
					if (!!((((NI) 0) < T7_))) goto LA8_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_56));
				}
				LA8_: ;
				{
					NI T12_;
					T12_ = (c ? c->Sup.len : 0);
					if (!(T12_ == ((NI) 1))) goto LA13_;
					if ((NU)(((NI) 0)) >= (NU)(c ? c->Sup.len : 0)){ raiseIndexError2(((NI) 0),(c ? c->Sup.len : 0)-1); }
					add__P8dDSotTW25BkfbyspojGg(res, (*c->data[((NI) 0)]).pnode);
				}
				goto LA10_;
				LA13_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fstn;
					tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
					tySequence__76wc9cnTOK9c6epudv8uYE0w* cs;
					tySequence__76wc9cnTOK9c6epudv8uYE0w* resultX60gensym43305214_;
					tyProc__BX9cYxd9cF2mTlqoQZOdSHDA T16_;
					if ((NU)(((NI) 0)) >= (NU)(c ? c->Sup.len : 0)){ raiseIndexError2(((NI) 0),(c ? c->Sup.len : 0)-1); }
					fstn = (*c->data[((NI) 0)]).pnode;
					kind = (*fstn).kind;
					nimZeroMem((void*)(&T16_), sizeof(tyProc__BX9cYxd9cF2mTlqoQZOdSHDA));
					T16_.ClP_0 = ((TM__wGDfi9c1BEw7VBzRnDQgLpQ_57) (colonanonymous___RDVHzNvzSdkk3euhSWcxKg)); T16_.ClE_0 = NIM_NIL;
					resultX60gensym43305214_ = sorted__1d6z7mFg8pfnJxr2lUHibg(c->data, (c ? c->Sup.len : 0), T16_, ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
					cs = resultX60gensym43305214_;
					{
						NIM_BOOL T19_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sn;
						T19_ = (NIM_BOOL)0;
						T19_ = (kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98) || kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101));
						if (!(T19_)) goto LA20_;
						T19_ = haveSameKind__dV5rxFg9a5znXdd39a9c5E8mg(cs);
						LA20_: ;
						if (!T19_) goto LA21_;
						sn = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(kind);
						{
							tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q* dn;
							NI i_2;
							NI L_2;
							NI T24_;
							dn = (tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*)0;
							i_2 = ((NI) 0);
							T24_ = (cs ? cs->Sup.len : 0);
							L_2 = T24_;
							{
								while (1) {
									NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_60;
									if (!(i_2 < L_2)) goto LA26;
									if ((NU)(i_2) >= (NU)(cs ? cs->Sup.len : 0)){ raiseIndexError2(i_2,(cs ? cs->Sup.len : 0)-1); }
									dn = cs->data[i_2];
									if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*(*dn).pnode).kind)>>3] &(1U<<((NU)((*(*dn).pnode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
									if ((NU)(((NI) 0)) >= (NU)((*(*dn).pnode)._kind_6.sons ? (*(*dn).pnode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*(*dn).pnode)._kind_6.sons ? (*(*dn).pnode)._kind_6.sons->Sup.len : 0)-1); }
									add__P8dDSotTW25BkfbyspojGg(sn, (*(*dn).pnode)._kind_6.sons->data[((NI) 0)]);
									if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_60)) { raiseOverflow(); };
									i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_60);
									{
										NI T29_;
										T29_ = (cs ? cs->Sup.len : 0);
										if (!!((T29_ == L_2))) goto LA30_;
										failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_59));
									}
									LA30_: ;
								} LA26: ;
							}
						}
						add__P8dDSotTW25BkfbyspojGg(res, sn);
					}
					goto LA17_;
					LA21_: ;
					{
						NimStringDesc* wmsg;
						NI i_3;
						wmsg = copyString(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_61));
						if ((NU)(((NI) 0)) >= (NU)(cs ? cs->Sup.len : 0)){ raiseIndexError2(((NI) 0),(cs ? cs->Sup.len : 0)-1); }
						message__mMj7lrOf3zBP9bl69amiKu5g(conf, (*(*cs->data[((NI) 0)]).pnode).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 49), wmsg);
						i_3 = ((NI) 0);
						{
							while (1) {
								NI T35_;
								T35_ = (cs ? cs->Sup.len : 0);
								if (!(i_3 < T35_)) goto LA34;
								{
									tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw ckind;
									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sn_2;
									NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_62;
									if ((NU)(i_3) >= (NU)(cs ? cs->Sup.len : 0)){ raiseIndexError2(i_3,(cs ? cs->Sup.len : 0)-1); }
									if (!((*(*cs->data[i_3]).pnode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98) || (*(*cs->data[i_3]).pnode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101))) goto LA38_;
									if ((NU)(i_3) >= (NU)(cs ? cs->Sup.len : 0)){ raiseIndexError2(i_3,(cs ? cs->Sup.len : 0)-1); }
									ckind = (*(*cs->data[i_3]).pnode).kind;
									sn_2 = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(ckind);
									if ((NU)(i_3) >= (NU)(cs ? cs->Sup.len : 0)){ raiseIndexError2(i_3,(cs ? cs->Sup.len : 0)-1); }
									if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*(*cs->data[i_3]).pnode).kind)>>3] &(1U<<((NU)((*(*cs->data[i_3]).pnode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
									if ((NU)(((NI) 0)) >= (NU)((*(*cs->data[i_3]).pnode)._kind_6.sons ? (*(*cs->data[i_3]).pnode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*(*cs->data[i_3]).pnode)._kind_6.sons ? (*(*cs->data[i_3]).pnode)._kind_6.sons->Sup.len : 0)-1); }
									add__P8dDSotTW25BkfbyspojGg(sn_2, (*(*cs->data[i_3]).pnode)._kind_6.sons->data[((NI) 0)]);
									if (nimAddInt(i_3, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_62)) { raiseOverflow(); };
									i_3 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_62);
									{
										while (1) {
											NIM_BOOL T42_;
											NI T43_;
											NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_63;
											T42_ = (NIM_BOOL)0;
											T43_ = (cs ? cs->Sup.len : 0);
											T42_ = (i_3 < T43_);
											if (!(T42_)) goto LA44_;
											if ((NU)(i_3) >= (NU)(cs ? cs->Sup.len : 0)){ raiseIndexError2(i_3,(cs ? cs->Sup.len : 0)-1); }
											T42_ = ((*(*cs->data[i_3]).pnode).kind == ckind);
											LA44_: ;
											if (!T42_) goto LA41;
											if ((NU)(i_3) >= (NU)(cs ? cs->Sup.len : 0)){ raiseIndexError2(i_3,(cs ? cs->Sup.len : 0)-1); }
											if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*(*cs->data[i_3]).pnode).kind)>>3] &(1U<<((NU)((*(*cs->data[i_3]).pnode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
											if ((NU)(((NI) 0)) >= (NU)((*(*cs->data[i_3]).pnode)._kind_6.sons ? (*(*cs->data[i_3]).pnode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*(*cs->data[i_3]).pnode)._kind_6.sons ? (*(*cs->data[i_3]).pnode)._kind_6.sons->Sup.len : 0)-1); }
											add__P8dDSotTW25BkfbyspojGg(sn_2, (*(*cs->data[i_3]).pnode)._kind_6.sons->data[((NI) 0)]);
											if (nimAddInt(i_3, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_63)) { raiseOverflow(); };
											i_3 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_63);
										} LA41: ;
									}
									add__P8dDSotTW25BkfbyspojGg(res, sn_2);
								}
								goto LA36_;
								LA38_: ;
								{
									NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_64;
									if ((NU)(i_3) >= (NU)(cs ? cs->Sup.len : 0)){ raiseIndexError2(i_3,(cs ? cs->Sup.len : 0)-1); }
									add__P8dDSotTW25BkfbyspojGg(res, (*cs->data[i_3]).pnode);
									if (nimAddInt(i_3, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_64)) { raiseOverflow(); };
									i_3 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_64);
								}
								LA36_: ;
							} LA34: ;
						}
					}
					LA17_: ;
				}
				LA10_: ;
				if (nimAddInt(i, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_65)) { raiseOverflow(); };
				i = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_65);
				{
					NI T48_;
					T48_ = (comps ? comps->Sup.len : 0);
					if (!!((T48_ == L))) goto LA49_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_59));
				}
				LA49_: ;
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, reorder__dPQvgwMzPGcmvu0B3gQwMg)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg includedFiles;
	NimStringDesc* mpath;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
	tySequence__DL2Id9b2SwHghZpjvWsUcAw* deps;
	NI T7_;
	tySequence__76wc9cnTOK9c6epudv8uYE0w* g;
	tySequence__AK3cQuijuQxFGdWA8l9a9aYA* comps;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasForbiddenPragma__QIHxP9aHKAIpWu3E0oiiONQ(n);
		if (!T3_) goto LA4_;
		result = n;
		goto BeforeRet_;
	}
	LA4_: ;
	nimZeroMem((void*)(&includedFiles), sizeof(tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg));
	initIntSet__n8oDZMn19bEdodSnrBQB9a1Q((&includedFiles));
	if (((*module).position) < ((NI32) (-2147483647 -1)) || ((*module).position) > ((NI32) 2147483647)){ raiseRangeErrorI((*module).position, ((NI32) (-2147483647 -1)), ((NI32) 2147483647)); }
	mpath = toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg((*graph).config, ((NI32) ((*module).position)));
	T6_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T6_ = expandIncludes__f6opa6EYhh0IqorrrfgDqg(graph, module, n, mpath, (&includedFiles));
	n_2 = splitSections__Ydu9bY9bKLkBUE0Ph8YGkV9bg(T6_);
	result = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n_2).info);
	T7_ = (NI)0;
	T7_ = len__P89cqdlERShb9alU3iC0yj8wast(n_2);
	if ((T7_) < ((NI) 0) || (T7_) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(T7_, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	deps = newSeq__WTLrxQOyqUrGXib4dKrzTw(((NI) (T7_)));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n_2);
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM__wGDfi9c1BEw7VBzRnDQgLpQ_34;
				if (!(i_2 < colontmp_)) goto LA10;
				i = i_2;
				if ((NU)(i) >= (NU)(deps ? deps->Sup.len : 0)){ raiseIndexError2(i,(deps ? deps->Sup.len : 0)-1); }
				initIntSet__n8oDZMn19bEdodSnrBQB9a1Q((&deps->data[i].Field0));
				if ((NU)(i) >= (NU)(deps ? deps->Sup.len : 0)){ raiseIndexError2(i,(deps ? deps->Sup.len : 0)-1); }
				initIntSet__n8oDZMn19bEdodSnrBQB9a1Q((&deps->data[i].Field1));
				if (((TM__wGDfi9c1BEw7VBzRnDQgLpQ_2[(NU)((*n_2).kind)>>3] &(1U<<((NU)((*n_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__wGDfi9c1BEw7VBzRnDQgLpQ_3)); }
				if ((NU)(i) >= (NU)((*n_2)._kind_6.sons ? (*n_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n_2)._kind_6.sons ? (*n_2)._kind_6.sons->Sup.len : 0)-1); }
				if ((NU)(i) >= (NU)(deps ? deps->Sup.len : 0)){ raiseIndexError2(i,(deps ? deps->Sup.len : 0)-1); }
				if ((NU)(i) >= (NU)(deps ? deps->Sup.len : 0)){ raiseIndexError2(i,(deps ? deps->Sup.len : 0)-1); }
				computeDeps__vAMkuM9c4ZbJkI9cP86jVs6g((*graph).cache, (*n_2)._kind_6.sons->data[i], (&deps->data[i].Field0), (&deps->data[i].Field1), NIM_TRUE);
				if (nimAddInt(i_2, ((NI) 1), &TM__wGDfi9c1BEw7VBzRnDQgLpQ_34)) { raiseOverflow(); };
				i_2 = (NI)(TM__wGDfi9c1BEw7VBzRnDQgLpQ_34);
			} LA10: ;
		}
	}
	g = buildGraph__l1rQixGqVPrOr9aCWQMBrWw(n_2, deps);
	comps = getStrongComponents__N6M3Dh4hz2dG37nYvFu4rg((&g));
	mergeSections__xvaSMx9bQereWHQhLVKr7Qw((*graph).config, comps, result);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_reorderDatInit000)(void) {
static TNimNode* TM__wGDfi9c1BEw7VBzRnDQgLpQ_16_2[2];
static TNimNode* TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[10];
static TNimNode TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[14];
NTI__CHGVxU5ophQHfZDcth7p1w_.size = sizeof(tyTuple__CHGVxU5ophQHfZDcth7p1w);
NTI__CHGVxU5ophQHfZDcth7p1w_.kind = 18;
NTI__CHGVxU5ophQHfZDcth7p1w_.base = 0;
NTI__CHGVxU5ophQHfZDcth7p1w_.flags = 2;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_16_2[0] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[1];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[1].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[1].offset = offsetof(tyTuple__CHGVxU5ophQHfZDcth7p1w, Field0);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[1].typ = (&NTI__PQrmFm4BXFkFSVOUl1ojSg_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[1].name = "Field0";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_16_2[1] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[2];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[2].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[2].offset = offsetof(tyTuple__CHGVxU5ophQHfZDcth7p1w, Field1);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[2].typ = (&NTI__PQrmFm4BXFkFSVOUl1ojSg_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[2].name = "Field1";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[0].len = 2; TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[0].kind = 2; TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[0].sons = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_16_2[0];
NTI__CHGVxU5ophQHfZDcth7p1w_.node = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[0];
NTI__eVONEEaK4II8kv8La51d2Q_.size = sizeof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q);
NTI__eVONEEaK4II8kv8La51d2Q_.kind = 18;
NTI__eVONEEaK4II8kv8La51d2Q_.base = 0;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[0] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[4];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[4].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[4].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, pnode);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[4].typ = (&NTI__fKfcLzXYiz5jNu3NH3Tv8Q_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[4].name = "pnode";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[1] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[5];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[5].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[5].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, id);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[5].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[5].name = "id";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[2] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[6];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[6].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[6].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, idx);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[6].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[6].name = "idx";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[3] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[7];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[7].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[7].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, lowLink);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[7].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[7].name = "lowLink";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[4] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[8];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[8].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[8].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, onStack);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[8].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[8].name = "onStack";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[5] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[9];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[9].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[9].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, kids);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[9].typ = (&NTI__76wc9cnTOK9c6epudv8uYE0w_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[9].name = "kids";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[6] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[10];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[10].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[10].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, hAQ);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[10].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[10].name = "hAQ";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[7] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[11];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[11].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[11].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, hIS);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[11].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[11].name = "hIS";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[8] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[12];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[12].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[12].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, hB);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[12].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[12].name = "hB";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[9] = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[13];
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[13].kind = 1;
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[13].offset = offsetof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q, hCmd);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[13].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[13].name = "hCmd";
TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[3].len = 10; TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[3].kind = 2; TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[3].sons = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_35_10[0];
NTI__eVONEEaK4II8kv8La51d2Q_.node = &TM__wGDfi9c1BEw7VBzRnDQgLpQ_0[3];
NTI__OiD2O9bS9cMtitswLivRUn5g_.size = sizeof(tyObject_DepNcolonObjectType___eVONEEaK4II8kv8La51d2Q*);
NTI__OiD2O9bS9cMtitswLivRUn5g_.kind = 22;
NTI__OiD2O9bS9cMtitswLivRUn5g_.base = (&NTI__eVONEEaK4II8kv8La51d2Q_);
NTI__OiD2O9bS9cMtitswLivRUn5g_.marker = Marker_tyRef__OiD2O9bS9cMtitswLivRUn5g;
}

