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

#include "nimbase.h"
#include <string.h>
#include <stdio.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_RopeObj_OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_TCGen_9cG6VsX22pOhho6kxyhFVow tyObject_TCGen_9cG6VsX22pOhho6kxyhFVow;
typedef struct tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA;
typedef struct tySequence_sII3pVVRkIdBZ2HDPdZddA tySequence_sII3pVVRkIdBZ2HDPdZddA;
typedef struct tyTuple_wROVfG5RQYpjEAhvO3LqdQ tyTuple_wROVfG5RQYpjEAhvO3LqdQ;
typedef struct tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w;
typedef struct tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w;
typedef struct tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg;
typedef struct tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ;
typedef struct tySequence_9brg1xNurxcus33lU4IE1Dw tySequence_9brg1xNurxcus33lU4IE1Dw;
typedef struct tySequence_sM4lkSb7zS6F7OVMvW9cffQ tySequence_sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyObject_TCProc_g7nhmFb7KltrkyRKuP8k2Q tyObject_TCProc_g7nhmFb7KltrkyRKuP8k2Q;
typedef struct tySequence_Ef05srmQTDulnBdXR4Ja6Q tySequence_Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A;
typedef struct tySequence_vhmj4KkIKPinmRXny9c2Q6Q tySequence_vhmj4KkIKPinmRXny9c2Q6Q;
typedef struct tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ;
typedef struct tySequence_XUL1TrMU0tgXmaMFCIYgFQ tySequence_XUL1TrMU0tgXmaMFCIYgFQ;
typedef struct tyObject_BModuleListcolonObjectType__CpP4eJLbv5ZwofQXpESuGA tyObject_BModuleListcolonObjectType__CpP4eJLbv5ZwofQXpESuGA;
typedef struct tyObject_NdiFile_9cEuXfAnHp9bnWFK409cMtsEw tyObject_NdiFile_9cEuXfAnHp9bnWFK409cMtsEw;
typedef struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q;
typedef struct tySequence_P9c6Y5h4sjjYLVGti5AELHg tySequence_P9c6Y5h4sjjYLVGti5AELHg;
typedef struct tySequence_WwUFq9cJ2xKRlsAWVEHyPRg tySequence_WwUFq9cJ2xKRlsAWVEHyPRg;
typedef struct tySequence_oUyaggHmIX9bpJcMeoG6lpA tySequence_oUyaggHmIX9bpJcMeoG6lpA;
typedef struct tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg;
typedef struct tySequence_jwzrUFjG9akTIJTBBFvvqxw tySequence_jwzrUFjG9akTIJTBBFvvqxw;
typedef struct tyObject_TBlock_GFhahvekTq3dDOkWyhchMA tyObject_TBlock_GFhahvekTq3dDOkWyhchMA;
typedef struct tyObject_TMergeSections_crELyef4WlnFCK8sExutkA tyObject_TMergeSections_crELyef4WlnFCK8sExutkA;
typedef struct tyObject_TLLStream_a5oZYQ9aTktYME2449ayEi6g tyObject_TLLStream_a5oZYQ9aTktYME2449ayEi6g;
typedef struct tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag;
typedef struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack_7fytPA5bBsob6See21YMRA tyObject_GcStack_7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyTuple_ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg;
typedef struct tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg;
typedef struct tyTuple_aTNxDjHI7v9cq37xS7PT7jA tyTuple_aTNxDjHI7v9cq37xS7PT7jA;
typedef struct tyTuple_XOVT24GHXwqiEj5GCsEGCA tyTuple_XOVT24GHXwqiEj5GCsEGCA;
typedef NU8 tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg;
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 TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA {
  RootObj Sup;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* left;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* right;
NI L;
NimStringDesc* data;
};
typedef NimStringDesc* tyArray_IgBcQZSkSYWgypAN2G9aUCg[3];
typedef NU8 tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg;
typedef NimStringDesc* tyArray_popwAbp3uuRZiC4rZbYrXw[20];
struct tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA {
tySequence_sII3pVVRkIdBZ2HDPdZddA* data;
NI counter;
};
typedef NU8 tyArray_qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple_wROVfG5RQYpjEAhvO3LqdQ {
NI Field0;
tyArray_qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* Field2;
};
struct tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w {
  RootObj Sup;
};
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_pujFC2IN5RzE4MXkqaMD9aQ[20];
typedef NU8 tySet_tyEnum_Codegenflag_HPE9aESvbnlxgTYjMIBh52Q;
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_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A {
NI counter;
tySequence_vhmj4KkIKPinmRXny9c2Q6Q* data;
};
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_MxT2Arb3Nlp7V9bRITO3dvg[10];
struct tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ {
tySequence_XUL1TrMU0tgXmaMFCIYgFQ* data;
NI counter;
NIM_BOOL isSorted;
};
struct tyObject_NdiFile_9cEuXfAnHp9bnWFK409cMtsEw {
NIM_BOOL enabled;
FILE* f;
NimStringDesc* buf;
};
struct tyObject_TCGen_9cG6VsX22pOhho6kxyhFVow {
  tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w Sup;
tyArray_pujFC2IN5RzE4MXkqaMD9aQ s;
tySet_tyEnum_Codegenflag_HPE9aESvbnlxgTYjMIBh52Q flags;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* module;
NimStringDesc* filename;
NimStringDesc* cfilename;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmpBase;
tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA typeCache;
tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA forwTypeCache;
tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg declaredThings;
tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg declaredProtos;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* headerFiles;
tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA typeInfoMarker;
tyObject_TCProc_g7nhmFb7KltrkyRKuP8k2Q* initProc;
tyObject_TCProc_g7nhmFb7KltrkyRKuP8k2Q* preInitProc;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* hcrCreateTypeInfosProc;
NIM_BOOL inHcrInitGuard;
tySequence_Ef05srmQTDulnBdXR4Ja6Q* typeStack;
tyObject_TNodeTable_wN7B39cKxLpMkvKNm9bduZ0A dataCache;
NI typeNodes;
NI nimTypes;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* typeNodesName;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* nimTypesName;
NI labels;
tyArray_MxT2Arb3Nlp7V9bRITO3dvg extensionLoaders;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* injectStmt;
tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ sigConflicts;
tyObject_BModuleListcolonObjectType__CpP4eJLbv5ZwofQXpESuGA* g;
tyObject_NdiFile_9cEuXfAnHp9bnWFK409cMtsEw ndi;
};
typedef NU tyArray_cC4ce9cdvDKtIpar5g9cDejA[16];
struct tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ {
tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ* next;
NI key;
tyArray_cC4ce9cdvDKtIpar5g9cDejA bits;
};
struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg;
struct tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg {
tySequence_jwzrUFjG9akTIJTBBFvvqxw* data;
NI counter;
NIM_BOOL isSorted;
};
struct tyObject_TCProc_g7nhmFb7KltrkyRKuP8k2Q {
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc;
NIM_BOOL beforeRetNeeded;
NIM_BOOL threadVarAccessed;
NIM_BOOL hasCurFramePointer;
NIM_BOOL noSafePoints;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q currLineInfo;
tySequence_P9c6Y5h4sjjYLVGti5AELHg* nestedTryStmts;
tySequence_WwUFq9cJ2xKRlsAWVEHyPRg* finallySafePoints;
NI labels;
tySequence_oUyaggHmIX9bpJcMeoG6lpA* blocks;
NI breakIdx;
tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options;
NI maxFrameLen;
tyObject_TCGen_9cG6VsX22pOhho6kxyhFVow* module;
NI withinLoop;
NI splitDecls;
NI gcFrameId;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* gcFrameType;
tyObject_CountTable_chlLjy9bvnFM9b9bSZfiIkyGg sigConflicts;
};
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_c9b9aKKmyKnqxZD8lAny45jg[3];
struct tyObject_TBlock_GFhahvekTq3dDOkWyhchMA {
NI id;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* label;
tyArray_c9b9aKKmyKnqxZD8lAny45jg sections;
NIM_BOOL isLoop;
NI16 nestedTryStmts;
NI16 nestedExceptStmts;
NI16 frameLen;
};
struct tyObject_TMergeSections_crELyef4WlnFCK8sExutkA {
tyArray_pujFC2IN5RzE4MXkqaMD9aQ f;
tyArray_c9b9aKKmyKnqxZD8lAny45jg p;
};
typedef NU8 tyEnum_FileMode_ZJfK20XeZ9bv2j1pZjw9aswg;
struct tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag {
  RootObj Sup;
NI bufpos;
NimStringDesc* buf;
tyObject_TLLStream_a5oZYQ9aTktYME2449ayEi6g* stream;
NI lineNumber;
NI sentinel;
NI lineStart;
NI offsetBase;
};
typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack_7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ* tyArray_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray_BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* tyArray_N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray_N1u1nqOgmuJN9cSZrnMHgOQ tyArray_B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw* tyArray_lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA {
tyArray_lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* tyArray_0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw {
tyArray_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyArray_LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray_LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray_SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray_BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray_B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack_7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg {
NI h;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* key;
NI val;
};
struct tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg {
tyArray_qtqsWM5aXmcpMIVmvq3kAA Field0;
NI Field1;
};
struct tyTuple_aTNxDjHI7v9cq37xS7PT7jA {
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* Field0;
NIM_BOOL Field1;
};
struct tyTuple_XOVT24GHXwqiEj5GCsEGCA {
NimStringDesc* Field0;
NI Field1;
};
struct tySequence_sII3pVVRkIdBZ2HDPdZddA {
  TGenericSeq Sup;
  tyTuple_wROVfG5RQYpjEAhvO3LqdQ data[SEQ_DECL_SIZE];
};
struct tySequence_9brg1xNurxcus33lU4IE1Dw {
  TGenericSeq Sup;
  tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE];
};
struct tySequence_sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence_Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence_vhmj4KkIKPinmRXny9c2Q6Q {
  TGenericSeq Sup;
  tyObject_TNodePair_EZfI4tFqtDSTQys2UInNjg data[SEQ_DECL_SIZE];
};
struct tySequence_XUL1TrMU0tgXmaMFCIYgFQ {
  TGenericSeq Sup;
  tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg data[SEQ_DECL_SIZE];
};
struct tySequence_P9c6Y5h4sjjYLVGti5AELHg {
  TGenericSeq Sup;
  tyTuple_aTNxDjHI7v9cq37xS7PT7jA data[SEQ_DECL_SIZE];
};
struct tySequence_WwUFq9cJ2xKRlsAWVEHyPRg {
  TGenericSeq Sup;
  tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* data[SEQ_DECL_SIZE];
};
struct tySequence_oUyaggHmIX9bpJcMeoG6lpA {
  TGenericSeq Sup;
  tyObject_TBlock_GFhahvekTq3dDOkWyhchMA data[SEQ_DECL_SIZE];
};
struct tySequence_jwzrUFjG9akTIJTBBFvvqxw {
  TGenericSeq Sup;
  tyTuple_XOVT24GHXwqiEj5GCsEGCA data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, rope_yShmEg9cffWxI7s5XzEKBow)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, add_yG4AKzsBRS1W4MANDlXQeg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** a, NimStringDesc* b);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem_M04YC71iJg1N7gBF3HZTngsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, writeTypeCache_zKjQfFdZiEDKmkABywc36A)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA a, NimStringDesc** s);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem_JE6t4x7Z3v2iVz27Nx0MRAmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, len_2ofA2tlPvPQGtfqWkdG41g)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA t);
