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

#include "nimbase.h"
#include <string.h>
#undef linux
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw;
typedef struct Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg;
typedef struct TY_0W45b4tBLx0JWnu0NjAmVQ TY_0W45b4tBLx0JWnu0NjAmVQ;
typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct Trendertok_FnEE3o2nWtqdjoC0wa2wgA Trendertok_FnEE3o2nWtqdjoC0wa2wgA;
typedef struct TY_O2u2Fk7tlGg9b7lAVNkV3hw TY_O2u2Fk7tlGg9b7lAVNkV3hw;
typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw;
typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw;
typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw;
typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g;
typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w;
typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA;
typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg;
typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg;
typedef struct TNimObject TNimObject;
typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA;
typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA;
typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw;
typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ;
typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA;
typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA;
typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w;
typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ;
typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q;
typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set;
struct  Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg  {
NI indent;
NI linelen;
NI pos;
NI idx;
TY_0W45b4tBLx0JWnu0NjAmVQ* tokens;
NimStringDesc* buf;
NI pendingnl;
NI pendingwhitespace;
TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* comstack;
Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set flags;
NIM_BOOL checkanon;
NI inpragma;
};
typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set;
typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0);
typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0);
struct  TNimType  {
NI size;
Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind;
Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY_ojoeKfW4VYIm36I9cpDTQIg marker;
TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ;
struct  TNimNode  {
Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NU8 Ttoktype_vw8YkgaVtNadqP8v5OpXKA;
struct  Trendertok_FnEE3o2nWtqdjoC0wa2wgA  {
Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind;
NI16 length;
};
typedef NU8 Tsubflag_HgctW1zPuXVJBXUriqTnfQ_Set;
struct TY_O2u2Fk7tlGg9b7lAVNkV3hw {
NI Field0;
Tsubflag_HgctW1zPuXVJBXUriqTnfQ_Set Field1;
};
struct  Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw  {
NI16 line;
NI16 col;
NI32 fileindex;
};
typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set;
typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw;
struct  Tnode_bROa11lyF5vxEN9aYNbHmhw  {
Ttype_LTUWCZolpovw9cWE3JBWSUw* typ;
Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info;
Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set flags;
Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intval;
} S1;
struct {NF floatval;
} S2;
struct {NimStringDesc* strval;
} S3;
struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
} S4;
struct {Tident_4umxGerWTHGPwUms7Yqu3g* ident;
} S5;
struct {TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} S6;
} kindU;
NimStringDesc* comment;
};
struct  Cell_1zcF9cV8XIAtbN8h5HRUB8g  {
NI refcount;
TNimType* typ;
};
struct  Cellseq_Axo1XVm9aaQueTOldv8le5w  {
NI len;
NI cap;
Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256];
struct  Intset_EZObFrE3NC9bIb3YMkY9crZA  {
TY_lh2A89ahMmYg9bCmpVaplLbA data;
};
struct  Memregion_x81NhDv59b8ercDZ9bi85jyg  {
NI minlargeobj;
NI maxlargeobj;
TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks;
Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currmem;
NI maxmem;
NI freemem;
NI lastsize;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist;
Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes;
NIM_BOOL locked;
NIM_BOOL blockchunksizeincrease;
NI nextchunksize;
};
struct  Gcstat_0RwLoVBHZPfUAcLczmfQAg  {
NI stackscans;
NI cyclecollections;
NI maxthreshold;
NI maxstacksize;
NI maxstackcells;
NI cycletablesize;
NI64 maxpause;
};
struct  Cellset_jG87P0AI9aZtss9ccTYBIISQ  {
NI counter;
NI max;
Pagedesc_fublkgIY4LG3mT51LU2WHg* head;
Pagedesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct  Gcheap_1TRH1TZMaVZTnLNcIHuNFQ  {
Gcstack_7fytPA5bBsob6See21YMRA* stack;
void* stackbottom;
NI cyclethreshold;
Cellseq_Axo1XVm9aaQueTOldv8le5w zct;
Cellseq_Axo1XVm9aaQueTOldv8le5w decstack;
Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack;
NI recgclock;
Memregion_x81NhDv59b8ercDZ9bi85jyg region;
Gcstat_0RwLoVBHZPfUAcLczmfQAg stat;
Cellset_jG87P0AI9aZtss9ccTYBIISQ marked;
Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  Tidobj_raN9cHVgzmvaXisezY9aGg9cg  {
  TNimObject Sup;
NI id;
};
struct  Tident_4umxGerWTHGPwUms7Yqu3g  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
NimStringDesc* s;
Tident_4umxGerWTHGPwUms7Yqu3g* next;
NI h;
};
typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw;
struct  Tstrtable_f07aOS3dr28kGa5wcE29aFA  {
NI counter;
TY_sksVpmPRIkNR9axiwtD1Guw* data;
};
typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg;
typedef NU32 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set;
typedef NU32 Toption_WspMeQySXNP2XoTWR5MTgg_Set;
typedef NU8 Tlockind_O7PRFZKuiBBWbku09cayVBg;
typedef NU8 Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set;
struct  Tloc_EtHNvCB0bgfu9bFjzx9cb6aA  {
Tlockind_O7PRFZKuiBBWbku09cayVBg k;
Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw s;
Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set flags;
Ttype_LTUWCZolpovw9cWE3JBWSUw* t;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* r;
};
struct  Tsym_AXG7xcvKqaxY6koRX1xkCw  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
Tsymkind_cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {TY_zuqP4Riz26Oi5fWgPYVEgA* typeinstcache;
} S1;
struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* procinstcache;
Tsym_AXG7xcvKqaxY6koRX1xkCw* gcunsafetyreason;
} S2;
struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* usedgenerics;
Tstrtable_f07aOS3dr28kGa5wcE29aFA tab;
} S3;
struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* guard;
NI bitsize;
} S4;
} kindU;
Tmagic_shZhZOdbVC5nnFvcXQAImg magic;
Ttype_LTUWCZolpovw9cWE3JBWSUw* typ;
Tident_4umxGerWTHGPwUms7Yqu3g* name;
Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info;
Tsym_AXG7xcvKqaxY6koRX1xkCw* owner;
Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set flags;
Tnode_bROa11lyF5vxEN9aYNbHmhw* ast;
Toption_WspMeQySXNP2XoTWR5MTgg_Set options;
NI position;
NI offset;
Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
Tlib_4f9aBgmqEuj7uWJdBBGcRgA* annex;
Tnode_bROa11lyF5vxEN9aYNbHmhw* constraint;
};
typedef NU8 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU32 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set;
struct  Ttype_LTUWCZolpovw9cWE3JBWSUw  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind;
Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA callconv;
Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set flags;
TY_zuqP4Riz26Oi5fWgPYVEgA* sons;
Tnode_bROa11lyF5vxEN9aYNbHmhw* n;
Tsym_AXG7xcvKqaxY6koRX1xkCw* owner;
Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
Tsym_AXG7xcvKqaxY6koRX1xkCw* destructor;
Tsym_AXG7xcvKqaxY6koRX1xkCw* deepcopy;
Tsym_AXG7xcvKqaxY6koRX1xkCw* assignment;
TY_iGkpo9aKQdr3NWelKC4cnJA* methods;
NI64 size;
NI16 align;
NI16 locklevel;
Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
Ttype_LTUWCZolpovw9cWE3JBWSUw* typeinst;
};
typedef NU8 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 Trenderflag_wrPgUo1ExBlHvFnXN2nSHw;
typedef NimStringDesc* TY_rhDLCy9aNYBAIsWVh16bA0A[119];
typedef NU8 Tsubflag_HgctW1zPuXVJBXUriqTnfQ;
struct  Gcstack_7fytPA5bBsob6See21YMRA  {
Gcstack_7fytPA5bBsob6See21YMRA* prev;
Gcstack_7fytPA5bBsob6See21YMRA* next;
void* starts;
void* pos;
NI maxstacksize;
};
struct  Basechunk_Sdq7WpT6qAH858F5ZEdG3w  {
NI prevsize;
NI size;
NIM_BOOL used;
};
struct  Smallchunk_tXn60W2f8h3jgAYdEmy5NQ  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev;
Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist;
NI free;
NI acc;
NF data;
};
struct  Llchunk_XsENErzHIZV9bhvyJx56wGw  {
NI size;
NI acc;
Llchunk_XsENErzHIZV9bhvyJx56wGw* next;
};
struct  Bigchunk_Rv9c70Uhp2TytkX7eH78qEg  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev;
NI align;
NF data;
};
typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16];
struct  Trunk_W0r8S0Y3UGke6T9bIUWnnuw  {
Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2];
struct  Avlnode_IaqjtwKhxLEpvDS9bct9blEw  {
TY_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperbound;
NI level;
};
struct  Pagedesc_fublkgIY4LG3mT51LU2WHg  {
Pagedesc_fublkgIY4LG3mT51LU2WHg* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
struct  Ropeobj_HF4qJnb6xiOddgPmsxodtQ  {
  TNimObject Sup;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* left;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* right;
NI length;
NimStringDesc* data;
};
struct  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q  {
  TNimObject Sup;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next;
};
typedef NU8 Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ;
struct  Tlib_4f9aBgmqEuj7uWJdBBGcRgA  {
  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup;
Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind;
NIM_BOOL generated;
NIM_BOOL isoverriden;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* name;
Tnode_bROa11lyF5vxEN9aYNbHmhw* path;
};
struct TY_a09bGTAl9ceOKTAytYdkbyKg {
NI Field0;
Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1;
};
struct  Freecell_u6M5LHprqzkn9axr04yg9bGQ  {
Freecell_u6M5LHprqzkn9axr04yg9bGQ* next;
NI zerofield;
};
struct  Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA  {
Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes;
NI compilesid;
};
struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct TY_0W45b4tBLx0JWnu0NjAmVQ {
  TGenericSeq Sup;
  Trendertok_FnEE3o2nWtqdjoC0wa2wgA data[SEQ_DECL_SIZE];
};
struct TY_zuqP4Riz26Oi5fWgPYVEgA {
  TGenericSeq Sup;
  Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE];
};
struct TY_DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct TY_sksVpmPRIkNR9axiwtD1Guw {
  TGenericSeq Sup;
  Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE];
};
struct TY_iGkpo9aKQdr3NWelKC4cnJA {
  TGenericSeq Sup;
  TY_a09bGTAl9ceOKTAytYdkbyKg data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, initsrcgen_UcbeGsv7eyAcKOcLzd9bWpQ)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0);
N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0);
N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0);
static N_NIMCALL(void, Marker_TY_0W45b4tBLx0JWnu0NjAmVQ)(void* p, NI op);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0);
N_NIMCALL(void, gsub_5eccg0mxlFLgBiNmpRHFig)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, initcontext_4akYBebEXcr7R9bZNFpZz9cQ)(TY_O2u2Fk7tlGg9b7lAVNkV3hw* c0);
N_NIMCALL(void, gsub_NmOOKTnnEkQl0J72fGke1g)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c_D9a31SxPtMnbZg9a0A7soLKw);
N_NIMCALL(void, pushcom_uyjIzGcAeLcpeStEA2Fi7w)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq0, NI elemsize0, NI newlen0);
static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0);
static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0);
static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NIMCALL(void, putrawstr_UXLD5yop8GFc9cym9cwb1qUg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* s0);
N_NIMCALL(void, put_UXLD5yop8GFc9cym9cwb1qUg_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* s0);
N_NIMCALL(void, addpendingnl_0GppufTGx639b3oTb49aPo9aw)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0);
N_NIMCALL(void, addtok_UXLD5yop8GFc9cym9cwb1qUg_3)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* s0);
static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0);
N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c0, NI count0);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
N_NIMCALL(void, optnl_Bn25Q9bSUPbqQaYAwa1JWQw)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, NI indent0);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0);
N_NIMCALL(NimStringDesc*, atom_qX5C9b0n9bOP7jk69amC8dA7A)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NimStringDesc*, makenimstring_QsmXqaQrEVrH1QuT9c2dCfQ)(NimStringDesc* s0);
N_NIMCALL(NimStringDesc*, tonimchar_K9aX2VS9baFM8Cah9aUEuGFzw)(NIM_CHAR c0);
N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x0, NI len0);
static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0);
N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s0, NimStringDesc* sub0, NimStringDesc* by0);
N_NIMCALL(NimStringDesc*, litaux_8Maf2mu5vCPmUhMRCxgoNw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI64 x0, NI size0);
N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skip_rLkYrsHnm3W9aRaLf4wB80Q)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0);
N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, lastson_E41DMKHtT9c6sAMyyvhmSIw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0);
static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NimStringDesc*, nsuToBin)(NI64 x0, NI len0);
N_NIMCALL(NimStringDesc*, nsuToOct)(NI64 x0, NI len0);
N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x0);
N_NIMCALL(NimStringDesc*, ulitaux_8Maf2mu5vCPmUhMRCxgoNw_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI64 x0, NI size0);
N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f0);
N_NIMCALL(void, internalerror_5XY9cUy7hZmUusM38U9cYYdw)(NimStringDesc* errmsg0);
N_NIMCALL(NimStringDesc*, reprEnum)(NI e0, TNimType* typ0);
N_NIMCALL(void, gident_5eccg0mxlFLgBiNmpRHFig_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0);
N_NIMCALL(NIM_BOOL, isbracket_xSH6mY9c8k9acC3PiiaOK9bIQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0);
static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0);
N_NIMCALL(void, gsub_HNcJVTbsLN2PfMmnG6BxYw)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0);
N_NIMCALL(void, gcomma_cePKc9cEQau31w9auAvt0icA)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0);
N_NIMCALL(void, gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI ind0, NI start0, NI theend0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA separator0);
N_NIMCALL(NI, sonslen_qPWPHw7WgJeEVYUdcaRIig)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NI, lsub_uq0y41pTwWaRhY4eC8c9c7g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NIM_BOOL, containsnl_gYVkPilRit8xMff9aY8MMBQ)(NimStringDesc* s0);
N_NIMCALL(NI, lcomma_Sf28jQNyPpkrdqpUVRQatA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0);
N_NIMCALL(NI, lsons_Sf28jQNyPpkrdqpUVRQatA_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lastson_esDJA7239bJDiq4UrX9aHCjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NIM_BOOL, fits_okHoXraV67vknpTMz9aJPww)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, NI x0);
N_NIMCALL(void, putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* s0);
N_NIMCALL(NIM_BOOL, hascom_xSH6mY9c8k9acC3PiiaOK9bIQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gcoms_0GppufTGx639b3oTb49aPo9aw_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0);
N_NIMCALL(void, gcom_uyjIzGcAeLcpeStEA2Fi7w_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NIM_BOOL, shouldrendercomment_ssKUtjG3whzEJjtvq9cRKpA)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NI, maxlinelength_wFXaHQwbFteOyQgZ9cTGjlg)(NimStringDesc* s0);
N_NIMCALL(void, putcomment_xdVvQ0Olk83KTw7MCS2w5g)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, NimStringDesc* s0);
N_NIMCALL(void, optnl_0GppufTGx639b3oTb49aPo9aw_3)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0);
N_NIMCALL(void, popallcoms_0GppufTGx639b3oTb49aPo9aw_4)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0);
N_NIMCALL(void, gcomma_WBsq6aIWI0YbAY07tgvprg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c0, NI start0, NI theend0);
N_NIMCALL(void, doparamsaux_KLxu6hJo9aBH9aQCSRS509cEQ)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* params0);
N_NIMCALL(void, gsemicolon_cePKc9cEQau31w9auAvt0icA_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0);
N_NIMCALL(void, gsons_WBsq6aIWI0YbAY07tgvprg_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c0, NI start0, NI theend0);
N_NIMCALL(void, indentnl_0GppufTGx639b3oTb49aPo9aw_5)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0);
N_NIMCALL(void, dedent_0GppufTGx639b3oTb49aPo9aw_6)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0);
N_NIMCALL(void, putnl_0GppufTGx639b3oTb49aPo9aw_7)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0);
N_NIMCALL(void, putnl_Bn25Q9bSUPbqQaYAwa1JWQw_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, NI indent0);
N_NIMCALL(void, gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c0, NIM_BOOL doindent0);
N_NIMCALL(void, gif_5eccg0mxlFLgBiNmpRHFig_3)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NIM_BOOL, longmode_q6CgeJT80xvLBR0NBouTDw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0);
N_NIMCALL(void, gwhile_5eccg0mxlFLgBiNmpRHFig_4)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gpragmablock_5eccg0mxlFLgBiNmpRHFig_5)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gcase_5eccg0mxlFLgBiNmpRHFig_6)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gtry_5eccg0mxlFLgBiNmpRHFig_7)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gfor_5eccg0mxlFLgBiNmpRHFig_8)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gblock_5eccg0mxlFLgBiNmpRHFig_9)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gstaticstmt_5eccg0mxlFLgBiNmpRHFig_10)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gasm_5eccg0mxlFLgBiNmpRHFig_11)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gproc_5eccg0mxlFLgBiNmpRHFig_12)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NimStringDesc*, renderdefinitionname_htfLIUnR3bbLycMPnQGh9aA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL noquotes0);
N_NIMCALL(NIM_BOOL, iskeyword_J8SfzIplItYlZSj2oKWDnA)(Tident_4umxGerWTHGPwUms7Yqu3g* i0);
N_NIMCALL(void, gpattern_5eccg0mxlFLgBiNmpRHFig_13)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, gsection_Dm6FWKFeMufDKYra1XJxVg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* k0);
N_NIMCALL(void, gtypeclassty_5eccg0mxlFLgBiNmpRHFig_14)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, internalerror_MXmtqrCmYwtOPkDCFgUWKQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* errmsg0);
N_NIMCALL(NimStringDesc*, rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0);
N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_WPWyPKk58Cr5a6XFFviMjg, NI last0);
N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI first0, NI last0);
extern TNimType NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ;
TNimType NTI_FnEE3o2nWtqdjoC0wa2wgA;
extern TNimType NTI_vw8YkgaVtNadqP8v5OpXKA;
extern TNimType NTI_kDPg4wXyR8DDyA0MeEjIsw;
TNimType NTI_0W45b4tBLx0JWnu0NjAmVQ;
extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
extern TNimType NTI_G4E4Gxe7oI2Cm03rkiOzQw;
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_3, "", 0);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_4, "\015\012", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_5, "\"", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_6, "\\0", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_7, "\\x", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_8, "r\"", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_9, "\"\"", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_10, "\"\"\"", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_11, "0b", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_12, "0o", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_13, "0x", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_14, "\'i8", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_15, "\'i16", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_16, "\'i32", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_17, "\'i64", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_18, "\'u", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_19, "\'u8", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_20, "\'u16", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_21, "\'u32", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_22, "\'u64", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_23, "\'f32", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_24, "\'f64", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_25, "nil", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_26, "[type node]", 11);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_27, "rnimsyn.atom ", 13);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_28, "[]", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_29, "<<", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_30, "th child missing for ", 21);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_31, " >>", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_32, "[", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_33, " ", 1);
extern NIM_CONST TY_rhDLCy9aNYBAIsWVh16bA0A Toktypetostr_7y4sYGQdJmj2c4r0emPULw;
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_34, "## ", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_35, "]", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_36, "(", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_37, ")", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_38, "cast", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_39, "addr", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_40, "static", 6);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_41, "{", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_42, "}", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_43, "=", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_44, "chckRangeF", 10);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_45, "chckRange64", 11);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_46, "chckRange", 9);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_47, "|", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_48, ".", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_49, "|...)", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_50, ":", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_51, "bind", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_52, "proc", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_53, "do", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_54, "->", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_55, "..", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_56, "`", 1);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_57, "if", 2);
NIM_CONST TY_O2u2Fk7tlGg9b7lAVNkV3hw T_1E0z9biZTE3PahFHulMjtyw_58 = {((NI) 0),
0}
;
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_59, " elif", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_60, " else", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_61, "type", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_62, "ref", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_63, "ptr", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_64, "var", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_65, "distinct", 8);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_66, " with", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_67, " without", 8);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_68, "object", 6);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_69, "of", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_70, "iterator", 8);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_71, "enum", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_72, "when", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_73, "while", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_74, "case", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_75, "try", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_76, "for", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_77, "in", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_78, "block", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_79, "asm", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_80, "converter", 9);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_81, "method", 6);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_82, "macro", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_83, "template", 8);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_84, "const", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_85, "let", 3);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_86, "using", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_87, "return", 6);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_88, "raise", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_89, "yield", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_90, "discard", 7);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_91, "break", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_92, "continue", 8);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_93, "{.", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_94, ".}", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_95, "import", 6);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_96, "export", 6);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_97, "except", 6);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_98, "from", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_99, "include", 7);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_100, "as", 2);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_101, "mixin", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_102, "elif", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_103, "else", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_104, "finally", 7);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_105, "defer", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_106, "tuple", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_107, "(META|", 6);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_108, "state", 5);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_109, "goto", 4);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_110, "breakstate", 10);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_111, "concept", 7);
STRING_LITERAL(T_1E0z9biZTE3PahFHulMjtyw_112, "rnimsyn.gsub(", 13);
static N_NIMCALL(void, Marker_TY_0W45b4tBLx0JWnu0NjAmVQ)(void* p, NI op) {
	TY_0W45b4tBLx0JWnu0NjAmVQ* a;
	NI LOC1;
	a = (TY_0W45b4tBLx0JWnu0NjAmVQ*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	}
}