static N_INLINE(NIM_BOOL, isFilled_5Qpmu5QqwDY0esVXn6wf7wtables)(NI hcode);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(void, encodeStr_Gl7oVckGOULa4RbIjSqJ6g)(NimStringDesc* s, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__0A9bslyIJ49bWrftLGh13rvg)(tyArray_qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__mZ66tEveFIQokq3arf8Klw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* r);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, writeIntSet_xlTHixMZZ4hlXRO9bPP9aWcA)(tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* a, NimStringDesc** s);
N_LIB_PRIVATE N_NIMCALL(void, encodeVInt_lNzvVCaz9agOxH6nqWMG4Ww)(NI x, NimStringDesc** result);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
static N_INLINE(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA**, s_kOyJGmZMM2tMgCKSrvUE3gcgendata)(tyObject_TCProc_g7nhmFb7KltrkyRKuP8k2Q* p, tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg s);
static N_INLINE(NI, subInt)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, readMergeSections_SkJF1FEO0K3zrbuQ9bO4UlQ)(NimStringDesc* cfilename, tyObject_TMergeSections_crELyef4WlnFCK8sExutkA* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream_a5oZYQ9aTktYME2449ayEi6g*, llStreamOpen_knWUQJsEzojha6AJCi6LcA)(NimStringDesc* filename, tyEnum_FileMode_ZJfK20XeZ9bv2j1pZjw9aswg mode);
N_LIB_PRIVATE N_NIMCALL(void, openBaseLexer_V9avLgM3wlB5dKp8bWFOIqg)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L, tyObject_TLLStream_a5oZYQ9aTktYME2449ayEi6g* inputstream, NI bufLen);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(void, skipUntilCmd_YPcsL8BagSeVY75LpgNAbg)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L);
N_LIB_PRIVATE N_NIMCALL(NI, handleCR_pFv9ajpk2zhJHQ7x61CSE2A)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, handleLF_pFv9ajpk2zhJHQ7x61CSE2A_3)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(void, readKey_Gy7lmMjN9agR3rirbtYQPQg)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L, NimStringDesc** result);
N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem_Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, skipWhite_YPcsL8BagSeVY75LpgNAbg_2)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, readVerbatimSection_Dfh2HdkGfgVIwA9c10yqLNA)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, atEndMark_0r9afp4aAU6GY3wWxTLEDxw)(NCSTRING buf, NI pos);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
static N_INLINE(NI, find_4Jd7hK7uBJp9aFoP0efveMwsystem)(tyArray_popwAbp3uuRZiC4rZbYrXw a, NimStringDesc* item);
static N_INLINE(NI, find_9blnoqS2yGHVVVWM2SPa6Owsystem)(tyArray_IgBcQZSkSYWgypAN2G9aUCg a, NimStringDesc* item);
N_LIB_PRIVATE N_NIMCALL(void, closeBaseLexer_X9aea9bJavePT9cGIdd7JRH7Q_3)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, amp__ShdZ6VrAQkY0nWR9a39b9bGdQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef_AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(void, decRef_AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT_Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
extern TNimType NTI_jTxk7Uc2dfr9aTDL2dZhO9ag_;
extern tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_2, "\012/*\011", 4);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_3, "NIM_merge_PROC_LOCALS", 21);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_4, "NIM_merge_PROC_INIT", 19);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_5, "NIM_merge_PROC_BODY", 19);
NIM_CONST tyArray_IgBcQZSkSYWgypAN2G9aUCg CProcSectionNames_CFc65xAsTDyk1IJIOKvV1w = {((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_3),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_4),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_5)}
;
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_6, ":*/\012", 4);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_7, "/*\011NIM_merge_END:*/\012", 20);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_8, "NIM_merge_HEADERS", 17);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_9, "NIM_merge_FRAME_DEFINES", 23);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_10, "NIM_merge_FORWARD_TYPES", 23);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_11, "NIM_merge_TYPES", 15);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_12, "NIM_merge_SEQ_TYPES", 19);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_13, "NIM_merge_FIELD_INFO", 20);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_14, "NIM_merge_TYPE_INFO", 19);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_15, "NIM_merge_PROC_HEADERS", 22);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_16, "NIM_merge_VARS", 14);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_17, "NIM_merge_DATA", 14);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_18, "NIM_merge_PROCS", 15);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_19, "NIM_merge_INIT_PROC", 19);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_20, "NIM_merge_DATINIT_PROC", 22);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_21, "NIM_merge_TYPE_INIT1", 20);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_22, "NIM_merge_TYPE_INIT2", 20);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_23, "NIM_merge_TYPE_INIT3", 20);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_24, "NIM_merge_DEBUG_INIT", 20);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_25, "NIM_merge_DYNLIB_INIT", 21);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_26, "NIM_merge_DYNLIB_DEINIT", 23);
NIM_CONST tyArray_popwAbp3uuRZiC4rZbYrXw CFileSectionNames_Nw5Vq9cKTP76D9bnQrn5ErRw = {((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_8),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_9),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_10),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_11),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_12),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_13),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_14),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_15),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_16),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_17),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_18),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_19),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_20),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_21),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_22),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_23),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_24),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_25),
((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_26)}
;
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_27, "/*\011NIM_merge_INFO:\012", 19);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_28, "typeCache:{", 11);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_30, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/lib/pure/collections/tables.nim(669, 13) `l"
"en(t) ==\012    L` the length of the table changed while iterating "
"over it", 198);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_32, "declared:{", 10);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_38, "labels:", 7);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_39, " flags:", 7);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_40, "\012*/", 3);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_50, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ccgmerge.nim(176, 33) `false` ccgm"
"erge: \':\' expected", 145);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_52, "NIM_merge_INFO", 14);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_56, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ccgmerge.nim(159, 15) `false` ccgm"
"erge: expected: /*\011NIM_merge_END:*/", 162);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_58, "/*\011NIM_merge_END:*/", 19);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_66, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ccgmerge.nim(272, 19) `false` ccgm"
"erge: unknown section: ", 150);
STRING_LITERAL(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_67, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/ccgmerge.nim(274, 15) `false` ccgm"
"erge: \'*/\' expected", 146);

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genSectionStart_otaTb0ytiYCWgsXTIvijfg)(tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg ps, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!NIM_FALSE) goto LA3_;
		result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) NIM_NIL));
		add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_2));
		add_yG4AKzsBRS1W4MANDlXQeg(&result, CProcSectionNames_CFc65xAsTDyk1IJIOKvV1w[(ps)- 0]);
		add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_6));
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genSectionEnd_otaTb0ytiYCWgsXTIvijfg_2)(tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg ps, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!NIM_FALSE) goto LA3_;
		result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_7));
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genSectionStart_KYNwN8RXzjqIkzxFSwHsxw)(tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg fs, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!NIM_FALSE) goto LA3_;
		result = NIM_NIL;
		add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_2));
		add_yG4AKzsBRS1W4MANDlXQeg(&result, CFileSectionNames_Nw5Vq9cKTP76D9bnQrn5ErRw[(fs)- 0]);
		add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_6));
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genSectionEnd_KYNwN8RXzjqIkzxFSwHsxw_2)(tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg fs, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!NIM_FALSE) goto LA3_;
		result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_7));
	}
	LA3_: ;
	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_M04YC71iJg1N7gBF3HZTngsystem)(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_M04YC71iJg1N7gBF3HZTngsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}

static N_INLINE(void, nimSetMem_JE6t4x7Z3v2iVz27Nx0MRAmemory)(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_JE6t4x7Z3v2iVz27Nx0MRAmemory(p, ((int) 0), size);
}

static N_INLINE(NIM_BOOL, isFilled_5Qpmu5QqwDY0esVXn6wf7wtables)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	return result;
}

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

N_LIB_PRIVATE N_NIMCALL(void, writeTypeCache_zKjQfFdZiEDKmkABywc36A)(tyObject_Table_gZ3EYQdz9coOB7ngN9a1cqwA a, NimStringDesc** s) {
	NI i;
	i = ((NI) 0);
	{
		tyArray_qtqsWM5aXmcpMIVmvq3kAA id;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* value;
		NI L;
		nimZeroMem((void*)id, sizeof(tyArray_qtqsWM5aXmcpMIVmvq3kAA));
		value = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		L = len_2ofA2tlPvPQGtfqWkdG41g(a);
		{
			NI h;
			NI colontmp_;
			NI T3_;
			NI res;
			h = (NI)0;
			colontmp_ = (NI)0;
			T3_ = ((a.data ? a.data->Sup.len : 0)-1);
			colontmp_ = T3_;
			res = ((NI) 0);
			{
				while (1) {
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_31;
					if (!(res <= colontmp_)) goto LA5;
					h = res;
					{
						NIM_BOOL T8_;
						NimStringDesc* T16_;
						NimStringDesc* T17_;
						NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_29;
						if ((NU)(h) >= (NU)(a.data ? a.data->Sup.len : 0)) raiseIndexError2(h,(a.data ? a.data->Sup.len : 0)-1);
						T8_ = (NIM_BOOL)0;
						T8_ = isFilled_5Qpmu5QqwDY0esVXn6wf7wtables(a.data->data[h].Field0);
						if (!T8_) goto LA9_;
						if ((NU)(h) >= (NU)(a.data ? a.data->Sup.len : 0)) raiseIndexError2(h,(a.data ? a.data->Sup.len : 0)-1);
						nimCopyMem((void*)id, (NIM_CONST void*)a.data->data[h].Field1, sizeof(tyArray_qtqsWM5aXmcpMIVmvq3kAA));
						if ((NU)(h) >= (NU)(a.data ? a.data->Sup.len : 0)) raiseIndexError2(h,(a.data ? a.data->Sup.len : 0)-1);
						value = a.data->data[h].Field2;
						{
							if (!(i == ((NI) 10))) goto LA13_;
							i = ((NI) 0);
							unsureAsgnRef((void**) (&(*s)), addChar((*s), 10));
						}
						goto LA11_;
						LA13_: ;
						{
							unsureAsgnRef((void**) (&(*s)), addChar((*s), 32));
						}
						LA11_: ;
						T16_ = (NimStringDesc*)0;
						T16_ = dollar__0A9bslyIJ49bWrftLGh13rvg(id);
						encodeStr_Gl7oVckGOULa4RbIjSqJ6g(T16_, s);
						unsureAsgnRef((void**) (&(*s)), addChar((*s), 58));
						T17_ = (NimStringDesc*)0;
						T17_ = dollar__mZ66tEveFIQokq3arf8Klw(value);
						encodeStr_Gl7oVckGOULa4RbIjSqJ6g(T17_, s);
						TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_29 = addInt(i, ((NI) 1));
						i = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_29);
						{
							NI T20_;
							T20_ = (NI)0;
							T20_ = len_2ofA2tlPvPQGtfqWkdG41g(a);
							if (!!((T20_ == L))) goto LA21_;
							failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_30));
						}
						LA21_: ;
					}
					LA9_: ;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_31 = addInt(res, ((NI) 1));
					res = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_31);
				} LA5: ;
			}
		}
	}
	unsureAsgnRef((void**) (&(*s)), addChar((*s), 125));
}