N_NIMCALL(void, initsrcgen_UcbeGsv7eyAcKOcLzd9bWpQ)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0) {
	unsureAsgnRef((void**) (&(*g0).comstack), (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 0));
	unsureAsgnRef((void**) (&(*g0).tokens), (TY_0W45b4tBLx0JWnu0NjAmVQ*) newSeq((&NTI_0W45b4tBLx0JWnu0NjAmVQ), 0));
	(*g0).indent = ((NI) 0);
	(*g0).linelen = ((NI) 0);
	(*g0).pos = ((NI) 0);
	(*g0).idx = ((NI) 0);
	unsureAsgnRef((void**) (&(*g0).buf), copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_3)));
	(*g0).flags = renderflags0;
	(*g0).pendingnl = ((NI) -1);
	(*g0).pendingwhitespace = ((NI) -1);
	(*g0).checkanon = NIM_FALSE;
}

N_NIMCALL(void, initcontext_4akYBebEXcr7R9bZNFpZz9cQ)(TY_O2u2Fk7tlGg9b7lAVNkV3hw* c0) {
	(*c0).Field0 = ((NI) 0);
	(*c0).Field1 = 0;
}

static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) {
	Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0;
	result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
	return result0;
}

static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0);
}

static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) {
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
		if (!!((src0 == NIM_NIL))) goto LA3;
		c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0);
		(*c0).refcount += ((NI) 8);
	}
	LA3: ;
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
		if (!!(((*dest0) == NIM_NIL))) goto LA7;
		c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0));
		{
			(*c0).refcount -= ((NI) 8);
			if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA11;
			rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0);
		}
		LA11: ;
	}
	LA7: ;
	(*dest0) = src0;
}

N_NIMCALL(void, pushcom_uyjIzGcAeLcpeStEA2Fi7w)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NI length0;
	length0 = ((*g0).comstack ? (*g0).comstack->Sup.len : 0);
	(*g0).comstack = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeq(&((*g0).comstack)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*), ((NI) ((NI)(length0 + ((NI) 1)))));
	asgnRefNoCycle((void**) (&(*g0).comstack->data[length0]), n0);
}

static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0) {
	void* LOC1;
	LOC1 = (void*)0;
	LOC1 = memcpy(dest0, source0, ((size_t) (size0)));
}

static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) {
	copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1)))));
	(*dest0).Sup.len += (*src0).Sup.len;
}

N_NIMCALL(void, addtok_UXLD5yop8GFc9cym9cwb1qUg_3)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* s0) {
	NI length0;
	length0 = ((*g0).tokens ? (*g0).tokens->Sup.len : 0);
	(*g0).tokens = (TY_0W45b4tBLx0JWnu0NjAmVQ*) setLengthSeq(&((*g0).tokens)->Sup, sizeof(Trendertok_FnEE3o2nWtqdjoC0wa2wgA), ((NI) ((NI)(length0 + ((NI) 1)))));
	(*g0).tokens->data[length0].kind = kind0;
	(*g0).tokens->data[length0].length = ((NI16) ((s0 ? s0->Sup.len : 0)));
	(*g0).buf = resizeString((*g0).buf, s0->Sup.len + 0);
appendString((*g0).buf, s0);
}

N_NIMCALL(void, addpendingnl_0GppufTGx639b3oTb49aPo9aw)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0) {
	{
		NimStringDesc* LOC5;
		NimStringDesc* LOC6;
		if (!(((NI) 0) <= (*g0).pendingnl)) goto LA3;
		LOC5 = (NimStringDesc*)0;
		LOC6 = (NimStringDesc*)0;
		LOC6 = nsuRepeatChar(32, ((NI) ((*g0).pendingnl)));
		LOC5 = rawNewString(LOC6->Sup.len + 2);
appendString(LOC5, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_4));
appendString(LOC5, LOC6);
		addtok_UXLD5yop8GFc9cym9cwb1qUg_3(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), LOC5);
		(*g0).linelen = (*g0).pendingnl;
		(*g0).pendingnl = ((NI) -1);
		(*g0).pendingwhitespace = ((NI) -1);
	}
	goto LA1;
	LA3: ;
	{
		NimStringDesc* LOC10;
		if (!(((NI) 0) <= (*g0).pendingwhitespace)) goto LA8;
		LOC10 = (NimStringDesc*)0;
		LOC10 = nsuRepeatChar(32, ((NI) ((*g0).pendingwhitespace)));
		addtok_UXLD5yop8GFc9cym9cwb1qUg_3(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), LOC10);
		(*g0).pendingwhitespace = ((NI) -1);
	}
	goto LA1;
	LA8: ;
	LA1: ;
}

N_NIMCALL(void, put_UXLD5yop8GFc9cym9cwb1qUg_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* s0) {
	{
		if (!!((kind0 == ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115)))) goto LA3;
		addpendingnl_0GppufTGx639b3oTb49aPo9aw(g0);
		{
			if (!(((NI) 0) < (s0 ? s0->Sup.len : 0))) goto LA7;
			addtok_UXLD5yop8GFc9cym9cwb1qUg_3(g0, kind0, s0);
			(*g0).linelen += (s0 ? s0->Sup.len : 0);
		}
		LA7: ;
	}
	goto LA1;
	LA3: ;
	{
		(*g0).pendingwhitespace = (s0 ? s0->Sup.len : 0);
	}
	LA1: ;
}

N_NIMCALL(void, optnl_Bn25Q9bSUPbqQaYAwa1JWQw)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, NI indent0) {
	(*g0).pendingnl = indent0;
	(*g0).linelen = indent0;
}

N_NIMCALL(void, putrawstr_UXLD5yop8GFc9cym9cwb1qUg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* s0) {
	NI i0;
	NI hi0;
	NimStringDesc* str0;
	i0 = ((NI) 0);
	hi0 = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1));
	str0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_3));
	{
		while (1) {
			if (!(i0 <= hi0)) goto LA2;
			switch (((NU8)(s0->data[i0]))) {
			case 13:
			{
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, kind0, str0);
				str0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_3));
				i0 += ((NI) 1);
				{
					NIM_BOOL LOC6;
					LOC6 = (NIM_BOOL)0;
					LOC6 = (i0 <= hi0);
					if (!(LOC6)) goto LA7;
					LOC6 = ((NU8)(s0->data[i0]) == (NU8)(10));
					LA7: ;
					if (!LOC6) goto LA8;
					i0 += ((NI) 1);
				}
				LA8: ;
				optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, ((NI) 0));
			}
			break;
			case 10:
			{
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, kind0, str0);
				str0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_3));
				i0 += ((NI) 1);
				optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, ((NI) 0));
			}
			break;
			default:
			{
				str0 = addChar(str0, s0->data[i0]);
				i0 += ((NI) 1);
			}
			break;
			}
		} LA2: ;
	}
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, kind0, str0);
}

static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) {
	(*dest0).data[((*dest0).Sup.len)- 0] = c0;
	(*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0;
	(*dest0).Sup.len += ((NI) 1);
}

N_NIMCALL(NimStringDesc*, tonimchar_K9aX2VS9baFM8Cah9aUEuGFzw)(NIM_CHAR c0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	switch (((NU8)(c0))) {
	case 0:
	{
		result0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_6));
	}
	break;
	case 1 ... 31:
	case 128 ... 255:
	{
		NimStringDesc* LOC3;
		NimStringDesc* LOC4;
		LOC3 = (NimStringDesc*)0;
		LOC4 = (NimStringDesc*)0;
		LOC4 = nsuToHex(((NI64) (((NU8)(c0)))), ((NI) 2));
		LOC3 = rawNewString(LOC4->Sup.len + 2);
appendString(LOC3, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_7));
appendString(LOC3, LOC4);
		result0 = LOC3;
	}
	break;
	case 39:
	case 34:
	case 92:
	{
		NimStringDesc* LOC6;
		LOC6 = (NimStringDesc*)0;
		LOC6 = rawNewString(2);
appendChar(LOC6, 92);
appendChar(LOC6, c0);
		result0 = LOC6;
	}
	break;
	default:
	{
		NimStringDesc* LOC8;
		LOC8 = (NimStringDesc*)0;
		LOC8 = rawNewString(1);
appendChar(LOC8, c0);
appendString(LOC8, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_3));
		result0 = LOC8;
	}
	break;
	}
	return result0;
}

N_NIMCALL(NimStringDesc*, makenimstring_QsmXqaQrEVrH1QuT9c2dCfQ)(NimStringDesc* s0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_5));
	{
		NI i_UHJv1CrrNLD1CbU7wn76hg;
		NI HEX3Atmp_hN2b3RqsZeQG7dcs5Oo5Qg;
		NI res_EAWhoJzMYxXP71e9be6B4wQ;
		i_UHJv1CrrNLD1CbU7wn76hg = (NI)0;
		HEX3Atmp_hN2b3RqsZeQG7dcs5Oo5Qg = (NI)0;
		HEX3Atmp_hN2b3RqsZeQG7dcs5Oo5Qg = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1));
		res_EAWhoJzMYxXP71e9be6B4wQ = ((NI) 0);
		{
			while (1) {
				NimStringDesc* LOC4;
				if (!(res_EAWhoJzMYxXP71e9be6B4wQ <= HEX3Atmp_hN2b3RqsZeQG7dcs5Oo5Qg)) goto LA3;
				i_UHJv1CrrNLD1CbU7wn76hg = res_EAWhoJzMYxXP71e9be6B4wQ;
				LOC4 = (NimStringDesc*)0;
				LOC4 = tonimchar_K9aX2VS9baFM8Cah9aUEuGFzw(s0->data[i_UHJv1CrrNLD1CbU7wn76hg]);
				result0 = resizeString(result0, LOC4->Sup.len + 0);
appendString(result0, LOC4);
				res_EAWhoJzMYxXP71e9be6B4wQ += ((NI) 1);
			} LA3: ;
		}
	}
	result0 = addChar(result0, 34);
	return result0;
}

N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skip_rLkYrsHnm3W9aRaLf4wB80Q)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) {
	Ttype_LTUWCZolpovw9cWE3JBWSUw* result0;
	result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0;
	result0 = t0;
	{
		while (1) {
			if (!((*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4))) goto LA2;
			result0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(result0);
		} LA2: ;
	}
	return result0;
}

static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NI result0;
	result0 = (NI)0;
	{
		if (!((*n0).kindU.S6.sons == 0)) goto LA3;
		result0 = ((NI) 0);
	}
	goto LA1;
	LA3: ;
	{
		result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0);
	}
	LA1: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, litaux_8Maf2mu5vCPmUhMRCxgoNw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI64 x0, NI size0) {
	NimStringDesc* result0;
{	result0 = (NimStringDesc*)0;
	{
		NIM_BOOL LOC3;
		Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC5;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* enumfields0;
		Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC8;
		LOC3 = (NIM_BOOL)0;
		LOC3 = !(((*n0).typ == NIM_NIL));
		if (!(LOC3)) goto LA4;
		LOC5 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0;
		LOC5 = skip_rLkYrsHnm3W9aRaLf4wB80Q((*n0).typ);
		LOC3 = ((*LOC5).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*LOC5).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14));
		LA4: ;
		if (!LOC3) goto LA6;
		LOC8 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0;
		LOC8 = skip_rLkYrsHnm3W9aRaLf4wB80Q((*n0).typ);
		enumfields0 = (*LOC8).n;
		{
			Tnode_bROa11lyF5vxEN9aYNbHmhw* e_9aCpptFHaTJf0BGcoVg9aoGw;
			e_9aCpptFHaTJf0BGcoVg9aoGw = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_BhmR78BFLzOH5QQRQdZDhA;
				NI HEX3Atmp_ttWzGDCBZaIWFeNeh8JJTw;
				NI LOC11;
				NI res_yNyW9bL8SdxlgSj8PdO27cg;
				i_BhmR78BFLzOH5QQRQdZDhA = (NI)0;
				HEX3Atmp_ttWzGDCBZaIWFeNeh8JJTw = (NI)0;
				LOC11 = (NI)0;
				LOC11 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(enumfields0);
				HEX3Atmp_ttWzGDCBZaIWFeNeh8JJTw = (LOC11 - 1);
				res_yNyW9bL8SdxlgSj8PdO27cg = ((NI) 0);
				{
					while (1) {
						if (!(res_yNyW9bL8SdxlgSj8PdO27cg <= HEX3Atmp_ttWzGDCBZaIWFeNeh8JJTw)) goto LA13;
						i_BhmR78BFLzOH5QQRQdZDhA = res_yNyW9bL8SdxlgSj8PdO27cg;
						e_9aCpptFHaTJf0BGcoVg9aoGw = (*enumfields0).kindU.S6.sons->data[i_BhmR78BFLzOH5QQRQdZDhA];
						{
							if (!(((NI64) ((*(*e_9aCpptFHaTJf0BGcoVg9aoGw).kindU.S4.sym).position)) == x0)) goto LA16;
							result0 = copyString((*(*(*e_9aCpptFHaTJf0BGcoVg9aoGw).kindU.S4.sym).name).s);
							goto BeforeRet;
						}
						LA16: ;
						res_yNyW9bL8SdxlgSj8PdO27cg += ((NI) 1);
					} LA13: ;
				}
			}
		}
	}
	LA6: ;
	{
		NimStringDesc* LOC22;
		NimStringDesc* LOC23;
		if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 1))&15U)))!=0)) goto LA20;
		LOC22 = (NimStringDesc*)0;
		LOC23 = (NimStringDesc*)0;
		LOC23 = nsuToBin(x0, ((NI) ((NI)(size0 * ((NI) 8)))));
		LOC22 = rawNewString(LOC23->Sup.len + 2);
appendString(LOC22, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_11));
appendString(LOC22, LOC23);
		result0 = LOC22;
	}
	goto LA18;
	LA20: ;
	{
		NimStringDesc* LOC27;
		NimStringDesc* LOC28;
		if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 2))&15U)))!=0)) goto LA25;
		LOC27 = (NimStringDesc*)0;
		LOC28 = (NimStringDesc*)0;
		LOC28 = nsuToOct(x0, ((NI) ((NI)(size0 * ((NI) 3)))));
		LOC27 = rawNewString(LOC28->Sup.len + 2);
appendString(LOC27, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_12));
appendString(LOC27, LOC28);
		result0 = LOC27;
	}
	goto LA18;
	LA25: ;
	{
		NimStringDesc* LOC32;
		NimStringDesc* LOC33;
		if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 3))&15U)))!=0)) goto LA30;
		LOC32 = (NimStringDesc*)0;
		LOC33 = (NimStringDesc*)0;
		LOC33 = nsuToHex(x0, ((NI) ((NI)(size0 * ((NI) 2)))));
		LOC32 = rawNewString(LOC33->Sup.len + 2);
appendString(LOC32, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_13));
appendString(LOC32, LOC33);
		result0 = LOC32;
	}
	goto LA18;
	LA30: ;
	{
		result0 = nimInt64ToStr(x0);
	}
	LA18: ;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, ulitaux_8Maf2mu5vCPmUhMRCxgoNw_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI64 x0, NI size0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	{
		NimStringDesc* LOC5;
		NimStringDesc* LOC6;
		if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 1))&15U)))!=0)) goto LA3;
		LOC5 = (NimStringDesc*)0;
		LOC6 = (NimStringDesc*)0;
		LOC6 = nsuToBin(x0, ((NI) ((NI)(size0 * ((NI) 8)))));
		LOC5 = rawNewString(LOC6->Sup.len + 2);