N_LIB_PRIVATE N_NIMCALL(void, writeIntSet_xlTHixMZZ4hlXRO9bPP9aWcA)(tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* a, NimStringDesc** s) {
	NI i;
	i = ((NI) 0);
	{
		NI x;
		x = (NI)0;
		{
			if (!((*a).elems <= ((NI) 34))) goto LA4_;
			{
				NI i_2;
				NI colontmp_;
				NI i_3;
				i_2 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = (*a).elems;
				i_3 = ((NI) 0);
				{
					while (1) {
						NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_33;
						NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_34;
						if (!(i_3 < colontmp_)) goto LA8;
						i_2 = i_3;
						if ((NU)(i_2) > (NU)(33)) raiseIndexError2(i_2, 33);
						x = (*a).a[(i_2)- 0];
						{
							if (!(i == ((NI) 10))) goto LA11_;
							i = ((NI) 0);
							unsureAsgnRef((void**) (&(*s)), addChar((*s), 10));
						}
						goto LA9_;
						LA11_: ;
						{
							unsureAsgnRef((void**) (&(*s)), addChar((*s), 32));
						}
						LA9_: ;
						encodeVInt_lNzvVCaz9agOxH6nqWMG4Ww(x, s);
						TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_33 = addInt(i, ((NI) 1));
						i = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_33);
						TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_34 = addInt(i_3, ((NI) 1));
						i_3 = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_34);
					} LA8: ;
				}
			}
		}
		goto LA2_;
		LA4_: ;
		{
			tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ* r;
			r = (*a).head;
			{
				while (1) {
					NI i_4;
					if (!!((r == NIM_NIL))) goto LA16;
					i_4 = ((NI) 0);
					{
						while (1) {
							NU w;
							NI j;
							NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_37;
							if (!(i_4 <= ((NI) 15))) goto LA18;
							if ((NU)(i_4) > (NU)(15)) raiseIndexError2(i_4, 15);
							w = (*r).bits[(i_4)- 0];
							j = ((NI) 0);
							{
								while (1) {
									NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_36;
									if (!!((w == ((NI) 0)))) goto LA20;
									{
										NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_35;
										if (!!(((NU)(w & ((NI) 1)) == ((NI) 0)))) goto LA23_;
										x = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | (NI)((NU32)((NI)((NU32)(i_4) << (NU32)(((NI) 5)))) + (NU32)(j)));
										{
											if (!(i == ((NI) 10))) goto LA27_;
											i = ((NI) 0);
											unsureAsgnRef((void**) (&(*s)), addChar((*s), 10));
										}
										goto LA25_;
										LA27_: ;
										{
											unsureAsgnRef((void**) (&(*s)), addChar((*s), 32));
										}
										LA25_: ;
										encodeVInt_lNzvVCaz9agOxH6nqWMG4Ww(x, s);
										TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_35 = addInt(i, ((NI) 1));
										i = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_35);
									}
									LA23_: ;
									TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_36 = addInt(j, ((NI) 1));
									j = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_36);
									w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
								} LA20: ;
							}
							TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_37 = addInt(i_4, ((NI) 1));
							i_4 = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_37);
						} LA18: ;
					}
					r = (*r).next;
				} LA16: ;
			}
		}
		LA2_: ;
	}
	unsureAsgnRef((void**) (&(*s)), addChar((*s), 125));
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genMergeInfo_T0VHRXp9cMnXMqYxgPwvmXw)(tyObject_TCGen_9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* s;
{	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!NIM_TRUE) goto LA3_;
		result = NIM_NIL;
		goto BeforeRet_;
	}
	LA3_: ;
	s = copyString(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_27));
	s = resizeString(s, 11);
appendString(s, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_28));
	writeTypeCache_zKjQfFdZiEDKmkABywc36A((*m).typeCache, (&s));
	s = resizeString(s, 10);
appendString(s, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_32));
	writeIntSet_xlTHixMZZ4hlXRO9bPP9aWcA((&(*m).declaredThings), (&s));
	s = resizeString(s, 7);
appendString(s, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_38));
	encodeVInt_lNzvVCaz9agOxH6nqWMG4Ww(((NI) ((*m).labels)), (&s));
	s = resizeString(s, 7);
appendString(s, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_39));
	encodeVInt_lNzvVCaz9agOxH6nqWMG4Ww(((NI) ((*m).flags)), (&s));
	s = resizeString(s, 3);
appendString(s, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_40));
	result = rope_yShmEg9cffWxI7s5XzEKBow(s);
	}BeforeRet_: ;
	return result;
}

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

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

static N_INLINE(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA**, s_kOyJGmZMM2tMgCKSrvUE3gcgendata)(tyObject_TCProc_g7nhmFb7KltrkyRKuP8k2Q* p, tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg s) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** result;
	NI T1_;
	NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_42;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA**)0;
	T1_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_42 = subInt(T1_, ((NI) 1));
	if ((NU)((NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_42)) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2((NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_42),((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
	result = &(*p).blocks->data[(NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_42)].sections[(s)- 0];
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, mergeRequired_X8MaNNxDVB7fxLVXrvJcFw)(tyObject_TCGen_9cG6VsX22pOhho6kxyhFVow* m) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg i;
		NI res;
		i = (tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg)0;
		res = ((NI) 1);
		{
			while (1) {
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_41;
				if (!(res <= ((NI) 11))) goto LA3;
				i = ((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg)chckRange(res, ((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg) 0), ((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg) 19)));
				{
					if (!!(((*m).s[(i)- 0] == NIM_NIL))) goto LA6_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				LA6_: ;
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_41 = addInt(res, ((NI) 1));
				res = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_41);
			} LA3: ;
		}
	}
	{
		tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg i_2;
		NI res_2;
		i_2 = (tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg)0;
		res_2 = ((NI) 0);
		{
			while (1) {
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_43;
				if (!(res_2 <= ((NI) 2))) goto LA10;
				i_2 = ((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg)chckRange(res_2, ((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg) 0), ((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg) 2)));
				{
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** T13_;
					T13_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA**)0;
					T13_ = s_kOyJGmZMM2tMgCKSrvUE3gcgendata((*m).initProc, i_2);
					if (!!(((*T13_) == NIM_NIL))) goto LA14_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				LA14_: ;
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_43 = addInt(res_2, ((NI) 1));
				res_2 = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_43);
			} LA10: ;
		}
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, skipUntilCmd_YPcsL8BagSeVY75LpgNAbg)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L) {
	NI pos;
	pos = (*L).bufpos;
	{
		while (1) {
			if ((NU)(pos) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2(pos,((*L).buf ? (*L).buf->Sup.len : 0)-1);
			switch (((NU8)((*L).buf->data[pos]))) {
			case 13:
			{
				pos = handleCR_pFv9ajpk2zhJHQ7x61CSE2A(L, pos);
			}
			break;
			case 10:
			{
				pos = handleLF_pFv9ajpk2zhJHQ7x61CSE2A_3(L, pos);
			}
			break;
			case 0:
			{
				goto LA1;
			}
			break;
			case 47:
			{
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_47;
				{
					NIM_BOOL T9_;
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_44;
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_45;
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_46;
					T9_ = (NIM_BOOL)0;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_44 = addInt(pos, ((NI) 1));
					if ((NU)((NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_44)) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2((NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_44),((*L).buf ? (*L).buf->Sup.len : 0)-1);
					T9_ = ((NU8)((*L).buf->data[(NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_44)]) == (NU8)(42));
					if (!(T9_)) goto LA10_;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_45 = addInt(pos, ((NI) 2));
					if ((NU)((NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_45)) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2((NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_45),((*L).buf ? (*L).buf->Sup.len : 0)-1);
					T9_ = ((NU8)((*L).buf->data[(NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_45)]) == (NU8)(9));
					LA10_: ;
					if (!T9_) goto LA11_;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_46 = addInt(pos, ((NI) 3));
					pos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_46);
					goto LA1;
				}
				LA11_: ;
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_47 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_47);
			}
			break;
			default:
			{
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_48;
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_48 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_48);
			}
			break;
			}
		}
	} LA1: ;
	(*L).bufpos = pos;
}