appendString(LOC5, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_11));
appendString(LOC5, LOC6);
		result0 = LOC5;
	}
	goto LA1;
	LA3: ;
	{
		NimStringDesc* LOC10;
		NimStringDesc* LOC11;
		if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 2))&15U)))!=0)) goto LA8;
		LOC10 = (NimStringDesc*)0;
		LOC11 = (NimStringDesc*)0;
		LOC11 = nsuToOct(x0, ((NI) ((NI)(size0 * ((NI) 3)))));
		LOC10 = rawNewString(LOC11->Sup.len + 2);
appendString(LOC10, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_12));
appendString(LOC10, LOC11);
		result0 = LOC10;
	}
	goto LA1;
	LA8: ;
	{
		NimStringDesc* LOC15;
		NimStringDesc* LOC16;
		if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 3))&15U)))!=0)) goto LA13;
		LOC15 = (NimStringDesc*)0;
		LOC16 = (NimStringDesc*)0;
		LOC16 = nsuToHex(x0, ((NI) ((NI)(size0 * ((NI) 2)))));
		LOC15 = rawNewString(LOC16->Sup.len + 2);
appendString(LOC15, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_13));
appendString(LOC15, LOC16);
		result0 = LOC15;
	}
	goto LA1;
	LA13: ;
	{
		result0 = nimInt64ToStr(x0);
	}
	LA1: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, atom_qX5C9b0n9bOP7jk69amC8dA7A)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NimStringDesc* result0;
	NF32 f0;
	result0 = (NimStringDesc*)0;
	f0 = (NF32)0;
	switch ((*n0).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		result0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_3));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		result0 = copyString((*(*n0).kindU.S5.ident).s);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		result0 = copyString((*(*(*n0).kindU.S4.sym).name).s);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20):
	{
		result0 = makenimstring_QsmXqaQrEVrH1QuT9c2dCfQ((*n0).kindU.S3.strval);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
	{
		NimStringDesc* LOC6;
		NimStringDesc* LOC7;
		LOC6 = (NimStringDesc*)0;
		LOC7 = (NimStringDesc*)0;
		LOC7 = nsuReplaceStr((*n0).kindU.S3.strval, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_5), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_9));
		LOC6 = rawNewString(LOC7->Sup.len + 3);
appendString(LOC6, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_8));
appendString(LOC6, LOC7);
appendChar(LOC6, 34);
		result0 = LOC6;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* LOC9;
		LOC9 = (NimStringDesc*)0;
		LOC9 = rawNewString((*n0).kindU.S3.strval->Sup.len + 6);
appendString(LOC9, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_10));
appendString(LOC9, (*n0).kindU.S3.strval);
appendString(LOC9, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_10));
		result0 = LOC9;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		NimStringDesc* LOC11;
		NimStringDesc* LOC12;
		LOC11 = (NimStringDesc*)0;
		LOC12 = (NimStringDesc*)0;
		LOC12 = tonimchar_K9aX2VS9baFM8Cah9aUEuGFzw(((NIM_CHAR) (((NI) (((NI) ((*n0).kindU.S1.intval)))))));
		LOC11 = rawNewString(LOC12->Sup.len + 2);
appendChar(LOC11, 39);
appendString(LOC11, LOC12);
appendChar(LOC11, 39);
		result0 = LOC11;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		result0 = litaux_8Maf2mu5vCPmUhMRCxgoNw(n0, (*n0).kindU.S1.intval, ((NI) 4));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 7):
	{
		NimStringDesc* LOC15;
		NimStringDesc* LOC16;
		LOC15 = (NimStringDesc*)0;
		LOC16 = (NimStringDesc*)0;
		LOC16 = litaux_8Maf2mu5vCPmUhMRCxgoNw(n0, (*n0).kindU.S1.intval, ((NI) 1));
		LOC15 = rawNewString(LOC16->Sup.len + 3);
appendString(LOC15, LOC16);
appendString(LOC15, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_14));
		result0 = LOC15;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 8):
	{
		NimStringDesc* LOC18;
		NimStringDesc* LOC19;
		LOC18 = (NimStringDesc*)0;
		LOC19 = (NimStringDesc*)0;
		LOC19 = litaux_8Maf2mu5vCPmUhMRCxgoNw(n0, (*n0).kindU.S1.intval, ((NI) 2));
		LOC18 = rawNewString(LOC19->Sup.len + 4);
appendString(LOC18, LOC19);
appendString(LOC18, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_15));
		result0 = LOC18;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 9):
	{
		NimStringDesc* LOC21;
		NimStringDesc* LOC22;
		LOC21 = (NimStringDesc*)0;
		LOC22 = (NimStringDesc*)0;
		LOC22 = litaux_8Maf2mu5vCPmUhMRCxgoNw(n0, (*n0).kindU.S1.intval, ((NI) 4));
		LOC21 = rawNewString(LOC22->Sup.len + 4);
appendString(LOC21, LOC22);
appendString(LOC21, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_16));
		result0 = LOC21;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 10):
	{
		NimStringDesc* LOC24;
		NimStringDesc* LOC25;
		LOC24 = (NimStringDesc*)0;
		LOC25 = (NimStringDesc*)0;
		LOC25 = litaux_8Maf2mu5vCPmUhMRCxgoNw(n0, (*n0).kindU.S1.intval, ((NI) 8));
		LOC24 = rawNewString(LOC25->Sup.len + 4);
appendString(LOC24, LOC25);
appendString(LOC24, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_17));
		result0 = LOC24;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 11):
	{
		NimStringDesc* LOC27;
		NimStringDesc* LOC28;
		LOC27 = (NimStringDesc*)0;
		LOC28 = (NimStringDesc*)0;
		LOC28 = ulitaux_8Maf2mu5vCPmUhMRCxgoNw_2(n0, (*n0).kindU.S1.intval, ((NI) 4));
		LOC27 = rawNewString(LOC28->Sup.len + 2);
appendString(LOC27, LOC28);
appendString(LOC27, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_18));
		result0 = LOC27;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 12):
	{
		NimStringDesc* LOC30;
		NimStringDesc* LOC31;
		LOC30 = (NimStringDesc*)0;
		LOC31 = (NimStringDesc*)0;
		LOC31 = ulitaux_8Maf2mu5vCPmUhMRCxgoNw_2(n0, (*n0).kindU.S1.intval, ((NI) 1));
		LOC30 = rawNewString(LOC31->Sup.len + 3);
appendString(LOC30, LOC31);
appendString(LOC30, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_19));
		result0 = LOC30;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 13):
	{
		NimStringDesc* LOC33;
		NimStringDesc* LOC34;
		LOC33 = (NimStringDesc*)0;
		LOC34 = (NimStringDesc*)0;
		LOC34 = ulitaux_8Maf2mu5vCPmUhMRCxgoNw_2(n0, (*n0).kindU.S1.intval, ((NI) 2));
		LOC33 = rawNewString(LOC34->Sup.len + 4);
appendString(LOC33, LOC34);
appendString(LOC33, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_20));
		result0 = LOC33;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 14):
	{
		NimStringDesc* LOC36;
		NimStringDesc* LOC37;
		LOC36 = (NimStringDesc*)0;
		LOC37 = (NimStringDesc*)0;
		LOC37 = ulitaux_8Maf2mu5vCPmUhMRCxgoNw_2(n0, (*n0).kindU.S1.intval, ((NI) 4));
		LOC36 = rawNewString(LOC37->Sup.len + 4);
appendString(LOC36, LOC37);
appendString(LOC36, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_21));
		result0 = LOC36;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		NimStringDesc* LOC39;
		NimStringDesc* LOC40;
		LOC39 = (NimStringDesc*)0;
		LOC40 = (NimStringDesc*)0;
		LOC40 = ulitaux_8Maf2mu5vCPmUhMRCxgoNw_2(n0, (*n0).kindU.S1.intval, ((NI) 8));
		LOC39 = rawNewString(LOC40->Sup.len + 4);
appendString(LOC39, LOC40);
appendString(LOC39, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_22));
		result0 = LOC39;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16):
	{
		{
			if (!(((*n0).flags & 14) == 0)) goto LA44;
			result0 = nimFloatToStr((*n0).kindU.S2.floatval);
		}
		goto LA42;
		LA44: ;
		{
			result0 = litaux_8Maf2mu5vCPmUhMRCxgoNw(n0, (*((NI64*) ((&(*n0).kindU.S2.floatval)))), ((NI) 8));
		}
		LA42: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		{
			NimStringDesc* LOC52;
			NimStringDesc* LOC53;
			if (!(((*n0).flags & 14) == 0)) goto LA50;
			LOC52 = (NimStringDesc*)0;
			LOC53 = (NimStringDesc*)0;
			LOC53 = nimFloatToStr((*n0).kindU.S2.floatval);
			LOC52 = rawNewString(LOC53->Sup.len + 4);
appendString(LOC52, LOC53);
appendString(LOC52, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_23));
			result0 = LOC52;
		}
		goto LA48;
		LA50: ;
		{
			NimStringDesc* LOC55;
			NimStringDesc* LOC56;
			f0 = ((NF32) ((*n0).kindU.S2.floatval));
			LOC55 = (NimStringDesc*)0;
			LOC56 = (NimStringDesc*)0;
			LOC56 = litaux_8Maf2mu5vCPmUhMRCxgoNw(n0, ((NI64) ((*((NI32*) ((&f0)))))), ((NI) 4));
			LOC55 = rawNewString(LOC56->Sup.len + 4);
appendString(LOC55, LOC56);
appendString(LOC55, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_23));
			result0 = LOC55;
		}
		LA48: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		{
			NimStringDesc* LOC62;
			NimStringDesc* LOC63;
			if (!(((*n0).flags & 14) == 0)) goto LA60;
			LOC62 = (NimStringDesc*)0;
			LOC63 = (NimStringDesc*)0;
			LOC63 = nimFloatToStr((*n0).kindU.S2.floatval);
			LOC62 = rawNewString(LOC63->Sup.len + 4);
appendString(LOC62, LOC63);
appendString(LOC62, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_24));
			result0 = LOC62;
		}
		goto LA58;
		LA60: ;
		{
			NimStringDesc* LOC65;
			NimStringDesc* LOC66;
			LOC65 = (NimStringDesc*)0;
			LOC66 = (NimStringDesc*)0;
			LOC66 = litaux_8Maf2mu5vCPmUhMRCxgoNw(n0, (*((NI64*) ((&(*n0).kindU.S2.floatval)))), ((NI) 8));
			LOC65 = rawNewString(LOC66->Sup.len + 4);
appendString(LOC65, LOC66);
appendString(LOC65, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_24));
			result0 = LOC65;
		}
		LA58: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		result0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_25));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		{
			NIM_BOOL LOC71;
			LOC71 = (NIM_BOOL)0;
			LOC71 = !(((*n0).typ == NIM_NIL));
			if (!(LOC71)) goto LA72;
			LOC71 = !(((*(*n0).typ).sym == NIM_NIL));
			LA72: ;
			if (!LOC71) goto LA73;
			result0 = copyString((*(*(*(*n0).typ).sym).name).s);
		}
		goto LA69;
		LA73: ;
		{
			result0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_26));
		}
		LA69: ;
	}
	break;
	default:
	{
		NimStringDesc* LOC77;
		LOC77 = (NimStringDesc*)0;
		LOC77 = rawNewString(reprEnum((NI)(*n0).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw))->Sup.len + 13);
appendString(LOC77, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_27));
appendString(LOC77, reprEnum((NI)(*n0).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw)));
		internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC77);
		result0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_3));
	}
	break;
	}
	return result0;
}

N_NIMCALL(void, gident_5eccg0mxlFLgBiNmpRHFig_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	Ttoktype_vw8YkgaVtNadqP8v5OpXKA t0;
	NimStringDesc* s0;
{	{
		NIM_BOOL LOC3;
		NIM_BOOL LOC4;
		LOC3 = (NIM_BOOL)0;
		LOC4 = (NIM_BOOL)0;
		LOC4 = (*g0).checkanon;
		if (!(LOC4)) goto LA5;
		LOC4 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
		LA5: ;
		LOC3 = LOC4;
		if (!(LOC3)) goto LA6;
		LOC3 = (((*(*n0).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 29))&31U)))!=0);
		LA6: ;
		if (!LOC3) goto LA7;
		goto BeforeRet;
	}
	LA7: ;
	t0 = (Ttoktype_vw8YkgaVtNadqP8v5OpXKA)0;
	s0 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
	{
		if (!(((NU8)(s0->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(s0->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(s0->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(s0->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(s0->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(s0->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)(s0->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(s0->data[((NI) 0)])) <= ((NU8)(255)))) goto LA11;
		{
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA15;
			{
				NIM_BOOL LOC19;
				LOC19 = (NIM_BOOL)0;
				LOC19 = ((*(*n0).kindU.S5.ident).Sup.id < ((NI) 1));
				if (LOC19) goto LA20;
				LOC19 = (((NI) 70) < (*(*n0).kindU.S5.ident).Sup.id);
				LA20: ;
				if (!LOC19) goto LA21;
				t0 = ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2);
			}
			goto LA17;
			LA21: ;
			{
				t0 = ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) ((NI)((*(*n0).kindU.S5.ident).Sup.id + ((NI) 2))));
			}
			LA17: ;
		}
		goto LA13;
		LA15: ;
		{
			t0 = ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2);
		}
		LA13: ;
	}
	goto LA9;
	LA11: ;
	{
		t0 = ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 112);
	}
	LA9: ;
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, t0, s0);
	{
		NIM_BOOL LOC28;
		NIM_BOOL LOC30;
		NimStringDesc* LOC34;
		LOC28 = (NIM_BOOL)0;
		LOC28 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(LOC28)) goto LA29;
		LOC30 = (NIM_BOOL)0;
		LOC30 = (((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 5))&7U)))!=0);
		if (LOC30) goto LA31;
		LOC30 = (((*(*n0).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0);
		LA31: ;
		LOC28 = LOC30;
		LA29: ;
		if (!LOC28) goto LA32;
		LOC34 = (NimStringDesc*)0;
		LOC34 = nimIntToStr((*(*n0).kindU.S4.sym).Sup.id);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 73), LOC34);
	}
	LA32: ;
	}BeforeRet: ;
}

static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* result0;
	result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result0 = (*n0).kindU.S6.sons->data[i0];
	return result0;
}

static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0) {
	NIM_BOOL result0;
	int LOC1;
	result0 = (NIM_BOOL)0;
	LOC1 = (int)0;
	LOC1 = memcmp(a0, b0, ((size_t) (size0)));
	result0 = (LOC1 == ((NI32) 0));
	return result0;
}

static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) {
	NIM_BOOL result0;
	NIM_BOOL LOC11;
{	result0 = (NIM_BOOL)0;
	{
		if (!(a0 == b0)) goto LA3;
		result0 = NIM_TRUE;
		goto BeforeRet;
	}
	LA3: ;
	{
		NIM_BOOL LOC7;
		LOC7 = (NIM_BOOL)0;
		LOC7 = (a0 == NIM_NIL);
		if (LOC7) goto LA8;
		LOC7 = (b0 == NIM_NIL);
		LA8: ;
		if (!LOC7) goto LA9;
		result0 = NIM_FALSE;
		goto BeforeRet;
	}
	LA9: ;
	LOC11 = (NIM_BOOL)0;
	LOC11 = ((*a0).Sup.len == (*b0).Sup.len);
	if (!(LOC11)) goto LA12;
	LOC11 = equalmem_DCrUjdaMvFDHaR1hs7sQGwropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len)));
	LA12: ;
	result0 = LOC11;
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NIM_BOOL, isbracket_xSH6mY9c8k9acC3PiiaOK9bIQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	switch ((*n0).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		{
			NI LOC4;
			Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7;
			LOC4 = (NI)0;
			LOC4 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC4)) goto LA5;
			LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
			LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0));
			result0 = isbracket_xSH6mY9c8k9acC3PiiaOK9bIQ(LOC7);
		}
		LA5: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		result0 = eqStrings((*(*(*n0).kindU.S4.sym).name).s, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_28));
	}
	break;
	default:
	{
		result0 = NIM_FALSE;
	}
	break;
	}
	return result0;
}

N_NIMCALL(void, gsub_HNcJVTbsLN2PfMmnG6BxYw)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) {
	{
		NI LOC3;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6;
		LOC3 = (NI)0;
		LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
		if (!(i0 < LOC3)) goto LA4;
		LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i0);
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, LOC6);
	}
	goto LA1;
	LA4: ;
	{
		NimStringDesc* LOC8;
		NimStringDesc* LOC9;
		LOC8 = (NimStringDesc*)0;
		LOC9 = (NimStringDesc*)0;
		LOC9 = nimIntToStr(i0);
		LOC8 = rawNewString(LOC9->Sup.len + reprEnum((NI)(*n0).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw))->Sup.len + 26);
appendString(LOC8, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_29));
appendString(LOC8, LOC9);
appendString(LOC8, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_30));
appendString(LOC8, reprEnum((NI)(*n0).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw)));
appendString(LOC8, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_31));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 112), LOC8);
	}
	LA1: ;
}

N_NIMCALL(NIM_BOOL, containsnl_gYVkPilRit8xMff9aY8MMBQ)(NimStringDesc* s0) {
	NIM_BOOL result0;
{	result0 = (NIM_BOOL)0;
	{
		NI i_Rk42ibzJDWOiwVwPTffZng;
		NI HEX3Atmp_Z66zDGCrNAaJFAJAcH2H9bQ;
		NI res_TfILLohynIPHtiX0Qujm9cA;
		i_Rk42ibzJDWOiwVwPTffZng = (NI)0;
		HEX3Atmp_Z66zDGCrNAaJFAJAcH2H9bQ = (NI)0;
		HEX3Atmp_Z66zDGCrNAaJFAJAcH2H9bQ = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1));
		res_TfILLohynIPHtiX0Qujm9cA = ((NI) 0);
		{
			while (1) {
				if (!(res_TfILLohynIPHtiX0Qujm9cA <= HEX3Atmp_Z66zDGCrNAaJFAJAcH2H9bQ)) goto LA3;
				i_Rk42ibzJDWOiwVwPTffZng = res_TfILLohynIPHtiX0Qujm9cA;
				switch (((NU8)(s0->data[i_Rk42ibzJDWOiwVwPTffZng]))) {
				case 13:
				case 10:
				{
					result0 = NIM_TRUE;
					goto BeforeRet;
				}
				break;
				default:
				{
				}
				break;
				}
				res_TfILLohynIPHtiX0Qujm9cA += ((NI) 1);
			} LA3: ;
		}
	}
	result0 = NIM_FALSE;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NI, lcomma_Sf28jQNyPpkrdqpUVRQatA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0) {
	NI result0;
	result0 = (NI)0;
	result0 = ((NI) 0);
	{
		NI i_Z8RwMwXUZIdN4xeZj840tg;
		NI HEX3Atmp_5qmMrmWgdwlwvvYYaw9cr1Q;
		NI LOC2;
		NI res_UVQsZ6LiN9aJ5E9ad21DcPBw;
		i_Z8RwMwXUZIdN4xeZj840tg = (NI)0;
		HEX3Atmp_5qmMrmWgdwlwvvYYaw9cr1Q = (NI)0;
		LOC2 = (NI)0;
		LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		HEX3Atmp_5qmMrmWgdwlwvvYYaw9cr1Q = (NI)(LOC2 + theend0);
		res_UVQsZ6LiN9aJ5E9ad21DcPBw = start0;
		{
			while (1) {
				NI LOC5;
				if (!(res_UVQsZ6LiN9aJ5E9ad21DcPBw <= HEX3Atmp_5qmMrmWgdwlwvvYYaw9cr1Q)) goto LA4;
				i_Z8RwMwXUZIdN4xeZj840tg = res_UVQsZ6LiN9aJ5E9ad21DcPBw;
				LOC5 = (NI)0;
				LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[i_Z8RwMwXUZIdN4xeZj840tg]);
				result0 += LOC5;
				result0 += ((NI) 2);
				res_UVQsZ6LiN9aJ5E9ad21DcPBw += ((NI) 1);
			} LA4: ;
		}
	}
	{
		if (!(((NI) 0) < result0)) goto LA8;
		result0 -= ((NI) 2);
	}
	LA8: ;
	return result0;
}