N_LIB_PRIVATE N_NIMCALL(void, readKey_Gy7lmMjN9agR3rirbtYQPQg)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L, NimStringDesc** result) {
	NI pos;
	NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_51;
	pos = (*L).bufpos;
	unsureAsgnRef((void**) (&(*result)), setLengthStr((*result), ((NI) 0)));
	{
		while (1) {
			NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_49;
			if ((NU)(pos) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2(pos,((*L).buf ? (*L).buf->Sup.len : 0)-1);
			if (!(((NU8)((*L).buf->data[pos])) >= ((NU8)(97)) && ((NU8)((*L).buf->data[pos])) <= ((NU8)(122)) || ((NU8)((*L).buf->data[pos])) >= ((NU8)(65)) && ((NU8)((*L).buf->data[pos])) <= ((NU8)(90)) || ((NU8)((*L).buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*L).buf->data[pos])) <= ((NU8)(57)) || ((NU8)((*L).buf->data[pos])) == ((NU8)(95)))) goto LA2;
			if ((NU)(pos) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2(pos,((*L).buf ? (*L).buf->Sup.len : 0)-1);
			unsureAsgnRef((void**) (&(*result)), addChar((*result), (*L).buf->data[pos]));
			TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_49 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_49);
		} LA2: ;
	}
	{
		if ((NU)(pos) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2(pos,((*L).buf ? (*L).buf->Sup.len : 0)-1);
		if (!!(((NU8)((*L).buf->data[pos]) == (NU8)(58)))) goto LA5_;
		{
			if (!NIM_TRUE) goto LA9_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_50));
		}
		LA9_: ;
	}
	LA5_: ;
	TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_51 = addInt(pos, ((NI) 1));
	(*L).bufpos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_51);
}

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

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

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

N_LIB_PRIVATE N_NIMCALL(void, skipWhite_YPcsL8BagSeVY75LpgNAbg_2)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L) {
	NI pos;
	pos = (*L).bufpos;
	{
		while (1) {
			if ((NU)(pos) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2(pos,((*L).buf ? (*L).buf->Sup.len : 0)-1);
			switch (((NU8)((*L).buf->data[pos]))) {
			case 13:
			{
				pos = handleCR_pFv9ajpk2zhJHQ7x61CSE2A(L, pos);
			}
			break;
			case 10:
			{
				pos = handleLF_pFv9ajpk2zhJHQ7x61CSE2A_3(L, pos);
			}
			break;
			case 32:
			{
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_55;
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_55 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_55);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	(*L).bufpos = pos;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, atEndMark_0r9afp4aAU6GY3wWxTLEDxw)(NCSTRING buf, NI pos) {
	NIM_BOOL result;
	NI s;
	result = (NIM_BOOL)0;
	s = ((NI) 0);
	{
		while (1) {
			NIM_BOOL T3_;
			NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_57;
			NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_59;
			T3_ = (NIM_BOOL)0;
			T3_ = (s < ((NI) 19));
			if (!(T3_)) goto LA4_;
			TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_57 = addInt(pos, s);
			if ((NU)(s) >= (NU)(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_58) ? ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_58)->Sup.len : 0)) raiseIndexError2(s,(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_58) ? ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_58)->Sup.len : 0)-1);
			T3_ = ((NU8)(buf[(NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_57)]) == (NU8)(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_58)->data[s]));
			LA4_: ;
			if (!T3_) goto LA2;
			TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_59 = addInt(s, ((NI) 1));
			s = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_59);
		} LA2: ;
	}
	result = (s == ((NI) 19));
	return result;
}

static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == NIM_NIL);
		if (T3_) goto LA4_;
		T3_ = ((*s).Sup.len == ((NI) 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = "";
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NCSTRING) ((*s).data));
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, readVerbatimSection_Dfh2HdkGfgVIwA9c10yqLNA)(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag* L) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	NI pos;
	NimStringDesc* r;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	pos = (*L).bufpos;
	r = rawNewString(((NI) 30000));
	{
		while (1) {
			if ((NU)(pos) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2(pos,((*L).buf ? (*L).buf->Sup.len : 0)-1);
			switch (((NU8)((*L).buf->data[pos]))) {
			case 13:
			{
				pos = handleCR_pFv9ajpk2zhJHQ7x61CSE2A(L, pos);
				r = addChar(r, 10);
			}
			break;
			case 10:
			{
				pos = handleLF_pFv9ajpk2zhJHQ7x61CSE2A_3(L, pos);
				r = addChar(r, 10);
			}
			break;
			case 0:
			{
				{
					if (!NIM_TRUE) goto LA8_;
					failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_56));
				}
				LA8_: ;
				goto LA1;
			}
			break;
			default:
			{
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_61;
				{
					NIM_BOOL T13_;
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_60;
					T13_ = (NIM_BOOL)0;
					T13_ = atEndMark_0r9afp4aAU6GY3wWxTLEDxw(nimToCStringConv((*L).buf), pos);
					if (!T13_) goto LA14_;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_60 = addInt(pos, ((NI) 19));
					pos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_60);
					goto LA1;
				}
				LA14_: ;
				if ((NU)(pos) >= (NU)((*L).buf ? (*L).buf->Sup.len : 0)) raiseIndexError2(pos,((*L).buf ? (*L).buf->Sup.len : 0)-1);
				r = addChar(r, (*L).buf->data[pos]);
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_61 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_61);
			}
			break;
			}
		}
	} LA1: ;
	(*L).bufpos = pos;
	result = rope_yShmEg9cffWxI7s5XzEKBow(r);
	return result;
}

static N_INLINE(NI, find_4Jd7hK7uBJp9aFoP0efveMwsystem)(tyArray_popwAbp3uuRZiC4rZbYrXw a, NimStringDesc* item) {
	NI result;
{	result = (NI)0;
	{
		NimStringDesc* i;
		tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg i_2;
		i = (NimStringDesc*)0;
		i_2 = ((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg) 0);
		{
			if (!(i_2 <= ((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg) 19))) goto LA4_;
			{
				while (1) {
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_62;
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_63;
					i = a[(i_2)- 0];
					{
						if (!eqStrings(i, item)) goto LA10_;
						goto BeforeRet_;
					}
					LA10_: ;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_62 = addInt(result, ((NI) 1));
					result = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_62);
					{
						if (!(((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg) 19) <= i_2)) goto LA14_;
						goto LA6;
					}
					LA14_: ;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_63 = addInt(i_2, ((NI) 1));
					if (TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_63 < 0 || TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_63 > 19) raiseOverflow();
					i_2 = (tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_63);
				}
			} LA6: ;
		}
		LA4_: ;
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}

static N_INLINE(NI, find_9blnoqS2yGHVVVWM2SPa6Owsystem)(tyArray_IgBcQZSkSYWgypAN2G9aUCg a, NimStringDesc* item) {
	NI result;
{	result = (NI)0;
	{
		NimStringDesc* i;
		tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg i_2;
		i = (NimStringDesc*)0;
		i_2 = ((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg) 0);
		{
			if (!(i_2 <= ((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg) 2))) goto LA4_;
			{
				while (1) {
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_64;
					NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_65;
					i = a[(i_2)- 0];
					{
						if (!eqStrings(i, item)) goto LA10_;
						goto BeforeRet_;
					}
					LA10_: ;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_64 = addInt(result, ((NI) 1));
					result = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_64);
					{
						if (!(((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg) 2) <= i_2)) goto LA14_;
						goto LA6;
					}
					LA14_: ;
					TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_65 = addInt(i_2, ((NI) 1));
					if (TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_65 < 0 || TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_65 > 2) raiseOverflow();
					i_2 = (tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_65);
				}
			} LA6: ;
		}
		LA4_: ;
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, readMergeSections_SkJF1FEO0K3zrbuQ9bO4UlQ)(NimStringDesc* cfilename, tyObject_TMergeSections_crELyef4WlnFCK8sExutkA* m) {
	tyObject_TLLStream_a5oZYQ9aTktYME2449ayEi6g* s;
	tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag L;
	NimStringDesc* k;
{	s = llStreamOpen_knWUQJsEzojha6AJCi6LcA(cfilename, ((tyEnum_FileMode_ZJfK20XeZ9bv2j1pZjw9aswg) 0));
	{
		if (!(s == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&L), sizeof(tyObject_TBaseLexer_jTxk7Uc2dfr9aTDL2dZhO9ag));
	L.Sup.m_type = (&NTI_jTxk7Uc2dfr9aTDL2dZhO9ag_);
	openBaseLexer_V9avLgM3wlB5dKp8bWFOIqg((&L), s, ((NI) 8192));
	k = rawNewString(((NI) 23));
	{
		while (1) {
			skipUntilCmd_YPcsL8BagSeVY75LpgNAbg((&L));
			{
				if ((NU)(L.bufpos) >= (NU)(L.buf ? L.buf->Sup.len : 0)) raiseIndexError2(L.bufpos,(L.buf ? L.buf->Sup.len : 0)-1);
				if (!((NU8)(L.buf->data[L.bufpos]) == (NU8)(0))) goto LA9_;
				goto LA5;
			}
			LA9_: ;
			readKey_Gy7lmMjN9agR3rirbtYQPQg((&L), (&k));
			{
				if (!eqStrings(k, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_52))) goto LA13_;
			}
			goto LA11_;
			LA13_: ;
			{
				NIM_BOOL T16_;
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_53;
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_54;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* verbatim;
				NI sectionA;
				T16_ = (NIM_BOOL)0;
				if ((NU)(L.bufpos) >= (NU)(L.buf ? L.buf->Sup.len : 0)) raiseIndexError2(L.bufpos,(L.buf ? L.buf->Sup.len : 0)-1);
				T16_ = ((NU8)(L.buf->data[L.bufpos]) == (NU8)(42));
				if (!(T16_)) goto LA17_;
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_53 = addInt(L.bufpos, ((NI) 1));
				if ((NU)((NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_53)) >= (NU)(L.buf ? L.buf->Sup.len : 0)) raiseIndexError2((NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_53),(L.buf ? L.buf->Sup.len : 0)-1);
				T16_ = ((NU8)(L.buf->data[(NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_53)]) == (NU8)(47));
				LA17_: ;
				if (!T16_) goto LA18_;
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_54 = addInt(L.bufpos, ((NI) 2));
				L.bufpos = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_54);
				skipWhite_YPcsL8BagSeVY75LpgNAbg_2((&L));
				verbatim = readVerbatimSection_Dfh2HdkGfgVIwA9c10yqLNA((&L));
				skipWhite_YPcsL8BagSeVY75LpgNAbg_2((&L));
				sectionA = find_4Jd7hK7uBJp9aFoP0efveMwsystem(CFileSectionNames_Nw5Vq9cKTP76D9bnQrn5ErRw, k);
				{
					NIM_BOOL T22_;
					T22_ = (NIM_BOOL)0;
					T22_ = (((NI) 0) < sectionA);
					if (!(T22_)) goto LA23_;
					T22_ = (sectionA <= ((NI) 19));
					LA23_: ;
					if (!T22_) goto LA24_;
					if ((NU)(sectionA) > (NU)(19)) raiseIndexError2(sectionA, 19);
					unsureAsgnRef((void**) (&(*m).f[(sectionA)- 0]), verbatim);
				}
				goto LA20_;
				LA24_: ;
				{
					NI sectionB;
					sectionB = find_9blnoqS2yGHVVVWM2SPa6Owsystem(CProcSectionNames_CFc65xAsTDyk1IJIOKvV1w, k);
					{
						NIM_BOOL T29_;
						T29_ = (NIM_BOOL)0;
						T29_ = (((NI) 0) <= sectionB);
						if (!(T29_)) goto LA30_;
						T29_ = (sectionB <= ((NI) 2));
						LA30_: ;
						if (!T29_) goto LA31_;
						if ((NU)(sectionB) > (NU)(2)) raiseIndexError2(sectionB, 2);
						unsureAsgnRef((void**) (&(*m).p[(sectionB)- 0]), verbatim);
					}
					goto LA27_;
					LA31_: ;
					{
						{
							NimStringDesc* T38_;
							if (!NIM_TRUE) goto LA36_;
							T38_ = (NimStringDesc*)0;
							T38_ = rawNewString((k ? k->Sup.len : 0) + 150);
appendString(T38_, ((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_66));
appendString(T38_, k);
							failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(T38_);
						}
						LA36_: ;
					}
					LA27_: ;
				}
				LA20_: ;
			}
			goto LA11_;
			LA18_: ;
			{
				{
					if (!NIM_TRUE) goto LA42_;
					failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_67));
				}
				LA42_: ;
			}
			LA11_: ;
		}
	} LA5: ;
	closeBaseLexer_X9aea9bJavePT9cGIdd7JRH7Q_3((&L));
	}BeforeRet_: ;
}

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

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

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

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

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