N_NIMCALL(NI, lsons_Sf28jQNyPpkrdqpUVRQatA_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0) {
	NI result0;
	result0 = (NI)0;
	result0 = ((NI) 0);
	{
		NI i_mjF6SwEn9cTls0vyIJYYX9bQ;
		NI HEX3Atmp_jcXPGDuyCyqu3Km9asNT9ckg;
		NI LOC2;
		NI res_VcTlqZozITZ6TNX4VdLNag;
		i_mjF6SwEn9cTls0vyIJYYX9bQ = (NI)0;
		HEX3Atmp_jcXPGDuyCyqu3Km9asNT9ckg = (NI)0;
		LOC2 = (NI)0;
		LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		HEX3Atmp_jcXPGDuyCyqu3Km9asNT9ckg = (NI)(LOC2 + theend0);
		res_VcTlqZozITZ6TNX4VdLNag = start0;
		{
			while (1) {
				NI LOC5;
				if (!(res_VcTlqZozITZ6TNX4VdLNag <= HEX3Atmp_jcXPGDuyCyqu3Km9asNT9ckg)) goto LA4;
				i_mjF6SwEn9cTls0vyIJYYX9bQ = res_VcTlqZozITZ6TNX4VdLNag;
				LOC5 = (NI)0;
				LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[i_mjF6SwEn9cTls0vyIJYYX9bQ]);
				result0 += LOC5;
				res_VcTlqZozITZ6TNX4VdLNag += ((NI) 1);
			} LA4: ;
		}
	}
	return result0;
}

N_NIMCALL(NI, lsub_uq0y41pTwWaRhY4eC8c9c7g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NI result0;
{	result0 = (NI)0;
	{
		if (!(n0 == 0)) goto LA3;
		result0 = ((NI) 0);
		goto BeforeRet;
	}
	LA3: ;
	{
		if (!!(((*n0).comment == NIM_NIL))) goto LA7;
		result0 = ((NI) 81);
		goto BeforeRet;
	}
	LA7: ;
	switch ((*n0).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		result0 = ((NI) 0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		{
			NIM_BOOL LOC13;
			LOC13 = (NIM_BOOL)0;
			LOC13 = containsnl_gYVkPilRit8xMff9aY8MMBQ((*n0).kindU.S3.strval);
			if (!LOC13) goto LA14;
			result0 = ((NI) 81);
		}
		goto LA11;
		LA14: ;
		{
			NimStringDesc* LOC17;
			LOC17 = (NimStringDesc*)0;
			LOC17 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
			result0 = (LOC17 ? LOC17->Sup.len : 0);
		}
		LA11: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		NimStringDesc* LOC19;
		LOC19 = (NimStringDesc*)0;
		LOC19 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		result0 = (LOC19 ? LOC19->Sup.len : 0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 153):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		NI LOC21;
		NI LOC22;
		LOC21 = (NI)0;
		LOC21 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		LOC22 = (NI)0;
		LOC22 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 1), ((NI) -1));
		result0 = (NI)((NI)(LOC21 + LOC22) + ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24;
		LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC24 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1));
		result0 = lsub_uq0y41pTwWaRhY4eC8c9c7g(LOC24);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		NI LOC26;
		NI LOC27;
		LOC26 = (NI)0;
		LOC26 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		LOC27 = (NI)0;
		LOC27 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 1)]);
		result0 = (NI)((NI)(LOC26 + LOC27) + ((NI) 8));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		{
			NI LOC31;
			NI LOC34;
			LOC31 = (NI)0;
			LOC31 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC31)) goto LA32;
			LOC34 = (NI)0;
			LOC34 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			result0 = (NI)(LOC34 + ((NI) 6));
		}
		goto LA29;
		LA32: ;
		{
			result0 = ((NI) 4);
		}
		LA29: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 62):
	{
		NI LOC37;
		LOC37 = (NI)0;
		LOC37 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC37 + ((NI) 7));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65):
	{
		result0 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26):
	{
		NI LOC40;
		NI LOC41;
		LOC40 = (NI)0;
		LOC40 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		LOC41 = (NI)0;
		LOC41 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 1), ((NI) -1));
		result0 = (NI)((NI)(LOC40 + LOC41) + ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		NI LOC43;
		LOC43 = (NI)0;
		LOC43 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC43 + ((NI) 3));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		NI LOC45;
		LOC45 = (NI)0;
		LOC45 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC45 + ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152):
	{
		result0 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 54):
	{
		{
			NI LOC50;
			NI LOC53;
			LOC50 = (NI)0;
			LOC50 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC50)) goto LA51;
			LOC53 = (NI)0;
			LOC53 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
			result0 = (NI)(LOC53 + ((NI) 2));
		}
		goto LA48;
		LA51: ;
		{
			result0 = ((NI) 3);
		}
		LA48: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		NI LOC56;
		NI LOC57;
		LOC56 = (NI)0;
		LOC56 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		LOC57 = (NI)0;
		LOC57 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		result0 = (NI)((NI)((NI)(LOC56 + ((NI) 2)) + LOC57) - ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 134):
	{
		NI LOC59;
		LOC59 = (NI)0;
		LOC59 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC59 + ((NI) 7));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 135):
	{
		result0 = ((NI) 5);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		NI LOC62;
		LOC62 = (NI)0;
		LOC62 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC62 + ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 55):
	{
		NI LOC64;
		LOC64 = (NI)0;
		LOC64 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC64 + ((NI) 5));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
		NI LOC66;
		LOC66 = (NI)0;
		LOC66 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC66 + ((NI) 5));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 123):
	{
		NI LOC68;
		LOC68 = (NI)0;
		LOC68 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC68 + ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		result0 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51):
	{
		NI LOC71;
		LOC71 = (NI)0;
		LOC71 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC71 + ((NI) 8));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		NI LOC73;
		LOC73 = (NI)0;
		LOC73 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC73 + ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		NI L0;
		result0 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -3));
		L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		{
			NI LOC79;
			if (!!(((*(*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA77;
			LOC79 = (NI)0;
			LOC79 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]);
			result0 = (NI)((NI)(result0 + LOC79) + ((NI) 2));
		}
		LA77: ;
		{
			NI LOC84;
			if (!!(((*(*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA82;
			LOC84 = (NI)0;
			LOC84 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]);
			result0 = (NI)((NI)(result0 + LOC84) + ((NI) 3));
		}
		LA82: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36):
	{
		NI LOC86;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC87;
		NI LOC88;
		LOC86 = (NI)0;
		LOC86 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -3));
		LOC87 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC87 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0);
		LOC88 = (NI)0;
		LOC88 = lsub_uq0y41pTwWaRhY4eC8c9c7g(LOC87);
		result0 = (NI)((NI)(LOC86 + ((NI) 5)) + LOC88);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		NI LOC90;
		LOC90 = (NI)0;
		LOC90 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(((NI) 12) + LOC90);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		NI LOC92;
		LOC92 = (NI)0;
		LOC92 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(((NI) 13) + LOC92);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		NI LOC94;
		LOC94 = (NI)0;
		LOC94 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(((NI) 11) + LOC94);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 67):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 71):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		NI LOC102;
		result0 = ((NI) 2);
		{
			NI LOC98;
			NI LOC101;
			LOC98 = (NI)0;
			LOC98 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 1) <= LOC98)) goto LA99;
			LOC101 = (NI)0;
			LOC101 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			result0 = (NI)(result0 + LOC101);
		}
		LA99: ;
		LOC102 = (NI)0;
		LOC102 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 1), ((NI) -1));
		result0 = (NI)(result0 + LOC102);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		NI LOC104;
		LOC104 = (NI)0;
		LOC104 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC104 + ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		NI LOC106;
		LOC106 = (NI)0;
		LOC106 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC106 + ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		NI LOC108;
		NI LOC109;
		LOC108 = (NI)0;
		LOC108 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		LOC109 = (NI)0;
		{
			NIM_BOOL LOC112;
			NI LOC113;
			LOC112 = (NIM_BOOL)0;
			LOC113 = (NI)0;
			LOC113 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			LOC112 = (((NI) 0) < LOC113);
			if (!(LOC112)) goto LA114;
			LOC112 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29));
			LA114: ;
			if (!LOC112) goto LA115;
			LOC109 = ((NI) 2);
		}
		goto LA110;
		LA115: ;
		{
			LOC109 = ((NI) 0);
		}
		LA110: ;
		result0 = (NI)((NI)(LOC108 + ((NI) 1)) + LOC109);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		result0 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		result0 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		NI LOC121;
		NI LOC122;
		LOC121 = (NI)0;
		LOC121 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		LOC122 = (NI)0;
		LOC122 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 1), ((NI) -1));
		result0 = (NI)(LOC121 + LOC122);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44):
	{
		NI LOC124;
		LOC124 = (NI)0;
		LOC124 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC124 + ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 47):
	{
		NI LOC126;
		LOC126 = (NI)0;
		LOC126 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC126 + ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		NI LOC128;
		LOC128 = (NI)0;
		LOC128 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC128 + ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		NI LOC130;
		NI LOC131;
		NI LOC132;
		LOC130 = (NI)0;
		LOC130 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 0)]);
		LOC131 = (NI)0;
		LOC131 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 1)]);
		LOC132 = (NI)0;
		LOC132 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 1), ((NI) -1));
		result0 = (NI)((NI)((NI)(LOC130 + LOC131) + LOC132) + ((NI) 5));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 49):
	{
		NI LOC134;
		LOC134 = (NI)0;
		LOC134 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC134 + ((NI) 8));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 50):
	{
		NI LOC136;
		LOC136 = (NI)0;
		LOC136 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC136 + ((NI) 7));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
		NI LOC138;
		LOC138 = (NI)0;
		{
			NI LOC141;
			LOC141 = (NI)0;
			LOC141 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC141)) goto LA142;
			LOC138 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		goto LA139;
		LA142: ;
		{
			LOC138 = ((NI) 0);
		}
		LA139: ;
		result0 = (NI)(LOC138 + ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 141):
	{
		NI LOC146;
		LOC146 = (NI)0;
		{
			NI LOC149;
			NI LOC152;
			LOC149 = (NI)0;
			LOC149 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC149)) goto LA150;
			LOC152 = (NI)0;
			LOC152 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			LOC146 = (NI)(LOC152 + ((NI) 1));
		}
		goto LA147;
		LA150: ;
		{
			LOC146 = ((NI) 0);
		}
		LA147: ;
		result0 = (NI)(LOC146 + ((NI) 3));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 142):
	{
		NI LOC155;
		LOC155 = (NI)0;
		{
			NI LOC158;
			NI LOC161;
			LOC158 = (NI)0;
			LOC158 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC158)) goto LA159;
			LOC161 = (NI)0;
			LOC161 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			LOC155 = (NI)(LOC161 + ((NI) 1));
		}
		goto LA156;
		LA159: ;
		{
			LOC155 = ((NI) 0);
		}
		LA156: ;
		result0 = (NI)(LOC155 + ((NI) 3));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 143):
	{
		NI LOC164;
		LOC164 = (NI)0;
		{
			NI LOC167;
			NI LOC170;
			LOC167 = (NI)0;
			LOC167 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC167)) goto LA168;
			LOC170 = (NI)0;
			LOC170 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			LOC164 = (NI)(LOC170 + ((NI) 1));
		}
		goto LA165;
		LA168: ;
		{
			LOC164 = ((NI) 0);
		}
		LA165: ;
		result0 = (NI)(LOC164 + ((NI) 3));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 146):
	{
		NI LOC173;
		LOC173 = (NI)0;
		{
			NI LOC176;
			NI LOC179;
			LOC176 = (NI)0;
			LOC176 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC176)) goto LA177;
			LOC179 = (NI)0;
			LOC179 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			LOC173 = (NI)(LOC179 + ((NI) 1));
		}
		goto LA174;
		LA177: ;
		{
			LOC173 = ((NI) 0);
		}
		LA174: ;
		result0 = (NI)(((NI) 8) + LOC173);
		{
			NI LOC183;
			NI LOC186;
			Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC193;
			NI LOC194;
			LOC183 = (NI)0;
			LOC183 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 1) < LOC183)) goto LA184;
			LOC186 = (NI)0;
			{
				Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC189;
				LOC189 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
				LOC189 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1));
				if (!((*LOC189).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA190;
				LOC186 = ((NI) 6);
			}
			goto LA187;
			LA190: ;
			{
				LOC186 = ((NI) 9);
			}
			LA187: ;
			result0 += LOC186;
			LOC193 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
			LOC193 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1));
			LOC194 = (NI)0;
			LOC194 = lcomma_Sf28jQNyPpkrdqpUVRQatA(LOC193, ((NI) 0), ((NI) -1));
			result0 += LOC194;
		}
		LA184: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 137):
	{
		NI LOC196;
		LOC196 = (NI)0;
		{
			NI LOC199;
			LOC199 = (NI)0;
			LOC199 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC199)) goto LA200;
			LOC196 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		goto LA197;
		LA200: ;
		{
			LOC196 = ((NI) 0);
		}
		LA197: ;
		result0 = (NI)(LOC196 + ((NI) 8));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 103):
	{
		NI LOC204;
		LOC204 = (NI)0;
		LOC204 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC204 + ((NI) 3));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 77):
	{
		NI LOC206;
		LOC206 = (NI)0;
		LOC206 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC206 + ((NI) 3));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 147):
	{
		NI LOC208;
		LOC208 = (NI)0;
		LOC208 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC208 + ((NI) 5));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 148):
	{
		NI LOC210;
		LOC210 = (NI)0;
		LOC210 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC210 + ((NI) 9));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 149):
	{
		NI LOC212;
		LOC212 = (NI)0;
		LOC212 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC212 + ((NI) 7));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 150):
	{
		{
			NI LOC216;
			NI LOC219;
			NI LOC220;
			LOC216 = (NI)0;
			LOC216 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 0) < LOC216)) goto LA217;
			LOC219 = (NI)0;
			LOC219 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			LOC220 = (NI)0;
			LOC220 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 1), ((NI) -1));
			result0 = (NI)((NI)(LOC219 + LOC220) + ((NI) 5));
		}
		goto LA214;
		LA217: ;
		{
			result0 = ((NI) 4);
		}
		LA214: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		NI LOC223;
		LOC223 = (NI)0;
		LOC223 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC223 + ((NI) 3));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 100):
	{
		{
			NI LOC227;
			LOC227 = (NI)0;
			LOC227 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 1) < LOC227)) goto LA228;
			result0 = ((NI) 81);
		}
		goto LA225;
		LA228: ;
		{
			NI LOC231;
			LOC231 = (NI)0;
			LOC231 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
			result0 = (NI)(LOC231 + ((NI) 4));
		}
		LA225: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		{
			NI LOC235;
			LOC235 = (NI)0;
			LOC235 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 1) < LOC235)) goto LA236;
			result0 = ((NI) 81);
		}
		goto LA233;
		LA236: ;
		{
			NI LOC239;
			LOC239 = (NI)0;
			LOC239 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
			result0 = (NI)(LOC239 + ((NI) 6));
		}
		LA233: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		NI LOC241;
		LOC241 = (NI)0;
		LOC241 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC241 + ((NI) 7));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		NI LOC243;
		LOC243 = (NI)0;
		LOC243 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC243 + ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 104):
	{
		NI LOC245;
		LOC245 = (NI)0;
		LOC245 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC245 + ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		NI LOC247;
		LOC247 = (NI)0;
		LOC247 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC247 + ((NI) 8));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		NI LOC249;
		LOC249 = (NI)0;
		LOC249 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC249 + ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 111):
	{
		NI LOC251;
		LOC251 = (NI)0;
		LOC251 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC251 + ((NI) 9));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		NI LOC253;
		LOC253 = (NI)0;
		LOC253 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC253 + ((NI) 4));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125):
	{
		{
			if (!((*n0).comment == 0)) goto LA257;
			result0 = ((NI) 0);
		}
		goto LA255;
		LA257: ;
		{
			result0 = ((*n0).comment ? (*n0).comment->Sup.len : 0);
		}
		LA255: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85):
	{
		NI LOC261;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC262;
		NI LOC263;
		LOC261 = (NI)0;
		LOC261 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -2));
		LOC262 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC262 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0);
		LOC263 = (NI)0;
		LOC263 = lsub_uq0y41pTwWaRhY4eC8c9c7g(LOC262);
		result0 = (NI)((NI)(LOC261 + LOC263) + ((NI) 5));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		NI LOC265;
		NI LOC266;
		LOC265 = (NI)0;
		LOC265 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		LOC266 = (NI)0;
		LOC266 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 1)]);
		result0 = (NI)((NI)(LOC265 + ((NI) 4)) + LOC266);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 86):
	{
		NI LOC268;
		LOC268 = (NI)0;
		LOC268 = lsons_Sf28jQNyPpkrdqpUVRQatA_2(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC268 + ((NI) 7));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88):
	{
		NI LOC270;
		LOC270 = (NI)0;
		LOC270 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC270 + ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107):
	{
		NI LOC272;
		LOC272 = (NI)0;
		LOC272 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		result0 = (NI)(LOC272 + ((NI) 9));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75):
	{
		NI LOC274;
		LOC274 = (NI)0;
		LOC274 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -1));
		result0 = (NI)(LOC274 + ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
		NI LOC276;
		LOC276 = (NI)0;
		LOC276 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 1), ((NI) -1));
		result0 = (NI)(LOC276 + ((NI) 2));
		{
			NI LOC281;
			if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA279;
			LOC281 = (NI)0;
			LOC281 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			result0 = (NI)((NI)(result0 + LOC281) + ((NI) 2));
		}
		LA279: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 87):
	{
		NI LOC283;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC284;
		NI LOC285;
		LOC283 = (NI)0;
		LOC283 = lcomma_Sf28jQNyPpkrdqpUVRQatA(n0, ((NI) 0), ((NI) -2));
		LOC284 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC284 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0);
		LOC285 = (NI)0;
		LOC285 = lsub_uq0y41pTwWaRhY4eC8c9c7g(LOC284);
		result0 = (NI)((NI)(LOC283 + LOC285) + ((NI) 9));
	}
	break;
	default:
	{
		result0 = ((NI) 81);
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NIM_BOOL, fits_okHoXraV67vknpTMz9aJPww)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, NI x0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	result0 = ((NI)(x0 + (*g0).linelen) <= ((NI) 80));
	return result0;
}

N_NIMCALL(void, putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* s0) {
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, kind0, s0);
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
}

N_NIMCALL(NIM_BOOL, hascom_xSH6mY9c8k9acC3PiiaOK9bIQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NIM_BOOL result0;
{	result0 = (NIM_BOOL)0;
	result0 = NIM_FALSE;
	{
		if (!(n0 == 0)) goto LA3;
		result0 = NIM_FALSE;
		goto BeforeRet;
	}
	LA3: ;
	{
		if (!!(((*n0).comment == NIM_NIL))) goto LA7;
		result0 = NIM_TRUE;
		goto BeforeRet;
	}
	LA7: ;
	switch ((*n0).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
	}
	break;
	default:
	{
		{
			NI i_CWC0N30KL0SqZGDReqtszQ;
			NI HEX3Atmp_1qe9bYehKGZDlGzA4kvx85w;
			NI LOC12;
			NI res_NGgS8J7T6pNKgQPyFHbngg;
			i_CWC0N30KL0SqZGDReqtszQ = (NI)0;
			HEX3Atmp_1qe9bYehKGZDlGzA4kvx85w = (NI)0;
			LOC12 = (NI)0;
			LOC12 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			HEX3Atmp_1qe9bYehKGZDlGzA4kvx85w = (NI)(LOC12 - ((NI) 1));
			res_NGgS8J7T6pNKgQPyFHbngg = ((NI) 0);
			{
				while (1) {
					if (!(res_NGgS8J7T6pNKgQPyFHbngg <= HEX3Atmp_1qe9bYehKGZDlGzA4kvx85w)) goto LA14;
					i_CWC0N30KL0SqZGDReqtszQ = res_NGgS8J7T6pNKgQPyFHbngg;
					{
						NIM_BOOL LOC17;
						LOC17 = (NIM_BOOL)0;
						LOC17 = hascom_xSH6mY9c8k9acC3PiiaOK9bIQ_2((*n0).kindU.S6.sons->data[i_CWC0N30KL0SqZGDReqtszQ]);
						if (!LOC17) goto LA18;
						result0 = NIM_TRUE;
						goto BeforeRet;
					}
					LA18: ;
					res_NGgS8J7T6pNKgQPyFHbngg += ((NI) 1);
				} LA14: ;
			}
		}
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NIM_BOOL, shouldrendercomment_ssKUtjG3whzEJjtvq9cRKpA)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	result0 = NIM_FALSE;
	{
		NIM_BOOL LOC5;
		if (!!(((*n0).comment == NIM_NIL))) goto LA3;
		LOC5 = (NIM_BOOL)0;
		LOC5 = !((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 2))&7U)))!=0));
		if (LOC5) goto LA6;
		LOC5 = (((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 3))&7U)))!=0);
		LA6: ;
		result0 = LOC5;
	}
	LA3: ;
	return result0;
}

N_NIMCALL(NI, maxlinelength_wFXaHQwbFteOyQgZ9cTGjlg)(NimStringDesc* s0) {
	NI result0;
	NI i0;
	NI linelen0;
{	result0 = (NI)0;
	{
		if (!(s0 == 0)) goto LA3;
		result0 = ((NI) 0);
		goto BeforeRet;
	}
	LA3: ;
	i0 = ((NI) 0);
	linelen0 = ((NI) 0);
	{
		while (1) {
			switch (((NU8)(s0->data[i0]))) {
			case 0:
			{
				goto LA5;
			}
			break;
			case 13:
			{
				i0 += ((NI) 1);
				{
					if (!((NU8)(s0->data[i0]) == (NU8)(10))) goto LA11;
					i0 += ((NI) 1);
				}
				LA11: ;
				result0 = ((result0 >= linelen0) ? result0 : linelen0);
				linelen0 = ((NI) 0);
			}
			break;
			case 10:
			{
				i0 += ((NI) 1);
				result0 = ((result0 >= linelen0) ? result0 : linelen0);
				linelen0 = ((NI) 0);
			}
			break;
			default:
			{
				linelen0 += ((NI) 1);
				i0 += ((NI) 1);
			}
			break;
			}
		}
	} LA5: ;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, optnl_0GppufTGx639b3oTb49aPo9aw_3)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0) {
	optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, (*g0).indent);
}

N_NIMCALL(void, putcomment_xdVvQ0Olk83KTw7MCS2w5g)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, NimStringDesc* s0) {
	NI i0;
	NIM_BOOL iscode0;
	NIM_BOOL LOC5;
	NI ind0;
	NimStringDesc* com0;
{	{
		if (!(s0 == 0)) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	i0 = ((NI) 0);
	LOC5 = (NIM_BOOL)0;
	LOC5 = (((NI) 2) <= (s0 ? s0->Sup.len : 0));
	if (!(LOC5)) goto LA6;
	LOC5 = !(((NU8)(s0->data[((NI) 1)]) == (NU8)(32)));
	LA6: ;
	iscode0 = LOC5;
	ind0 = (*g0).linelen;
	com0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_34));
	{
		while (1) {
			switch (((NU8)(s0->data[i0]))) {
			case 0:
			{
				goto LA7;
			}
			break;
			case 13:
			{
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 113), com0);
				com0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_34));
				i0 += ((NI) 1);
				{
					if (!((NU8)(s0->data[i0]) == (NU8)(10))) goto LA13;
					i0 += ((NI) 1);
				}
				LA13: ;
				optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, ind0);
			}
			break;
			case 10:
			{
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 113), com0);
				com0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_34));
				i0 += ((NI) 1);
				optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, ind0);
			}
			break;
			case 32:
			case 9:
			{
				com0 = addChar(com0, s0->data[i0]);
				i0 += ((NI) 1);
			}
			break;
			default:
			{
				NI j0;
				j0 = i0;
				{
					while (1) {
						if (!((NU8)(32) < (NU8)(s0->data[j0]))) goto LA19;
						j0 += ((NI) 1);
					} LA19: ;
				}
				{
					NIM_BOOL LOC22;
					LOC22 = (NIM_BOOL)0;
					LOC22 = !(iscode0);
					if (!(LOC22)) goto LA23;
					LOC22 = (((NI) 80) < (NI)((*g0).linelen + (NI)(j0 - i0)));
					LA23: ;
					if (!LOC22) goto LA24;
					put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 113), com0);
					optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, ind0);
					com0 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_34));
				}
				LA24: ;
				{
					while (1) {
						if (!((NU8)(32) < (NU8)(s0->data[i0]))) goto LA27;
						com0 = addChar(com0, s0->data[i0]);
						i0 += ((NI) 1);
					} LA27: ;
				}
			}
			break;
			}
		}
	} LA7: ;
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 113), com0);
	optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
	}BeforeRet: ;
}

N_NIMCALL(void, gcom_uyjIzGcAeLcpeStEA2Fi7w_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = shouldrendercomment_ssKUtjG3whzEJjtvq9cRKpA(g0, n0);
		if (!LOC3) goto LA4;
		{
			NIM_BOOL LOC8;
			NIM_BOOL LOC9;
			LOC8 = (NIM_BOOL)0;
			LOC9 = (NIM_BOOL)0;
			LOC9 = ((*g0).pendingnl < ((NI) 0));
			if (!(LOC9)) goto LA10;
			LOC9 = (((NI) 0) < ((*g0).buf ? (*g0).buf->Sup.len : 0));
			LA10: ;
			LOC8 = LOC9;
			if (!(LOC8)) goto LA11;
			LOC8 = !(((NU8)((*g0).buf->data[(NI)(((*g0).buf ? (*g0).buf->Sup.len : 0) - ((NI) 1))]) == (NU8)(32)));
			LA11: ;
			if (!LOC8) goto LA12;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		}
		LA12: ;
		{
			NIM_BOOL LOC16;
			NIM_BOOL LOC17;
			NI ml0;
			LOC16 = (NIM_BOOL)0;
			LOC17 = (NIM_BOOL)0;
			LOC17 = ((*g0).pendingnl < ((NI) 0));
			if (!(LOC17)) goto LA18;
			LOC17 = (((NI) 0) < ((*g0).buf ? (*g0).buf->Sup.len : 0));
			LA18: ;
			LOC16 = LOC17;
			if (!(LOC16)) goto LA19;
			LOC16 = ((*g0).linelen < ((NI) 30));
			LA19: ;
			if (!LOC16) goto LA20;
			ml0 = maxlinelength_wFXaHQwbFteOyQgZ9cTGjlg((*n0).comment);
			{
				NimStringDesc* LOC26;
				if (!((NI)(ml0 + ((NI) 30)) <= ((NI) 80))) goto LA24;
				LOC26 = (NimStringDesc*)0;
				LOC26 = nsuRepeatChar(32, ((NI) ((NI)(((NI) 30) - (*g0).linelen))));
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), LOC26);
			}
			LA24: ;
		}
		LA20: ;
		putcomment_xdVvQ0Olk83KTw7MCS2w5g(g0, (*n0).comment);
	}
	LA4: ;
}

N_NIMCALL(void, popallcoms_0GppufTGx639b3oTb49aPo9aw_4)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0) {
	(*g0).comstack = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeq(&((*g0).comstack)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*), ((NI) 0));
}

N_NIMCALL(void, gcoms_0GppufTGx639b3oTb49aPo9aw_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0) {
	{
		NI i_cU2FX55slb4RL36gs0FKfw;
		NI HEX3Atmp_Jpmdm6IqpkQaLOzNa3zS9aw;
		NI res_FDGmHh52dynQDvzbpKHzGg;
		i_cU2FX55slb4RL36gs0FKfw = (NI)0;
		HEX3Atmp_Jpmdm6IqpkQaLOzNa3zS9aw = (NI)0;
		HEX3Atmp_Jpmdm6IqpkQaLOzNa3zS9aw = ((*g0).comstack ? ((*g0).comstack->Sup.len-1) : -1);
		res_FDGmHh52dynQDvzbpKHzGg = ((NI) 0);
		{
			while (1) {
				if (!(res_FDGmHh52dynQDvzbpKHzGg <= HEX3Atmp_Jpmdm6IqpkQaLOzNa3zS9aw)) goto LA3;
				i_cU2FX55slb4RL36gs0FKfw = res_FDGmHh52dynQDvzbpKHzGg;
				gcom_uyjIzGcAeLcpeStEA2Fi7w_2(g0, (*g0).comstack->data[i_cU2FX55slb4RL36gs0FKfw]);
				res_FDGmHh52dynQDvzbpKHzGg += ((NI) 1);
			} LA3: ;
		}
	}
	popallcoms_0GppufTGx639b3oTb49aPo9aw_4(g0);
}

N_NIMCALL(void, gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI ind0, NI start0, NI theend0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA separator0) {
	{
		NI i_uHAGDWrfCp9ak5s5mNxM4Uw;
		NI HEX3Atmp_4Urgrijmgx3hFTyeJ9bJT7w;
		NI LOC2;
		NI res_HlsMyNxSdPrn9c3Pchp40Tg;
		i_uHAGDWrfCp9ak5s5mNxM4Uw = (NI)0;
		HEX3Atmp_4Urgrijmgx3hFTyeJ9bJT7w = (NI)0;
		LOC2 = (NI)0;
		LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		HEX3Atmp_4Urgrijmgx3hFTyeJ9bJT7w = (NI)(LOC2 + theend0);
		res_HlsMyNxSdPrn9c3Pchp40Tg = start0;
		{
			while (1) {
				NIM_BOOL c0;
				NI LOC5;
				NI sublen0;
				NI LOC6;
				NI oldlen0;
				if (!(res_HlsMyNxSdPrn9c3Pchp40Tg <= HEX3Atmp_4Urgrijmgx3hFTyeJ9bJT7w)) goto LA4;
				i_uHAGDWrfCp9ak5s5mNxM4Uw = res_HlsMyNxSdPrn9c3Pchp40Tg;
				LOC5 = (NI)0;
				LOC5 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
				c0 = (i_uHAGDWrfCp9ak5s5mNxM4Uw < (NI)(LOC5 + theend0));
				LOC6 = (NI)0;
				LOC6 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[i_uHAGDWrfCp9ak5s5mNxM4Uw]);
				sublen0 = (NI)(LOC6 + ((NI) (c0)));
				{
					NIM_BOOL LOC9;
					NIM_BOOL LOC10;
					LOC9 = (NIM_BOOL)0;
					LOC10 = (NIM_BOOL)0;
					LOC10 = fits_okHoXraV67vknpTMz9aJPww((&(*g0)), sublen0);
					LOC9 = !(LOC10);
					if (!(LOC9)) goto LA11;
					LOC9 = ((NI)(ind0 + sublen0) < ((NI) 80));
					LA11: ;
					if (!LOC9) goto LA12;
					optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, ind0);
				}
				LA12: ;
				oldlen0 = ((*g0).tokens ? (*g0).tokens->Sup.len : 0);
				gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[i_uHAGDWrfCp9ak5s5mNxM4Uw]);
				{
					if (!c0) goto LA16;
					{
						if (!(oldlen0 < ((*g0).tokens ? (*g0).tokens->Sup.len : 0))) goto LA20;
						putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, separator0, Toktypetostr_7y4sYGQdJmj2c4r0emPULw[(separator0)- 0]);
					}
					LA20: ;
					{
						NIM_BOOL LOC24;
						LOC24 = (NIM_BOOL)0;
						LOC24 = hascom_xSH6mY9c8k9acC3PiiaOK9bIQ_2((*n0).kindU.S6.sons->data[i_uHAGDWrfCp9ak5s5mNxM4Uw]);
						if (!LOC24) goto LA25;
						gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
						optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, ind0);
					}
					LA25: ;
				}
				LA16: ;
				res_HlsMyNxSdPrn9c3Pchp40Tg += ((NI) 1);
			} LA4: ;
		}
	}
}

N_NIMCALL(void, gcomma_cePKc9cEQau31w9auAvt0icA)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0) {
	NI ind0;
	ind0 = (*g0).linelen;
	{
		if (!(((NI) 40) < ind0)) goto LA3;
		ind0 = (NI)((*g0).indent + ((NI) 4));
	}
	LA3: ;
	gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg(g0, n0, ind0, start0, theend0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 105));
}

N_NIMCALL(void, gcomma_WBsq6aIWI0YbAY07tgvprg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c0, NI start0, NI theend0) {
	NI ind0;
	ind0 = (NI)0;
	{
		if (!((c0.Field1 &(1U<<((NU)(((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 1))&7U)))!=0)) goto LA3;
		ind0 = (NI)((*g0).indent + ((NI) 2));
	}
	goto LA1;
	LA3: ;
	{
		ind0 = (*g0).linelen;
		{
			if (!(((NI) 40) < ind0)) goto LA8;
			ind0 = (NI)((*g0).indent + ((NI) 4));
		}
		LA8: ;
	}
	LA1: ;
	gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg(g0, n0, ind0, start0, theend0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 105));
}

N_NIMCALL(void, gsemicolon_cePKc9cEQau31w9auAvt0icA_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0) {
	NI ind0;
	ind0 = (*g0).linelen;
	{
		if (!(((NI) 40) < ind0)) goto LA3;
		ind0 = (NI)((*g0).indent + ((NI) 4));
	}
	LA3: ;
	gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg(g0, n0, ind0, start0, theend0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 106));
}

N_NIMCALL(void, doparamsaux_KLxu6hJo9aBH9aQCSRS509cEQ)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* params0) {
	{
		NI LOC3;
		LOC3 = (NI)0;
		LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0);
		if (!(((NI) 1) < LOC3)) goto LA4;
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gsemicolon_cePKc9cEQau31w9auAvt0icA_2(g0, params0, ((NI) 1), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	LA4: ;
	{
		NIM_BOOL LOC8;
		NI LOC9;
		LOC8 = (NIM_BOOL)0;
		LOC9 = (NI)0;
		LOC9 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0);
		LOC8 = (((NI) 0) < LOC9);
		if (!(LOC8)) goto LA10;
		LOC8 = !(((*(*params0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA10: ;
		if (!LOC8) goto LA11;
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_54));
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*params0).kindU.S6.sons->data[((NI) 0)]);
	}
	LA11: ;
}

N_NIMCALL(void, gsons_WBsq6aIWI0YbAY07tgvprg_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c0, NI start0, NI theend0) {
	{
		NI i_6fE4xjO2LVmkDPEmrPxhNg;
		NI HEX3Atmp_L0fFKZEiV6mJ9bit2MbWygA;
		NI LOC2;
		NI res_Hc49b42e5yqT49bkTbcX2tGQ;
		i_6fE4xjO2LVmkDPEmrPxhNg = (NI)0;
		HEX3Atmp_L0fFKZEiV6mJ9bit2MbWygA = (NI)0;
		LOC2 = (NI)0;
		LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		HEX3Atmp_L0fFKZEiV6mJ9bit2MbWygA = (NI)(LOC2 + theend0);
		res_Hc49b42e5yqT49bkTbcX2tGQ = start0;
		{
			while (1) {
				if (!(res_Hc49b42e5yqT49bkTbcX2tGQ <= HEX3Atmp_L0fFKZEiV6mJ9bit2MbWygA)) goto LA4;
				i_6fE4xjO2LVmkDPEmrPxhNg = res_Hc49b42e5yqT49bkTbcX2tGQ;
				gsub_NmOOKTnnEkQl0J72fGke1g(g0, (*n0).kindU.S6.sons->data[i_6fE4xjO2LVmkDPEmrPxhNg], c0);
				res_Hc49b42e5yqT49bkTbcX2tGQ += ((NI) 1);
			} LA4: ;
		}
	}
}