N_LIB_PRIVATE N_NIMCALL(void, mergeFiles_l8sH9bHsXY4q3tbS3srelEw)(NimStringDesc* cfilename, tyObject_TCGen_9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_TMergeSections_crELyef4WlnFCK8sExutkA old;
	nimZeroMem((void*)(&old), sizeof(tyObject_TMergeSections_crELyef4WlnFCK8sExutkA));
	readMergeSections_SkJF1FEO0K3zrbuQ9bO4UlQ(cfilename, (&old));
	{
		tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg i;
		NI res;
		i = (tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg)0;
		res = ((NI) 0);
		{
			while (1) {
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_68;
				if (!(res <= ((NI) 19))) goto LA3;
				i = ((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg)chckRange(res, ((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg) 0), ((tyEnum_TCFileSection_NR9cMDOmG9cHJhM0tCKvXNzg) 19)));
				asgnRef((void**) (&(*m).s[(i)- 0]), amp__ShdZ6VrAQkY0nWR9a39b9bGdQ(old.f[(i)- 0], (*m).s[(i)- 0]));
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_68 = addInt(res, ((NI) 1));
				res = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_68);
			} LA3: ;
		}
	}
	{
		tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg i_2;
		NI res_2;
		i_2 = (tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg)0;
		res_2 = ((NI) 0);
		{
			while (1) {
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** T7_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** T8_;
				NI TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_69;
				if (!(res_2 <= ((NI) 2))) goto LA6;
				i_2 = ((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg)chckRange(res_2, ((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg) 0), ((tyEnum_TCProcSection_0r9aIOfveOcxZqJ7OwbI2gg) 2)));
				T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA**)0;
				T7_ = s_kOyJGmZMM2tMgCKSrvUE3gcgendata((*m).initProc, i_2);
				T8_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA**)0;
				T8_ = s_kOyJGmZMM2tMgCKSrvUE3gcgendata((*m).initProc, i_2);
				unsureAsgnRef((void**) (&(*T7_)), amp__ShdZ6VrAQkY0nWR9a39b9bGdQ(old.p[(i_2)- 0], (*T8_)));
				TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_69 = addInt(res_2, ((NI) 1));
				res_2 = (NI)(TM_2Rn8oKP4r6cTXdnwFQ9cUjQ_69);
			} LA6: ;
		}
	}
}