N_NIMCALL(void, indentnl_0GppufTGx639b3oTb49aPo9aw_5)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0) {
	(*g0).indent += ((NI) 2);
	(*g0).pendingnl = (*g0).indent;
	(*g0).linelen = (*g0).indent;
}

N_NIMCALL(void, dedent_0GppufTGx639b3oTb49aPo9aw_6)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0) {
	(*g0).indent -= ((NI) 2);
	{
		if (!(((NI) 2) < (*g0).pendingnl)) goto LA3;
		(*g0).pendingnl -= ((NI) 2);
		(*g0).linelen -= ((NI) 2);
	}
	LA3: ;
}

N_NIMCALL(void, putnl_Bn25Q9bSUPbqQaYAwa1JWQw_2)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, NI indent0) {
	{
		if (!(((NI) 0) <= (*g0).pendingnl)) goto LA3;
		addpendingnl_0GppufTGx639b3oTb49aPo9aw(g0);
	}
	goto LA1;
	LA3: ;
	{
		addtok_UXLD5yop8GFc9cym9cwb1qUg_3(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_4));
	}
	LA1: ;
	(*g0).pendingnl = indent0;
	(*g0).linelen = indent0;
	(*g0).pendingwhitespace = ((NI) -1);
}

N_NIMCALL(void, putnl_0GppufTGx639b3oTb49aPo9aw_7)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0) {
	putnl_Bn25Q9bSUPbqQaYAwa1JWQw_2(g0, (*g0).indent);
}

N_NIMCALL(void, gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c0, NIM_BOOL doindent0) {
{	{
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	{
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA7;
		{
			if (!doindent0) goto LA11;
			indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
		}
		LA11: ;
		{
			NI i_f8BOWnYUybxyOUz7h8OCLw;
			NI HEX3Atmp_wyvxXtd4SmpbmwVAydFnAQ;
			NI LOC14;
			NI res_2kLu9aUiPf0uv4Xzi8jUOpw;
			i_f8BOWnYUybxyOUz7h8OCLw = (NI)0;
			HEX3Atmp_wyvxXtd4SmpbmwVAydFnAQ = (NI)0;
			LOC14 = (NI)0;
			LOC14 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			HEX3Atmp_wyvxXtd4SmpbmwVAydFnAQ = (NI)(LOC14 - ((NI) 1));
			res_2kLu9aUiPf0uv4Xzi8jUOpw = ((NI) 0);
			{
				while (1) {
					if (!(res_2kLu9aUiPf0uv4Xzi8jUOpw <= HEX3Atmp_wyvxXtd4SmpbmwVAydFnAQ)) goto LA16;
					i_f8BOWnYUybxyOUz7h8OCLw = res_2kLu9aUiPf0uv4Xzi8jUOpw;
					optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
					{
						if (!((*(*n0).kindU.S6.sons->data[i_f8BOWnYUybxyOUz7h8OCLw]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*(*n0).kindU.S6.sons->data[i_f8BOWnYUybxyOUz7h8OCLw]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*(*n0).kindU.S6.sons->data[i_f8BOWnYUybxyOUz7h8OCLw]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA19;
						gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[i_f8BOWnYUybxyOUz7h8OCLw], c0, NIM_FALSE);
					}
					goto LA17;
					LA19: ;
					{
						gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[i_f8BOWnYUybxyOUz7h8OCLw]);
					}
					LA17: ;
					gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
					res_2kLu9aUiPf0uv4Xzi8jUOpw += ((NI) 1);
				} LA16: ;
			}
		}
		{
			if (!doindent0) goto LA24;
			dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
		}
		LA24: ;
	}
	goto LA5;
	LA7: ;
	{
		{
			if (!((c0.Field1 &(1U<<((NU)(((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))&7U)))!=0)) goto LA29;
			indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
		}
		LA29: ;
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, n0);
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
		{
			if (!((c0.Field1 &(1U<<((NU)(((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))&7U)))!=0)) goto LA33;
			dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
		}
		LA33: ;
	}
	LA5: ;
	}BeforeRet: ;
}

N_NIMCALL(NIM_BOOL, longmode_q6CgeJT80xvLBR0NBouTDw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0, NI theend0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	result0 = !(((*n0).comment == NIM_NIL));
	{
		if (!!(result0)) goto LA3;
		{
			NI i_dllZ9b4Akxe9a44Ik39b8GB9bQ;
			NI HEX3Atmp_rHQ6WJRRJ4e9cCb5l5g9bBYg;
			NI LOC6;
			NI res_h9aHaxGAKmrjZFtC6wV3sbw;
			i_dllZ9b4Akxe9a44Ik39b8GB9bQ = (NI)0;
			HEX3Atmp_rHQ6WJRRJ4e9cCb5l5g9bBYg = (NI)0;
			LOC6 = (NI)0;
			LOC6 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			HEX3Atmp_rHQ6WJRRJ4e9cCb5l5g9bBYg = (NI)(LOC6 + theend0);
			res_h9aHaxGAKmrjZFtC6wV3sbw = start0;
			{
				while (1) {
					if (!(res_h9aHaxGAKmrjZFtC6wV3sbw <= HEX3Atmp_rHQ6WJRRJ4e9cCb5l5g9bBYg)) goto LA8;
					i_dllZ9b4Akxe9a44Ik39b8GB9bQ = res_h9aHaxGAKmrjZFtC6wV3sbw;
					{
						NI LOC11;
						LOC11 = (NI)0;
						LOC11 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[i_dllZ9b4Akxe9a44Ik39b8GB9bQ]);
						if (!(((NI) 80) < LOC11)) goto LA12;
						result0 = NIM_TRUE;
						goto LA5;
					}
					LA12: ;
					res_h9aHaxGAKmrjZFtC6wV3sbw += ((NI) 1);
				} LA8: ;
			}
		} LA5: ;
	}
	LA3: ;
	return result0;
}

N_NIMCALL(void, gif_5eccg0mxlFLgBiNmpRHFig_3)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	NI length0;
	memset((void*)(&c0), 0, sizeof(c0));
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 0)]);
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
	{
		NIM_BOOL LOC3;
		NI LOC5;
		LOC3 = (NIM_BOOL)0;
		LOC3 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), ((NI) -1));
		if (LOC3) goto LA4;
		LOC5 = (NI)0;
		LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 1)]);
		LOC3 = (((NI) 80) < (NI)(LOC5 + (*g0).linelen));
		LA4: ;
		if (!LOC3) goto LA6;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA6: ;
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 1)], c0, NIM_TRUE);
	length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
	{
		NI i_EEoYclnRf33EqM8wEkwPgg;
		NI HEX3Atmp_YeGrMqwuWDBwfFuX3A7T0A;
		NI res_00mbcKbO9aTZOiMivDc0Aeg;
		i_EEoYclnRf33EqM8wEkwPgg = (NI)0;
		HEX3Atmp_YeGrMqwuWDBwfFuX3A7T0A = (NI)0;
		HEX3Atmp_YeGrMqwuWDBwfFuX3A7T0A = (NI)(length0 - ((NI) 1));
		res_00mbcKbO9aTZOiMivDc0Aeg = ((NI) 1);
		{
			while (1) {
				if (!(res_00mbcKbO9aTZOiMivDc0Aeg <= HEX3Atmp_YeGrMqwuWDBwfFuX3A7T0A)) goto LA10;
				i_EEoYclnRf33EqM8wEkwPgg = res_00mbcKbO9aTZOiMivDc0Aeg;
				optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
				gsub_NmOOKTnnEkQl0J72fGke1g(g0, (*n0).kindU.S6.sons->data[i_EEoYclnRf33EqM8wEkwPgg], c0);
				res_00mbcKbO9aTZOiMivDc0Aeg += ((NI) 1);
			} LA10: ;
		}
	}
}

N_NIMCALL(void, gwhile_5eccg0mxlFLgBiNmpRHFig_4)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	memset((void*)(&c0), 0, sizeof(c0));
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 68), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_73));
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	{
		NIM_BOOL LOC3;
		NI LOC5;
		LOC3 = (NIM_BOOL)0;
		LOC3 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), ((NI) -1));
		if (LOC3) goto LA4;
		LOC5 = (NI)0;
		LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 1)]);
		LOC3 = (((NI) 80) < (NI)(LOC5 + (*g0).linelen));
		LA4: ;
		if (!LOC3) goto LA6;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA6: ;
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 1)], c0, NIM_TRUE);
}

N_NIMCALL(void, gpragmablock_5eccg0mxlFLgBiNmpRHFig_5)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	memset((void*)(&c0), 0, sizeof(c0));
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	{
		NIM_BOOL LOC3;
		NI LOC5;
		LOC3 = (NIM_BOOL)0;
		LOC3 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), ((NI) -1));
		if (LOC3) goto LA4;
		LOC5 = (NI)0;
		LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 1)]);
		LOC3 = (((NI) 80) < (NI)(LOC5 + (*g0).linelen));
		LA4: ;
		if (!LOC3) goto LA6;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA6: ;
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 1)], c0, NIM_TRUE);
}

N_NIMCALL(void, gcase_5eccg0mxlFLgBiNmpRHFig_6)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	NI length0;
	NI last0;
	memset((void*)(&c0), 0, sizeof(c0));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
	{
		if (!((*(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA3;
		last0 = ((NI) -2);
	}
	goto LA1;
	LA3: ;
	{
		last0 = ((NI) -1);
	}
	LA1: ;
	{
		NIM_BOOL LOC8;
		LOC8 = (NIM_BOOL)0;
		LOC8 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), last0);
		if (!LOC8) goto LA9;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA9: ;
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 11), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_74));
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
	gsons_WBsq6aIWI0YbAY07tgvprg_2(g0, n0, c0, ((NI) 1), last0);
	{
		if (!(last0 == ((NI) -2))) goto LA13;
		initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
		{
			NIM_BOOL LOC17;
			LOC17 = (NIM_BOOL)0;
			LOC17 = longmode_q6CgeJT80xvLBR0NBouTDw((*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))], ((NI) 0), ((NI) -1));
			if (!LOC17) goto LA18;
			c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
		}
		LA18: ;
		gsub_NmOOKTnnEkQl0J72fGke1g(g0, (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))], c0);
	}
	LA13: ;
}

N_NIMCALL(void, gtry_5eccg0mxlFLgBiNmpRHFig_7)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	memset((void*)(&c0), 0, sizeof(c0));
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 62), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_75));
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	{
		NIM_BOOL LOC3;
		NI LOC5;
		LOC3 = (NIM_BOOL)0;
		LOC3 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), ((NI) -1));
		if (LOC3) goto LA4;
		LOC5 = (NI)0;
		LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		LOC3 = (((NI) 80) < (NI)(LOC5 + (*g0).linelen));
		LA4: ;
		if (!LOC3) goto LA6;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA6: ;
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 0)], c0, NIM_TRUE);
	gsons_WBsq6aIWI0YbAY07tgvprg_2(g0, n0, c0, ((NI) 1), ((NI) -1));
}

N_NIMCALL(void, gfor_5eccg0mxlFLgBiNmpRHFig_8)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	NI length0;
	memset((void*)(&c0), 0, sizeof(c0));
	length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 29), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_76));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	{
		NIM_BOOL LOC3;
		NI LOC5;
		NI LOC6;
		LOC3 = (NIM_BOOL)0;
		LOC3 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), ((NI) -1));
		if (LOC3) goto LA4;
		LOC5 = (NI)0;
		LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]);
		LOC6 = (NI)0;
		LOC6 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]);
		LOC3 = (((NI) 80) < (NI)((NI)((NI)(LOC5 + LOC6) + ((NI) 6)) + (*g0).linelen));
		LA4: ;
		if (!LOC3) goto LA7;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA7: ;
	gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c0, ((NI) 0), ((NI) -3));
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 35), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_77));
	gsub_NmOOKTnnEkQl0J72fGke1g(g0, (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))], c0);
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))], c0, NIM_TRUE);
}

N_NIMCALL(void, gblock_5eccg0mxlFLgBiNmpRHFig_9)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	memset((void*)(&c0), 0, sizeof(c0));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	{
		if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3;
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 9), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_78));
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
	}
	goto LA1;
	LA3: ;
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 9), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_78));
	}
	LA1: ;
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
	{
		NIM_BOOL LOC8;
		NI LOC10;
		LOC8 = (NIM_BOOL)0;
		LOC8 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), ((NI) -1));
		if (LOC8) goto LA9;
		LOC10 = (NI)0;
		LOC10 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 1)]);
		LOC8 = (((NI) 80) < (NI)(LOC10 + (*g0).linelen));
		LA9: ;
		if (!LOC8) goto LA11;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA11: ;
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 1)], c0, NIM_TRUE);
	dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
}

N_NIMCALL(void, gstaticstmt_5eccg0mxlFLgBiNmpRHFig_10)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	memset((void*)(&c0), 0, sizeof(c0));
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 60), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_40));
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	{
		NIM_BOOL LOC3;
		NI LOC5;
		LOC3 = (NIM_BOOL)0;
		LOC3 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), ((NI) -1));
		if (LOC3) goto LA4;
		LOC5 = (NI)0;
		LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		LOC3 = (((NI) 80) < (NI)(LOC5 + (*g0).linelen));
		LA4: ;
		if (!LOC3) goto LA6;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA6: ;
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 0)], c0, NIM_TRUE);
}

N_NIMCALL(void, gasm_5eccg0mxlFLgBiNmpRHFig_11)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 6), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_79));
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	{
		if (!(((NI) 1) < ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0))) goto LA3;
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 1)]);
	}
	LA3: ;
}

N_NIMCALL(NIM_BOOL, iskeyword_J8SfzIplItYlZSj2oKWDnA)(Tident_4umxGerWTHGPwUms7Yqu3g* i0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = (((NI) 1) <= (*i0).Sup.id);
		if (!(LOC3)) goto LA4;
		LOC3 = ((*i0).Sup.id <= ((NI) 70));
		LA4: ;
		if (!LOC3) goto LA5;
		result0 = NIM_TRUE;
	}
	LA5: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, renderdefinitionname_htfLIUnR3bbLycMPnQGh9aA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL noquotes0) {
	NimStringDesc* result0;
	NimStringDesc* x0;
	result0 = (NimStringDesc*)0;
	x0 = (*(*s0).name).s;
	{
		NIM_BOOL LOC3;
		NIM_BOOL LOC5;
		NIM_BOOL LOC7;
		LOC3 = (NIM_BOOL)0;
		LOC3 = noquotes0;
		if (LOC3) goto LA4;
		LOC5 = (NIM_BOOL)0;
		LOC5 = (((NU8)(x0->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(x0->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(x0->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(x0->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(x0->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(x0->data[((NI) 0)])) <= ((NU8)(255)));
		if (!(LOC5)) goto LA6;
		LOC7 = (NIM_BOOL)0;
		LOC7 = iskeyword_J8SfzIplItYlZSj2oKWDnA((*s0).name);
		LOC5 = !(LOC7);
		LA6: ;
		LOC3 = LOC5;
		LA4: ;
		if (!LOC3) goto LA8;
		result0 = copyString(x0);
	}
	goto LA1;
	LA8: ;
	{
		NimStringDesc* LOC11;
		LOC11 = (NimStringDesc*)0;
		LOC11 = rawNewString(x0->Sup.len + 2);
appendChar(LOC11, 96);
appendString(LOC11, x0);
appendChar(LOC11, 96);
		result0 = LOC11;
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, gpattern_5eccg0mxlFLgBiNmpRHFig_13)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	memset((void*)(&c0), 0, sizeof(c0));
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 97), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_41));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	{
		NIM_BOOL LOC3;
		NI LOC5;
		LOC3 = (NIM_BOOL)0;
		LOC3 = longmode_q6CgeJT80xvLBR0NBouTDw(n0, ((NI) 0), ((NI) -1));
		if (LOC3) goto LA4;
		LOC5 = (NI)0;
		LOC5 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
		LOC3 = (((NI) 80) < (NI)(LOC5 + (*g0).linelen));
		LA4: ;
		if (!LOC3) goto LA6;
		c0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 0))%(sizeof(NU8)*8));
	}
	LA6: ;
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, n0, c0, NIM_TRUE);
	put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 98), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_42));
}

N_NIMCALL(void, gproc_5eccg0mxlFLgBiNmpRHFig_12)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	NIM_BOOL oldcheckanon0;
	memset((void*)(&c0), 0, sizeof(c0));
	{
		Tsym_AXG7xcvKqaxY6koRX1xkCw* s0;
		NimStringDesc* LOC5;
		if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3;
		s0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym;
		LOC5 = (NimStringDesc*)0;
		LOC5 = renderdefinitionname_htfLIUnR3bbLycMPnQGh9aA(s0, NIM_FALSE);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2), LOC5);
		{
			NimStringDesc* LOC10;
			if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)) goto LA8;
			LOC10 = (NimStringDesc*)0;
			LOC10 = nimIntToStr((*s0).Sup.id);
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 73), LOC10);
		}
		LA8: ;
	}
	goto LA1;
	LA3: ;
	{
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
	}
	LA1: ;
	{
		if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA14;
		gpattern_5eccg0mxlFLgBiNmpRHFig_13(g0, (*n0).kindU.S6.sons->data[((NI) 1)]);
	}
	LA14: ;
	oldcheckanon0 = (*g0).checkanon;
	(*g0).checkanon = NIM_TRUE;
	{
		NIM_BOOL LOC18;
		NIM_BOOL LOC19;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC21;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC23;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC27;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC28;
		LOC18 = (NIM_BOOL)0;
		LOC19 = (NIM_BOOL)0;
		LOC19 = (((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 1))&7U)))!=0);
		if (!(LOC19)) goto LA20;
		LOC21 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC21 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 5));
		LOC19 = !(((*LOC21).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA20: ;
		LOC18 = LOC19;
		if (!(LOC18)) goto LA22;
		LOC23 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC23 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 5));
		LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC24 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC23, ((NI) 1));
		LOC18 = !(((*LOC24).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA22: ;
		if (!LOC18) goto LA25;
		LOC27 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC27 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 5));
		LOC28 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC28 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC27, ((NI) 1));
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, LOC28);
	}
	goto LA16;
	LA25: ;
	{
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 2)]);
	}
	LA16: ;
	(*g0).checkanon = oldcheckanon0;
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 3)]);
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 4)]);
	{
		if (!!((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 1))&7U)))!=0))) goto LA32;
		{
			if (!!(((*(*n0).kindU.S6.sons->data[((NI) 6)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA36;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_43));
			indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
			gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
			dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
			initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
			gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 6)], c0, NIM_TRUE);
			putnl_0GppufTGx639b3oTb49aPo9aw_7(g0);
		}
		goto LA34;
		LA36: ;
		{
			indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
			gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
			dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
		}
		LA34: ;
	}
	LA32: ;
}

N_NIMCALL(void, gsection_Dm6FWKFeMufDKYra1XJxVg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA kind0, NimStringDesc* k0) {
{	{
		NI LOC3;
		LOC3 = (NI)0;
		LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		if (!(LOC3 == ((NI) 0))) goto LA4;
		goto BeforeRet;
	}
	LA4: ;
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, kind0, k0);
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
	{
		NI i_j9cLKRdhb1x3beVV89ag5KoA;
		NI HEX3Atmp_SqDEf6kwuYFc9cL6sp3FkvQ;
		NI LOC7;
		NI res_8c9cNiFXcG7gZQZkAimnuEA;
		i_j9cLKRdhb1x3beVV89ag5KoA = (NI)0;
		HEX3Atmp_SqDEf6kwuYFc9cL6sp3FkvQ = (NI)0;
		LOC7 = (NI)0;
		LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		HEX3Atmp_SqDEf6kwuYFc9cL6sp3FkvQ = (NI)(LOC7 - ((NI) 1));
		res_8c9cNiFXcG7gZQZkAimnuEA = ((NI) 0);
		{
			while (1) {
				if (!(res_8c9cNiFXcG7gZQZkAimnuEA <= HEX3Atmp_SqDEf6kwuYFc9cL6sp3FkvQ)) goto LA9;
				i_j9cLKRdhb1x3beVV89ag5KoA = res_8c9cNiFXcG7gZQZkAimnuEA;
				optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
				gsub_NmOOKTnnEkQl0J72fGke1g(g0, (*n0).kindU.S6.sons->data[i_j9cLKRdhb1x3beVV89ag5KoA], c0);
				gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
				res_8c9cNiFXcG7gZQZkAimnuEA += ((NI) 1);
			} LA9: ;
		}
	}
	dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
	}BeforeRet: ;
}

N_NIMCALL(void, gtypeclassty_5eccg0mxlFLgBiNmpRHFig_14)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC3;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4;
	memset((void*)(&c0), 0, sizeof(c0));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 13), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_111));
	LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0));
	gsons_WBsq6aIWI0YbAY07tgvprg_2(g0, LOC1, c0, ((NI) 0), ((NI) -1));
	LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	LOC2 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1));
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, LOC2);
	LOC3 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	LOC3 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2));
	gsub_5eccg0mxlFLgBiNmpRHFig(g0, LOC3);
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
	gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
	LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	LOC4 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 3));
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, LOC4, c0, NIM_TRUE);
	dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
}

N_NIMCALL(void, gsub_NmOOKTnnEkQl0J72fGke1g)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_O2u2Fk7tlGg9b7lAVNkV3hw c_D9a31SxPtMnbZg9a0A7soLKw) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw a0;
{	{
		if (!(n0 == 0)) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	memset((void*)(&a0), 0, sizeof(a0));
	{
		if (!!(((*n0).comment == NIM_NIL))) goto LA7;
		pushcom_uyjIzGcAeLcpeStEA2Fi7w(g0, n0);
	}
	LA7: ;
	switch ((*n0).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		putrawstr_UXLD5yop8GFc9cym9cwb1qUg(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 89), (*n0).kindU.S3.strval);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		NimStringDesc* LOC12;
		LOC12 = (NimStringDesc*)0;
		LOC12 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 0), LOC12);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		gident_5eccg0mxlFLgBiNmpRHFig_2(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		NimStringDesc* LOC15;
		LOC15 = (NimStringDesc*)0;
		LOC15 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 73), LOC15);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 7):
	{
		NimStringDesc* LOC17;
		LOC17 = (NimStringDesc*)0;
		LOC17 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 74), LOC17);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 8):
	{
		NimStringDesc* LOC19;
		LOC19 = (NimStringDesc*)0;
		LOC19 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 75), LOC19);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 9):
	{
		NimStringDesc* LOC21;
		LOC21 = (NimStringDesc*)0;
		LOC21 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 76), LOC21);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 10):
	{
		NimStringDesc* LOC23;
		LOC23 = (NimStringDesc*)0;
		LOC23 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 77), LOC23);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 11):
	{
		NimStringDesc* LOC25;
		LOC25 = (NimStringDesc*)0;
		LOC25 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 78), LOC25);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 12):
	{
		NimStringDesc* LOC27;
		LOC27 = (NimStringDesc*)0;
		LOC27 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 79), LOC27);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 13):
	{
		NimStringDesc* LOC29;
		LOC29 = (NimStringDesc*)0;
		LOC29 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 80), LOC29);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 14):
	{
		NimStringDesc* LOC31;
		LOC31 = (NimStringDesc*)0;
		LOC31 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 81), LOC31);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		NimStringDesc* LOC33;
		LOC33 = (NimStringDesc*)0;
		LOC33 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 82), LOC33);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16):
	{
		NimStringDesc* LOC35;
		LOC35 = (NimStringDesc*)0;
		LOC35 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 83), LOC35);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		NimStringDesc* LOC37;
		LOC37 = (NimStringDesc*)0;
		LOC37 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 84), LOC37);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		NimStringDesc* LOC39;
		LOC39 = (NimStringDesc*)0;
		LOC39 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 85), LOC39);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		NimStringDesc* LOC41;
		LOC41 = (NimStringDesc*)0;
		LOC41 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 86), LOC41);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20):
	{
		NimStringDesc* LOC43;
		LOC43 = (NimStringDesc*)0;
		LOC43 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 87), LOC43);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
	{
		NimStringDesc* LOC45;
		LOC45 = (NimStringDesc*)0;
		LOC45 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 88), LOC45);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		NimStringDesc* LOC47;
		LOC47 = (NimStringDesc*)0;
		LOC47 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 92), LOC47);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		NimStringDesc* LOC49;
		LOC49 = (NimStringDesc*)0;
		LOC49 = atom_qX5C9b0n9bOP7jk69amC8dA7A(n0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 46), LOC49);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 25):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 153):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		{
			NIM_BOOL LOC53;
			NI LOC54;
			Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC56;
			LOC53 = (NIM_BOOL)0;
			LOC54 = (NI)0;
			LOC54 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			LOC53 = (((NI) 0) < LOC54);
			if (!(LOC53)) goto LA55;
			LOC56 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
			LOC56 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0));
			LOC53 = isbracket_xSH6mY9c8k9acC3PiiaOK9bIQ(LOC56);
			LA55: ;
			if (!LOC53) goto LA57;
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 95), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_32));
			gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 2), ((NI) -1));
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 96), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_35));
		}
		goto LA51;
		LA57: ;
		{
			{
				NI LOC62;
				LOC62 = (NI)0;
				LOC62 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
				if (!(((NI) 1) <= LOC62)) goto LA63;
				gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
			}
			LA63: ;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
			gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 1), ((NI) -1));
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
		}
		LA51: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		{
			NIM_BOOL LOC68;
			NI LOC69;
			NimStringDesc* LOC73;
			Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC74;
			NimStringDesc* LOC75;
			LOC68 = (NIM_BOOL)0;
			LOC69 = (NI)0;
			LOC69 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			LOC68 = (((NI) 1) < LOC69);
			if (!(LOC68)) goto LA70;
			LOC68 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 21));
			LA70: ;
			if (!LOC68) goto LA71;
			LOC73 = (NimStringDesc*)0;
			LOC74 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
			LOC74 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1));
			LOC75 = (NimStringDesc*)0;
			LOC75 = nsuReplaceStr((*LOC74).kindU.S3.strval, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_5), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_9));
			LOC73 = rawNewString(LOC75->Sup.len + 2);
appendChar(LOC73, 34);
appendString(LOC73, LOC75);
appendChar(LOC73, 34);
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 88), LOC73);
		}
		goto LA66;
		LA71: ;
		{
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 1)]);
		}
		LA66: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 1)]);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 12), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_38));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 95), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_32));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 96), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_35));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 3), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_39));
		{
			NI LOC82;
			LOC82 = (NI)0;
			LOC82 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC82)) goto LA83;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
		}
		LA83: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 62):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 60), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_40));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 95), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_32));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 1), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 96), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_35));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 97), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_41));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 1), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 98), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_42));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 1), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 1), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_43));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_44));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 0), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_45));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 0), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_46));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 0), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 67):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 71):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		{
			NI LOC97;
			LOC97 = (NI)0;
			LOC97 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 1) <= LOC97)) goto LA98;
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		LA98: ;
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 1), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		{
			NimStringDesc* LOC125;
			if (!(((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 5))&7U)))!=0)) goto LA103;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
			{
				NI i_Arodnnnh21pWVCx0j9aHudQ;
				NI HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww;
				NI LOC106;
				NI res_mNPRaC1WnWAj3RFkVhemMw;
				i_Arodnnnh21pWVCx0j9aHudQ = (NI)0;
				HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww = (NI)0;
				LOC106 = (NI)0;
				LOC106 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
				HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww = (NI)(LOC106 - ((NI) 1));
				res_mNPRaC1WnWAj3RFkVhemMw = ((NI) 0);
				{
					while (1) {
						if (!(res_mNPRaC1WnWAj3RFkVhemMw <= HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww)) goto LA108;
						i_Arodnnnh21pWVCx0j9aHudQ = res_mNPRaC1WnWAj3RFkVhemMw;
						{
							if (!(((NI) 0) < i_Arodnnnh21pWVCx0j9aHudQ)) goto LA111;
							put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_47));
						}
						LA111: ;
						{
							Tsym_AXG7xcvKqaxY6koRX1xkCw* s0;
							Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC117;
							Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC123;
							if (!((*(*n0).kindU.S6.sons->data[i_Arodnnnh21pWVCx0j9aHudQ]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA115;
							LOC117 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
							LOC117 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_Arodnnnh21pWVCx0j9aHudQ);
							s0 = (*LOC117).kindU.S4.sym;
							{
								Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC122;
								if (!!(((*s0).owner == NIM_NIL))) goto LA120;
								LOC122 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
								LOC122 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_Arodnnnh21pWVCx0j9aHudQ);
								put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2), (*(*(*(*LOC122).kindU.S4.sym).owner).name).s);
								put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_48));
							}
							LA120: ;
							LOC123 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
							LOC123 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_Arodnnnh21pWVCx0j9aHudQ);
							put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2), (*(*(*LOC123).kindU.S4.sym).name).s);
						}
						goto LA113;
						LA115: ;
						{
							gsub_NmOOKTnnEkQl0J72fGke1g(g0, (*n0).kindU.S6.sons->data[i_Arodnnnh21pWVCx0j9aHudQ], c_D9a31SxPtMnbZg9a0A7soLKw);
						}
						LA113: ;
						res_mNPRaC1WnWAj3RFkVhemMw += ((NI) 1);
					} LA108: ;
				}
			}
			LOC125 = (NimStringDesc*)0;
			{
				if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA128;
				LOC125 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_49));
			}
			goto LA126;
			LA128: ;
			{
				LOC125 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
			}
			LA126: ;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), LOC125);
		}
		goto LA101;
		LA103: ;
		{
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		}
		LA101: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c_D9a31SxPtMnbZg9a0A7soLKw, ((NI) 0), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 97), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_41));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c_D9a31SxPtMnbZg9a0A7soLKw, ((NI) 0), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 98), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_42));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152):
	{
		gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c_D9a31SxPtMnbZg9a0A7soLKw, ((NI) 0), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 54):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 97), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_41));
		{
			NI LOC138;
			LOC138 = (NI)0;
			LOC138 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC138)) goto LA139;
			gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c_D9a31SxPtMnbZg9a0A7soLKw, ((NI) 0), ((NI) -1));
		}
		goto LA136;
		LA139: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		}
		LA136: ;
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 98), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_42));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 95), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_32));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c_D9a31SxPtMnbZg9a0A7soLKw, ((NI) 0), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 96), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_35));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 110), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_48));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 55):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 8), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_51));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 46):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 53), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_52));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 3));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 4));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_43));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 21), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_53));
		{
			NI LOC150;
			LOC150 = (NI)0;
			LOC150 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 3) < LOC150)) goto LA151;
			doparamsaux_KLxu6hJo9aBH9aQCSRS509cEQ(g0, (*n0).kindU.S6.sons->data[((NI) 3)]);
		}
		LA151: ;
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 4));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 6));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		NI L0;
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 0), ((NI) -3));
		L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		{
			NIM_BOOL LOC156;
			LOC156 = (NIM_BOOL)0;
			LOC156 = (((NI) 2) <= L0);
			if (!(LOC156)) goto LA157;
			LOC156 = !(((*(*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA157: ;
			if (!LOC156) goto LA158;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, (NI)(L0 - ((NI) 2)));
		}
		LA158: ;
		{
			NIM_BOOL LOC162;
			LOC162 = (NIM_BOOL)0;
			LOC162 = (((NI) 1) <= L0);
			if (!(LOC162)) goto LA163;
			LOC162 = !(((*(*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA163: ;
			if (!LOC162) goto LA164;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_43));
			gsub_NmOOKTnnEkQl0J72fGke1g(g0, (*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))], c_D9a31SxPtMnbZg9a0A7soLKw);
		}
		LA164: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36):
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC167;
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 0), ((NI) -3));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_43));
		LOC167 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC167 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0);
		gsub_NmOOKTnnEkQl0J72fGke1g(g0, LOC167, c_D9a31SxPtMnbZg9a0A7soLKw);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		{
			NI LOC172;
			NI LOC173;
			NIM_BOOL LOC174;
			LOC172 = (NI)0;
			LOC172 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 2)]);
			LOC173 = (NI)0;
			LOC173 = lsub_uq0y41pTwWaRhY4eC8c9c7g((*n0).kindU.S6.sons->data[((NI) 0)]);
			LOC174 = (NIM_BOOL)0;
			LOC174 = fits_okHoXraV67vknpTMz9aJPww((&(*g0)), (NI)((NI)(LOC172 + LOC173) + ((NI) 1)));
			if (!!(LOC174)) goto LA175;
			optnl_Bn25Q9bSUPbqQaYAwa1JWQw(g0, (NI)((*g0).indent + ((NI) 4)));
		}
		goto LA170;
		LA175: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		}
		LA170: ;
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 2));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		{
			NI LOC181;
			LOC181 = (NI)0;
			LOC181 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 1) < LOC181)) goto LA182;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
			{
				if (!((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA186;
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
				gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 1)]);
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
			}
			goto LA184;
			LA186: ;
			{
				gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 1)]);
			}
			LA184: ;
		}
		LA182: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 111), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_55));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 47):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_28));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 114), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_56));
		{
			NI LOC195;
			LOC195 = (NI)0;
			LOC195 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC195)) goto LA196;
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		LA196: ;
		{
			NI i_Arodnnnh21pWVCx0j9aHudQ_2;
			NI HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_2;
			NI LOC199;
			NI res_mNPRaC1WnWAj3RFkVhemMw_2;
			i_Arodnnnh21pWVCx0j9aHudQ_2 = (NI)0;
			HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_2 = (NI)0;
			LOC199 = (NI)0;
			LOC199 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_2 = (LOC199 - 1);
			res_mNPRaC1WnWAj3RFkVhemMw_2 = ((NI) 1);
			{
				while (1) {
					if (!(res_mNPRaC1WnWAj3RFkVhemMw_2 <= HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_2)) goto LA201;
					i_Arodnnnh21pWVCx0j9aHudQ_2 = res_mNPRaC1WnWAj3RFkVhemMw_2;
					put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
					gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[i_Arodnnnh21pWVCx0j9aHudQ_2]);
					res_mNPRaC1WnWAj3RFkVhemMw_2 += ((NI) 1);
				} LA201: ;
			}
		}
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 114), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_56));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 33), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_57));
		{
			NI LOC205;
			LOC205 = (NI)0;
			LOC205 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC205)) goto LA206;
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, (*n0).kindU.S6.sons->data[((NI) 0)], ((NI) 0));
		}
		LA206: ;
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		{
			NI LOC210;
			LOC210 = (NI)0;
			LOC210 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC210)) goto LA211;
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, (*n0).kindU.S6.sons->data[((NI) 0)], ((NI) 1));
		}
		LA211: ;
		gsons_WBsq6aIWI0YbAY07tgvprg_2(g0, n0, T_1E0z9biZTE3PahFHulMjtyw_58, ((NI) 1), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 49):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 22), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_59));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 50):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 23), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_60));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 64), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_61));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		{
			NI LOC218;
			LOC218 = (NI)0;
			LOC218 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC218)) goto LA219;
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		LA219: ;
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 141):
	{
		{
			NI LOC224;
			LOC224 = (NI)0;
			LOC224 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 0) < LOC224)) goto LA225;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 56), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_62));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		goto LA222;
		LA225: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 56), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_62));
		}
		LA222: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 142):
	{
		{
			NI LOC231;
			LOC231 = (NI)0;
			LOC231 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 0) < LOC231)) goto LA232;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 54), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_63));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		goto LA229;
		LA232: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 54), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_63));
		}
		LA229: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 143):
	{
		{
			NI LOC238;
			LOC238 = (NI)0;
			LOC238 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 0) < LOC238)) goto LA239;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 66), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_64));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		goto LA236;
		LA239: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 66), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_64));
		}
		LA236: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 146):
	{
		{
			NI LOC245;
			LOC245 = (NI)0;
			LOC245 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC245)) goto LA246;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 19), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_65));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
			{
				NI LOC250;
				Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC259;
				LOC250 = (NI)0;
				LOC250 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
				if (!(((NI) 1) < LOC250)) goto LA251;
				{
					Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC255;
					LOC255 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
					LOC255 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1));
					if (!((*LOC255).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA256;
					putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 69), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_66));
				}
				goto LA253;
				LA256: ;
				{
					putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 70), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_67));
				}
				LA253: ;
				LOC259 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
				LOC259 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1));
				gcomma_cePKc9cEQau31w9auAvt0icA(g0, LOC259, ((NI) 0), ((NI) -1));
			}
			LA251: ;
		}
		goto LA243;
		LA246: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 19), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_65));
		}
		LA243: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 103):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		{
			NIM_BOOL LOC264;
			NI LOC265;
			LOC264 = (NIM_BOOL)0;
			LOC265 = (NI)0;
			LOC265 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			LOC264 = (((NI) 2) < LOC265);
			if (!(LOC264)) goto LA266;
			LOC264 = !(((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA266: ;
			if (!LOC264) goto LA267;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_43));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 2)]);
		}
		LA267: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 133):
	{
		{
			NI LOC272;
			LOC272 = (NI)0;
			LOC272 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 0) < LOC272)) goto LA273;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 49), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_68));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 1)]);
			gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 2)]);
		}
		goto LA270;
		LA273: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 49), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_68));
		}
		LA270: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
		{
			NI i_Arodnnnh21pWVCx0j9aHudQ_3;
			NI HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_3;
			NI LOC278;
			NI res_mNPRaC1WnWAj3RFkVhemMw_3;
			i_Arodnnnh21pWVCx0j9aHudQ_3 = (NI)0;
			HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_3 = (NI)0;
			LOC278 = (NI)0;
			LOC278 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_3 = (NI)(LOC278 - ((NI) 1));
			res_mNPRaC1WnWAj3RFkVhemMw_3 = ((NI) 0);
			{
				while (1) {
					if (!(res_mNPRaC1WnWAj3RFkVhemMw_3 <= HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_3)) goto LA280;
					i_Arodnnnh21pWVCx0j9aHudQ_3 = res_mNPRaC1WnWAj3RFkVhemMw_3;
					optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
					gsub_NmOOKTnnEkQl0J72fGke1g(g0, (*n0).kindU.S6.sons->data[i_Arodnnnh21pWVCx0j9aHudQ_3], c_D9a31SxPtMnbZg9a0A7soLKw);
					gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
					res_mNPRaC1WnWAj3RFkVhemMw_3 += ((NI) 1);
				} LA280: ;
			}
		}
		dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
		putnl_0GppufTGx639b3oTb49aPo9aw_7(g0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 77):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 50), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_69));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 147):
	{
		{
			NI LOC285;
			LOC285 = (NI)0;
			LOC285 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 0) < LOC285)) goto LA286;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 53), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_52));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
		}
		goto LA283;
		LA286: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 53), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_52));
		}
		LA283: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 148):
	{
		{
			NI LOC292;
			LOC292 = (NI)0;
			LOC292 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 0) < LOC292)) goto LA293;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 40), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_70));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
		}
		goto LA290;
		LA293: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 40), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_70));
		}
		LA290: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 137):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 60), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_40));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 95), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_32));
		{
			NI LOC299;
			LOC299 = (NI)0;
			LOC299 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			if (!(((NI) 0) < LOC299)) goto LA300;
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		LA300: ;
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 96), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_35));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 150):
	{
		{
			NI LOC305;
			LOC305 = (NI)0;
			LOC305 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			if (!(((NI) 0) < LOC305)) goto LA306;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 25), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_71));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
			gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
			indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
			gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg(g0, n0, (*g0).indent, ((NI) 1), ((NI) -1), ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 105));
			gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
			dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
		}
		goto LA303;
		LA306: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 25), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_71));
		}
		LA303: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_43));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 128):
	{
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, n0, T_1E0z9biZTE3PahFHulMjtyw_58, NIM_TRUE);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 92):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 33), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_57));
		gif_5eccg0mxlFLgBiNmpRHFig_3(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 140):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 67), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_72));
		gif_5eccg0mxlFLgBiNmpRHFig_3(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 96):
	{
		gwhile_5eccg0mxlFLgBiNmpRHFig_4(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 91):
	{
		gpragmablock_5eccg0mxlFLgBiNmpRHFig_5(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 97):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		gcase_5eccg0mxlFLgBiNmpRHFig_6(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 106):
	{
		gtry_5eccg0mxlFLgBiNmpRHFig_7(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 94):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 95):
	{
		gfor_5eccg0mxlFLgBiNmpRHFig_8(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 112):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 127):
	{
		gblock_5eccg0mxlFLgBiNmpRHFig_9(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
		gstaticstmt_5eccg0mxlFLgBiNmpRHFig_10(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 89):
	{
		gasm_5eccg0mxlFLgBiNmpRHFig_11(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79):
	{
		{
			if (!!((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA324;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 53), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_52));
		}
		LA324: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_12(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 81):
	{
		{
			if (!!((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA329;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 16), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_80));
		}
		LA329: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_12(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 80):
	{
		{
			if (!!((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA334;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 43), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_81));
		}
		LA334: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_12(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 84):
	{
		{
			if (!!((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA339;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 40), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_70));
		}
		LA339: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_12(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 82):
	{
		{
			if (!!((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA344;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 42), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_82));
		}
		LA344: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_12(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 83):
	{
		{
			if (!!((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA349;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 61), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_83));
		}
		LA349: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_12(g0, n0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 98):
	{
		gsection_Dm6FWKFeMufDKYra1XJxVg(g0, n0, T_1E0z9biZTE3PahFHulMjtyw_58, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 64), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_61));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 101):
	{
		initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&a0));
		a0.Field1 |= ((NU8)1)<<((((Tsubflag_HgctW1zPuXVJBXUriqTnfQ) 1))%(sizeof(NU8)*8));
		gsection_Dm6FWKFeMufDKYra1XJxVg(g0, n0, a0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 14), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_84));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 100):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		NI L0;
		L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		{
			if (!(L0 == ((NI) 0))) goto LA356;
			goto BeforeRet;
		}
		LA356: ;
		{
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99))) goto LA360;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 66), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_64));
		}
		goto LA358;
		LA360: ;
		{
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 100))) goto LA363;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 41), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_85));
		}
		goto LA358;
		LA363: ;
		{
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 65), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_86));
		}
		LA358: ;
		{
			if (!(((NI) 1) < L0)) goto LA368;
			gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
			indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
			{
				NI i_Arodnnnh21pWVCx0j9aHudQ_4;
				NI HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_4;
				NI res_mNPRaC1WnWAj3RFkVhemMw_4;
				i_Arodnnnh21pWVCx0j9aHudQ_4 = (NI)0;
				HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_4 = (NI)0;
				HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_4 = (NI)(L0 - ((NI) 1));
				res_mNPRaC1WnWAj3RFkVhemMw_4 = ((NI) 0);
				{
					while (1) {
						if (!(res_mNPRaC1WnWAj3RFkVhemMw_4 <= HEX3Atmp_rpNmpJ9bD80fa4AzJTj3Jww_4)) goto LA372;
						i_Arodnnnh21pWVCx0j9aHudQ_4 = res_mNPRaC1WnWAj3RFkVhemMw_4;
						optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
						gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[i_Arodnnnh21pWVCx0j9aHudQ_4]);
						gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
						res_mNPRaC1WnWAj3RFkVhemMw_4 += ((NI) 1);
					} LA372: ;
				}
			}
			dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
		}
		goto LA366;
		LA368: ;
		{
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		LA366: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 57), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_87));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 55), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_88));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 104):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 72), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_89));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 18), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_90));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 10), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_91));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 111):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 15), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_92));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		{
			if (!!((((*g0).flags &(1U<<((NU)(((Trenderflag_wrPgUo1ExBlHvFnXN2nSHw) 4))&7U)))!=0))) goto LA383;
			{
				if (!((*g0).inpragma <= ((NI) 0))) goto LA387;
				(*g0).inpragma += ((NI) 1);
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 101), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_93));
				gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, T_1E0z9biZTE3PahFHulMjtyw_58, ((NI) 0), ((NI) -1));
				put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 102), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_94));
				(*g0).inpragma -= ((NI) 1);
			}
			goto LA385;
			LA387: ;
			{
				gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, T_1E0z9biZTE3PahFHulMjtyw_58, ((NI) 0), ((NI) -1));
			}
			LA385: ;
		}
		LA383: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 116):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 118):
	{
		{
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 116))) goto LA393;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 34), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_95));
		}
		goto LA391;
		LA393: ;
		{
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 27), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_96));
		}
		LA391: ;
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
		gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg(g0, n0, (*g0).indent, ((NI) 0), ((NI) -1), ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 105));
		dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
		putnl_0GppufTGx639b3oTb49aPo9aw_7(g0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 117):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 119):
	{
		{
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 117))) goto LA399;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 34), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_95));
		}
		goto LA397;
		LA399: ;
		{
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 27), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_96));
		}
		LA397: ;
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 26), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_97));
		gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg(g0, n0, (*g0).indent, ((NI) 1), ((NI) -1), ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 105));
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		putnl_0GppufTGx639b3oTb49aPo9aw_7(g0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 120):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 30), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_98));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 34), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_95));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, T_1E0z9biZTE3PahFHulMjtyw_58, ((NI) 1), ((NI) -1));
		putnl_0GppufTGx639b3oTb49aPo9aw_7(g0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 121):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 36), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_99));
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		indentnl_0GppufTGx639b3oTb49aPo9aw_5(g0);
		gcommaaux_9ac9cor2XsNAVQXxCfoA7jzg(g0, n0, (*g0).indent, ((NI) 0), ((NI) -1), ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 105));
		dedent_0GppufTGx639b3oTb49aPo9aw_6(g0);
		putnl_0GppufTGx639b3oTb49aPo9aw_7(g0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125):
	{
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85):
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC406;
		optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 50), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_69));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c_D9a31SxPtMnbZg9a0A7soLKw, ((NI) 0), ((NI) -2));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		LOC406 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC406 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, LOC406, c_D9a31SxPtMnbZg9a0A7soLKw, NIM_TRUE);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 115), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_33));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 5), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_100));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 8), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_51));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c_D9a31SxPtMnbZg9a0A7soLKw, ((NI) 0), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 123):
	{
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 44), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_101));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g0, n0, c_D9a31SxPtMnbZg9a0A7soLKw, ((NI) 0), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 86):
	{
		optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 22), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_102));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 1)], c_D9a31SxPtMnbZg9a0A7soLKw, NIM_TRUE);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88):
	{
		optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 23), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_103));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 0)], c_D9a31SxPtMnbZg9a0A7soLKw, NIM_TRUE);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 105):
	{
		optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
		{
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA415;
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 28), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_104));
		}
		goto LA413;
		LA415: ;
		{
			put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 17), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_105));
		}
		LA413: ;
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, (*n0).kindU.S6.sons->data[((NI) 0)], c_D9a31SxPtMnbZg9a0A7soLKw, NIM_TRUE);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 87):
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC419;
		optnl_0GppufTGx639b3oTb49aPo9aw_3(g0);
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 26), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_97));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 0), ((NI) -2));
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
		gcoms_0GppufTGx639b3oTb49aPo9aw_2(g0);
		LOC419 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC419 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g0, LOC419, c_D9a31SxPtMnbZg9a0A7soLKw, NIM_TRUE);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 95), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_32));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 0), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 96), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_35));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_36));
		gsemicolon_cePKc9cEQau31w9auAvt0icA_2(g0, n0, ((NI) 1), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
		{
			NIM_BOOL LOC424;
			NI LOC425;
			LOC424 = (NIM_BOOL)0;
			LOC425 = (NI)0;
			LOC425 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
			LOC424 = (((NI) 0) < LOC425);
			if (!(LOC424)) goto LA426;
			LOC424 = !(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA426: ;
			if (!LOC424) goto LA427;
			putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_50));
			gsub_5eccg0mxlFLgBiNmpRHFig(g0, (*n0).kindU.S6.sons->data[((NI) 0)]);
		}
		LA427: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 134):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 63), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_106));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 95), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_32));
		gcomma_cePKc9cEQau31w9auAvt0icA(g0, n0, ((NI) 0), ((NI) -1));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 96), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_35));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 135):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 63), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_106));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 24):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_107));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g0, n0, ((NI) 0));
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 156):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 157):
	{
		TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
		NimStringDesc* LOC433;
		memset((void*)(&c0), 0, sizeof(c0));
		initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
		LOC433 = (NimStringDesc*)0;
		{
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 157))) goto LA436;
			LOC433 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_108));
		}
		goto LA434;
		LA436: ;
		{
			LOC433 = copyString(((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_109));
		}
		LA434: ;
		putwithspace_UXLD5yop8GFc9cym9cwb1qUg_4(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 2), LOC433);
		gsons_WBsq6aIWI0YbAY07tgvprg_2(g0, n0, c0, ((NI) 0), ((NI) -1));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 158):
	{
		put_UXLD5yop8GFc9cym9cwb1qUg_2(g0, ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 63), ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_110));
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 136):
	{
		gtypeclassty_5eccg0mxlFLgBiNmpRHFig_14(g0, n0);
	}
	break;
	default:
	{
		NimStringDesc* LOC442;
		LOC442 = (NimStringDesc*)0;
		LOC442 = rawNewString(reprEnum((NI)(*n0).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw))->Sup.len + 14);
appendString(LOC442, ((NimStringDesc*) &T_1E0z9biZTE3PahFHulMjtyw_112));
appendString(LOC442, reprEnum((NI)(*n0).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw)));
appendChar(LOC442, 41);
		internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, LOC442);
	}
	break;
	}
	}BeforeRet: ;
}

N_NIMCALL(void, gsub_5eccg0mxlFLgBiNmpRHFig)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	TY_O2u2Fk7tlGg9b7lAVNkV3hw c0;
	memset((void*)(&c0), 0, sizeof(c0));
	initcontext_4akYBebEXcr7R9bZNFpZz9cQ((&c0));
	gsub_NmOOKTnnEkQl0J72fGke1g(g0, n0, c0);
}

N_NIMCALL(NimStringDesc*, rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0) {
	NimStringDesc* result0;
	Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg g0;
	result0 = (NimStringDesc*)0;
	memset((void*)(&g0), 0, sizeof(g0));
	initsrcgen_UcbeGsv7eyAcKOcLzd9bWpQ((&g0), renderflags0);
	gsub_5eccg0mxlFLgBiNmpRHFig((&g0), n0);
	result0 = copyString(g0.buf);
	return result0;
}

N_NIMCALL(NimStringDesc*, HEX24_qX5C9b0n9bOP7jk69amC8dA7A_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 0);
	return result0;
}

N_NIMCALL(void, inittokrender_fvDS5PTYUI6zuDDOhODswg)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* r0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0) {
	initsrcgen_UcbeGsv7eyAcKOcLzd9bWpQ(r0, renderflags0);
	gsub_5eccg0mxlFLgBiNmpRHFig(r0, n0);
}

N_NIMCALL(void, getnexttok_nohcqxaxaPewBElNpr3aUQ)(Tsrcgen_T8CUsYfvFor5lPGY7PW7Dg* r0, Ttoktype_vw8YkgaVtNadqP8v5OpXKA* kind0, NimStringDesc** literal0) {
	{
		NI length0;
		if (!((*r0).idx < ((*r0).tokens ? (*r0).tokens->Sup.len : 0))) goto LA3;
		(*kind0) = (*r0).tokens->data[(*r0).idx].kind;
		length0 = ((NI) ((*r0).tokens->data[(*r0).idx].length));
		unsureAsgnRef((void**) (&(*literal0)), copyStrLast((*r0).buf, (*r0).pos, (NI)((NI)((*r0).pos + length0) - ((NI) 1))));
		(*r0).pos += length0;
		(*r0).idx += ((NI) 1);
	}
	goto LA1;
	LA3: ;
	{
		(*kind0) = ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 1);
	}
	LA1: ;
}
NIM_EXTERNC N_NOINLINE(void, compiler_rendererInit000)(void) {
}

NIM_EXTERNC N_NOINLINE(void, compiler_rendererDatInit000)(void) {
static TNimNode* T_1E0z9biZTE3PahFHulMjtyw_2[2];
static TNimNode T_1E0z9biZTE3PahFHulMjtyw_0[3];
NTI_FnEE3o2nWtqdjoC0wa2wgA.size = sizeof(Trendertok_FnEE3o2nWtqdjoC0wa2wgA);
NTI_FnEE3o2nWtqdjoC0wa2wgA.kind = 18;
NTI_FnEE3o2nWtqdjoC0wa2wgA.base = 0;
NTI_FnEE3o2nWtqdjoC0wa2wgA.flags = 3;
T_1E0z9biZTE3PahFHulMjtyw_2[0] = &T_1E0z9biZTE3PahFHulMjtyw_0[1];
T_1E0z9biZTE3PahFHulMjtyw_0[1].kind = 1;
T_1E0z9biZTE3PahFHulMjtyw_0[1].offset = offsetof(Trendertok_FnEE3o2nWtqdjoC0wa2wgA, kind);
T_1E0z9biZTE3PahFHulMjtyw_0[1].typ = (&NTI_vw8YkgaVtNadqP8v5OpXKA);
T_1E0z9biZTE3PahFHulMjtyw_0[1].name = "kind";
T_1E0z9biZTE3PahFHulMjtyw_2[1] = &T_1E0z9biZTE3PahFHulMjtyw_0[2];
T_1E0z9biZTE3PahFHulMjtyw_0[2].kind = 1;
T_1E0z9biZTE3PahFHulMjtyw_0[2].offset = offsetof(Trendertok_FnEE3o2nWtqdjoC0wa2wgA, length);
T_1E0z9biZTE3PahFHulMjtyw_0[2].typ = (&NTI_kDPg4wXyR8DDyA0MeEjIsw);
T_1E0z9biZTE3PahFHulMjtyw_0[2].name = "length";
T_1E0z9biZTE3PahFHulMjtyw_0[0].len = 2; T_1E0z9biZTE3PahFHulMjtyw_0[0].kind = 2; T_1E0z9biZTE3PahFHulMjtyw_0[0].sons = &T_1E0z9biZTE3PahFHulMjtyw_2[0];
NTI_FnEE3o2nWtqdjoC0wa2wgA.node = &T_1E0z9biZTE3PahFHulMjtyw_0[0];
NTI_0W45b4tBLx0JWnu0NjAmVQ.size = sizeof(TY_0W45b4tBLx0JWnu0NjAmVQ*);
NTI_0W45b4tBLx0JWnu0NjAmVQ.kind = 24;
NTI_0W45b4tBLx0JWnu0NjAmVQ.base = (&NTI_FnEE3o2nWtqdjoC0wa2wgA);
NTI_0W45b4tBLx0JWnu0NjAmVQ.flags = 2;
NTI_0W45b4tBLx0JWnu0NjAmVQ.marker = Marker_TY_0W45b4tBLx0JWnu0NjAmVQ;
}

