/* Generated by Nim Compiler v1.6.14 */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#include <math.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw;
typedef struct tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg;
typedef struct tyObject_TSym__3r34mwqcVmg5JFNmiaVncw tyObject_TSym__3r34mwqcVmg5JFNmiaVncw;
typedef struct tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA;
typedef struct tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ;
typedef struct tyObject_CountTable__XawALO1wTnCsJeWBJMYZyg tyObject_CountTable__XawALO1wTnCsJeWBJMYZyg;
typedef struct tySequence__XUL1TrMU0tgXmaMFCIYgFQ tySequence__XUL1TrMU0tgXmaMFCIYgFQ;
typedef struct tyObject_TIdObj__1qw9bcK4rZXhGbJEJhkKQFA tyObject_TIdObj__1qw9bcK4rZXhGbJEJhkKQFA;
typedef struct tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg;
typedef struct tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw;
typedef struct tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA;
typedef struct tyObject_TIdent__PKDcQ7dqdhiSW9c9cXUFFpMg tyObject_TIdent__PKDcQ7dqdhiSW9c9cXUFFpMg;
typedef struct tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw;
typedef struct tyObject_TLoc__CAJV4zTUpZwr0j6Wy8FiFw tyObject_TLoc__CAJV4zTUpZwr0j6Wy8FiFw;
typedef struct tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ;
typedef struct tyObject_TLib__W49cDqPTe2Tvc1mw7CVZOFg tyObject_TLib__W49cDqPTe2Tvc1mw7CVZOFg;
typedef struct tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g;
typedef struct tyObject_CellSeq__nav876ELHgxScHhs30CKiA tyObject_CellSeq__nav876ELHgxScHhs30CKiA;
typedef struct tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ;
typedef struct tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ;
typedef struct tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ;
typedef struct tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw;
typedef struct tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA;
typedef struct tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA;
typedef struct tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A;
typedef struct tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg;
typedef struct tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw;
typedef struct tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw;
typedef struct tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA;
typedef struct tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg;
typedef struct tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA;
typedef struct tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ;
typedef struct tySequence__RNhZxf20g9beyq5VBOGxhDg tySequence__RNhZxf20g9beyq5VBOGxhDg;
typedef struct tySequence__JbK5aK9aVhc9cJZzQYg1wQlQ tySequence__JbK5aK9aVhc9cJZzQYg1wQlQ;
typedef struct tySequence__lFbCtu5P2Kf7YDYtGjkxAQ tySequence__lFbCtu5P2Kf7YDYtGjkxAQ;
typedef struct tyObject_Table__nODIJ5l6JnEl9a6LYuqISLA tyObject_Table__nODIJ5l6JnEl9a6LYuqISLA;
typedef struct tySequence__ijtae5OneaLys0hN9alAicA tySequence__ijtae5OneaLys0hN9alAicA;
typedef struct tyObject_Table__s3itmS9cUUFQ19alF7UA0T1w tyObject_Table__s3itmS9cUUFQ19alF7UA0T1w;
typedef struct tySequence__SerjNoUujW2dUouVBrJiCw tySequence__SerjNoUujW2dUouVBrJiCw;
typedef struct tyObject_Table__r0v8BdcBPKhl73K8p2VMUA tyObject_Table__r0v8BdcBPKhl73K8p2VMUA;
typedef struct tySequence__K9agbtcb0qPZuSJFXB9cTe6g tySequence__K9agbtcb0qPZuSJFXB9cTe6g;
typedef struct tyObject_Table__KsPP7K7LW9aa3YAq1XN9cDZg tyObject_Table__KsPP7K7LW9aa3YAq1XN9cDZg;
typedef struct tySequence__m88qdML9cQOuqGAQn6XWL1A tySequence__m88qdML9cQOuqGAQn6XWL1A;
typedef struct tyObject_Table__1hIWbTQWYT4BmhdESze57A tyObject_Table__1hIWbTQWYT4BmhdESze57A;
typedef struct tySequence__naEbXEp9b9aiW1zXJorqf9cXQ tySequence__naEbXEp9b9aiW1zXJorqf9cXQ;
typedef struct tyObject_Table__9cHFtxtpgztIcDsypRz9byKw tyObject_Table__9cHFtxtpgztIcDsypRz9byKw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tyObject_PackedConfig__aqQhF9bElTH51s7bVamv3vA tyObject_PackedConfig__aqQhF9bElTH51s7bVamv3vA;
typedef struct tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw;
typedef struct tySequence__ed0C0uAUZPhvw3RAc5hfYg tySequence__ed0C0uAUZPhvw3RAc5hfYg;
typedef struct tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw;
typedef struct tyObject_TrunkcolonObjectType___2fEZuM4UuXkgO9bDnaMLLWg tyObject_TrunkcolonObjectType___2fEZuM4UuXkgO9bDnaMLLWg;
typedef struct tySequence__q9cq1Li6c1nMjHpacEbCj0g tySequence__q9cq1Li6c1nMjHpacEbCj0g;
typedef struct tyObject_Table__imojfg883tkWsWJwyshGqQ tyObject_Table__imojfg883tkWsWJwyshGqQ;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tyObject_Table__BCPh85PHtwxox9bv7NLFrlg tyObject_Table__BCPh85PHtwxox9bv7NLFrlg;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tyObject_IdentCachecolonObjectType___ssh0vzVb9aCQuB6ShpimfIQ tyObject_IdentCachecolonObjectType___ssh0vzVb9aCQuB6ShpimfIQ;
typedef struct tyObject_Table__mLYbj79bHyPPDPv4GGJx9bqA tyObject_Table__mLYbj79bHyPPDPv4GGJx9bqA;
typedef struct tySequence__KgiZ29chkJAD01p9aLRB32qw tySequence__KgiZ29chkJAD01p9aLRB32qw;
typedef struct tyObject_Table__LM44poVdVEn4Mo4N4L8c3A tyObject_Table__LM44poVdVEn4Mo4N4L8c3A;
typedef struct tySequence__rkYRZrbHVYL3nhXlQW3K9bw tySequence__rkYRZrbHVYL3nhXlQW3K9bw;
typedef struct tySequence__IRFEb1e9bxgbJLuB5xrdZsQ tySequence__IRFEb1e9bxgbJLuB5xrdZsQ;
typedef struct tyObject_Table__sEMwnZ9aATDhH19cNIt9bn9cyQ tyObject_Table__sEMwnZ9aATDhH19cNIt9bn9cyQ;
typedef struct tySequence__YmPd0eWfcTfrVYrthlXPYA tySequence__YmPd0eWfcTfrVYrthlXPYA;
typedef struct tyObject_Table__WtPprFMQ6tkKi9bQSH3IVpw tyObject_Table__WtPprFMQ6tkKi9bQSH3IVpw;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tyObject_Table__9cOd7jTOg5Zc4i0IfnGho1Q tyObject_Table__9cOd7jTOg5Zc4i0IfnGho1Q;
typedef struct tySequence__Hz5SYwQU29b9aFLt09blvVQPg tySequence__Hz5SYwQU29b9aFLt09blvVQPg;
typedef struct tyObject_Table__YnoEqrDMrd9cI9bBg8gj5H3g tyObject_Table__YnoEqrDMrd9cI9bBg8gj5H3g;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tyObject_Table__R7JnJQEipxxOlJWXQz7jWg tyObject_Table__R7JnJQEipxxOlJWXQz7jWg;
typedef struct tySequence__3G9aA9cLXaPxuRxMKm3anacQ tySequence__3G9aA9cLXaPxuRxMKm3anacQ;
typedef struct tySequence__bPFv6ypvvCX2A9a9al8utL2Q tySequence__bPFv6ypvvCX2A9a9al8utL2Q;
typedef struct tySequence__IeU9azYSNIK3V9b36Ir6NZcw tySequence__IeU9azYSNIK3V9b36Ir6NZcw;
typedef struct tyObject_Operators__dR4s9bCO53rZjV9a30JJfUOg tyObject_Operators__dR4s9bCO53rZjV9a30JJfUOg;
typedef struct tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Target__tpQT7iEuCtUPNwog9cc3VgA tyObject_Target__tpQT7iEuCtUPNwog9cc3VgA;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA;
typedef struct tyObject_MsgConfig__whxq1VkHUSUyso71rqeLKA tyObject_MsgConfig__whxq1VkHUSUyso71rqeLKA;
typedef struct tySequence__mIo9bZUsotCEUUtEGNhYmaA tySequence__mIo9bZUsotCEUUtEGNhYmaA;
typedef struct tySequence__8rKxBHaz7QqNR9a4WIZqqqQ tySequence__8rKxBHaz7QqNR9a4WIZqqqQ;
typedef struct tyObject_HashSet__LVIAeIp9cp9c81do0NZpv6Sw tyObject_HashSet__LVIAeIp9cp9c81do0NZpv6Sw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tySequence__KLItBKQec3LJzPmfiYYfQA tySequence__KLItBKQec3LJzPmfiYYfQA;
typedef struct tyObject_SuggestcolonObjectType___VUPO9alfTq2Ar9a7ZtY9cSPDg tyObject_SuggestcolonObjectType___VUPO9alfTq2Ar9a7ZtY9cSPDg;
typedef struct tyObject_ProfileDatacolonObjectType___EiZfxxvPWlUmMsSkx8Qffg tyObject_ProfileDatacolonObjectType___EiZfxxvPWlUmMsSkx8Qffg;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg;
typedef struct tySequence__kzO9aSSZqi8uJxXMUvASufg tySequence__kzO9aSSZqi8uJxXMUvASufg;
typedef struct tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg;
typedef struct tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA;
typedef struct tySequence__vKogasEnJSPhbQmA8r4Y9aA tySequence__vKogasEnJSPhbQmA8r4Y9aA;
typedef struct tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ;
typedef struct tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg;
typedef struct tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ;
typedef struct tyTuple__kUfCoroaC0rOCxJlya5Mfg tyTuple__kUfCoroaC0rOCxJlya5Mfg;
typedef struct tyTuple__x06rJgrLAhZPc8rLiIC9c6A tyTuple__x06rJgrLAhZPc8rLiIC9c6A;
typedef struct tyObject_SourceMapcolonObjectType___89bcT7tAiSyU9c6yCaBjaTTw tyObject_SourceMapcolonObjectType___89bcT7tAiSyU9c6yCaBjaTTw;
typedef struct tyTuple__OC3ElVGSSYtam9beJ72HG7A tyTuple__OC3ElVGSSYtam9beJ72HG7A;
typedef struct tyObject_JsonNodeObj__wYd81YPSGeV9aTaTIRihe3g tyObject_JsonNodeObj__wYd81YPSGeV9aTaTIRihe3g;
typedef struct tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg;
typedef struct tyObject_Iface__4y9aWdJBxraQYTl5Pa1NMuQ tyObject_Iface__4y9aWdJBxraQYTl5Pa1NMuQ;
typedef struct tySequence__qeAsXh2i1GAL5Nl0g3OP8g tySequence__qeAsXh2i1GAL5Nl0g3OP8g;
typedef struct tyObject_LoadedModule__fihS6xbKhtLC0fhM28Cpeg tyObject_LoadedModule__fihS6xbKhtLC0fhM28Cpeg;
typedef struct tyObject_PackedModule__Lx6uQ9baEALysaHmfFGXw9ag tyObject_PackedModule__Lx6uQ9baEALysaHmfFGXw9ag;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
typedef struct tyObject_PackedTree__om9aqqVmbmBPgd8MeBkGtqg tyObject_PackedTree__om9aqqVmbmBPgd8MeBkGtqg;
typedef struct tySequence__4Murtwnm0Fyc7F9acrytEXw tySequence__4Murtwnm0Fyc7F9acrytEXw;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
typedef struct tySequence__wE9cZkGC9cv7Iz9ckZOIyaW9aw tySequence__wE9cZkGC9cv7Iz9ckZOIyaW9aw;
typedef struct tySequence__QnmOtn1Iv4LvxOXoMn8Rbg tySequence__QnmOtn1Iv4LvxOXoMn8Rbg;
typedef struct tySequence__oKtVqsc9bQVCNyrijELM4OQ tySequence__oKtVqsc9bQVCNyrijELM4OQ;
typedef struct tySequence__qy6Iwdy00wN560qud54HTg tySequence__qy6Iwdy00wN560qud54HTg;
typedef struct tySequence__k67v9bwvvQDmS1ynyGGUbeQ tySequence__k67v9bwvvQDmS1ynyGGUbeQ;
typedef struct tySequence__cLsClAAfd0MKkoBQVyvdvw tySequence__cLsClAAfd0MKkoBQVyvdvw;
typedef struct tySequence__q9bTuOB0JXh1iZ3CSGdRLbg tySequence__q9bTuOB0JXh1iZ3CSGdRLbg;
typedef struct tySequence__DPZr9aMyRppVlNZ9ajSyOZ9bw tySequence__DPZr9aMyRppVlNZ9ajSyOZ9bw;
typedef struct tyObject_BiTable__f1TRECC4Lgx6Suak6pB8oQ tyObject_BiTable__f1TRECC4Lgx6Suak6pB8oQ;
typedef struct tyObject_BiTable__YFXXoy9ajAIwHK4kQgVvjcw tyObject_BiTable__YFXXoy9ajAIwHK4kQgVvjcw;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
typedef struct tyObject_Table__jSCM9c8LtAedYb1zTNR73sQ tyObject_Table__jSCM9c8LtAedYb1zTNR73sQ;
typedef struct tySequence__C3r8jsj9chA4sIlYfDN5aDw tySequence__C3r8jsj9chA4sIlYfDN5aDw;
typedef struct tyObject_PackedEncoder__ftUl9bxYRlbT5ToKkxHdbfQ tyObject_PackedEncoder__ftUl9bxYRlbT5ToKkxHdbfQ;
typedef struct tyObject_Table__7OytuYts9c9a3BX9aQNPGI0gQ tyObject_Table__7OytuYts9c9a3BX9aQNPGI0gQ;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
typedef struct tyTuple__UluY8x0Nj6cp9b0o88wJ0lg tyTuple__UluY8x0Nj6cp9b0o88wJ0lg;
typedef struct tySequence__dlD6tEGzYLLpKVq3XwuFlA tySequence__dlD6tEGzYLLpKVq3XwuFlA;
typedef struct tyObject_LazyType__wgv9a1JCOBXm9azerxcvz5gQ tyObject_LazyType__wgv9a1JCOBXm9azerxcvz5gQ;
typedef struct tyObject_FullId__L64puUgQnoQ6OMvT9c6V9cPg tyObject_FullId__L64puUgQnoQ6OMvT9c6V9cPg;
typedef struct tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ;
typedef struct tyTuple__rZZA0skon1OsHdiEvT8RZQ tyTuple__rZZA0skon1OsHdiEvT8RZQ;
typedef struct tySequence__6OFCSvqRaxyEgUqWtnZSlw tySequence__6OFCSvqRaxyEgUqWtnZSlw;
typedef struct tyObject_LazyInstantiation__0l1i6PfjQKnMEvpGMAoN8Q tyObject_LazyInstantiation__0l1i6PfjQKnMEvpGMAoN8Q;
typedef struct tySequence__UnGSk9aaLosDroi2QDrlOfQ tySequence__UnGSk9aaLosDroi2QDrlOfQ;
typedef struct tyObject_TInstantiation__ScJwrSJM8Lp9ahM9b3AS1apA tyObject_TInstantiation__ScJwrSJM8Lp9ahM9b3AS1apA;
typedef struct tyTuple__q13Zt16VkCqu6Zg5jWqwHA tyTuple__q13Zt16VkCqu6Zg5jWqwHA;
typedef struct tyTuple__aWN9bNzF9bubXNJV9ciomgpfA tyTuple__aWN9bNzF9bubXNJV9ciomgpfA;
typedef struct tySequence__m4PVWjcAAjfxlwJxLkKn8A tySequence__m4PVWjcAAjfxlwJxLkKn8A;
typedef struct tyTuple__RWXAsQlFoGYyEQZp1G65sg tyTuple__RWXAsQlFoGYyEQZp1G65sg;
typedef struct tyObject_LazySym__Xts9a2Mw4b4jtq73p6MrfJg tyObject_LazySym__Xts9a2Mw4b4jtq73p6MrfJg;
typedef struct tyTuple__RmGJuqOgEaHckHndh0LEsw tyTuple__RmGJuqOgEaHckHndh0LEsw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__J4cxakKjhKxTIJR9bojMmXw tyTuple__J4cxakKjhKxTIJR9bojMmXw;
typedef struct tySequence__i89c5kdtWKzK3OEiI81pkkw tySequence__i89c5kdtWKzK3OEiI81pkkw;
typedef struct tyObject_SymInfoPair__SjZT5Rln3r9befMWWSryQ0A tyObject_SymInfoPair__SjZT5Rln3r9befMWWSryQ0A;
typedef struct tyTuple__VwWg1orPZ9b5Rg9aZAI6SIaQ tyTuple__VwWg1orPZ9b5Rg9aZAI6SIaQ;
typedef struct tySequence__GR8qmV1kNRcoQ2g76VFy3A tySequence__GR8qmV1kNRcoQ2g76VFy3A;
typedef struct tyTuple__a7QginWFapakKbWJBJ2vfA tyTuple__a7QginWFapakKbWJBJ2vfA;
typedef struct tyTuple__mPT6B9cVWqwVnWb1Fxx9bgyA tyTuple__mPT6B9cVWqwVnWb1Fxx9bgyA;
typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyTuple__kbX6x85REySUrk9auORL0vw tyTuple__kbX6x85REySUrk9auORL0vw;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__Ah6ua9a8WyUOs9aO9afW59cy0g tyTuple__Ah6ua9a8WyUOs9aO9afW59cy0g;
typedef struct tyObject_BTree__R2EgvhuH9cLMYvSPesdcu5Q tyObject_BTree__R2EgvhuH9cLMYvSPesdcu5Q;
typedef struct tyObject_NodecolonObjectType___NOM0ZpqV9bLtofkCilAnZ8A tyObject_NodecolonObjectType___NOM0ZpqV9bLtofkCilAnZ8A;
typedef struct tyTuple__nF9cH4hinXgGEUwO4G2bshw tyTuple__nF9cH4hinXgGEUwO4G2bshw;
typedef struct tyTuple__U3hs4iGgBd4Y9beL6zJV9boQ tyTuple__U3hs4iGgBd4Y9beL6zJV9boQ;
typedef struct tyObject_TFileInfo__2PBRRPxvvEH2sQ9cRi19bh7w tyObject_TFileInfo__2PBRRPxvvEH2sQ9cRi19bh7w;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__n9b2nVKiXbLpHsfkan9c3Rkw tyObject_Cfile__n9b2nVKiXbLpHsfkan9c3Rkw;
typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
typedef struct tyObject_PackedNode__9aA1ZskrZ0b0RCXxY4Hw8YA tyObject_PackedNode__9aA1ZskrZ0b0RCXxY4Hw8YA;
typedef struct tyObject_PackedLineInfo__wqhF27DCtLcrB2XHUZKKiA tyObject_PackedLineInfo__wqhF27DCtLcrB2XHUZKKiA;
typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
typedef struct tyTuple__PsEhl3dzznmmJiLAuIXZOg tyTuple__PsEhl3dzznmmJiLAuIXZOg;
typedef struct tyTuple__Dg3ILQdzHFjrYRx6Xwbq3w tyTuple__Dg3ILQdzHFjrYRx6Xwbq3w;
typedef struct tyTuple__Db8CrQifKGIsKc3w71w7Lw tyTuple__Db8CrQifKGIsKc3w71w7Lw;
typedef struct tyObject_PackedInstantiation__wt9ao6lqcInu9aOmUoxgkWcg tyObject_PackedInstantiation__wt9ao6lqcInu9aOmUoxgkWcg;
typedef struct tySequence__lo3S1lKyiPLhGGB9cBawd6A tySequence__lo3S1lKyiPLhGGB9cBawd6A;
typedef struct tyTuple__Q9cwWJO3ddVfos2xI7N9cHHQ tyTuple__Q9cwWJO3ddVfos2xI7N9cHHQ;
typedef struct tyTuple__FEYH9alRJhHD0uTKF2vnIqw tyTuple__FEYH9alRJhHD0uTKF2vnIqw;
typedef struct tyObject_PackedSym__fAjcBcJ2JPtzDDxyIN8WmA tyObject_PackedSym__fAjcBcJ2JPtzDDxyIN8WmA;
typedef struct tyObject_PackedLib__djDv9aFBRsdjnMVLdFGA0nA tyObject_PackedLib__djDv9aFBRsdjnMVLdFGA0nA;
typedef struct tyObject_PackedType__MvipqCfEd9b9bJbbBPwsUOiw tyObject_PackedType__MvipqCfEd9b9bJbbBPwsUOiw;
typedef struct tyTuple__VUJ5Hjm4tKAResBsRHJvYg tyTuple__VUJ5Hjm4tKAResBsRHJvYg;
typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
typedef NU8 tyEnum_TNimKind__pspQAsqJLrw3jEKBD9bxmyQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__Yt5hq6z2IoHhKZrzIVrc1w;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__pspQAsqJLrw3jEKBD9bxmyQ kind;
tySet_tyEnum_TNimTypeFlag__Yt5hq6z2IoHhKZrzIVrc1w flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw {
  RootObj Sup;
tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg* idgen;
};
struct tyObject_CountTable__XawALO1wTnCsJeWBJMYZyg {
tySequence__XUL1TrMU0tgXmaMFCIYgFQ* data;
NI counter;
NIM_BOOL isSorted;
};
struct tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA {
  tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw Sup;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* module;
tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph;
tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config;
tyObject_CountTable__XawALO1wTnCsJeWBJMYZyg sigConflicts;
};
typedef NU8 tyEnum_TNimNodeKind__rrp49bl1h9aEkXfXp9bNg0yZw;
struct TNimNode {
tyEnum_TNimNodeKind__rrp49bl1h9aEkXfXp9bNg0yZw kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg {
NI32 module;
NI32 item;
};
struct tyObject_TIdObj__1qw9bcK4rZXhGbJEJhkKQFA {
  RootObj Sup;
tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg itemId;
};
typedef NU8 tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw;
typedef NU16 tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag;
struct tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU64 tySet_tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA;
typedef NU32 tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ;
typedef NU8 tyEnum_TLocKind__pD6N6rEUmrrqJbKE02Sezw;
typedef NU8 tyEnum_TStorageLoc__JIS9cieRcL9cZccyO9bM9aBmFQ;
typedef NU16 tySet_tyEnum_TLocFlag__Ic4ywZl9cdJtKSUkG4WZfHw;
struct tyObject_TLoc__CAJV4zTUpZwr0j6Wy8FiFw {
tyEnum_TLocKind__pD6N6rEUmrrqJbKE02Sezw k;
tyEnum_TStorageLoc__JIS9cieRcL9cZccyO9bM9aBmFQ storage;
tySet_tyEnum_TLocFlag__Ic4ywZl9cdJtKSUkG4WZfHw flags;
tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* lode;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* r;
};
struct tyObject_TSym__3r34mwqcVmg5JFNmiaVncw {
  tyObject_TIdObj__1qw9bcK4rZXhGbJEJhkKQFA Sup;
tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw kind;
union{
struct {tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* gcUnsafetyReason;
tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* transformedBody;
} _kind_1;
struct {tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* guard;
NI bitsize;
NI alignment;
} _kind_2;
};
tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag magic;
tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
tyObject_TIdent__PKDcQ7dqdhiSW9c9cXUFFpMg* name;
tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* owner;
tySet_tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA flags;
tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* ast;
tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ options;
NI position;
NI offset;
tyObject_TLoc__CAJV4zTUpZwr0j6Wy8FiFw loc;
tyObject_TLib__W49cDqPTe2Tvc1mw7CVZOFg* annex;
tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* constraint;
};
struct tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ {
void* bottom;
};
struct tyObject_CellSeq__nav876ELHgxScHhs30CKiA {
NI len;
NI cap;
tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g** d;
};
typedef tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw* tyArray__1eFxjkcKGHnofywkmCV8oQ[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA* tyArray__KxTmKT9a3kTkdwYfqXhEYSw[32];
typedef tyArray__KxTmKT9a3kTkdwYfqXhEYSw tyArray__ATT5LBefmjy9bg8ApRmg3rw[24];
typedef tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg* tyArray__RxhBwkGQwTHLKhoK685Xfg[256];
struct tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A {
tyArray__RxhBwkGQwTHLKhoK685Xfg data;
};
typedef tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* tyArray__DrxDrI9bg9apB70ydOoNZrWw[2];
struct tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw {
tyArray__DrxDrI9bg9apB70ydOoNZrWw link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA {
tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA* Field0;
NI Field1;
};
typedef tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA tyArray__wsokuoa9bVBSU4gPLKbFaaw[30];
struct tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw {
NI len;
tyArray__wsokuoa9bVBSU4gPLKbFaaw chunks;
tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw* next;
};
struct tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ {
NI minLargeObj;
NI maxLargeObj;
tyArray__1eFxjkcKGHnofywkmCV8oQ freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__ATT5LBefmjy9bg8ApRmg3rw matrix;
tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A chunkStarts;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* root;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* deleted;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* last;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw bottomData;
tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw heapLinks;
};
struct tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA {
NI counter;
NI max;
tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ* head;
tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ** data;
};
struct tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ {
tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA zct;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA decStack;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA tempStack;
NI recGcLock;
tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ region;
tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg stat;
tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA marked;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA additionalRoots;
NI gcThreadId;
};
struct tyObject_Table__nODIJ5l6JnEl9a6LYuqISLA {
tySequence__ijtae5OneaLys0hN9alAicA* data;
NI counter;
};
struct tyObject_Table__s3itmS9cUUFQ19alF7UA0T1w {
tySequence__SerjNoUujW2dUouVBrJiCw* data;
NI counter;
};
struct tyObject_Table__r0v8BdcBPKhl73K8p2VMUA {
tySequence__K9agbtcb0qPZuSJFXB9cTe6g* data;
NI counter;
};
typedef tyObject_Table__r0v8BdcBPKhl73K8p2VMUA tyArray__46hjIasL27aUz9c7kgtWooQ[5];
struct tyObject_Table__KsPP7K7LW9aa3YAq1XN9cDZg {
tySequence__m88qdML9cQOuqGAQn6XWL1A* data;
NI counter;
};
struct tyObject_Table__1hIWbTQWYT4BmhdESze57A {
tySequence__naEbXEp9b9aiW1zXJorqf9cXQ* data;
NI counter;
};
struct tyObject_Table__9cHFtxtpgztIcDsypRz9byKw {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
typedef NU8 tyEnum_TBackend__zoooocqvga73vZuhGAAy6A;
typedef NU8 tyEnum_TGCMode__yHeclYqeKaCEfMHNbcWn4w;
typedef NU8 tyEnum_TSystemCC__DqbWIQj9a2XvtXkztox3VFQ;
typedef NU64 tySet_tyEnum_TGlobalOption__WCvlY9b2UxZ4Fz8D59cE3YSg;
struct tyObject_PackedConfig__aqQhF9bElTH51s7bVamv3vA {
tyEnum_TBackend__zoooocqvga73vZuhGAAy6A backend;
tyEnum_TGCMode__yHeclYqeKaCEfMHNbcWn4w selectedGC;
tyEnum_TSystemCC__DqbWIQj9a2XvtXkztox3VFQ cCompiler;
tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ options;
tySet_tyEnum_TGlobalOption__WCvlY9b2UxZ4Fz8D59cE3YSg globalOptions;
};
struct tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw {
NI counter;
tySequence__ed0C0uAUZPhvw3RAc5hfYg* data;
};
typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw {
NI elems;
NI counter;
NI max;
tyObject_TrunkcolonObjectType___2fEZuM4UuXkgO9bDnaMLLWg* head;
tySequence__q9cq1Li6c1nMjHpacEbCj0g* data;
tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
};
struct tyObject_Table__imojfg883tkWsWJwyshGqQ {
tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
NI counter;
};
struct tyObject_Table__BCPh85PHtwxox9bv7NLFrlg {
tySequence__kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
struct tyObject_Table__mLYbj79bHyPPDPv4GGJx9bqA {
tySequence__KgiZ29chkJAD01p9aLRB32qw* data;
NI counter;
};
struct tyObject_Table__LM44poVdVEn4Mo4N4L8c3A {
tySequence__rkYRZrbHVYL3nhXlQW3K9bw* data;
NI counter;
};
typedef tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* tyArray__9atk2qEPO7ASGmt9cDlOE9b9cg[65];
struct tyObject_Table__sEMwnZ9aATDhH19cNIt9bn9cyQ {
tySequence__YmPd0eWfcTfrVYrthlXPYA* data;
NI counter;
};
struct tyObject_Table__WtPprFMQ6tkKi9bQSH3IVpw {
tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__3r34mwqcVmg5JFNmiaVncw*, tyProc__I6rzVhdiYtUh7jwWJQoeyw) (tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, tyProc__EQOAUyRkp9c3eeiGlHvCThA) (tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* m, NI32 fileIdx);
struct tyObject_Table__9cOd7jTOg5Zc4i0IfnGho1Q {
tySequence__Hz5SYwQU29b9aFLt09blvVQPg* data;
NI counter;
};
struct tyObject_Table__YnoEqrDMrd9cI9bBg8gj5H3g {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
NI counter;
};
struct tyObject_Table__R7JnJQEipxxOlJWXQz7jWg {
tySequence__3G9aA9cLXaPxuRxMKm3anacQ* data;
NI counter;
};
typedef N_NIMCALL_PTR(void, tyProc__1CO5eEh25fBKUWGagpikwg) (tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s, tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info);
typedef N_NIMCALL_PTR(void, tyProc__VcUg5jOhttLagdxUmVN8Tg) (tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* owner, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* body);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__XOkru1xuh2bHzmkw1UYzLA) (tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* formal, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* actual);
struct tyObject_Operators__dR4s9bCO53rZjV9a30JJfUOg {
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opNot;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opContains;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opLe;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opLt;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opAnd;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opOr;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opIsNil;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opEq;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opAdd;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opSub;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opMul;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opDiv;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* opLen;
};
struct tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg {
tySequence__RNhZxf20g9beyq5VBOGxhDg* ifaces;
tySequence__JbK5aK9aVhc9cJZzQYg1wQlQ* packed_0;
tySequence__lFbCtu5P2Kf7YDYtGjkxAQ* encoders;
tyObject_Table__nODIJ5l6JnEl9a6LYuqISLA typeInstCache;
tyObject_Table__s3itmS9cUUFQ19alF7UA0T1w procInstCache;
tyArray__46hjIasL27aUz9c7kgtWooQ attachedOps;
tyObject_Table__KsPP7K7LW9aa3YAq1XN9cDZg methodsPerType;
tyObject_Table__1hIWbTQWYT4BmhdESze57A enumToStringProcs;
tyObject_Table__9cHFtxtpgztIcDsypRz9byKw emittedTypeInfo;
tyObject_PackedConfig__aqQhF9bElTH51s7bVamv3vA startupPackedConfig;
tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw packageSyms;
tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw deps;
tyObject_Table__imojfg883tkWsWJwyshGqQ importDeps;
NIM_BOOL suggestMode;
NIM_BOOL invalidTransitiveClosure;
tyObject_Table__BCPh85PHtwxox9bv7NLFrlg inclToMod;
tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
RootObj* backend;
tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config;
tyObject_IdentCachecolonObjectType___ssh0vzVb9aCQuB6ShpimfIQ* cache;
RootObj* vm;
tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* usageSym;
tySequence__ed0C0uAUZPhvw3RAc5hfYg* owners;
tyObject_Table__mLYbj79bHyPPDPv4GGJx9bqA suggestSymbols;
tyObject_Table__LM44poVdVEn4Mo4N4L8c3A suggestErrors;
tySequence__IRFEb1e9bxgbJLuB5xrdZsQ* methods;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* systemModule;
tyArray__9atk2qEPO7ASGmt9cDlOE9b9cg sysTypes;
tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw compilerprocs;
tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw exposed;
tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw packageTypes;
tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* emptyNode;
tyObject_Table__sEMwnZ9aATDhH19cNIt9bn9cyQ canonTypes;
tyObject_Table__WtPprFMQ6tkKi9bQSH3IVpw symBodyHashes;
tyProc__I6rzVhdiYtUh7jwWJQoeyw importModuleCallback;
tyProc__EQOAUyRkp9c3eeiGlHvCThA includeFileCallback;
tyObject_Table__9cOd7jTOg5Zc4i0IfnGho1Q cacheSeqs;
tyObject_Table__YnoEqrDMrd9cI9bBg8gj5H3g cacheCounters;
tyObject_Table__R7JnJQEipxxOlJWXQz7jWg cacheTables;
tySequence__bPFv6ypvvCX2A9a9al8utL2Q* passes;
tyProc__1CO5eEh25fBKUWGagpikwg onDefinition;
tyProc__1CO5eEh25fBKUWGagpikwg onDefinitionResolveForward;
tyProc__1CO5eEh25fBKUWGagpikwg onUsage;
tySequence__IeU9azYSNIK3V9b36Ir6NZcw* globalDestructors;
tyProc__VcUg5jOhttLagdxUmVN8Tg strongSemCheck;
tyProc__XOkru1xuh2bHzmkw1UYzLA compatibleProps;
tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg* idgen;
tyObject_Operators__dR4s9bCO53rZjV9a30JJfUOg operators;
};
struct tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw {
  RootObj Sup;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* typeInfo;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* constants;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* code;
tySequence__ed0C0uAUZPhvw3RAc5hfYg* forwarded;
tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw generatedSyms;
tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw typeInfoGenerated;
NI unique;
NIM_BOOL inSystem;
};
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TSystemCPU__bwO2H8lhMFycb5BeZf6MFQ;
typedef NU8 tyEnum_TSystemOS__Vz6QOcCh9a6xfgXqmx3OBpw;
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_Target__tpQT7iEuCtUPNwog9cc3VgA {
tyEnum_TSystemCPU__bwO2H8lhMFycb5BeZf6MFQ targetCPU;
tyEnum_TSystemCPU__bwO2H8lhMFycb5BeZf6MFQ hostCPU;
tyEnum_TSystemOS__Vz6QOcCh9a6xfgXqmx3OBpw targetOS;
tyEnum_TSystemOS__Vz6QOcCh9a6xfgXqmx3OBpw hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU8 tySet_tyEnum_TErrorOutput__AR9blT7YaZzdImck9a5cntbQ;
struct tyObject_MsgConfig__whxq1VkHUSUyso71rqeLKA {
tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__AR9blT7YaZzdImck9a5cntbQ errorOutputs;
tySequence__mIo9bZUsotCEUUtEGNhYmaA* msgContext;
tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw lastError;
tyObject_Table__9cHFtxtpgztIcDsypRz9byKw filenameToIndexTbl;
tySequence__8rKxBHaz7QqNR9a4WIZqqqQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__CPbjHbMoELnjs1sUwb4U6w;
typedef NU8 tyEnum_Command__9bV9cjzU2RVpin7yQI1gAZgg;
typedef NU8 tyEnum_ExceptionSystem__B9agvczdQhYbOz39atZ7Ap3Q;
typedef NU8 tyEnum_SymbolFilesOption__qvBr4umnK8GxeSOSEgbmLg;
struct tyObject_HashSet__LVIAeIp9cp9c81do0NZpv6Sw {
tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU32 tySet_tyEnum_Feature__T2jOg7rgtA4lKTKRASHfHw;
typedef NU8 tySet_tyEnum_LegacyFeature__YfzcW9bRC8xGYaRkFXliJ2g;
typedef NU8 tyEnum_IdeCmd__p9ct5yRAwVUwh1wTpKTgABg;
typedef NU8 tySet_tyEnum_TMsgKind__rb52wmU1YxCKdMrEGfD9boA[12];
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
NI Field0;
NI Field1;
NI Field2;
};
typedef NU8 tySet_tyEnum_StdOrrKind__iRAzj081qUCWECwmGroJoA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___VUPO9alfTq2Ar9a7ZtY9cSPDg* result, void* ClE_0);
void* ClE_0;
} tyProc__Ox1WDSaSyO73VnvAC2a4UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__ai6Qt9bTOrsyOxOrlIkRHUg;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config, tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info, NimStringDesc* msg, tyEnum_Severity__ai6Qt9bTOrsyOxOrlIkRHUg severity, void* ClE_0);
void* ClE_0;
} tyProc__2bM7rNPFiQD9bOvwFI49bKLQ;
struct tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ {
tyEnum_TBackend__zoooocqvga73vZuhGAAy6A backend;
tyObject_Target__tpQT7iEuCtUPNwog9cc3VgA target;
NI linesCompiled;
tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ options;
tySet_tyEnum_TGlobalOption__WCvlY9b2UxZ4Fz8D59cE3YSg globalOptions;
tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA* macrosToExpand;
tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA* arcToExpand;
tyObject_MsgConfig__whxq1VkHUSUyso71rqeLKA m;
tyEnum_FilenameOption__CPbjHbMoELnjs1sUwb4U6w filenameOption;
NimStringDesc* unitSep;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_Command__9bV9cjzU2RVpin7yQI1gAZgg cmd;
NimStringDesc* cmdInput;
NIM_BOOL projectIsCmd;
NIM_BOOL implicitCmd;
tyEnum_TGCMode__yHeclYqeKaCEfMHNbcWn4w selectedGC;
tyEnum_ExceptionSystem__B9agvczdQhYbOz39atZ7Ap3Q exc;
NIM_BOOL hintProcessingDots;
NI verbosity;
NI numberOfProcessors;
NF lastCmdTime;
tyEnum_SymbolFilesOption__qvBr4umnK8GxeSOSEgbmLg symbolFiles;
NI spellSuggestMax;
tyObject_HashSet__LVIAeIp9cp9c81do0NZpv6Sw cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature__T2jOg7rgtA4lKTKRASHfHw features;
tySet_tyEnum_LegacyFeature__YfzcW9bRC8xGYaRkFXliJ2g legacyFeatures;
NimStringDesc* arguments;
tyEnum_IdeCmd__p9ct5yRAwVUwh1wTpKTgABg ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__DqbWIQj9a2XvtXkztox3VFQ cCompiler;
tySet_tyEnum_TMsgKind__rb52wmU1YxCKdMrEGfD9boA modifiedyNotes;
tySet_tyEnum_TMsgKind__rb52wmU1YxCKdMrEGfD9boA cmdlineNotes;
tySet_tyEnum_TMsgKind__rb52wmU1YxCKdMrEGfD9boA foreignPackageNotes;
tySet_tyEnum_TMsgKind__rb52wmU1YxCKdMrEGfD9boA notes;
tySet_tyEnum_TMsgKind__rb52wmU1YxCKdMrEGfD9boA warningAsErrors;
tySet_tyEnum_TMsgKind__rb52wmU1YxCKdMrEGfD9boA mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
NIM_BOOL isVmTrace;
tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA* configVars;
tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA* symbols;
tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* jsonBuildFile;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA* dllOverrides;
tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA* moduleOverrides;
tyObject_StringTableObj__9aYeizX9bryvlooxqmPkPxqA* cfileSpecificOptions;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
tySet_tyEnum_StdOrrKind__iRAzj081qUCWECwmGroJoA lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NimStringDesc* commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
NimStringDesc* docRoot;
NimStringDesc* docCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* cCompilerPath;
tySequence__KLItBKQec3LJzPmfiYYfQA* toCompile;
tyProc__Ox1WDSaSyO73VnvAC2a4UA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__2bM7rNPFiQD9bOvwFI49bKLQ structuredErrorHook;
NimStringDesc* cppCustomNamespace;
NimStringDesc* nimMainPrefix;
tyObject_ProfileDatacolonObjectType___EiZfxxvPWlUmMsSkx8Qffg* vmProfileData;
NIM_BOOL expandProgress;
NI expandLevels;
NimStringDesc* expandNodeResult;
tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw expandPosition;
};
typedef NU8 tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA;
struct tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg {
NI32 module;
NI32 symId;
NI32 typeId_0;
NIM_BOOL sealed;
};
typedef NU32 tySet_tyEnum_TNodeFlag__0RUKWdbLPY3l0smKVGDLMg;
typedef NU8 tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw;
struct tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw {
tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info;
tySet_tyEnum_TNodeFlag__0RUKWdbLPY3l0smKVGDLMg flags;
tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* sym;
} _kind_4;
struct {tyObject_TIdent__PKDcQ7dqdhiSW9c9cXUFFpMg* ident;
} _kind_5;
struct {tySequence__IeU9azYSNIK3V9b36Ir6NZcw* sons;
} _kind_6;
};
};
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
struct tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg {
tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* procDef;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* prc;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* globals;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* locals;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* body;
tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ options;
tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* module;
tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* g;
tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw generatedParamCopies;
NIM_BOOL beforeRetNeeded;
NI unique;
tySequence__kzO9aSSZqi8uJxXMUvASufg* blocks;
NI extraIndent;
tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* up;
tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw declaredGlobals;
};
struct tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg {
NI id;
NIM_BOOL isLoop;
};
typedef NU8 tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ;
struct tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ {
  RootObj Sup;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* left;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* right;
NI L;
NimStringDesc* data;
};
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__o0h2w7RqUVr9aUhiJaoJjoQ[2];
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__dAmhZbEWrTM5xES2bTVweg[1];
struct tyObject_TIdent__PKDcQ7dqdhiSW9c9cXUFFpMg {
NI id;
NimStringDesc* s;
tyObject_TIdent__PKDcQ7dqdhiSW9c9cXUFFpMg* next;
NI h;
};
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__ts9cf9blICas1QWmw89bglZ7w[1];
typedef NU8 tyEnum_TNodeFlag__0RUKWdbLPY3l0smKVGDLMg;
typedef NU8 tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ;
typedef NU8 tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ;
struct tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA {
tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ kind;
tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ typ;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* res;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* address;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpLoc;
};
typedef NU8 tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg;
typedef NU8 tyEnum_TCallingConvention__5kpSva5OFmGFHujbio7C9cg;
typedef NU64 tySet_tyEnum_TTypeFlag__Vrztsndr9a9bj8bQ3cn49bwWw;
struct tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA {
  tyObject_TIdObj__1qw9bcK4rZXhGbJEJhkKQFA Sup;
tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg kind;
tyEnum_TCallingConvention__5kpSva5OFmGFHujbio7C9cg callConv;
tySet_tyEnum_TTypeFlag__Vrztsndr9a9bj8bQ3cn49bwWw flags;
tySequence__vKogasEnJSPhbQmA8r4Y9aA* sons;
tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* owner;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* sym;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_TLoc__CAJV4zTUpZwr0j6Wy8FiFw loc;
tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typeInst;
tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg uniqueId;
};
typedef NU8 tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg[9];
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__FKvM4FDhljtt88k8FkGthA[3];
typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
struct tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ {
tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
};
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__J1NUyw4Xj4ctVrK24Ue6Sw[8];
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__27u9bjXoGJPnSsktsUHwhCw[7];
typedef NU8 tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ;
typedef NU8 tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w;
typedef NU8 tyEnum_TTypeFlag__Vrztsndr9a9bj8bQ3cn49bwWw;
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__XSZGJHCjWme3CUmFzckT3g[5];
typedef NU8 tySet_tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw[21];
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__InO6xIOhXMnkCXPnEYWwWg[4];
typedef NU8 tyEnum_TLocFlag__Ic4ywZl9cdJtKSUkG4WZfHw;
typedef NU8 tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg;
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
typedef tyArray__Re75IspeoxXy2oCZHwcRrA tyArray__Y4Q2IRdVM9alY9afAVFLqP2Q[62];
struct tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg {
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* Field0;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* Field1;
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ {
tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg a;
tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg b;
};
struct tyTuple__kUfCoroaC0rOCxJlya5Mfg {
NimStringDesc* Field0;
tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw Field1;
};
typedef tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tyArray__SJIWFUvBTGjESW6tXwR6UA[6];
typedef NU8 tyEnum_LegacyFeature__YfzcW9bRC8xGYaRkFXliJ2g;
struct tyTuple__x06rJgrLAhZPc8rLiIC9c6A {
NimStringDesc* Field0;
tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ Field1;
tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ Field2;
};
typedef NU16 tyEnum_TSpecialWord__N2XsqTpO5IzOf2KmXwk4Dw;
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef NU8 tyEnum_TGlobalOption__WCvlY9b2UxZ4Fz8D59cE3YSg;
struct tyTuple__OC3ElVGSSYtam9beJ72HG7A {
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* Field0;
tyObject_SourceMapcolonObjectType___89bcT7tAiSyU9c6yCaBjaTTw* Field1;
};
struct tyObject_SourceMapcolonObjectType___89bcT7tAiSyU9c6yCaBjaTTw {
NI version;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* sources;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* names;
NimStringDesc* mappings;
NimStringDesc* file;
};
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg {
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field0;
NI Field1;
};
struct tyObject_Iface__4y9aWdJBxraQYTl5Pa1NMuQ {
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* module;
tySequence__qeAsXh2i1GAL5Nl0g3OP8g* converters;
tySequence__qeAsXh2i1GAL5Nl0g3OP8g* patterns;
tySequence__qeAsXh2i1GAL5Nl0g3OP8g* pureEnums;
tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw interf;
tyObject_TStrTable__CJQ42V2zij8fd39a9aMiwtZw interfHidden;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* uniqueName;
};
typedef NU8 tyEnum_ModuleStatus__K6X1Kd9cJ9a0hyG1Twv69bMNg;
struct tyObject_PackedTree__om9aqqVmbmBPgd8MeBkGtqg {
tySequence__4Murtwnm0Fyc7F9acrytEXw* nodes;
};
typedef NU8 tySet_tyEnum_ModuleBackendFlag__1OX8mHZmOJcGSH2EQV6eCQ;
struct tyObject_BiTable__f1TRECC4Lgx6Suak6pB8oQ {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
};
struct tyObject_BiTable__YFXXoy9ajAIwHK4kQgVvjcw {
tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
};
struct tyObject_PackedModule__Lx6uQ9baEALysaHmfFGXw9ag {
NimStringDesc* definedSymbols;
tySet_tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA moduleFlags;
tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
tyObject_PackedTree__om9aqqVmbmBPgd8MeBkGtqg toReplay;
tyObject_PackedTree__om9aqqVmbmBPgd8MeBkGtqg topLevel;
tyObject_PackedTree__om9aqqVmbmBPgd8MeBkGtqg bodies;
tySequence__b89aLriiJnVTD186H6zNIgg* exports;
tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
tySequence__wE9cZkGC9cv7Iz9ckZOIyaW9aw* reexports;
tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
tySequence__48JTohSgTy339bRxHzUD8KA* converters;
tySequence__48JTohSgTy339bRxHzUD8KA* methods;
tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
tySequence__QnmOtn1Iv4LvxOXoMn8Rbg* macroUsages;
tySequence__oKtVqsc9bQVCNyrijELM4OQ* typeInstCache;
tySequence__qy6Iwdy00wN560qud54HTg* procInstCache;
tySequence__k67v9bwvvQDmS1ynyGGUbeQ* attachedOps;
tySequence__cLsClAAfd0MKkoBQVyvdvw* methodsPerType;
tySequence__oKtVqsc9bQVCNyrijELM4OQ* enumToStringProcs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
tySet_tyEnum_ModuleBackendFlag__1OX8mHZmOJcGSH2EQV6eCQ backendFlags;
tySequence__q9bTuOB0JXh1iZ3CSGdRLbg* syms;
tySequence__DPZr9aMyRppVlNZ9ajSyOZ9bw* types;
tyObject_BiTable__f1TRECC4Lgx6Suak6pB8oQ strings;
tyObject_BiTable__YFXXoy9ajAIwHK4kQgVvjcw numbers;
tyObject_PackedConfig__aqQhF9bElTH51s7bVamv3vA cfg;
};
struct tyObject_Table__jSCM9c8LtAedYb1zTNR73sQ {
tySequence__C3r8jsj9chA4sIlYfDN5aDw* data;
NI counter;
};
struct tyObject_LoadedModule__fihS6xbKhtLC0fhM28Cpeg {
tyEnum_ModuleStatus__K6X1Kd9cJ9a0hyG1Twv69bMNg status;
NIM_BOOL symsInit;
NIM_BOOL typesInit;
NIM_BOOL loadedButAliveSetChanged;
tyObject_PackedModule__Lx6uQ9baEALysaHmfFGXw9ag fromDisk;
tySequence__ed0C0uAUZPhvw3RAc5hfYg* syms;
tySequence__vKogasEnJSPhbQmA8r4Y9aA* types;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* module;
tyObject_Table__jSCM9c8LtAedYb1zTNR73sQ iface;
tyObject_Table__jSCM9c8LtAedYb1zTNR73sQ ifaceHidden;
};
struct tyObject_Table__7OytuYts9c9a3BX9aQNPGI0gQ {
tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
NI counter;
};
struct tyObject_PackedEncoder__ftUl9bxYRlbT5ToKkxHdbfQ {
NI32 thisModule;
NI32 lastFile;
NU32 lastLit;
tyObject_Table__7OytuYts9c9a3BX9aQNPGI0gQ filenames;
tySequence__vKogasEnJSPhbQmA8r4Y9aA* pendingTypes;
tySequence__ed0C0uAUZPhvw3RAc5hfYg* pendingSyms;
tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw typeMarker;
tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw symMarker;
tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config;
};
struct tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ {
NU32 module;
NI32 item;
};
struct tyObject_FullId__L64puUgQnoQ6OMvT9c6V9cPg {
NI module;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ packed_0;
};
struct tyObject_LazyType__wgv9a1JCOBXm9azerxcvz5gQ {
tyObject_FullId__L64puUgQnoQ6OMvT9c6V9cPg id;
tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
};
struct tyTuple__UluY8x0Nj6cp9b0o88wJ0lg {
NI Field0;
tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg Field1;
tySequence__dlD6tEGzYLLpKVq3XwuFlA* Field2;
};
struct tyObject_LazyInstantiation__0l1i6PfjQKnMEvpGMAoN8Q {
NI module;
tyObject_FullId__L64puUgQnoQ6OMvT9c6V9cPg sym;
tySequence__UnGSk9aaLosDroi2QDrlOfQ* concreteTypes;
tyObject_TInstantiation__ScJwrSJM8Lp9ahM9b3AS1apA* inst;
};
struct tyTuple__rZZA0skon1OsHdiEvT8RZQ {
NI Field0;
tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg Field1;
tySequence__6OFCSvqRaxyEgUqWtnZSlw* Field2;
};
struct tyTuple__q13Zt16VkCqu6Zg5jWqwHA {
NI Field0;
tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg Field1;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* Field2;
};
struct tyObject_LazySym__Xts9a2Mw4b4jtq73p6MrfJg {
tyObject_FullId__L64puUgQnoQ6OMvT9c6V9cPg id;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* sym;
};
struct tyTuple__RWXAsQlFoGYyEQZp1G65sg {
NI Field0;
tyObject_LazySym__Xts9a2Mw4b4jtq73p6MrfJg Field1;
};
struct tyTuple__aWN9bNzF9bubXNJV9ciomgpfA {
NI Field0;
tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg Field1;
tySequence__m4PVWjcAAjfxlwJxLkKn8A* Field2;
};
struct tyTuple__RmGJuqOgEaHckHndh0LEsw {
NI Field0;
tyObject_ItemId__wg9aowaxscbUe2F0nV9btZLg Field1;
tyObject_LazySym__Xts9a2Mw4b4jtq73p6MrfJg Field2;
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
};
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct tyObject_SymInfoPair__SjZT5Rln3r9befMWWSryQ0A {
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* sym;
tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info;
};
struct tyTuple__J4cxakKjhKxTIJR9bojMmXw {
NI Field0;
NI32 Field1;
tySequence__i89c5kdtWKzK3OEiI81pkkw* Field2;
};
struct tyTuple__VwWg1orPZ9b5Rg9aZAI6SIaQ {
NI Field0;
NI32 Field1;
tySequence__GR8qmV1kNRcoQ2g76VFy3A* Field2;
};
struct tyTuple__a7QginWFapakKbWJBJ2vfA {
tySequence__ed0C0uAUZPhvw3RAc5hfYg* Field0;
tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* Field1;
};
struct tyTuple__mPT6B9cVWqwVnWb1Fxx9bgyA {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* Field2;
};
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
struct tyTuple__kbX6x85REySUrk9auORL0vw {
NI Field0;
NimStringDesc* Field1;
tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* Field2;
};
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringDesc* Field1;
NI64 Field2;
};
struct tyObject_BTree__R2EgvhuH9cLMYvSPesdcu5Q {
tyObject_NodecolonObjectType___NOM0ZpqV9bLtofkCilAnZ8A* root;
NI entries;
};
struct tyTuple__Ah6ua9a8WyUOs9aO9afW59cy0g {
NI Field0;
NimStringDesc* Field1;
tyObject_BTree__R2EgvhuH9cLMYvSPesdcu5Q Field2;
};
typedef N_NIMCALL_PTR(tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw*, tyProc__kqPx9c4py2HW6KcFMhNvxtg) (tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* module, tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg* idgen);
typedef N_NIMCALL_PTR(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, tyProc__9c6qRjwy7Es8UkDTIUwAfFA) (tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, tyProc__mv4BsRs5VEnhcxzV6pQU5w) (tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
struct tyTuple__nF9cH4hinXgGEUwO4G2bshw {
tyProc__kqPx9c4py2HW6KcFMhNvxtg Field0;
tyProc__9c6qRjwy7Es8UkDTIUwAfFA Field1;
tyProc__mv4BsRs5VEnhcxzV6pQU5w Field2;
NIM_BOOL Field3;
};
struct tyTuple__U3hs4iGgBd4Y9beL6zJV9boQ {
tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw Field0;
NimStringDesc* Field1;
};
struct tyObject_TFileInfo__2PBRRPxvvEH2sQ9cRi19bh7w {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* quotedName;
tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyFile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef NU8 tySet_tyEnum_CfileFlag__S5Qo9byZG8QnIQnJQ0ZDWrA;
struct tyObject_Cfile__n9b2nVKiXbLpHsfkan9c3Rkw {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag__S5Qo9byZG8QnIQnJQ0ZDWrA flags;
NimStringDesc* customArgs;
};
struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
NU32 Field0;
NimStringDesc* Field1;
};
struct tyObject_PackedLineInfo__wqhF27DCtLcrB2XHUZKKiA {
NU16 line;
NI16 col;
NU32 file;
};
struct tyObject_PackedNode__9aA1ZskrZ0b0RCXxY4Hw8YA {
tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw kind;
tySet_tyEnum_TNodeFlag__0RUKWdbLPY3l0smKVGDLMg flags;
NI32 operand;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ typeId_0;
tyObject_PackedLineInfo__wqhF27DCtLcrB2XHUZKKiA info;
};
struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
NU32 Field0;
NI32 Field1;
};
struct tyTuple__PsEhl3dzznmmJiLAuIXZOg {
NU32 Field0;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ Field1;
};
struct tyTuple__Dg3ILQdzHFjrYRx6Xwbq3w {
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ Field0;
tyObject_PackedLineInfo__wqhF27DCtLcrB2XHUZKKiA Field1;
};
struct tyTuple__Db8CrQifKGIsKc3w71w7Lw {
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ Field0;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ Field1;
};
struct tyObject_PackedInstantiation__wt9ao6lqcInu9aOmUoxgkWcg {
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ key;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ sym;
tySequence__lo3S1lKyiPLhGGB9cBawd6A* concreteTypes;
};
typedef NU8 tyEnum_TTypeAttachedOp__0IDqFfYT9a3F5i6tmCmdORQ;
struct tyTuple__Q9cwWJO3ddVfos2xI7N9cHHQ {
tyEnum_TTypeAttachedOp__0IDqFfYT9a3F5i6tmCmdORQ Field0;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ Field1;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ Field2;
};
struct tyTuple__FEYH9alRJhHD0uTKF2vnIqw {
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ Field0;
NI Field1;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ Field2;
};
typedef NU8 tyEnum_TLibKind__tW9cjoYNrpn2JX4q6fqRnxQ;
struct tyObject_PackedLib__djDv9aFBRsdjnMVLdFGA0nA {
tyEnum_TLibKind__tW9cjoYNrpn2JX4q6fqRnxQ kind;
NIM_BOOL generated;
NIM_BOOL isOverriden;
NU32 name;
NI32 path;
};
struct tyObject_PackedSym__fAjcBcJ2JPtzDDxyIN8WmA {
tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw kind;
NU32 name;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ typ;
tySet_tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA flags;
tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag magic;
tyObject_PackedLineInfo__wqhF27DCtLcrB2XHUZKKiA info;
NI32 ast;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ owner;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ guard;
NI bitsize;
NI alignment;
tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ options;
NI position;
NI offset;
NU32 externalName;
tySet_tyEnum_TLocFlag__Ic4ywZl9cdJtKSUkG4WZfHw locFlags;
tyObject_PackedLib__djDv9aFBRsdjnMVLdFGA0nA annex;
NI32 constraint;
};
struct tyObject_PackedType__MvipqCfEd9b9bJbbBPwsUOiw {
tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg kind;
tyEnum_TCallingConvention__5kpSva5OFmGFHujbio7C9cg callConv;
tySet_tyEnum_TTypeFlag__Vrztsndr9a9bj8bQ3cn49bwWw flags;
tySequence__lo3S1lKyiPLhGGB9cBawd6A* types;
NI32 n;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ sym;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ owner;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ typeInst;
NI32 nonUniqueId;
};
struct tyTuple__VUJ5Hjm4tKAResBsRHJvYg {
NI Field0;
tyObject_TIdent__PKDcQ7dqdhiSW9c9cXUFFpMg* Field1;
tySequence__lo3S1lKyiPLhGGB9cBawd6A* Field2;
};
struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
NI Field0;
NI32 Field1;
NU32 Field2;
};
struct tySequence__ed0C0uAUZPhvw3RAc5hfYg {
  TGenericSeq Sup;
  tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* data[SEQ_DECL_SIZE];
};
struct tySequence__kzO9aSSZqi8uJxXMUvASufg {
  TGenericSeq Sup;
  tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg data[SEQ_DECL_SIZE];
};
struct tySequence__IeU9azYSNIK3V9b36Ir6NZcw {
  TGenericSeq Sup;
  tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* data[SEQ_DECL_SIZE];
};
struct tySequence__XUL1TrMU0tgXmaMFCIYgFQ {
  TGenericSeq Sup;
  tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg data[SEQ_DECL_SIZE];
};
struct tySequence__RNhZxf20g9beyq5VBOGxhDg {
  TGenericSeq Sup;
  tyObject_Iface__4y9aWdJBxraQYTl5Pa1NMuQ data[SEQ_DECL_SIZE];
};
struct tySequence__JbK5aK9aVhc9cJZzQYg1wQlQ {
  TGenericSeq Sup;
  tyObject_LoadedModule__fihS6xbKhtLC0fhM28Cpeg data[SEQ_DECL_SIZE];
};
struct tySequence__lFbCtu5P2Kf7YDYtGjkxAQ {
  TGenericSeq Sup;
  tyObject_PackedEncoder__ftUl9bxYRlbT5ToKkxHdbfQ data[SEQ_DECL_SIZE];
};
struct tySequence__dlD6tEGzYLLpKVq3XwuFlA {
  TGenericSeq Sup;
  tyObject_LazyType__wgv9a1JCOBXm9azerxcvz5gQ data[SEQ_DECL_SIZE];
};
struct tySequence__ijtae5OneaLys0hN9alAicA {
  TGenericSeq Sup;
  tyTuple__UluY8x0Nj6cp9b0o88wJ0lg data[SEQ_DECL_SIZE];
};
struct tySequence__6OFCSvqRaxyEgUqWtnZSlw {
  TGenericSeq Sup;
  tyObject_LazyInstantiation__0l1i6PfjQKnMEvpGMAoN8Q data[SEQ_DECL_SIZE];
};
struct tySequence__SerjNoUujW2dUouVBrJiCw {
  TGenericSeq Sup;
  tyTuple__rZZA0skon1OsHdiEvT8RZQ data[SEQ_DECL_SIZE];
};
struct tySequence__K9agbtcb0qPZuSJFXB9cTe6g {
  TGenericSeq Sup;
  tyTuple__q13Zt16VkCqu6Zg5jWqwHA data[SEQ_DECL_SIZE];
};
struct tySequence__m4PVWjcAAjfxlwJxLkKn8A {
  TGenericSeq Sup;
  tyTuple__RWXAsQlFoGYyEQZp1G65sg data[SEQ_DECL_SIZE];
};
struct tySequence__m88qdML9cQOuqGAQn6XWL1A {
  TGenericSeq Sup;
  tyTuple__aWN9bNzF9bubXNJV9ciomgpfA data[SEQ_DECL_SIZE];
};
struct tySequence__naEbXEp9b9aiW1zXJorqf9cXQ {
  TGenericSeq Sup;
  tyTuple__RmGJuqOgEaHckHndh0LEsw data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__q9cq1Li6c1nMjHpacEbCj0g {
  TGenericSeq Sup;
  tyObject_TrunkcolonObjectType___2fEZuM4UuXkgO9bDnaMLLWg* data[SEQ_DECL_SIZE];
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  TGenericSeq Sup;
  tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct tySequence__i89c5kdtWKzK3OEiI81pkkw {
  TGenericSeq Sup;
  tyObject_SymInfoPair__SjZT5Rln3r9befMWWSryQ0A data[SEQ_DECL_SIZE];
};
struct tySequence__KgiZ29chkJAD01p9aLRB32qw {
  TGenericSeq Sup;
  tyTuple__J4cxakKjhKxTIJR9bojMmXw data[SEQ_DECL_SIZE];
};
struct tySequence__GR8qmV1kNRcoQ2g76VFy3A {
  TGenericSeq Sup;
  tyObject_SuggestcolonObjectType___VUPO9alfTq2Ar9a7ZtY9cSPDg* data[SEQ_DECL_SIZE];
};
struct tySequence__rkYRZrbHVYL3nhXlQW3K9bw {
  TGenericSeq Sup;
  tyTuple__VwWg1orPZ9b5Rg9aZAI6SIaQ data[SEQ_DECL_SIZE];
};
struct tySequence__IRFEb1e9bxgbJLuB5xrdZsQ {
  TGenericSeq Sup;
  tyTuple__a7QginWFapakKbWJBJ2vfA data[SEQ_DECL_SIZE];
};
struct tySequence__YmPd0eWfcTfrVYrthlXPYA {
  TGenericSeq Sup;
  tyTuple__mPT6B9cVWqwVnWb1Fxx9bgyA data[SEQ_DECL_SIZE];
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
  TGenericSeq Sup;
  tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
};
struct tySequence__Hz5SYwQU29b9aFLt09blvVQPg {
  TGenericSeq Sup;
  tyTuple__kbX6x85REySUrk9auORL0vw data[SEQ_DECL_SIZE];
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  TGenericSeq Sup;
  tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
};
struct tySequence__3G9aA9cLXaPxuRxMKm3anacQ {
  TGenericSeq Sup;
  tyTuple__Ah6ua9a8WyUOs9aO9afW59cy0g data[SEQ_DECL_SIZE];
};
struct tySequence__bPFv6ypvvCX2A9a9al8utL2Q {
  TGenericSeq Sup;
  tyTuple__nF9cH4hinXgGEUwO4G2bshw data[SEQ_DECL_SIZE];
};
struct tySequence__mIo9bZUsotCEUUtEGNhYmaA {
  TGenericSeq Sup;
  tyTuple__U3hs4iGgBd4Y9beL6zJV9boQ data[SEQ_DECL_SIZE];
};
struct tySequence__8rKxBHaz7QqNR9a4WIZqqqQ {
  TGenericSeq Sup;
  tyObject_TFileInfo__2PBRRPxvvEH2sQ9cRi19bh7w data[SEQ_DECL_SIZE];
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__KLItBKQec3LJzPmfiYYfQA {
  TGenericSeq Sup;
  tyObject_Cfile__n9b2nVKiXbLpHsfkan9c3Rkw data[SEQ_DECL_SIZE];
};
struct tySequence__vKogasEnJSPhbQmA8r4Y9aA {
  TGenericSeq Sup;
  tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* data[SEQ_DECL_SIZE];
};
struct tySequence__qeAsXh2i1GAL5Nl0g3OP8g {
  TGenericSeq Sup;
  tyObject_LazySym__Xts9a2Mw4b4jtq73p6MrfJg data[SEQ_DECL_SIZE];
};
struct tySequence__PXIzfWocnrafGz5p3CP5LA {
  TGenericSeq Sup;
  tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
};
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
  TGenericSeq Sup;
  NU32 data[SEQ_DECL_SIZE];
};
struct tySequence__4Murtwnm0Fyc7F9acrytEXw {
  TGenericSeq Sup;
  tyObject_PackedNode__9aA1ZskrZ0b0RCXxY4Hw8YA data[SEQ_DECL_SIZE];
};
struct tySequence__b89aLriiJnVTD186H6zNIgg {
  TGenericSeq Sup;
  tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
};
struct tySequence__wE9cZkGC9cv7Iz9ckZOIyaW9aw {
  TGenericSeq Sup;
  tyTuple__PsEhl3dzznmmJiLAuIXZOg data[SEQ_DECL_SIZE];
};
struct tySequence__QnmOtn1Iv4LvxOXoMn8Rbg {
  TGenericSeq Sup;
  tyTuple__Dg3ILQdzHFjrYRx6Xwbq3w data[SEQ_DECL_SIZE];
};
struct tySequence__oKtVqsc9bQVCNyrijELM4OQ {
  TGenericSeq Sup;
  tyTuple__Db8CrQifKGIsKc3w71w7Lw data[SEQ_DECL_SIZE];
};
struct tySequence__qy6Iwdy00wN560qud54HTg {
  TGenericSeq Sup;
  tyObject_PackedInstantiation__wt9ao6lqcInu9aOmUoxgkWcg data[SEQ_DECL_SIZE];
};
struct tySequence__k67v9bwvvQDmS1ynyGGUbeQ {
  TGenericSeq Sup;
  tyTuple__Q9cwWJO3ddVfos2xI7N9cHHQ data[SEQ_DECL_SIZE];
};
struct tySequence__cLsClAAfd0MKkoBQVyvdvw {
  TGenericSeq Sup;
  tyTuple__FEYH9alRJhHD0uTKF2vnIqw data[SEQ_DECL_SIZE];
};
struct tySequence__q9bTuOB0JXh1iZ3CSGdRLbg {
  TGenericSeq Sup;
  tyObject_PackedSym__fAjcBcJ2JPtzDDxyIN8WmA data[SEQ_DECL_SIZE];
};
struct tySequence__DPZr9aMyRppVlNZ9ajSyOZ9bw {
  TGenericSeq Sup;
  tyObject_PackedType__MvipqCfEd9b9bJbbBPwsUOiw data[SEQ_DECL_SIZE];
};
struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
  TGenericSeq Sup;
  NI64 data[SEQ_DECL_SIZE];
};
struct tySequence__lo3S1lKyiPLhGGB9cBawd6A {
  TGenericSeq Sup;
  tyObject_PackedItemId__QkYBSICiQaMI6SmH4FJVoQ data[SEQ_DECL_SIZE];
};
struct tySequence__C3r8jsj9chA4sIlYfDN5aDw {
  TGenericSeq Sup;
  tyTuple__VUJ5Hjm4tKAResBsRHJvYg data[SEQ_DECL_SIZE];
};
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
  TGenericSeq Sup;
  tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
};
struct tySequence__UnGSk9aaLosDroi2QDrlOfQ {
  TGenericSeq Sup;
  tyObject_FullId__L64puUgQnoQ6OMvT9c6V9cPg data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA*, newModule__jsgen_6568)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* module);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__RITcST9bXKLxZMKr4OOsKrA)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5311)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
static N_INLINE(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*, usrToCell__system_5273)(void* usr);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(void, decRef__system_5318)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5316)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5267)(tyObject_CellSeq__nav876ELHgxScHhs30CKiA* s, tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
N_LIB_PRIVATE N_NIMCALL(void, initCountTable__cgen_28510)(NI initialSize, tyObject_CountTable__XawALO1wTnCsJeWBJMYZyg* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw*, newGlobals__jsgen_141)(void);
static N_NIMCALL(void, Marker_tyRef__nPQh4KD9aE0dJ18MTP280Uw)(void* p, NI op);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* Result);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* Result);
static N_INLINE(NIM_BOOL, skipCodegen__passes_51)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1441)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf, tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*, newInitProc__jsgen_262)(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* globals, tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* module);
N_LIB_PRIVATE N_NIMCALL(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*, newProc__jsgen_200)(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* globals, tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* module, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* procDef, tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ options);
static N_NIMCALL(void, Marker_tySequence__kzO9aSSZqi8uJxXMUvASufg)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__vnIptVZY9bdKj7mTyWooVgQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ, initProcOptions__jsgen_255)(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* module);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, genModule__jsgen_6629)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(void, add__ropes_159)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** a, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, frameCreate__jsgen_5879)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* procname, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, indentLine__jsgen_97)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* r);
N_LIB_PRIVATE N_NIMCALL(void, prepend__ropes_265)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** a, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, rope__ropes_109)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5885)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5890)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, makeJSString__jsgen_396)(NimStringDesc* s, NIM_BOOL escapeNonAscii);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuEscape)(NimStringDesc* s, NimStringDesc* prefix, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJSString__jsgen_388)(NimStringDesc* s);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1733)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFilenameOption__msgs_600)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf, NI32 fileIdx, tyEnum_FilenameOption__CPbjHbMoELnjs1sUwb4U6w opt);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, transformStmt__transf_1888)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg* idgen, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* module, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, injectDestructorCalls__injectdestructors_10132)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg* idgen, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* owner, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn__options_582)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, amp___ropes_128)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, amp___ropes_140)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, idOrSig__sighashes_2071)(tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s, NimStringDesc* currentModule, tyObject_CountTable__XawALO1wTnCsJeWBJMYZyg* sigCollisions, tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_869)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, addHcrInitGuards__jsgen_6597)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* moduleLoadedVar, NIM_BOOL* inInitGuard);
static N_INLINE(NI, safeLen__ast_3148)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
static N_INLINE(NI, len__ast_3155)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6620)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genStmt__jsgen_788)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(void, gen__jsgen_784)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(void, genSym__jsgen_3358)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genVarInit__jsgen_3354)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* v, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, mangleName__jsgen_326)(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* m, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validJsName__jsgen_330)(NimStringDesc* name);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__system_1741)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mangle__ccgutils_112)(NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1788)(NI x, NI len);
N_LIB_PRIVATE N_NIMCALL(void, add__ropes_162)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, rope__ropes_115)(NI64 i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4130)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___ropes_250)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4139)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ, mapType__jsgen_322)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ, mapType__jsgen_295)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*, skipTypes__ast_3723)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t, tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg kinds);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*, lastSon__ast_3731)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* n);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4182)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4187)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, runtimeFormat__ropes_271)(NimStringDesc* frmt, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1280)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, createVar__jsgen_3849)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, NIM_BOOL indirect);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, putToSeq__jsgen_3840)(NimStringDesc* s, NIM_BOOL indirect);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_3844)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_273)(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ, lengthOrd__types_1723)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*, elemType__types_263)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, arrayTypeForElemType__jsgen_4017)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4032)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, useMagic__jsgen_797)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__3r34mwqcVmg5JFNmiaVncw*, getCompilerProc__magicsys_145)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, NimStringDesc* name);
static N_INLINE(NimStringDesc*, toFileLineCol__msgs_625)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genProc__jsgen_791)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* oldProc, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* prc);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, generateHeader__jsgen_2423)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ);
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3592)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5980)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5985)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6013)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6023)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6028)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, transformBody__transf_16)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg* idgen, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* prc, NIM_BOOL cache);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, lineDir__jsgen_1826)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config, tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info, NI line);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1831)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__msgs_548)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf, NI32 fileIdx);
static N_INLINE(NI, toLinenumber__msgs_619)(tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, optionalLine__jsgen_5920)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genProcBody__jsgen_5898)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* prc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasFrameInfo__jsgen_1807)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5902)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2292)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5915)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, frameDestroy__jsgen_5895)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6059)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6064)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_7535)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1128)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf, tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info, tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ msg, NimStringDesc* arg, tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4037)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genTypeInfo__jsgen_403)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_707)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_737)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_523)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_561)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genEnumInfo__jsgen_624)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* name);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_649)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_663)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_546)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genObjectInfo__jsgen_515)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* name);
static N_INLINE(NIM_BOOL, objHasTypeField__jsgen_503)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_535)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genObjectFields__jsgen_406)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_431)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_436)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_480)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, rope__jsgen_400)(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ arg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___int495056_53)(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ a);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ, getOrdValue__types_161)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ onError);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_493)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, lastSon__ast_4833)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_498)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genTupleInfo__jsgen_592)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* name);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genTupleFields__jsgen_566)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ);
static N_INLINE(NI, len__ast_3990)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_580)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4060)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, createObjInitList__jsgen_4001)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* excludedFieldIDs, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** output);
N_LIB_PRIVATE N_NIMCALL(NI, len__ropes_10)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4007)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, createRecordVarAux__jsgen_3853)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* rec, tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* excludedFieldIDs, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** output);
static N_INLINE(NIM_BOOL, isEmptyType__ast_4780)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3489)(tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_3996)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4070)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsNoCopy__jsgen_2488)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* y);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4218)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, getTemp__jsgen_856)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, NIM_BOOL defineInLocals);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_864)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4271)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, newNodeI__ast_3320)(tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw kind, tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info);
N_LIB_PRIVATE N_NIMCALL(void, genCopyForParamIfNeeded__jsgen_3310)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_3348)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_3414)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_3419)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2860)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2855)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genConstant__jsgen_794)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* c);
static N_INLINE(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, getBody__modulegraphs_13094)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, loadProcBody__icZic_8386)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config, tyObject_IdentCachecolonObjectType___ssh0vzVb9aCQuB6ShpimfIQ* cache, tySequence__JbK5aK9aVhc9cJZzQYg1wQlQ** g, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, genProcForSymIfNeeded__jsgen_3272)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s);
N_LIB_PRIVATE N_NIMCALL(void, attachProc__jsgen_3264)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* content, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6444)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg, classify__pureZmath_147)(NF x);
static N_INLINE(NIM_BOOL, signbit__astalgo_926)(NF x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toStrMaxPrecision__astalgo_920)(NF f);
N_LIB_PRIVATE N_NIMCALL(void, genLineDir__jsgen_1836)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_19419)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1852)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genMagic__jsgen_4656)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genOr__jsgen_921)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* a, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* b, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSimpleExpr__jsgen_839)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
static N_INLINE(NIM_BOOL, isAtom__ast_4769)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_935)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
static N_INLINE(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, rdLoc__jsgen_188)(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_6805)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_940)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_903)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genAnd__jsgen_874)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* a, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* b, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_889)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_894)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, arith__jsgen_1734)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag op);
N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr__jsgen_1739)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NimStringDesc* op);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, unsignedTrimmerJS__jsgen_1119)(NI64 size);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1752)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1779)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, arithAux__jsgen_1153)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag op);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1181)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1186)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1191)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1196)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1201)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1206)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1211)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1216)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1221)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1226)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1271)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1290)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1299)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1309)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1318)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1327)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1336)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1345)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1354)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1363)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1404)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_19222)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_19227)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_19232)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_19310)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1597)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_19092)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1606)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1615)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1620)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_19414)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1633)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1642)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1667)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1676)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1685)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1702)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1788)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1802)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genRepr__jsgen_4558)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genReprAux__jsgen_4540)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NimStringDesc* magic, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_12092)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genSwap__jsgen_2750)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2772)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2777)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4683)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTemp__jsgen_982)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* x, tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsTemp__jsgen_969)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1003)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1011)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4700)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4708)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4727)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4739)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genConStrStr__jsgen_4471)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4482)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4487)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4506)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4511)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4530)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4535)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4762)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4781)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4800)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1627)(NimStringDesc* s, NimStringDesc* sub);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4817)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4824)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genNew__jsgen_4404)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1959)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4424)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4429)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genJSArrayConstr__jsgen_4627)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genCall__jsgen_3793)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genArgs__jsgen_3609)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NI start);
N_LIB_PRIVATE N_NIMCALL(void, genArgNoParam__jsgen_3543)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genArg__jsgen_3552)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* param, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NI* emitted);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_3596)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2850)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genOrd__jsgen_4449)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4466)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4852)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4857)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4872)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4877)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr__jsgen_4887)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NimStringDesc* op);
N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTempAssignable__jsgen_1020)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* x, tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ, firstOrd__types_1406)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_952)(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1074)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1079)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1084)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4903)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4926)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4947)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4982)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5003)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5022)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5040)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5052)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5071)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5090)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5109)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5128)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5147)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5166)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5185)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5204)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5223)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__jsgen_4434)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4444)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5235)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genOf__jsgen_4564)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4580)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4585)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genDefault__jsgen_4590)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genReset__jsgen_4594)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4603)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_4612)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genEcho__jsgen_3816)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, skipConv__types_3661)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5248)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5260)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5272)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genMove__jsgen_4617)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genInfixCall__jsgen_3746)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1631)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(void, genPatternCall__jsgen_3699)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, NimStringDesc* pat, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genOtherArg__jsgen_3664)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, NI i, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, NI* generated, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7745)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__jsgen_5277)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr__trees_171)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, NIM_BOOL preventInheritance);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2973)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__jsgen_5321)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5333)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__jsgen_5347)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5372)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5381)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__jsgen_5386)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__3r34mwqcVmg5JFNmiaVncw*, lookupFieldAgain__types_4152)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* ty, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* field);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5472)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5481)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5491)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genConv__jsgen_5496)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
static N_INLINE(NIM_BOOL, contains__semfold_973)(tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ s, tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg value);
static N_INLINE(tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ, dotdot___semfold_951)(tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg a, tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5769)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5778)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5783)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genAddr__jsgen_2908)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genSymAddr__jsgen_3106)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___jsgen_3158)(tyTuple__kUfCoroaC0rOCxJlya5Mfg x);
N_LIB_PRIVATE N_NIMCALL(void, genCheckedFieldOp__jsgen_2912)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* addrTyp, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, genFieldDefect__astmsgs_61)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf, NimStringDesc* field, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* disc);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2989)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2979)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2984)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_7469)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genFieldAddr__jsgen_2786)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(NI, getFieldPosition__jsgen_2782)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* f);
N_LIB_PRIVATE N_NIMCALL(void, genFieldAccess__jsgen_2824)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_13428)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genArrayAddr__jsgen_3006)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genDeref__jsgen_3506)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genArrayAccess__jsgen_3047)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_3071)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, upConv__jsgen_5788)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genCast__jsgen_6106)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6383)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6390)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6407)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genRangeChck__jsgen_5793)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NimStringDesc* magic);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5815)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, convStrToCStr__jsgen_5820)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5836)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, convCStrToStr__jsgen_5841)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(void, genBlock__jsgen_2253)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2278)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, genIf__jsgen_2363)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2017)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2400)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, moveInto__jsgen_1947)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* src, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_7800)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(void, genWhileStmt__jsgen_1857)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
static N_INLINE(tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg*, X5BX5D___jsgen_1876)(tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg* s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1899)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1913)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genVarStmt__jsgen_4318)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, lowerTupleUnpacking__lowerings_116)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg* idgen, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* owner);
N_LIB_PRIVATE N_NIMCALL(void, genCaseJS__jsgen_2145)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2159)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_13803)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, copyNode__ast_4324)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_15437)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_7446)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2231)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genReturnStmt__jsgen_5861)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_5874)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genBreakStmt__jsgen_2297)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2330)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genAsgn__jsgen_2734)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(void, genAsgnAux__jsgen_2516)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* x, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* y, NIM_BOOL noCopyNeeded);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2548)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2570)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2575)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2593)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2602)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2619)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2652)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___jsgen_2661)(tyTuple__x06rJgrLAhZPc8rLiIC9c6A x);
N_LIB_PRIVATE N_NIMCALL(void, genFastAsgn__jsgen_2739)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, amp___ropes_144)(NimStringDesc* a, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* b);
N_LIB_PRIVATE N_NIMCALL(void, genAsmOrEmitStmt__jsgen_2335)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(void, genTry__jsgen_1968)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1987)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_1995)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2000)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_4936)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedException__ast_4905)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t, tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2062)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2067)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2072)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2081)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2100)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genRaiseStmt__jsgen_2128)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_2140)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genPragma__jsgen_6098)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__N2XsqTpO5IzOf2KmXwk4Dw, whichPragma__trees_244)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___cgen_14050)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, percent___jsgen_6656)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, myProcess__jsgen_6665)(tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw* b, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_4798)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* father, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genHeader__jsgen_6595)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatVarargs)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuUnindent)(NimStringDesc* s, NI count, NimStringDesc* padding);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, wholeCode__jsgen_6676)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* m);
N_LIB_PRIVATE N_NIMCALL(void, attachProc__jsgen_3268)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, generateMethodDispatchers__cgmeth_547)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prepareToWriteOutput__options_4093)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* conf);
N_LIB_PRIVATE N_NIMCALL(void, genSourceMap__sourcemap_917)(NimStringDesc* source, NimStringDesc* outFile, tyTuple__OC3ElVGSSYtam9beJ72HG7A* Result);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__systemZio_474)(NimStringDesc* filename, NimStringDesc* content);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZjson_4484)(tyObject_JsonNodeObj__wYd81YPSGeV9aTaTIRihe3g* node);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__wYd81YPSGeV9aTaTIRihe3g*, percent___jsgen_6801)(tyObject_SourceMapcolonObjectType___89bcT7tAiSyU9c6yCaBjaTTw* o);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, writeRopeIfNotEqual__ropes_458)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* r, NimStringDesc* filename);
extern TNimType NTItpasscontext__dmp6pRpfXxJk6gIZHkm7dw_;
N_LIB_PRIVATE TNimType NTItjsgen__qpCPsLnGbfCMMFj8D1x7PA_;
extern TNimType NTIpsym__u9bhQvrOYyAS9bCQ6gt41GOQ_;
extern TNimType NTImodulegraph__AcDjMYSN0KX1UsX3HvPu2w_;
extern TNimType NTIconfigref__9af1bTLFo0lbM2Q5seW0UFA_;
extern TNimType NTIcounttable__XawALO1wTnCsJeWBJMYZyg_;
N_LIB_PRIVATE TNimType NTIbmodule__RITcST9bXKLxZMKr4OOsKrA_;
extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTIpglobals58objecttype__CfcaGeBUt4SBLlSX3aXTXw_;
extern TNimType NTIrope__Ylz2qJFHq2oxQcAA5BJOQg_;
extern TNimType NTIseqLpsymT__ed0C0uAUZPhvw3RAc5hfYg_;
extern TNimType NTIpackedset__THXDbzJSs2hcC9a33en2pdw_;
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
N_LIB_PRIVATE TNimType NTIpglobals__nPQh4KD9aE0dJ18MTP280Uw_;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_4, "myProcess", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_6, "/home/runner/work/nightlies/nightlies/nim/compiler/jsgen.nim", 60);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_5 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2751),
((NI) 35)}
;
N_LIB_PRIVATE TNimType NTItproc__PUhwAHU5A3Ab2b9bK0SBOfg_;
extern TNimType NTIpnode__PzkjRjFZybhcKJ9c8COQy5g_;
extern TNimType NTItoptions__JyE8ULWMsetkCt18l86VRw_;
N_LIB_PRIVATE TNimType NTItblock__NMBKXeUeG2FHu1xpxhZ6Vg_;
N_LIB_PRIVATE TNimType NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_;
N_LIB_PRIVATE TNimType NTIpproc__vnIptVZY9bdKj7mTyWooVgQ_;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_9, "  ", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_10, "\"", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_11, "\\n", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_12, "\\r", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_13, "\\t", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_14, "\\b", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_15, "\\a", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_16, "\\e", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_17, "\\v", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_18, "\\\\", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_19, "\\\"", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_20, "module ", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_21, "_loaded", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_22, "}\012", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_23, "symbol has no generated name: ", 30);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_24 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1421),
((NI) 19)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_25, "abstract", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_26, "await", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_27, "boolean", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_28, "break", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_29, "byte", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_30, "case", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_31, "catch", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_32, "char", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_33, "class", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_34, "const", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_35, "continue", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_36, "debugger", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_37, "default", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_38, "delete", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_39, "do", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_40, "double", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_41, "else", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_42, "enum", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_43, "export", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_44, "extends", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_45, "false", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_46, "final", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_47, "finally", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_48, "float", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_49, "for", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_50, "function", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_51, "goto", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_52, "if", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_53, "implements", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_54, "import", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_55, "in", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_56, "instanceof", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_57, "int", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_58, "interface", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_59, "let", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_60, "long", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_61, "native", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_62, "new", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_63, "null", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_64, "package", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_65, "private", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_66, "protected", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_67, "public", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_68, "return", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_69, "short", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_70, "static", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_71, "super", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_72, "switch", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_73, "synchronized", 12);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_74, "this", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_75, "throw", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_76, "throws", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_77, "transient", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_78, "true", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_79, "try", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_80, "typeof", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_81, "var", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_82, "void", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_83, "volatile", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_84, "while", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_85, "with", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_86, "yield", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_87, "HEX", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_88, "_", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_89, "globalThis.", 11);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_90, "var $2", 6);
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_91 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_92, "jsgen.nim(213, 38) `false` ", 27);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_93, " = $3;$n", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_94, "bigint", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_95, "0n", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_96, "0", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_97, "0.0", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_98, "{}", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_99, "Int32Array", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_100, "Int16Array", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_101, "Int8Array", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_102, "Uint32Array", 11);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_103, "Uint16Array", 11);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_104, "Uint8Array", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_105, "Float32Array", 12);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_106, "Float64Array", 12);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_107, "(", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_108, ", ", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_109, ")", 1);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_110 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 302),
((NI) 19)}
;
extern NIM_CONST tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw unknownLineInfo__lineinfos_284;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_111, "_Idx", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_112, " {$n$#$#$#$#$#", 14);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_113, "\012", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_114, "framePtr = F.prev;\012", 19);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_115, "IMLP", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_116, "system module needs: ", 21);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_117 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 308),
((NI) 17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_118 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 310),
((NI) 16)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_119, "arrayConstr", 11);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_120, "nimCopy", 7);
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_121 = {
0x10, 0x28, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_122, "genEnumInfo", 11);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_124, "/home/runner/work/nightlies/nightlies/nim/compiler/jstypes.nim", 62);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_123 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_124),
((NI) 107),
((NI) 46)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_125, ", \012", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_126, "genObjectFields", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_127 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_124),
((NI) 42),
((NI) 42)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_128, "genObjectFields; nkOfBranch broken", 34);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_129 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_124),
((NI) 51),
((NI) 23)}
;
extern NIM_CONST tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ Max__int495056_27;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_130, "genObjectFields(nkRecCase)", 26);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_131 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_124),
((NI) 61),
((NI) 25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_132 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_124),
((NI) 69),
((NI) 21)}
;
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_133 = {
0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_134, "genTypeInfo(", 12);
extern TNimType NTIttypekind__b28l2MkhJpnFhatVrsrXpg_;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_135 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_124),
((NI) 155),
((NI) 23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_136 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_124),
((NI) 156),
((NI) 21)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_137, "[", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_138, "]", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_139, "{", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_140, "}", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_141, "createRecordVarAux", 18);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_142 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1683),
((NI) 21)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_143, "[null, 0]", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_144, "[]", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_145, "createVar: ", 11);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_146 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1773),
((NI) 19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_147 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1776),
((NI) 17)}
;
static NIM_CONST tySet_tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw TM__RWNN386A4nZ2Ks5xVWQZ1Q_148 = {
0xe0, 0x07, 0x77, 0xfc, 0x61, 0x02, 0x00, 0x00,
0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_149, " = $3, $2_Idx = $4;$n", 21);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_150, " = [[$3, $4]];$n", 16);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_151, " = [$3, $4];$n", 14);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_152, " = [$3];$n", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_153, "couldn\'t find the owner proc of the closed over param: ", 55);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_154 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1406),
((NI) 19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_155 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1446),
((NI) 19)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_156, "request to generate code for .compileTime proc: ", 48);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_157 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1450),
((NI) 16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_158 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1466),
((NI) 19)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_159, "false", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_160, "true", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_161, "null", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_162, "0", 1);
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_163 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_164, "makeNimstrLit", 13);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_165, "[]", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_166, "-NaN", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_167, "NaN", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_168, "-0.0", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_169, "0.0", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_170, "Infinity", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_171, "-Infinity", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_172, "& 0xff", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_173, "& 0xffff", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_174, ">>> 0", 5);
extern NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg abstractRange__types_101;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_175, "+", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_176, "-", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_177, "*", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_178, "/", 1);
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_179 = {
0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_180, "addInt", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_181, "subInt", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_182, "mulInt", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_183, "divInt", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_184, "modInt", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_185, "nimMin", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_186, "nimMax", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_187, "negInt", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_188, "negInt64", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_189, "absInt", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_190, "nimCharToStr", 12);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_191, "nimBoolToStr", 12);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_192, "cstrToNimstr", 12);
N_LIB_PRIVATE NIM_CONST tyArray__Y4Q2IRdVM9alY9afAVFLqP2Q jsMagics__jsgen_959 = {{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_180),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_181),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_182),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_183),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_184),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_180),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_181),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_185),
((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_185)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_186),
((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_186)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_187),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_188),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_189),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_190),
((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_190)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_191),
((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_191)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192),
((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192),
((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192),
((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192)}
,
{((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192),
((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_193, "reprAny", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_194, ", null", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_195, "reprInt", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_196, "reprChar", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_197, "reprBool", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_198, "reprFloat", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_199, "reprStr", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_200, "reprEnum", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_201, "reprSet", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_202, "\'repr\' doesn\'t support \'void\' type", 34);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_203 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1972),
((NI) 14)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_204, "reprPointer", 11);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_205, "reprJSONStringify", 17);
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_206 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_207, "genSwap", 7);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_208 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1132),
((NI) 19)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_209, "addChar", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_210, "eqStrings", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_211, "cmpStrings", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_212, "($1 == null)", 12);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_213, "$2", 2);
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_214 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_215, "($1 \? 1 : 0)", 12);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_216, "genOrd", 6);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_217 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1907),
((NI) 21)}
;
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_218 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_219, "chckIndx", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_220, "mnewString", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_221, "SetCard", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_222, "SetCard($1)", 11);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_223, "SetLt", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_224, "SetLe", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_225, "SetEq", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_226, "SetMul", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_227, "SetPlus", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_228, "SetMinus", 8);
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_229 = {
0x10, 0xa9, 0xf0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_230, "isObj", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_231, "genericReset", 12);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_232 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1650),
((NI) 17)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_233, "toJSStr", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_234, "rawEcho", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_235, "rawEcho(", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_236, "\'$1\' can only be used in compile-time context", 45);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_237 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2169),
((NI) 14)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_238, "mnewString($1)", 14);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_239, "mnewString(0)", 13);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_240, "nimParseBiggestFloat", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_241 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1616),
((NI) 19)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__RWNN386A4nZ2Ks5xVWQZ1Q_242 = {
0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_243, "wrong importcpp pattern; expected parameter at position ", 56);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_244, " but got only: ", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_245 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1562),
((NI) 15)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_246, "#", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_247, "@", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_248, "cannot invoke with infix syntax", 31);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_249 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1626),
((NI) 19)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_250, ".", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_251, "setConstr", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_252, "setConstr(", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_253, "ConstSet", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_254, "])", 2);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_255 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2270),
((NI) 19)}
;
static NIM_CONST tySet_tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg TM__RWNN386A4nZ2Ks5xVWQZ1Q_256 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_257, "genAddr: 3", 10);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_258 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1301),
((NI) 34)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_259, "[0]", 3);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_260, "genAddr: 2", 10);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_261 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1332),
((NI) 21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_262 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1191),
((NI) 17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_263 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1203),
((NI) 17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_264 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1207),
((NI) 17)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_265, "raiseFieldError2", 16);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_266, "reprDiscriminant", 16);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_267, "Field", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_268, "genFieldPosition", 16);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_269 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1143),
((NI) 21)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_270, "genFieldAddr", 12);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_271 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1153),
((NI) 40)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_272 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1157),
((NI) 17)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_273, "genFieldAccess", 14);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_274 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1181),
((NI) 40)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_275, "expr(nkBracketExpr, ", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_276 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1361),
((NI) 27)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_277, "genAddr for complex nkStmtListExpr", 34);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_278 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1372),
((NI) 25)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_279, "genAddr: ", 9);
extern TNimType NTItnodekind__clSgDh22o9au33BrVH9bDQZw_;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_280 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1379),
((NI) 21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_281 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1381),
((NI) 19)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_282, "genDeref", 8);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_283 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1494),
((NI) 19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_284 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1272),
((NI) 21)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_285, "genArrayAccess", 14);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_286 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1274),
((NI) 32)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_287, "0xfe", 4);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_288, "0xfffe", 6);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_289, "0xfffffffe", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_290, "chckRange", 9);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_291, "chckRangeF", 10);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_292, "chckRange64", 11);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_293, "convStrToCStr", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_294 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2335),
((NI) 34)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_295, "convCStrToStr", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_296 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2347),
((NI) 34)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_297, "genBlock", 8);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_298 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 920),
((NI) 42)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_299 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 716),
((NI) 17)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_300, "for statement not eliminated", 28);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_301 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2644),
((NI) 17)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_302, "Your case statement contains too many branches, consider using if/else instead!", 79);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_303 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 887),
((NI) 22)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_304, "jsgen.genCaseStmt: 2", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_305 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 898),
((NI) 31)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_306, "jsgen.genCaseStmt", 17);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_307 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 912),
((NI) 23)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_308, "genReturnStmt", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_309 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2353),
((NI) 36)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_310, "no loop to break", 16);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_311 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 946),
((NI) 19)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_312, "cstring doesn\'t support `[]=` operator", 38);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_313 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1051),
((NI) 14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_314 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1089),
((NI) 23)}
;
N_LIB_PRIVATE TNimType NTItjstypekind__tpKLAXT6CPyZ9cMNxf1ZsAQ_;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_318, "genAsgn", 7);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_319 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 1102),
((NI) 21)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_320, "var _ = ", 8);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_321, "++excHandler;\012", 14);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_322, "F", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_323, "jsgen.nim(806, 20) `orExpr == nil` ", 35);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_324, "genTryStmt", 10);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_325 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 810),
((NI) 23)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_326, "||", 2);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_327, "else ", 5);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_328, "reraiseException", 16);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_329, "else {\012", 7);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_330, "\011reraiseException();\012", 21);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_331, "} finally {\012", 12);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_332, "raiseException", 14);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_333, "reraiseException();\012", 20);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_334, "Closure iterators are not supported by JS backend!", 50);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_335 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2664),
((NI) 17)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_336, "First class iterators not implemented", 37);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_337 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2672),
((NI) 15)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_338, "gen: unknown node type: ", 24);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__RWNN386A4nZ2Ks5xVWQZ1Q_339 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_6),
((NI) 2676),
((NI) 21)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_340, "/* Generated by the Nim Compiler v$1 */\012    var framePtr = null;\012    var excHandler = 0;\012    var lastJSError = null;\012  ", 119);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_341, " ", 1);
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_343, "1.6.14", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__RWNN386A4nZ2Ks5xVWQZ1Q_342 = {((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_343)}
;
STRING_LITERAL(TM__RWNN386A4nZ2Ks5xVWQZ1Q_344, ".map", 4);
extern tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ gch__system_5220;
static N_NIMCALL(void, Marker_tyRef__RITcST9bXKLxZMKr4OOsKrA)(void* p, NI op) {
	tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* a;
	a = (tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA*)p;
	nimGCvisit((void*)(*a).Sup.idgen, op);
	nimGCvisit((void*)(*a).module, op);
	nimGCvisit((void*)(*a).graph, op);
	nimGCvisit((void*)(*a).config, op);
	nimGCvisit((void*)(*a).sigConflicts.data, op);
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__system_5311)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c) {
	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*, usrToCell__system_5273)(void* usr) {
	tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* result;
	NI T1_;
	result = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*) (T1_));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__system_5316)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c) {
	addZCT__system_5267((&gch__system_5220.zct), c);
}
static N_INLINE(void, decRef__system_5318)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c) {
	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__system_5316(c);
	}
	LA4_: ;
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
		T5_ = usrToCell__system_5273(src);
		incRef__system_5311(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
		T10_ = usrToCell__system_5273((*dest));
		decRef__system_5318(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
static N_NIMCALL(void, Marker_tyRef__nPQh4KD9aE0dJ18MTP280Uw)(void* p, NI op) {
	tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* a;
	NI T1_;
	NI T2_;
	a = (tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw*)p;
	nimGCvisit((void*)(*a).typeInfo, op);
	nimGCvisit((void*)(*a).constants, op);
	nimGCvisit((void*)(*a).code, op);
	nimGCvisit((void*)(*a).forwarded, op);
	nimGCvisit((void*)(*a).generatedSyms.head, op);
	nimGCvisit((void*)(*a).generatedSyms.data, op);
	T1_ = (NI)0;
	nimGCvisit((void*)(*a).typeInfoGenerated.head, op);
	nimGCvisit((void*)(*a).typeInfoGenerated.data, op);
	T2_ = (NI)0;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T1_;
	T1_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
	T1_ = usrToCell__system_5273(p);
	decRef__system_5318(T1_);
}
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* Result) {
	initPackedSet__pureZcollectionsZintsets_16(Result);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw*, newGlobals__jsgen_141)(void) {
	tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* result;
	result = NIM_NIL;
	result = (tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw*) newObj((&NTIpglobals__nPQh4KD9aE0dJ18MTP280Uw_), sizeof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw));
	(*result).Sup.m_type = (&NTIpglobals58objecttype__CfcaGeBUt4SBLlSX3aXTXw_);
	if ((*result).forwarded) { nimGCunrefNoCycle((*result).forwarded); (*result).forwarded = NIM_NIL; }
	initIntSet__pureZcollectionsZintsets_238((&(*result).generatedSyms));
	initIntSet__pureZcollectionsZintsets_238((&(*result).typeInfoGenerated));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA*, newModule__jsgen_6568)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* module) {
	tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* result;
	result = NIM_NIL;
	result = (tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA*) newObj((&NTIbmodule__RITcST9bXKLxZMKr4OOsKrA_), sizeof(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA));
	(*result).Sup.Sup.m_type = (&NTItjsgen__qpCPsLnGbfCMMFj8D1x7PA_);
	asgnRef((void**) (&(*result).module), module);
	initCountTable__cgen_28510(((NI) 32), (&(*result).sigConflicts));
	{
		tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* T5_;
		if (!((*g).backend == ((RootObj*) NIM_NIL))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = newGlobals__jsgen_141();
		asgnRef((void**) (&(*g).backend), &T5_->Sup);
	}
	LA3_: ;
	asgnRef((void**) (&(*result).graph), g);
	asgnRef((void**) (&(*result).config), (*g).config);
	{
		if (!(((*module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 15))&63U)))!=0)) goto LA8_;
		(*(*((tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw**) (&((*g).backend))))).inSystem = NIM_TRUE;
	}
	LA8_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw*, myOpen__jsgen_6826)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s, tyObject_IdGeneratorcolonObjectType___WVCsDyf9bR1PcjDFjcjm9bRg* idgen) {
	tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw* result;
	tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = newModule__jsgen_6568(graph, s);
	result = &T1_->Sup;
	asgnRef((void**) (&(*result).idgen), idgen);
	return result;
}
static N_INLINE(NIM_BOOL, skipCodegen__passes_51)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (((NI) 0) < (*config).errorCounter);
	return result;
}
static N_NIMCALL(void, Marker_tySequence__kzO9aSSZqi8uJxXMUvASufg)(void* p, NI op) {
	tySequence__kzO9aSSZqi8uJxXMUvASufg* a;
	NI T1_;
	a = (tySequence__kzO9aSSZqi8uJxXMUvASufg*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef__vnIptVZY9bdKj7mTyWooVgQ)(void* p, NI op) {
	tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* a;
	NI T1_;
	NI T2_;
	a = (tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*)p;
	nimGCvisit((void*)(*a).procDef, op);
	nimGCvisit((void*)(*a).prc, op);
	nimGCvisit((void*)(*a).globals, op);
	nimGCvisit((void*)(*a).locals, op);
	nimGCvisit((void*)(*a).body, op);
	nimGCvisit((void*)(*a).module, op);
	nimGCvisit((void*)(*a).g, op);
	nimGCvisit((void*)(*a).generatedParamCopies.head, op);
	nimGCvisit((void*)(*a).generatedParamCopies.data, op);
	T1_ = (NI)0;
	nimGCvisit((void*)(*a).blocks, op);
	nimGCvisit((void*)(*a).up, op);
	nimGCvisit((void*)(*a).declaredGlobals.head, op);
	nimGCvisit((void*)(*a).declaredGlobals.data, op);
	T2_ = (NI)0;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*, newProc__jsgen_200)(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* globals, tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* module, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* procDef, tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ options) {
	tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* result;
	tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = (tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*) newObj((&NTIpproc__vnIptVZY9bdKj7mTyWooVgQ_), sizeof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg));
	if ((*T1_).blocks) { nimGCunrefNoCycle((*T1_).blocks); (*T1_).blocks = NIM_NIL; }
	(*T1_).options = options;
	asgnRef((void**) (&(*T1_).module), module);
	asgnRef((void**) (&(*T1_).procDef), procDef);
	asgnRef((void**) (&(*T1_).g), globals);
	(*T1_).extraIndent = ((NI) (!((procDef == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL)))));
	result = T1_;
	{
		if (!!((procDef == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL)))) goto LA4_;
		asgnRef((void**) (&(*result).prc), (*(*procDef)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
	}
	LA4_: ;
	return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ, initProcOptions__jsgen_255)(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* module) {
	tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ result;
	nimZeroMem((void*)(&result), sizeof(tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ));
	result = (*(*module).config).options;
	{
		if (!(*(*((tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw**) (&((*(*module).graph).backend))))).inSystem) goto LA3_;
		result &= ~(((NU32)1) << ((((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 17)) & 31));
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*, newInitProc__jsgen_262)(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* globals, tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* module) {
	tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* result;
	tySet_tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ T1_;
	result = NIM_NIL;
	T1_ = initProcOptions__jsgen_255(module);
	result = newProc__jsgen_200(globals, module, ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL), T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, indentLine__jsgen_97)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* r) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p_2;
	result = NIM_NIL;
	result = r;
	p_2 = p;
	{
		while (1) {
			{
				NI i;
				NI colontmp_;
				NI T4_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				T4_ = ((*p_2).blocks ? (*p_2).blocks->Sup.len : 0);
				colontmp_ = (NI)(T4_ + (*p_2).extraIndent);
				i_2 = ((NI) 0);
				{
					while (1) {
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
						if (!(i_2 < colontmp_)) goto LA6;
						i = i_2;
						T7_ = NIM_NIL;
						T7_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_9));
						prepend__ropes_265(&result, T7_);
						i_2 += ((NI) 1);
					} LA6: ;
				}
			}
			{
				NIM_BOOL T10_;
				T10_ = (NIM_BOOL)0;
				T10_ = ((*p_2).up == ((tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*) NIM_NIL));
				if (T10_) goto LA11_;
				T10_ = !(((*(*p_2).up).prc == (*(*p_2).prc).owner));
				LA11_: ;
				if (!T10_) goto LA12_;
				goto LA1;
			}
			LA12_: ;
			p_2 = (*p_2).up;
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, frameCreate__jsgen_5879)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* procname, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* filename) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T1_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T2_;
	tyArray__dAmhZbEWrTM5xES2bTVweg T3_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T4_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T5_;
	result = NIM_NIL;
	nimZeroMem((void*)T1_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T1_[0] = procname;
	T1_[1] = filename;
	T2_ = NIM_NIL;
	T2_ = percent___jsgen_5885(T1_, 2);
	result = indentLine__jsgen_97(p, T2_);
	nimZeroMem((void*)T3_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
	T4_ = NIM_NIL;
	T4_ = percent___jsgen_5890(T3_, 0);
	T5_ = NIM_NIL;
	T5_ = indentLine__jsgen_97(p, T4_);
	add__ropes_159(&result, T5_);
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1733)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
		copyMem__system_1733(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJSString__jsgen_388)(NimStringDesc* s) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = rawNewString(((NI) ((NI)((s ? s->Sup.len : 0) + (NI)((NI64)((s ? s->Sup.len : 0)) >> (NU64)(((NI) 2)))))));
	result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_10));
	{
		NIM_CHAR c;
		NI i;
		NI L;
		c = (NIM_CHAR)0;
		i = ((NI) 0);
		L = (s ? s->Sup.len : 0);
		{
			while (1) {
				if (!(i < L)) goto LA3;
				c = s->data[i];
				switch (((NU8)(c))) {
				case 10:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_11));
				}
				break;
				case 13:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_12));
				}
				break;
				case 9:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_13));
				}
				break;
				case 8:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_14));
				}
				break;
				case 7:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_15));
				}
				break;
				case 27:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_16));
				}
				break;
				case 11:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_17));
				}
				break;
				case 92:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_18));
				}
				break;
				case 34:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_19));
				}
				break;
				default:
				{
					result = addChar(result, c);
				}
				break;
				}
				i += ((NI) 1);
			} LA3: ;
		}
	}
	result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_10));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, makeJSString__jsgen_396)(NimStringDesc* s, NIM_BOOL escapeNonAscii) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	result = NIM_NIL;
	{
		NimStringDesc* T5_;
		if (!escapeNonAscii) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = nsuEscape(s, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_10), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_10));
		result = rope__ropes_109(T5_);
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T7_;
		T7_ = NIM_NIL;
		T7_ = escapeJSString__jsgen_388(s);
		result = rope__ropes_109(T7_);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, len__ast_3155)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
	result = T1_;
	return result;
}
static N_INLINE(NI, safeLen__ast_3148)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NI result;
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 0) && (*n).kind <= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 23))) goto LA3_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = len__ast_3155(n);
	}
	LA1_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1741)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__system_1741(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validJsName__jsgen_330)(NimStringDesc* name) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	switch (hashString(name) & 63) {
	case 0: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_56))) goto LA1_;
break;
	case 1: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_64))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_84))) goto LA1_;
break;
	case 3: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_76))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_80))) goto LA1_;
break;
	case 4: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_53))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_66))) goto LA1_;
break;
	case 7: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_27))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_52))) goto LA1_;
break;
	case 8: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_69))) goto LA1_;
break;
	case 10: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_59))) goto LA1_;
break;
	case 11: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_55))) goto LA1_;
break;
	case 13: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_62))) goto LA1_;
break;
	case 15: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_28))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_74))) goto LA1_;
break;
	case 17: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_73))) goto LA1_;
break;
	case 19: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_49))) goto LA1_;
break;
	case 20: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_37))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_61))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_71))) goto LA1_;
break;
	case 21: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_35))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_41))) goto LA1_;
break;
	case 22: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_86))) goto LA1_;
break;
	case 23: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_38))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_63))) goto LA1_;
break;
	case 24: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_72))) goto LA1_;
break;
	case 25: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_29))) goto LA1_;
break;
	case 26: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_34))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_70))) goto LA1_;
break;
	case 29: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_33))) goto LA1_;
break;
	case 30: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_85))) goto LA1_;
break;
	case 34: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_57))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_65))) goto LA1_;
break;
	case 36: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_39))) goto LA1_;
break;
	case 37: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_67))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_78))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_82))) goto LA1_;
break;
	case 38: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_30))) goto LA1_;
break;
	case 40: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_77))) goto LA1_;
break;
	case 42: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_45))) goto LA1_;
break;
	case 44: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_42))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_54))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_60))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_68))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_81))) goto LA1_;
break;
	case 45: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_51))) goto LA1_;
break;
	case 47: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_36))) goto LA1_;
break;
	case 48: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_50))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_83))) goto LA1_;
break;
	case 49: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_44))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_48))) goto LA1_;
break;
	case 50: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_46))) goto LA1_;
break;
	case 54: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_58))) goto LA1_;
break;
	case 55: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_25))) goto LA1_;
break;
	case 56: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_47))) goto LA1_;
break;
	case 57: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_75))) goto LA1_;
break;
	case 59: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_32))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_79))) goto LA1_;
break;
	case 61: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_26))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_40))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_43))) goto LA1_;
break;
	case 62: 
if (eqStrings(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_31))) goto LA1_;
break;
	}
	goto LA2_;
	LA1_: ;
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	goto LA3_;
	LA2_: ;
	{
	}
	LA3_: ;
	{
		if (!(((NU8)(name->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(name->data[((NI) 0)])) <= ((NU8)(57)))) goto LA8_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA8_: ;
	{
		NIM_CHAR chr;
		NI i;
		NI L;
		chr = (NIM_CHAR)0;
		i = ((NI) 0);
		L = (name ? name->Sup.len : 0);
		{
			while (1) {
				if (!(i < L)) goto LA12;
				chr = name->data[i];
				{
					if (!!((((NU8)(chr)) >= ((NU8)(65)) && ((NU8)(chr)) <= ((NU8)(90)) || ((NU8)(chr)) >= ((NU8)(97)) && ((NU8)(chr)) <= ((NU8)(122)) || ((NU8)(chr)) == ((NU8)(95)) || ((NU8)(chr)) == ((NU8)(36)) || ((NU8)(chr)) >= ((NU8)(48)) && ((NU8)(chr)) <= ((NU8)(57))))) goto LA15_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA15_: ;
				i += ((NI) 1);
			} LA12: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, mangleName__jsgen_326)(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* m, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	result = NIM_NIL;
	result = (*s).loc.r;
	{
		if (!(result == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = ((*s).kind == ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 19));
			if (!(T7_)) goto LA8_;
			T7_ = validJsName__jsgen_330((*(*s).name).s);
			LA8_: ;
			if (!T7_) goto LA9_;
			result = rope__ropes_109((*(*s).name).s);
		}
		goto LA5_;
		LA9_: ;
		{
			NimStringDesc* T14_;
			if (!((*s).kind == ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 5))) goto LA12_;
			T14_ = NIM_NIL;
			T14_ = mangle__ccgutils_112((*(*s).name).s);
			result = rope__ropes_109(T14_);
		}
		goto LA5_;
		LA12_: ;
		{
			NimStringDesc* x;
			NI i;
			x = rawNewString(((NI) (((*(*s).name).s ? (*(*s).name).s->Sup.len : 0))));
			i = ((NI) 0);
			{
				while (1) {
					NIM_CHAR c;
					if (!(i < ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0))) goto LA17;
					c = (*(*s).name).s->data[i];
					switch (((NU8)(c))) {
					case 65 ... 90:
					case 97 ... 122:
					case 95:
					case 48 ... 57:
					{
						x = addChar(x, c);
					}
					break;
					default:
					{
						NimStringDesc* T20_;
						NimStringDesc* T21_;
						T20_ = NIM_NIL;
						T21_ = NIM_NIL;
						T21_ = toHex__pureZstrutils_1788(((NU8)(c)), ((NI) 2));
						T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + 3);
appendString(T20_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_87));
appendString(T20_, T21_);
						x = resizeString(x, (T20_ ? T20_->Sup.len : 0) + 0);
appendString(x, T20_);
					}
					break;
					}
					i += ((NI) 1);
				} LA17: ;
			}
			result = rope__ropes_109(x);
		}
		LA5_: ;
		{
			if (!!(((*s).kind == ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 19)))) goto LA24_;
			{
				NIM_BOOL T28_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T31_;
				T28_ = (NIM_BOOL)0;
				T28_ = hcrOn__options_582((*m).config);
				if (!T28_) goto LA29_;
				T31_ = NIM_NIL;
				T31_ = idOrSig__sighashes_2071(s, (*(*(*m).module).name).s, (&(*m).sigConflicts), (*m).config);
				add__ropes_159(&result, T31_);
			}
			goto LA26_;
			LA29_: ;
			{
				tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym15_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T33_;
				add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_88));
				xX60gensym15_ = s;
				T33_ = NIM_NIL;
				T33_ = rope__ropes_115(((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym15_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym15_).Sup.itemId.item))))));
				add__ropes_159(&result, T33_);
			}
			LA26_: ;
		}
		LA24_: ;
		asgnRef((void**) (&(*s).loc.r), result);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ, mapType__jsgen_295)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ) {
	tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ result;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	result = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
	t = skipTypes__ast_3723(typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 22):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21):
	{
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T4_;
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T5_;
			T4_ = NIM_NIL;
			T4_ = lastSon__ast_3731(t);
			T5_ = NIM_NIL;
			T5_ = skipTypes__ast_3723(T4_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
			if (!((*T5_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 17) || (*T5_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16) || (*T5_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18) || (*T5_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 27) || (*T5_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 19) || (*T5_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 48))) goto LA6_;
			result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8);
		}
		goto LA2_;
		LA6_: ;
		{
			result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 26):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 20):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 13):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 15):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 50):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47):
	{
		result = mapType__jsgen_295((*t).sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 35):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 44):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 14):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 5);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 3);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 36) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 39):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 6);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 19):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 24):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 4);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 17):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 27):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 48):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 49):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 5):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 1);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 12):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 10):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 9):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 0):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 61):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 30):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 3):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 6):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 7):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 8):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 51):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 54):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 56):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 57):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 58):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 59):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 63):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 11):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 55):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 4):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 52):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 53):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 46):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 45):
	{
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T20_;
		T20_ = NIM_NIL;
		T20_ = lastSon__ast_3731(typ);
		result = mapType__jsgen_295(T20_);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 60):
	{
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T26_;
			if (!!(((*t).n == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL)))) goto LA24_;
			T26_ = NIM_NIL;
			T26_ = lastSon__ast_3731(t);
			result = mapType__jsgen_295(T26_);
		}
		goto LA22_;
		LA24_: ;
		{
			result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
		}
		LA22_: ;
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 25):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 2);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29):
	{
		result = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 7);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 62):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 64):
	{
		{
			if (!NIM_TRUE) goto LA33_;
			failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_92));
		}
		LA33_: ;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ, mapType__jsgen_322)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ) {
	tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ result;
	result = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
	result = mapType__jsgen_295(typ);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, putToSeq__jsgen_3840)(NimStringDesc* s, NIM_BOOL indirect) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	result = NIM_NIL;
	result = rope__ropes_109(s);
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T5_;
		if (!indirect) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T5_[0] = result;
		result = percent___jsgen_3844(T5_, 1);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, arrayTypeForElemType__jsgen_4017)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ) {
	NimStringDesc* result;
	result = NIM_NIL;
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 34):
	{
		result = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_99));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 33):
	{
		result = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_100));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 32):
	{
		result = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_101));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 43):
	{
		result = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_102));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 42):
	{
		result = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_103));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 41):
	{
		result = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_104));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 37):
	{
		result = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_105));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 38):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 36):
	{
		result = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_106));
	}
	break;
	default:
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	}
	return result;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
}
static N_INLINE(NimStringDesc*, toFileLineCol__msgs_625)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
appendString(result, info.Field0);
	{
		if (!(((NI) 0) < info.Field1)) goto LA3_;
		result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_107));
		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
		{
			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
			result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
		}
		LA7_: ;
		result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_109));
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3592)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((*t).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 8) || (*t).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 60));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, generateHeader__jsgen_2423)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	result = NIM_NIL;
	result = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155((*typ).n);
		i_2 = ((NI) 1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* param;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* name;
					param = (*(*(*typ).n)._kind_6.sons->data[i])._kind_4.sym;
					{
						NIM_BOOL T7_;
						T7_ = (NIM_BOOL)0;
						T7_ = isCompileTimeOnly__types_3592((*param).typ);
						if (!T7_) goto LA8_;
						goto LA4;
					}
					LA8_: ;
					{
						if (!!((result == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA12_;
						add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
					}
					LA12_: ;
					name = mangleName__jsgen_326((*p).module, param);
					add__ropes_159(&result, name);
					{
						tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T16_;
						T16_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
						T16_ = mapType__jsgen_295((*param).typ);
						if (!(T16_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA17_;
						add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
						add__ropes_159(&result, name);
						add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_111));
					}
					LA17_: ;
				} LA4: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, lineDir__jsgen_1826)(tyObject_ConfigRefcolonObjectType___XoIrMAjHi4NOQu4oAkNfVQ* config, tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info, NI line) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T1_;
	NimStringDesc* T2_;
	result = NIM_NIL;
	nimZeroMem((void*)T1_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T2_ = NIM_NIL;
	T2_ = toFullPath__msgs_548(config, info.fileIndex);
	T1_[0] = rope__ropes_109(T2_);
	T1_[1] = rope__ropes_115(((NI64) (line)));
	result = percent___jsgen_1831(T1_, 2);
	return result;
}
static N_INLINE(NI, toLinenumber__msgs_619)(tyObject_TLineInfo__66OQV9bsmGEfS6hVHBswcPw info) {
	NI result;
	result = (NI)0;
	result = ((NI) (info.line));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, optionalLine__jsgen_5920)(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* p) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
{	result = NIM_NIL;
	{
		if (!(p == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA3_;
		result = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
		goto BeforeRet_;
	}
	goto LA1_;
	LA3_: ;
	{
		result = amp___ropes_140(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_113));
		goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasFrameInfo__jsgen_1807)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((655360 & (*p).options) == 655360);
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*p).prc == ((tyObject_TSym__3r34mwqcVmg5JFNmiaVncw*) NIM_NIL));
	if (T3_) goto LA4_;
	T3_ = !((((*(*p).prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 11))&63U)))!=0));
	LA4_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, frameDestroy__jsgen_5895)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_114));
	result = indentLine__jsgen_97(p, T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genProcBody__jsgen_5898)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* prc) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NimStringDesc* T6_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
		NimStringDesc* T8_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T9_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasFrameInfo__jsgen_1807(p);
		if (!T3_) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = rawNewString(((*(*(*prc).owner).name).s ? (*(*(*prc).owner).name).s->Sup.len : 0) + ((*(*prc).name).s ? (*(*prc).name).s->Sup.len : 0) + 1);
appendString(T6_, (*(*(*prc).owner).name).s);
appendChar(T6_, 46);
appendString(T6_, (*(*prc).name).s);
		T7_ = NIM_NIL;
		T7_ = makeJSString__jsgen_396(T6_, NIM_TRUE);
		T8_ = NIM_NIL;
		T8_ = toFilenameOption__msgs_600((*(*p).module).config, (*prc).info.fileIndex, ((tyEnum_FilenameOption__CPbjHbMoELnjs1sUwb4U6w) 5));
		T9_ = NIM_NIL;
		T9_ = makeJSString__jsgen_396(T8_, NIM_TRUE);
		result = frameCreate__jsgen_5879(p, T7_, T9_);
	}
	goto LA1_;
	LA4_: ;
	{
		result = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
	}
	LA1_: ;
	{
		tyArray__dAmhZbEWrTM5xES2bTVweg T15_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T16_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T17_;
		tyArray__dAmhZbEWrTM5xES2bTVweg T18_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T19_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T20_;
		if (!(*p).beforeRetNeeded) goto LA13_;
		nimZeroMem((void*)T15_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		T16_ = NIM_NIL;
		T16_ = percent___jsgen_5902(T15_, 0);
		T17_ = NIM_NIL;
		T17_ = indentLine__jsgen_97(p, T16_);
		add__ropes_159(&result, T17_);
		add__ropes_159(&result, (*p).body);
		nimZeroMem((void*)T18_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		T19_ = NIM_NIL;
		T19_ = percent___jsgen_2292(T18_, 0);
		T20_ = NIM_NIL;
		T20_ = indentLine__jsgen_97(p, T19_);
		add__ropes_159(&result, T20_);
	}
	goto LA11_;
	LA13_: ;
	{
		add__ropes_159(&result, (*p).body);
	}
	LA11_: ;
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T26_;
		if (!((*(*prc).typ).callConv == ((tyEnum_TCallingConvention__5kpSva5OFmGFHujbio7C9cg) 4))) goto LA24_;
		nimZeroMem((void*)T26_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T26_[0] = result;
		result = percent___jsgen_5915(T26_, 1);
	}
	LA24_: ;
	{
		NIM_BOOL T29_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T32_;
		T29_ = (NIM_BOOL)0;
		T29_ = hasFrameInfo__jsgen_1807(p);
		if (!T29_) goto LA30_;
		T32_ = NIM_NIL;
		T32_ = frameDestroy__jsgen_5895(p);
		add__ropes_159(&result, T32_);
	}
	LA30_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genProc__jsgen_791)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* oldProc, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* prc) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* resultSym;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* returnStmt;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* resultAsgn;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* name;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* header;
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* transformedBody;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* def;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T69_;
	tyArray__dAmhZbEWrTM5xES2bTVweg T70_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T71_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T72_;
	result = NIM_NIL;
	resultSym = NIM_NIL;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	p = newProc__jsgen_200((*oldProc).g, (*oldProc).module, (*prc).ast, (*prc).options);
	asgnRef((void**) (&(*p).up), oldProc);
	returnStmt = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
	resultAsgn = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
	name = mangleName__jsgen_326((*p).module, prc);
	header = generateHeader__jsgen_2423(p, (*prc).typ);
	{
		NIM_BOOL T3_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* mname;
		NIM_BOOL useRawPointer;
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym1139_;
		NIM_BOOL T9_;
		NIM_BOOL T10_;
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T15_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*(*prc).typ).sons->data[((NI) 0)] == ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = !((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 11))&63U)))!=0));
		LA4_: ;
		if (!T3_) goto LA5_;
		resultSym = (*(*(*prc).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym;
		mname = mangleName__jsgen_326((*p).module, resultSym);
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		vX60gensym1139_ = resultSym;
		T9_ = (NIM_BOOL)0;
		T10_ = (NIM_BOOL)0;
		T10_ = !(((131080 & (*vX60gensym1139_).flags) == 0));
		if (!(T10_)) goto LA11_;
		T10_ = ((192 & (*vX60gensym1139_).flags) == 0);
		LA11_: ;
		T9_ = T10_;
		if (!(T9_)) goto LA12_;
		T9_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym1139_).kind)&31U)))!=0));
		LA12_: ;
		T8_ = !(T9_);
		if (!(T8_)) goto LA13_;
		T8_ = ((*(*resultSym).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23) || (*(*resultSym).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21) || (*(*resultSym).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47) || (*(*resultSym).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 22) || (*(*resultSym).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 45));
		LA13_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA14_;
		T15_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
		T15_ = mapType__jsgen_322(p, (*resultSym).typ);
		T7_ = (T15_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9));
		LA14_: ;
		useRawPointer = T7_;
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T20_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T21_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T22_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T23_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T24_;
			if (!useRawPointer) goto LA18_;
			nimZeroMem((void*)T20_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T20_[0] = mname;
			T21_ = NIM_NIL;
			T21_ = percent___jsgen_5980(T20_, 1);
			resultAsgn = indentLine__jsgen_97(p, T21_);
			nimZeroMem((void*)T22_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T22_[0] = mname;
			T23_ = NIM_NIL;
			T23_ = percent___jsgen_5985(T22_, 1);
			T24_ = NIM_NIL;
			T24_ = indentLine__jsgen_97(p, T23_);
			add__ropes_159(&resultAsgn, T24_);
		}
		goto LA16_;
		LA18_: ;
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* resVar;
			tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym1143_;
			NIM_BOOL T26_;
			NIM_BOOL T27_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T30_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T31_;
			vX60gensym1143_ = resultSym;
			T26_ = (NIM_BOOL)0;
			T27_ = (NIM_BOOL)0;
			T27_ = !(((131080 & (*vX60gensym1143_).flags) == 0));
			if (!(T27_)) goto LA28_;
			T27_ = ((192 & (*vX60gensym1143_).flags) == 0);
			LA28_: ;
			T26_ = T27_;
			if (!(T26_)) goto LA29_;
			T26_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym1143_).kind)&31U)))!=0));
			LA29_: ;
			resVar = createVar__jsgen_3849(p, (*resultSym).typ, T26_);
			nimZeroMem((void*)T30_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T30_[0] = mname;
			T30_[1] = resVar;
			T31_ = NIM_NIL;
			T31_ = percent___jsgen_6013(T30_, 2);
			resultAsgn = indentLine__jsgen_97(p, T31_);
		}
		LA16_: ;
		gen__jsgen_784(p, (*(*prc).ast)._kind_6.sons->data[((NI) 7)], (&a));
		{
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T34_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T37_;
			T34_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T34_ = mapType__jsgen_322(p, (*resultSym).typ);
			if (!(T34_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA35_;
			nimZeroMem((void*)T37_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T37_[0] = a.address;
			T37_[1] = a.res;
			returnStmt = percent___jsgen_6023(T37_, 2);
		}
		goto LA32_;
		LA35_: ;
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T39_;
			nimZeroMem((void*)T39_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T39_[0] = a.res;
			returnStmt = percent___jsgen_6028(T39_, 1);
		}
		LA32_: ;
	}
	LA5_: ;
	transformedBody = transformBody__transf_16((*(*p).module).graph, (*(*p).module).Sup.idgen, prc, NIM_FALSE);
	{
		if (!(((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 42))&63U)))!=0)) goto LA42_;
		transformedBody = injectDestructorCalls__injectdestructors_10132((*(*p).module).graph, (*(*p).module).Sup.idgen, prc, transformedBody);
	}
	LA42_: ;
	(*p).extraIndent += ((NI) 1);
	genStmt__jsgen_788(p, transformedBody);
	(*p).extraIndent -= ((NI) 1);
	{
		NI T48_;
		if (!(((*(*(*p).module).config).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 12))&31U)))!=0)) goto LA46_;
		T48_ = (NI)0;
		T48_ = toLinenumber__msgs_619((*prc).info);
		result = lineDir__jsgen_1826((*(*p).module).config, (*prc).info, T48_);
	}
	LA46_: ;
	def = NIM_NIL;
	{
		NimStringDesc* T53_;
		tyArray__J1NUyw4Xj4ctVrK24Ue6Sw T54_;
		tyArray__dAmhZbEWrTM5xES2bTVweg T55_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T56_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T57_;
		if (!!(((*prc).constraint == 0))) goto LA51_;
		T53_ = NIM_NIL;
		T53_ = rawNewString(((*(*prc).constraint)._kind_3.strVal ? (*(*prc).constraint)._kind_3.strVal->Sup.len : 0) + 14);
appendString(T53_, (*(*prc).constraint)._kind_3.strVal);
appendString(T53_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_112));
		nimZeroMem((void*)T54_, sizeof(tyArray__J1NUyw4Xj4ctVrK24Ue6Sw));
		nimZeroMem((void*)T55_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		T54_[0] = percent___jsgen_1280(T55_, 0);
		T54_[1] = name;
		T54_[2] = header;
		T54_[3] = optionalLine__jsgen_5920((*p).globals);
		T54_[4] = optionalLine__jsgen_5920((*p).locals);
		T54_[5] = optionalLine__jsgen_5920(resultAsgn);
		T56_ = NIM_NIL;
		T56_ = genProcBody__jsgen_5898(p, prc);
		T54_[6] = optionalLine__jsgen_5920(T56_);
		T57_ = NIM_NIL;
		T57_ = indentLine__jsgen_97(p, returnStmt);
		T54_[7] = optionalLine__jsgen_5920(T57_);
		def = runtimeFormat__ropes_271(T53_, T54_, 8);
	}
	goto LA49_;
	LA51_: ;
	{
		tyArray__27u9bjXoGJPnSsktsUHwhCw T66_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T67_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T68_;
		{
			NIM_BOOL T61_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* thunkName;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T64_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T65_;
			T61_ = (NIM_BOOL)0;
			T61_ = hcrOn__options_582((*(*p).module).config);
			if (!T61_) goto LA62_;
			thunkName = name;
			name = amp___ropes_140(name, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_115));
			nimZeroMem((void*)T64_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T64_[0] = thunkName;
			T64_[1] = name;
			T65_ = NIM_NIL;
			T65_ = percent___jsgen_6059(T64_, 2);
			add__ropes_159(&result, T65_);
		}
		LA62_: ;
		nimZeroMem((void*)T66_, sizeof(tyArray__27u9bjXoGJPnSsktsUHwhCw));
		T66_[0] = name;
		T66_[1] = header;
		T66_[2] = optionalLine__jsgen_5920((*p).globals);
		T66_[3] = optionalLine__jsgen_5920((*p).locals);
		T66_[4] = optionalLine__jsgen_5920(resultAsgn);
		T67_ = NIM_NIL;
		T67_ = genProcBody__jsgen_5898(p, prc);
		T66_[5] = optionalLine__jsgen_5920(T67_);
		T68_ = NIM_NIL;
		T68_ = indentLine__jsgen_97(p, returnStmt);
		T66_[6] = optionalLine__jsgen_5920(T68_);
		def = percent___jsgen_6064(T66_, 7);
	}
	LA49_: ;
	(*p).extraIndent -= ((NI) 1);
	T69_ = NIM_NIL;
	T69_ = indentLine__jsgen_97(p, def);
	add__ropes_159(&result, T69_);
	nimZeroMem((void*)T70_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
	T71_ = NIM_NIL;
	T71_ = percent___cgen_7535(T70_, 0);
	T72_ = NIM_NIL;
	T72_ = indentLine__jsgen_97(p, T71_);
	add__ropes_159(&result, T72_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, useMagic__jsgen_797)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, NimStringDesc* name) {
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s;
{	{
		if (!((name ? name->Sup.len : 0) == ((NI) 0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	s = getCompilerProc__magicsys_145((*(*p).module).graph, name);
	{
		if (!!((s == ((tyObject_TSym__3r34mwqcVmg5JFNmiaVncw*) NIM_NIL)))) goto LA7_;
		{
			NimStringDesc* argX60gensym96_;
			if (!!(((94208 &((NU32)1<<((NU)((*s).kind)&31U)))!=0))) goto LA11_;
			argX60gensym96_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_110);
			internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym96_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_110);
		}
		LA11_: ;
		{
			tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym98_;
			NIM_BOOL T15_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* code;
			xX60gensym98_ = s;
			T15_ = (NIM_BOOL)0;
			T15_ = containsOrIncl__astalgo_402((&(*(*p).g).generatedSyms), (NI)((NI)((NU64)(((NI) ((*xX60gensym98_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym98_).Sup.itemId.item))));
			if (!!(T15_)) goto LA16_;
			code = genProc__jsgen_791(p, s);
			add__ropes_159(&(*(*p).g).constants, code);
		}
		LA16_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		{
			NimStringDesc* T23_;
			if (!!(((*p).prc == ((tyObject_TSym__3r34mwqcVmg5JFNmiaVncw*) NIM_NIL)))) goto LA21_;
			T23_ = NIM_NIL;
			T23_ = rawNewString((name ? name->Sup.len : 0) + 21);
appendString(T23_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_116));
appendString(T23_, name);
			liMessage__msgs_1128((*(*p).module).config, (*(*p).prc).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), T23_, ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 2), TM__RWNN386A4nZ2Ks5xVWQZ1Q_117, NIM_FALSE);
		}
		goto LA19_;
		LA21_: ;
		{
			NimStringDesc* T25_;
			T25_ = NIM_NIL;
			T25_ = rawNewString((name ? name->Sup.len : 0) + 21);
appendString(T25_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_116));
appendString(T25_, name);
			liMessage__msgs_1128((*(*p).module).config, unknownLineInfo__lineinfos_284, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), T25_, ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 1), TM__RWNN386A4nZ2Ks5xVWQZ1Q_118, NIM_FALSE);
		}
		LA19_: ;
	}
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genEnumInfo__jsgen_624)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* name) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* n;
	tyArray__FKvM4FDhljtt88k8FkGthA T19_;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* xX60gensym73_;
	NI T20_;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T21_;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T22_;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* xX60gensym74_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T23_;
	s = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155((*typ).n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* field;
				NimStringDesc* extName;
				tyArray__FKvM4FDhljtt88k8FkGthA T17_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T18_;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!!(((*(*(*typ).n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3)))) goto LA6_;
					internalErrorImpl__msgs_1441((*(*p).module).config, (*(*typ).n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_122), TM__RWNN386A4nZ2Ks5xVWQZ1Q_123);
				}
				LA6_: ;
				field = (*(*(*typ).n)._kind_6.sons->data[i])._kind_4.sym;
				{
					if (!(((NI) 0) < i)) goto LA10_;
					add__ropes_162(&s, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_125));
				}
				LA10_: ;
				{
					if (!((*field).ast == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL))) goto LA14_;
					extName = (*(*field).name).s;
				}
				goto LA12_;
				LA14_: ;
				{
					extName = (*(*field).ast)._kind_3.strVal;
				}
				LA12_: ;
				nimZeroMem((void*)T17_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
				T17_[0] = rope__ropes_115(((NI64) ((*field).position)));
				T17_[1] = name;
				T17_[2] = makeJSString__jsgen_396(extName, NIM_TRUE);
				T18_ = NIM_NIL;
				T18_ = percent___jsgen_649(T17_, 3);
				add__ropes_159(&s, T18_);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	nimZeroMem((void*)T19_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
	xX60gensym73_ = typ;
	T19_[0] = rope__ropes_115(((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym73_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym73_).Sup.itemId.item))))));
	T20_ = (NI)0;
	T20_ = len__ast_3155((*typ).n);
	T19_[1] = rope__ropes_115(((NI64) (T20_)));
	T19_[2] = s;
	n = percent___jsgen_663(T19_, 3);
	nimZeroMem((void*)T21_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T21_[0] = name;
	T21_[1] = rope__ropes_115(((NI64) ((*typ).kind)));
	s = percent___jsgen_523(T21_, 2);
	prepend__ropes_265(&(*(*p).g).typeInfo, s);
	add__ropes_159(&(*(*p).g).typeInfo, n);
	nimZeroMem((void*)T22_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T22_[0] = name;
	xX60gensym74_ = typ;
	T22_[1] = rope__ropes_115(((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym74_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym74_).Sup.itemId.item))))));
	T23_ = NIM_NIL;
	T23_ = percent___jsgen_546(T22_, 2);
	add__ropes_159(&(*(*p).g).typeInfo, T23_);
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T28_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T29_;
		if (!!(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL)))) goto LA26_;
		nimZeroMem((void*)T28_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T28_[0] = name;
		T28_[1] = genTypeInfo__jsgen_403(p, (*typ).sons->data[((NI) 0)]);
		T29_ = NIM_NIL;
		T29_ = percent___jsgen_561(T28_, 2);
		add__ropes_159(&(*(*p).g).typeInfo, T29_);
	}
	LA26_: ;
}
static N_INLINE(NIM_BOOL, objHasTypeField__jsgen_503)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__Vrztsndr9a9bj8bQ3cn49bwWw) 3))&63U)))!=0);
	if (T1_) goto LA2_;
	T1_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL)));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, rope__jsgen_400)(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ arg) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	NimStringDesc* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = dollar___int495056_53(arg);
	result = rope__ropes_109(T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genObjectFields__jsgen_406)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* u;
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* field;
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* b;
	result = NIM_NIL;
	s = NIM_NIL;
	u = NIM_NIL;
	field = NIM_NIL;
	b = NIM_NIL;
	result = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 138):
	{
		{
			NI T4_;
			T4_ = (NI)0;
			T4_ = len__ast_3155(n);
			if (!(T4_ == ((NI) 1))) goto LA5_;
			result = genObjectFields__jsgen_406(p, typ, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		goto LA2_;
		LA5_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T16_;
			NI T17_;
			s = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_3155(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
						if (!(i_2 < colontmp_)) goto LA10;
						i = i_2;
						{
							if (!(((NI) 0) < i)) goto LA13_;
							add__ropes_162(&s, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_125));
						}
						LA13_: ;
						T15_ = NIM_NIL;
						T15_ = genObjectFields__jsgen_406(p, typ, (*n)._kind_6.sons->data[i]);
						add__ropes_159(&s, T15_);
						i_2 += ((NI) 1);
					} LA10: ;
				}
			}
			nimZeroMem((void*)T16_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T17_ = (NI)0;
			T17_ = len__ast_3155(n);
			T16_[0] = rope__ropes_115(((NI64) (T17_)));
			T16_[1] = s;
			result = percent___jsgen_431(T16_, 2);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3):
	{
		tyArray__FKvM4FDhljtt88k8FkGthA T19_;
		field = (*n)._kind_4.sym;
		s = genTypeInfo__jsgen_403(p, (*field).typ);
		nimZeroMem((void*)T19_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
		T19_[0] = mangleName__jsgen_326((*p).module, field);
		T19_[1] = s;
		T19_[2] = makeJSString__jsgen_396((*(*field).name).s, NIM_TRUE);
		result = percent___jsgen_436(T19_, 3);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 139):
	{
		tyArray__XSZGJHCjWme3CUmFzckT3g T63_;
		tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ T64_;
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3)))) goto LA23_;
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_126), TM__RWNN386A4nZ2Ks5xVWQZ1Q_127);
		}
		LA23_: ;
		field = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		s = genTypeInfo__jsgen_403(p, (*field).typ);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_3155(n);
			i_4 = ((NI) 1);
			{
				while (1) {
					tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T60_;
					tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* T61_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T62_;
					if (!(i_4 < colontmp__2)) goto LA27;
					i_3 = i_4;
					b = (*n)._kind_6.sons->data[i_3];
					u = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
					switch ((*b).kind) {
					case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 85):
					{
						{
							NI T31_;
							T31_ = (NI)0;
							T31_ = len__ast_3155(b);
							if (!(T31_ < ((NI) 2))) goto LA32_;
							internalErrorImpl__msgs_1441((*(*p).module).config, (*b).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_128), TM__RWNN386A4nZ2Ks5xVWQZ1Q_129);
						}
						LA32_: ;
						{
							NI j;
							NI colontmp__3;
							NI T35_;
							NI i_5;
							j = (NI)0;
							colontmp__3 = (NI)0;
							T35_ = (NI)0;
							T35_ = len__ast_3155(b);
							colontmp__3 = (NI)(T35_ - ((NI) 1));
							i_5 = ((NI) 0);
							{
								while (1) {
									if (!(i_5 < colontmp__3)) goto LA37;
									j = i_5;
									{
										if (!!((u == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA40_;
										add__ropes_162(&u, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
									}
									LA40_: ;
									{
										tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T46_;
										tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ T47_;
										tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ T48_;
										tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T49_;
										if (!((*(*b)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 44))) goto LA44_;
										nimZeroMem((void*)T46_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
										T47_ = getOrdValue__types_161((*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)], Max__int495056_27);
										T46_[0] = rope__jsgen_400(T47_);
										T48_ = getOrdValue__types_161((*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)], Max__int495056_27);
										T46_[1] = rope__jsgen_400(T48_);
										T49_ = NIM_NIL;
										T49_ = percent___jsgen_480(T46_, 2);
										add__ropes_159(&u, T49_);
									}
									goto LA42_;
									LA44_: ;
									{
										tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ T51_;
										tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T52_;
										T51_ = getOrdValue__types_161((*b)._kind_6.sons->data[j], Max__int495056_27);
										T52_ = NIM_NIL;
										T52_ = rope__jsgen_400(T51_);
										add__ropes_159(&u, T52_);
									}
									LA42_: ;
									i_5 += ((NI) 1);
								} LA37: ;
							}
						}
					}
					break;
					case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 88):
					{
						tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ T54_;
						T54_ = lengthOrd__types_1723((*(*p).module).config, (*field).typ);
						u = rope__jsgen_400(T54_);
					}
					break;
					default:
					{
						internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_130), TM__RWNN386A4nZ2Ks5xVWQZ1Q_131);
					}
					break;
					}
					{
						if (!!((result == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA58_;
						add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_125));
					}
					LA58_: ;
					nimZeroMem((void*)T60_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
					T60_[0] = u;
					T61_ = NIM_NIL;
					T61_ = lastSon__ast_4833(b);
					T60_[1] = genObjectFields__jsgen_406(p, typ, T61_);
					T62_ = NIM_NIL;
					T62_ = percent___jsgen_493(T60_, 2);
					add__ropes_159(&result, T62_);
					i_4 += ((NI) 1);
				} LA27: ;
			}
		}
		nimZeroMem((void*)T63_, sizeof(tyArray__XSZGJHCjWme3CUmFzckT3g));
		T63_[0] = mangleName__jsgen_326((*p).module, field);
		T63_[1] = s;
		T64_ = lengthOrd__types_1723((*(*p).module).config, (*field).typ);
		T63_[2] = rope__jsgen_400(T64_);
		T63_[3] = makeJSString__jsgen_396((*(*field).name).s, NIM_TRUE);
		T63_[4] = result;
		result = percent___jsgen_498(T63_, 5);
	}
	break;
	default:
	{
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_126), TM__RWNN386A4nZ2Ks5xVWQZ1Q_132);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genObjectInfo__jsgen_515)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* name) {
	tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg kind;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T7_;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T8_;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* xX60gensym50_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T9_;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T10_;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* xX60gensym52_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = objHasTypeField__jsgen_503(typ);
		if (!T3_) goto LA4_;
		kind = ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 17);
	}
	goto LA1_;
	LA4_: ;
	{
		kind = ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18);
	}
	LA1_: ;
	nimZeroMem((void*)T7_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T7_[0] = name;
	T7_[1] = rope__ropes_115(((NI64) (kind)));
	s = percent___jsgen_523(T7_, 2);
	prepend__ropes_265(&(*(*p).g).typeInfo, s);
	nimZeroMem((void*)T8_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	xX60gensym50_ = typ;
	T8_[0] = rope__ropes_115(((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym50_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym50_).Sup.itemId.item))))));
	T8_[1] = genObjectFields__jsgen_406(p, typ, (*typ).n);
	T9_ = NIM_NIL;
	T9_ = percent___jsgen_535(T8_, 2);
	add__ropes_159(&(*(*p).g).typeInfo, T9_);
	nimZeroMem((void*)T10_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T10_[0] = name;
	xX60gensym52_ = typ;
	T10_[1] = rope__ropes_115(((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym52_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym52_).Sup.itemId.item))))));
	T11_ = NIM_NIL;
	T11_ = percent___jsgen_546(T10_, 2);
	add__ropes_159(&(*(*p).g).typeInfo, T11_);
	{
		NIM_BOOL T14_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T18_;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T19_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T20_;
		T14_ = (NIM_BOOL)0;
		T14_ = ((*typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 17));
		if (!(T14_)) goto LA15_;
		T14_ = !(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL)));
		LA15_: ;
		if (!T14_) goto LA16_;
		nimZeroMem((void*)T18_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T18_[0] = name;
		T19_ = NIM_NIL;
		T19_ = skipTypes__ast_3723((*typ).sons->data[((NI) 0)], TM__RWNN386A4nZ2Ks5xVWQZ1Q_133);
		T18_[1] = genTypeInfo__jsgen_403(p, T19_);
		T20_ = NIM_NIL;
		T20_ = percent___jsgen_561(T18_, 2);
		add__ropes_159(&(*(*p).g).typeInfo, T20_);
	}
	LA16_: ;
}
static N_INLINE(NI, len__ast_3990)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genTupleFields__jsgen_566)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T10_;
	NI T11_;
	result = NIM_NIL;
	s = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3990(typ);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T8_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T9_;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add__ropes_162(&s, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_125));
				}
				LA6_: ;
				nimZeroMem((void*)T8_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T8_[0] = rope__ropes_115(((NI64) (i)));
				T8_[1] = genTypeInfo__jsgen_403(p, (*typ).sons->data[i]);
				T9_ = NIM_NIL;
				T9_ = percent___jsgen_580(T8_, 2);
				add__ropes_159(&s, T9_);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	nimZeroMem((void*)T10_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T11_ = (NI)0;
	T11_ = len__ast_3990(typ);
	T10_[0] = rope__ropes_115(((NI64) (T11_)));
	T10_[1] = s;
	result = percent___jsgen_431(T10_, 2);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTupleInfo__jsgen_592)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* name) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T1_;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T2_;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* xX60gensym61_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T3_;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T4_;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* xX60gensym63_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T5_;
	nimZeroMem((void*)T1_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T1_[0] = name;
	T1_[1] = rope__ropes_115(((NI64) ((*typ).kind)));
	s = percent___jsgen_523(T1_, 2);
	prepend__ropes_265(&(*(*p).g).typeInfo, s);
	nimZeroMem((void*)T2_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	xX60gensym61_ = typ;
	T2_[0] = rope__ropes_115(((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym61_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym61_).Sup.itemId.item))))));
	T2_[1] = genTupleFields__jsgen_566(p, typ);
	T3_ = NIM_NIL;
	T3_ = percent___jsgen_535(T2_, 2);
	add__ropes_159(&(*(*p).g).typeInfo, T3_);
	nimZeroMem((void*)T4_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T4_[0] = name;
	xX60gensym63_ = typ;
	T4_[1] = rope__ropes_115(((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym63_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym63_).Sup.itemId.item))))));
	T5_ = NIM_NIL;
	T5_ = percent___jsgen_546(T4_, 2);
	add__ropes_159(&(*(*p).g).typeInfo, T5_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genTypeInfo__jsgen_403)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	tyArray__ts9cf9blICas1QWmw89bglZ7w T1_;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* xX60gensym80_;
{	result = NIM_NIL;
	t = skipTypes__ast_3723(typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_121);
	nimZeroMem((void*)T1_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
	xX60gensym80_ = t;
	T1_[0] = rope__ropes_115(((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym80_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym80_).Sup.itemId.item))))));
	result = percent___jsgen_707(T1_, 1);
	{
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* xX60gensym81_;
		NIM_BOOL T4_;
		xX60gensym81_ = t;
		T4_ = (NIM_BOOL)0;
		T4_ = containsOrIncl__astalgo_402((&(*(*p).g).typeInfoGenerated), (NI)((NI)((NU64)(((NI) ((*xX60gensym81_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym81_).Sup.itemId.item))));
		if (!T4_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 13):
	{
		result = genTypeInfo__jsgen_403(p, (*t).sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 26):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 25):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 44):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T9_;
		nimZeroMem((void*)T9_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T9_[0] = result;
		T9_[1] = rope__ropes_115(((NI64) ((*t).kind)));
		s = percent___jsgen_737(T9_, 2);
		prepend__ropes_265(&(*(*p).g).typeInfo, s);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 22):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 24):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 20):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 19):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s_2;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T11_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T12_;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T13_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
		nimZeroMem((void*)T11_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T11_[0] = result;
		T11_[1] = rope__ropes_115(((NI64) ((*t).kind)));
		s_2 = percent___jsgen_523(T11_, 2);
		prepend__ropes_265(&(*(*p).g).typeInfo, s_2);
		nimZeroMem((void*)T12_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T12_[0] = result;
		T13_ = NIM_NIL;
		T13_ = lastSon__ast_3731(t);
		T12_[1] = genTypeInfo__jsgen_403(p, T13_);
		T14_ = NIM_NIL;
		T14_ = percent___jsgen_561(T12_, 2);
		add__ropes_159(&(*(*p).g).typeInfo, T14_);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s_3;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T16_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T17_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T18_;
		nimZeroMem((void*)T16_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T16_[0] = result;
		T16_[1] = rope__ropes_115(((NI64) ((*t).kind)));
		s_3 = percent___jsgen_523(T16_, 2);
		prepend__ropes_265(&(*(*p).g).typeInfo, s_3);
		nimZeroMem((void*)T17_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T17_[0] = result;
		T17_[1] = genTypeInfo__jsgen_403(p, (*t).sons->data[((NI) 1)]);
		T18_ = NIM_NIL;
		T18_ = percent___jsgen_561(T17_, 2);
		add__ropes_159(&(*(*p).g).typeInfo, T18_);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 14):
	{
		genEnumInfo__jsgen_624(p, t, result);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 17):
	{
		genObjectInfo__jsgen_515(p, t, result);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18):
	{
		genTupleInfo__jsgen_592(p, t, result);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 60):
	{
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T27_;
			if (!!(((*t).n == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL)))) goto LA25_;
			T27_ = NIM_NIL;
			T27_ = lastSon__ast_3731(t);
			result = genTypeInfo__jsgen_403(p, T27_);
		}
		goto LA23_;
		LA25_: ;
		{
			NimStringDesc* T29_;
			T29_ = NIM_NIL;
			T29_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_))->Sup.len : 0) + 13);
appendString(T29_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_134));
appendString(T29_, reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)));
appendChar(T29_, 41);
			internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, T29_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_135);
		}
		LA23_: ;
	}
	break;
	default:
	{
		NimStringDesc* T31_;
		T31_ = NIM_NIL;
		T31_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_))->Sup.len : 0) + 13);
appendString(T31_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_134));
appendString(T31_, reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)));
appendChar(T31_, 41);
		internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, T31_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_136);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isEmptyType__ast_4780)(tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (t == ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL));
	if (T1_) goto LA2_;
	T1_ = ((*t).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 63) || (*t).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 7));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createRecordVarAux__jsgen_3853)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* rec, tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* excludedFieldIDs, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** output) {
{	switch ((*rec).kind) {
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 138):
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_3155(rec);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					createRecordVarAux__jsgen_3853(p, (*rec)._kind_6.sons->data[i], excludedFieldIDs, output);
					i_2 += ((NI) 1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 139):
	{
		createRecordVarAux__jsgen_3853(p, (*rec)._kind_6.sons->data[((NI) 0)], excludedFieldIDs, output);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_3155(rec);
			i_4 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* T9_;
					if (!(i_4 < colontmp__2)) goto LA8;
					i_3 = i_4;
					T9_ = NIM_NIL;
					T9_ = lastSon__ast_4833((*rec)._kind_6.sons->data[i_3]);
					createRecordVarAux__jsgen_3853(p, T9_, excludedFieldIDs, output);
					i_4 += ((NI) 1);
				} LA8: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3):
	{
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = isEmptyType__ast_4780((*(*rec)._kind_4.sym).typ);
			if (!T13_) goto LA14_;
			goto BeforeRet_;
		}
		LA14_: ;
		{
			tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym773_;
			NIM_BOOL T18_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T26_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T27_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T28_;
			xX60gensym773_ = (*rec)._kind_4.sym;
			T18_ = (NIM_BOOL)0;
			T18_ = contains__astalgo_3489(excludedFieldIDs, (NI)((NI)((NU64)(((NI) ((*xX60gensym773_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym773_).Sup.itemId.item))));
			if (!!(T18_)) goto LA19_;
			{
				NI T23_;
				T23_ = (NI)0;
				T23_ = len__ropes_10((*output));
				if (!(((NI) 0) < T23_)) goto LA24_;
				add__ropes_162(output, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
			}
			LA24_: ;
			nimZeroMem((void*)T26_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T26_[0] = mangleName__jsgen_326((*p).module, (*rec)._kind_4.sym);
			T27_ = NIM_NIL;
			T27_ = percent___jsgen_3996(T26_, 1);
			add__ropes_159(output, T27_);
			T28_ = NIM_NIL;
			T28_ = createVar__jsgen_3849(p, (*(*rec)._kind_4.sym).typ, NIM_FALSE);
			add__ropes_159(output, T28_);
		}
		LA19_: ;
	}
	break;
	default:
	{
		internalErrorImpl__msgs_1441((*(*p).module).config, (*rec).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_141), TM__RWNN386A4nZ2Ks5xVWQZ1Q_142);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, createObjInitList__jsgen_4001)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw* excludedFieldIDs, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ** output) {
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	t = typ;
	{
		NIM_BOOL T3_;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T11_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T12_;
		T3_ = (NIM_BOOL)0;
		T3_ = objHasTypeField__jsgen_503(t);
		if (!T3_) goto LA4_;
		{
			NI T8_;
			T8_ = (NI)0;
			T8_ = len__ropes_10((*output));
			if (!(((NI) 0) < T8_)) goto LA9_;
			add__ropes_162(output, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
		}
		LA9_: ;
		nimZeroMem((void*)T11_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T11_[0] = genTypeInfo__jsgen_403(p, t);
		T12_ = NIM_NIL;
		T12_ = percent___jsgen_4007(T11_, 1);
		add__ropes_159(output, T12_);
	}
	LA4_: ;
	{
		while (1) {
			if (!!((t == ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL)))) goto LA14;
			t = skipTypes__ast_3723(t, TM__RWNN386A4nZ2Ks5xVWQZ1Q_133);
			createRecordVarAux__jsgen_3853(p, (*t).n, excludedFieldIDs, output);
			t = (*t).sons->data[((NI) 0)];
		} LA14: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, createVar__jsgen_3849)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, NIM_BOOL indirect) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	result = NIM_NIL;
	t = skipTypes__ast_3723(typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 35):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 44):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 14):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2):
	{
		{
			NimStringDesc* T4_;
			T4_ = NIM_NIL;
			T4_ = dollar___ropes_250((*(*t).sym).loc.r);
			if (!eqStrings(T4_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_94))) goto LA5_;
			result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_95), indirect);
		}
		goto LA2_;
		LA5_: ;
		{
			result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_96), indirect);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 36) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 39):
	{
		result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_97), indirect);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 20):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 11):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 4):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 46):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 45):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47):
	{
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T10_;
		T10_ = NIM_NIL;
		T10_ = lastSon__ast_3731(typ);
		result = createVar__jsgen_3849(p, T10_, indirect);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 19):
	{
		result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_98), indirect);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1):
	{
		result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_45), indirect);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 5):
	{
		result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_63), indirect);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16):
	{
		NI length;
		tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ T15_;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* e;
		NimStringDesc* jsTyp;
		T15_ = lengthOrd__types_1723((*(*p).module).config, t);
		length = toInt__int495056_273(T15_);
		e = elemType__types_263(t);
		jsTyp = arrayTypeForElemType__jsgen_4017(e);
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T20_;
			if (!(((NI) 0) < (jsTyp ? jsTyp->Sup.len : 0))) goto LA18_;
			nimZeroMem((void*)T20_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T20_[0] = rope__ropes_109(jsTyp);
			T20_[1] = rope__ropes_115(((NI64) (length)));
			result = percent___jsgen_4032(T20_, 2);
		}
		goto LA16_;
		LA18_: ;
		{
			tyArray__FKvM4FDhljtt88k8FkGthA T24_;
			if (!(((NI) 32) < length)) goto LA22_;
			useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_119));
			useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
			nimZeroMem((void*)T24_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			T24_[0] = rope__ropes_115(((NI64) (length)));
			T24_[1] = createVar__jsgen_3849(p, e, NIM_FALSE);
			T24_[2] = genTypeInfo__jsgen_403(p, e);
			result = percent___jsgen_4037(T24_, 3);
		}
		goto LA16_;
		LA22_: ;
		{
			NI i;
			result = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_137));
			i = ((NI) 0);
			{
				while (1) {
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T32_;
					if (!(i < length)) goto LA27;
					{
						if (!(((NI) 0) < i)) goto LA30_;
						add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
					}
					LA30_: ;
					T32_ = NIM_NIL;
					T32_ = createVar__jsgen_3849(p, e, NIM_FALSE);
					add__ropes_159(&result, T32_);
					i += ((NI) 1);
				} LA27: ;
			}
			add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_138));
		}
		LA16_: ;
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T37_;
			if (!indirect) goto LA35_;
			nimZeroMem((void*)T37_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T37_[0] = result;
			result = percent___jsgen_3844(T37_, 1);
		}
		LA35_: ;
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18):
	{
		result = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_139));
		{
			NI i_2;
			NI colontmp_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_3990(t);
			i_3 = ((NI) 0);
			{
				while (1) {
					tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T46_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T47_;
					if (!(i_3 < colontmp_)) goto LA41;
					i_2 = i_3;
					{
						if (!(((NI) 0) < i_2)) goto LA44_;
						add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
					}
					LA44_: ;
					nimZeroMem((void*)T46_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
					T46_[0] = rope__ropes_115(((NI64) (i_2)));
					T46_[1] = createVar__jsgen_3849(p, (*t).sons->data[i_2], NIM_FALSE);
					T47_ = NIM_NIL;
					T47_ = percent___jsgen_4060(T46_, 2);
					add__ropes_159(&result, T47_);
					i_3 += ((NI) 1);
				} LA41: ;
			}
		}
		add__ropes_162(&result, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_140));
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T52_;
			if (!indirect) goto LA50_;
			nimZeroMem((void*)T52_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T52_[0] = result;
			result = percent___jsgen_3844(T52_, 1);
		}
		LA50_: ;
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 17):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* initList;
		tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw T54_;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T55_;
		initList = NIM_NIL;
		nimZeroMem((void*)(&T54_), sizeof(tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw));
		initIntSet__pureZcollectionsZintsets_238((&T54_));
		createObjInitList__jsgen_4001(p, t, (&T54_), &initList);
		nimZeroMem((void*)T55_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T55_[0] = initList;
		result = percent___jsgen_4070(T55_, 1);
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T60_;
			if (!indirect) goto LA58_;
			nimZeroMem((void*)T60_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T60_[0] = result;
			result = percent___jsgen_3844(T60_, 1);
		}
		LA58_: ;
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 22):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 26):
	{
		{
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T64_;
			T64_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T64_ = mapType__jsgen_322(p, t);
			if (!(T64_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA65_;
			result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_143), indirect);
		}
		goto LA62_;
		LA65_: ;
		{
			result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_63), indirect);
		}
		LA62_: ;
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 24):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28):
	{
		result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_144), indirect);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 25):
	{
		result = putToSeq__jsgen_3840(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_63), indirect);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 60):
	{
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T75_;
			if (!!(((*t).n == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL)))) goto LA73_;
			T75_ = NIM_NIL;
			T75_ = lastSon__ast_3731(t);
			result = createVar__jsgen_3849(p, T75_, indirect);
		}
		goto LA71_;
		LA73_: ;
		{
			NimStringDesc* T77_;
			T77_ = NIM_NIL;
			T77_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_))->Sup.len : 0) + 11);
appendString(T77_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_145));
appendString(T77_, reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)));
			internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, T77_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_146);
			result = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
		}
		LA71_: ;
	}
	break;
	default:
	{
		NimStringDesc* T79_;
		T79_ = NIM_NIL;
		T79_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_))->Sup.len : 0) + 11);
appendString(T79_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_145));
appendString(T79_, reprEnum((NI)(*t).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)));
		internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, T79_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_147);
		result = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsNoCopy__jsgen_2488)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* y) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	NIM_BOOL T4_;
	tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T5_;
	NIM_BOOL T7_;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T10_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((TM__RWNN386A4nZ2Ks5xVWQZ1Q_148[(NU)((*y).kind)>>3] &(1U<<((NU)((*y).kind)&7U)))!=0);
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T4_ = (NIM_BOOL)0;
	T5_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
	T5_ = mapType__jsgen_295((*y).typ);
	T4_ = !((T5_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9)));
	if (T4_) goto LA6_;
	T7_ = (NIM_BOOL)0;
	T7_ = ((*y).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3));
	if (!(T7_)) goto LA8_;
	T7_ = ((*(*y)._kind_4.sym).kind == ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 3));
	LA8_: ;
	T4_ = T7_;
	LA6_: ;
	T3_ = T4_;
	if (!(T3_)) goto LA9_;
	T10_ = NIM_NIL;
	T10_ = skipTypes__ast_3723((*y).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
	T3_ = ((*T10_).kind >= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1) && (*T10_).kind <= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2) || (*T10_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 14) || (*T10_).kind >= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21) && (*T10_).kind <= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23) || (*T10_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 25) || (*T10_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29) || (*T10_).kind >= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31) && (*T10_).kind <= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 45) || (*T10_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47));
	LA9_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, getTemp__jsgen_856)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, NIM_BOOL defineInLocals) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyArray__ts9cf9blICas1QWmw89bglZ7w T1_;
	result = NIM_NIL;
	(*p).unique += ((NI) 1);
	nimZeroMem((void*)T1_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
	T1_[0] = rope__ropes_115(((NI64) ((*p).unique)));
	result = percent___jsgen_864(T1_, 1);
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T6_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T8_;
		if (!defineInLocals) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T6_[0] = result;
		T7_ = NIM_NIL;
		T7_ = percent___jsgen_869(T6_, 1);
		T8_ = NIM_NIL;
		T8_ = indentLine__jsgen_97(p, T7_);
		add__ropes_159(&(*p).locals, T8_);
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genVarInit__jsgen_3354)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* v, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* s;
	NimStringDesc* varCode;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* varName;
	NIM_BOOL useReloadingGuard;
	NIM_BOOL T1_;
	NIM_BOOL useGlobalPragmas;
	NIM_BOOL T3_;
{	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	s = NIM_NIL;
	varCode = NIM_NIL;
	varName = mangleName__jsgen_326((*p).module, v);
	T1_ = (NIM_BOOL)0;
	T1_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 3))&63U)))!=0);
	if (!(T1_)) goto LA2_;
	T1_ = hcrOn__options_582((*(*p).module).config);
	LA2_: ;
	useReloadingGuard = T1_;
	T3_ = (NIM_BOOL)0;
	T3_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 3))&63U)))!=0);
	if (!(T3_)) goto LA4_;
	T3_ = !(((67110912 & (*v).flags) == 0));
	LA4_: ;
	useGlobalPragmas = T3_;
	{
		if (!((*v).constraint == 0)) goto LA7_;
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T13_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T16_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T17_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T18_;
			if (!useReloadingGuard) goto LA11_;
			nimZeroMem((void*)T13_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T13_[0] = varName;
			T14_ = NIM_NIL;
			T14_ = percent___jsgen_869(T13_, 1);
			T15_ = NIM_NIL;
			T15_ = indentLine__jsgen_97(p, T14_);
			add__ropes_159(&(*p).body, T15_);
			nimZeroMem((void*)T16_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T16_[0] = varName;
			T17_ = NIM_NIL;
			T17_ = percent___jsgen_4130(T16_, 1);
			T18_ = NIM_NIL;
			T18_ = indentLine__jsgen_97(p, T17_);
			add__ropes_159(&(*p).body, T18_);
			varCode = dollar___ropes_250(varName);
			(*p).extraIndent += ((NI) 1);
		}
		goto LA9_;
		LA11_: ;
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T22_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T23_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T24_;
			NimStringDesc* T25_;
			NimStringDesc* T26_;
			if (!useGlobalPragmas) goto LA20_;
			nimZeroMem((void*)T22_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T22_[0] = varName;
			T23_ = NIM_NIL;
			T23_ = percent___jsgen_4139(T22_, 1);
			T24_ = NIM_NIL;
			T24_ = indentLine__jsgen_97(p, T23_);
			add__ropes_159(&(*p).body, T24_);
			T25_ = NIM_NIL;
			T26_ = NIM_NIL;
			T26_ = dollar___ropes_250(varName);
			T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 11);
appendString(T25_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_89));
appendString(T25_, T26_);
			varCode = T25_;
			(*p).extraIndent += ((NI) 1);
		}
		goto LA9_;
		LA20_: ;
		{
			varCode = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_90));
		}
		LA9_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		varCode = copyString((*(*v).constraint)._kind_3.strVal);
	}
	LA5_: ;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1))) goto LA31_;
		{
			NIM_BOOL T35_;
			NIM_BOOL T36_;
			tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym804_;
			NIM_BOOL T37_;
			NIM_BOOL T38_;
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T43_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T46_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T47_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T48_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T49_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T50_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T51_;
			T35_ = (NIM_BOOL)0;
			T36_ = (NIM_BOOL)0;
			vX60gensym804_ = v;
			T37_ = (NIM_BOOL)0;
			T38_ = (NIM_BOOL)0;
			T38_ = !(((131080 & (*vX60gensym804_).flags) == 0));
			if (!(T38_)) goto LA39_;
			T38_ = ((192 & (*vX60gensym804_).flags) == 0);
			LA39_: ;
			T37_ = T38_;
			if (!(T37_)) goto LA40_;
			T37_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym804_).kind)&31U)))!=0));
			LA40_: ;
			T36_ = !(T37_);
			if (!(T36_)) goto LA41_;
			T36_ = ((*(*v).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23) || (*(*v).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21) || (*(*v).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47) || (*(*v).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 22) || (*(*v).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 45));
			LA41_: ;
			T35_ = T36_;
			if (!(T35_)) goto LA42_;
			T43_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T43_ = mapType__jsgen_322(p, (*v).typ);
			T35_ = (T43_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9));
			LA42_: ;
			if (!T35_) goto LA44_;
			nimZeroMem((void*)T46_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T46_[0] = varName;
			T47_ = NIM_NIL;
			T47_ = percent___jsgen_4182(T46_, 1);
			T48_ = NIM_NIL;
			T48_ = indentLine__jsgen_97(p, T47_);
			add__ropes_159(&(*p).body, T48_);
			nimZeroMem((void*)T49_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T49_[0] = varName;
			T50_ = NIM_NIL;
			T50_ = percent___jsgen_4187(T49_, 1);
			T51_ = NIM_NIL;
			T51_ = indentLine__jsgen_97(p, T50_);
			add__ropes_159(&(*p).body, T51_);
		}
		goto LA33_;
		LA44_: ;
		{
			NimStringDesc* T53_;
			tyArray__FKvM4FDhljtt88k8FkGthA T54_;
			tyArray__dAmhZbEWrTM5xES2bTVweg T55_;
			tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym812_;
			NIM_BOOL T56_;
			NIM_BOOL T57_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T60_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T61_;
			T53_ = NIM_NIL;
			T53_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
appendString(T53_, varCode);
appendString(T53_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_93));
			nimZeroMem((void*)T54_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			nimZeroMem((void*)T55_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
			T54_[0] = percent___jsgen_1280(T55_, 0);
			T54_[1] = varName;
			vX60gensym812_ = v;
			T56_ = (NIM_BOOL)0;
			T57_ = (NIM_BOOL)0;
			T57_ = !(((131080 & (*vX60gensym812_).flags) == 0));
			if (!(T57_)) goto LA58_;
			T57_ = ((192 & (*vX60gensym812_).flags) == 0);
			LA58_: ;
			T56_ = T57_;
			if (!(T56_)) goto LA59_;
			T56_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym812_).kind)&31U)))!=0));
			LA59_: ;
			T54_[2] = createVar__jsgen_3849(p, (*v).typ, T56_);
			T60_ = NIM_NIL;
			T60_ = runtimeFormat__ropes_271(T53_, T54_, 3);
			T61_ = NIM_NIL;
			T61_ = indentLine__jsgen_97(p, T60_);
			add__ropes_159(&(*p).body, T61_);
		}
		LA33_: ;
	}
	goto LA29_;
	LA31_: ;
	{
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T63_;
		gen__jsgen_784(p, n, (&a));
		T63_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
		T63_ = mapType__jsgen_322(p, (*v).typ);
		switch (T63_) {
		case ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8):
		case ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 4):
		{
			{
				NIM_BOOL T67_;
				T67_ = (NIM_BOOL)0;
				T67_ = needsNoCopy__jsgen_2488(p, n);
				if (!T67_) goto LA68_;
				s = a.res;
			}
			goto LA65_;
			LA68_: ;
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T71_;
				useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
				nimZeroMem((void*)T71_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T71_[0] = a.res;
				T71_[1] = genTypeInfo__jsgen_403(p, (*n).typ);
				s = percent___jsgen_4218(T71_, 2);
			}
			LA65_: ;
		}
		break;
		case ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9):
		{
			NIM_BOOL targetBaseIndex;
			targetBaseIndex = ((131080 & (*v).flags) == 0);
			{
				if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA75_;
				{
					NimStringDesc* T81_;
					tyArray__InO6xIOhXMnkCXPnEYWwWg T82_;
					tyArray__dAmhZbEWrTM5xES2bTVweg T83_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T84_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T85_;
					if (!targetBaseIndex) goto LA79_;
					T81_ = NIM_NIL;
					T81_ = rawNewString((varCode ? varCode->Sup.len : 0) + 21);
appendString(T81_, varCode);
appendString(T81_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_149));
					nimZeroMem((void*)T82_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
					nimZeroMem((void*)T83_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
					T82_[0] = percent___jsgen_1280(T83_, 0);
					T82_[1] = (*v).loc.r;
					T82_[2] = a.address;
					T82_[3] = a.res;
					T84_ = NIM_NIL;
					T84_ = runtimeFormat__ropes_271(T81_, T82_, 4);
					T85_ = NIM_NIL;
					T85_ = indentLine__jsgen_97(p, T84_);
					add__ropes_159(&(*p).body, T85_);
				}
				goto LA77_;
				LA79_: ;
				{
					{
						tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym819_;
						NIM_BOOL T89_;
						NIM_BOOL T90_;
						NimStringDesc* T95_;
						tyArray__InO6xIOhXMnkCXPnEYWwWg T96_;
						tyArray__dAmhZbEWrTM5xES2bTVweg T97_;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T98_;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T99_;
						vX60gensym819_ = v;
						T89_ = (NIM_BOOL)0;
						T90_ = (NIM_BOOL)0;
						T90_ = !(((131080 & (*vX60gensym819_).flags) == 0));
						if (!(T90_)) goto LA91_;
						T90_ = ((192 & (*vX60gensym819_).flags) == 0);
						LA91_: ;
						T89_ = T90_;
						if (!(T89_)) goto LA92_;
						T89_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym819_).kind)&31U)))!=0));
						LA92_: ;
						if (!T89_) goto LA93_;
						T95_ = NIM_NIL;
						T95_ = rawNewString((varCode ? varCode->Sup.len : 0) + 16);
appendString(T95_, varCode);
appendString(T95_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_150));
						nimZeroMem((void*)T96_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
						nimZeroMem((void*)T97_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
						T96_[0] = percent___jsgen_1280(T97_, 0);
						T96_[1] = (*v).loc.r;
						T96_[2] = a.address;
						T96_[3] = a.res;
						T98_ = NIM_NIL;
						T98_ = runtimeFormat__ropes_271(T95_, T96_, 4);
						T99_ = NIM_NIL;
						T99_ = indentLine__jsgen_97(p, T98_);
						add__ropes_159(&(*p).body, T99_);
					}
					goto LA87_;
					LA93_: ;
					{
						NimStringDesc* T101_;
						tyArray__InO6xIOhXMnkCXPnEYWwWg T102_;
						tyArray__dAmhZbEWrTM5xES2bTVweg T103_;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T104_;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T105_;
						T101_ = NIM_NIL;
						T101_ = rawNewString((varCode ? varCode->Sup.len : 0) + 14);
appendString(T101_, varCode);
appendString(T101_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_151));
						nimZeroMem((void*)T102_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
						nimZeroMem((void*)T103_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
						T102_[0] = percent___jsgen_1280(T103_, 0);
						T102_[1] = (*v).loc.r;
						T102_[2] = a.address;
						T102_[3] = a.res;
						T104_ = NIM_NIL;
						T104_ = runtimeFormat__ropes_271(T101_, T102_, 4);
						T105_ = NIM_NIL;
						T105_ = indentLine__jsgen_97(p, T104_);
						add__ropes_159(&(*p).body, T105_);
					}
					LA87_: ;
				}
				LA77_: ;
			}
			goto LA73_;
			LA75_: ;
			{
				{
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
					tyArray__FKvM4FDhljtt88k8FkGthA T111_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T112_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T113_;
					if (!targetBaseIndex) goto LA109_;
					tmp = getTemp__jsgen_856(p, NIM_TRUE);
					nimZeroMem((void*)T111_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
					T111_[0] = tmp;
					T111_[1] = a.res;
					T111_[2] = (*v).loc.r;
					T112_ = NIM_NIL;
					T112_ = percent___jsgen_4271(T111_, 3);
					T113_ = NIM_NIL;
					T113_ = indentLine__jsgen_97(p, T112_);
					add__ropes_159(&(*p).body, T113_);
				}
				goto LA107_;
				LA109_: ;
				{
					NimStringDesc* T115_;
					tyArray__FKvM4FDhljtt88k8FkGthA T116_;
					tyArray__dAmhZbEWrTM5xES2bTVweg T117_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T118_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T119_;
					T115_ = NIM_NIL;
					T115_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
appendString(T115_, varCode);
appendString(T115_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_93));
					nimZeroMem((void*)T116_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
					nimZeroMem((void*)T117_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
					T116_[0] = percent___jsgen_1280(T117_, 0);
					T116_[1] = (*v).loc.r;
					T116_[2] = a.res;
					T118_ = NIM_NIL;
					T118_ = runtimeFormat__ropes_271(T115_, T116_, 3);
					T119_ = NIM_NIL;
					T119_ = indentLine__jsgen_97(p, T118_);
					add__ropes_159(&(*p).body, T119_);
				}
				LA107_: ;
			}
			LA73_: ;
			goto BeforeRet_;
		}
		break;
		default:
		{
			s = a.res;
		}
		break;
		}
		{
			tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym832_;
			NIM_BOOL T123_;
			NIM_BOOL T124_;
			NimStringDesc* T129_;
			tyArray__FKvM4FDhljtt88k8FkGthA T130_;
			tyArray__dAmhZbEWrTM5xES2bTVweg T131_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T132_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T133_;
			vX60gensym832_ = v;
			T123_ = (NIM_BOOL)0;
			T124_ = (NIM_BOOL)0;
			T124_ = !(((131080 & (*vX60gensym832_).flags) == 0));
			if (!(T124_)) goto LA125_;
			T124_ = ((192 & (*vX60gensym832_).flags) == 0);
			LA125_: ;
			T123_ = T124_;
			if (!(T123_)) goto LA126_;
			T123_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym832_).kind)&31U)))!=0));
			LA126_: ;
			if (!T123_) goto LA127_;
			T129_ = NIM_NIL;
			T129_ = rawNewString((varCode ? varCode->Sup.len : 0) + 10);
appendString(T129_, varCode);
appendString(T129_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_152));
			nimZeroMem((void*)T130_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			nimZeroMem((void*)T131_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
			T130_[0] = percent___jsgen_1280(T131_, 0);
			T130_[1] = (*v).loc.r;
			T130_[2] = s;
			T132_ = NIM_NIL;
			T132_ = runtimeFormat__ropes_271(T129_, T130_, 3);
			T133_ = NIM_NIL;
			T133_ = indentLine__jsgen_97(p, T132_);
			add__ropes_159(&(*p).body, T133_);
		}
		goto LA121_;
		LA127_: ;
		{
			NimStringDesc* T135_;
			tyArray__FKvM4FDhljtt88k8FkGthA T136_;
			tyArray__dAmhZbEWrTM5xES2bTVweg T137_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T138_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T139_;
			T135_ = NIM_NIL;
			T135_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
appendString(T135_, varCode);
appendString(T135_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_93));
			nimZeroMem((void*)T136_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			nimZeroMem((void*)T137_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
			T136_[0] = percent___jsgen_1280(T137_, 0);
			T136_[1] = (*v).loc.r;
			T136_[2] = s;
			T138_ = NIM_NIL;
			T138_ = runtimeFormat__ropes_271(T135_, T136_, 3);
			T139_ = NIM_NIL;
			T139_ = indentLine__jsgen_97(p, T138_);
			add__ropes_159(&(*p).body, T139_);
		}
		LA121_: ;
	}
	LA29_: ;
	{
		NIM_BOOL T142_;
		tyArray__dAmhZbEWrTM5xES2bTVweg T146_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T147_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T148_;
		T142_ = (NIM_BOOL)0;
		T142_ = useReloadingGuard;
		if (T142_) goto LA143_;
		T142_ = useGlobalPragmas;
		LA143_: ;
		if (!T142_) goto LA144_;
		(*p).extraIndent -= ((NI) 1);
		nimZeroMem((void*)T146_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		T147_ = NIM_NIL;
		T147_ = percent___cgen_7535(T146_, 0);
		T148_ = NIM_NIL;
		T148_ = indentLine__jsgen_97(p, T147_);
		add__ropes_159(&(*p).body, T148_);
	}
	LA144_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCopyForParamIfNeeded__jsgen_3310)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s;
	tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* owner;
{	s = (*n)._kind_4.sym;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p).prc == (*s).owner);
		if (T3_) goto LA4_;
		T3_ = needsNoCopy__jsgen_2488(p, n);
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	owner = (*p).up;
	{
		while (1) {
			{
				NimStringDesc* T13_;
				if (!(owner == ((tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*) NIM_NIL))) goto LA11_;
				T13_ = NIM_NIL;
				T13_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 55);
appendString(T13_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_153));
appendString(T13_, (*(*s).name).s);
				internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, T13_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_154);
			}
			LA11_: ;
			{
				if (!((*owner).prc == (*s).owner)) goto LA16_;
				{
					tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym686_;
					NIM_BOOL T20_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* copy;
					tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T23_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T24_;
					xX60gensym686_ = s;
					T20_ = (NIM_BOOL)0;
					T20_ = containsOrIncl__astalgo_402((&(*owner).generatedParamCopies), (NI)((NI)((NU64)(((NI) ((*xX60gensym686_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym686_).Sup.itemId.item))));
					if (!!(T20_)) goto LA21_;
					nimZeroMem((void*)T23_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
					T23_[0] = (*s).loc.r;
					T23_[1] = genTypeInfo__jsgen_403(p, (*s).typ);
					copy = percent___jsgen_3348(T23_, 2);
					T24_ = NIM_NIL;
					T24_ = indentLine__jsgen_97(owner, copy);
					add__ropes_159(&(*owner).locals, T24_);
				}
				LA21_: ;
				goto BeforeRet_;
			}
			LA16_: ;
			owner = (*owner).up;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genConstant__jsgen_794)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* c) {
	{
		NIM_BOOL T3_;
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym856_;
		NIM_BOOL T5_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* oldBody;
		T3_ = (NIM_BOOL)0;
		T3_ = !((((*c).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__Ic4ywZl9cdJtKSUkG4WZfHw) 3))&15U)))!=0));
		if (!(T3_)) goto LA4_;
		xX60gensym856_ = c;
		T5_ = (NIM_BOOL)0;
		T5_ = containsOrIncl__astalgo_402((&(*(*p).g).generatedSyms), (NI)((NI)((NU64)(((NI) ((*xX60gensym856_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym856_).Sup.itemId.item))));
		T3_ = !(T5_);
		LA4_: ;
		if (!T3_) goto LA6_;
		oldBody = (*p).body;
		asgnRef((void**) (&(*p).body), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
		genVarInit__jsgen_3354(p, c, (*c).ast);
		add__ropes_159(&(*(*p).g).constants, (*p).body);
		asgnRef((void**) (&(*p).body), oldBody);
	}
	LA6_: ;
}
static N_INLINE(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, getBody__modulegraphs_13094)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* g, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s) {
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* result;
	result = NIM_NIL;
	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (result == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = loadProcBody__icZic_8386((*g).config, (*g).cache, (&(*g).packed_0), s);
		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, attachProc__jsgen_3264)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* content, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s) {
	add__ropes_159(&(*(*p).g).code, content);
}
N_LIB_PRIVATE N_NIMCALL(void, genProcForSymIfNeeded__jsgen_3272)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s) {
	{
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym679_;
		NIM_BOOL T3_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* newp;
		tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* owner;
		xX60gensym679_ = s;
		T3_ = (NIM_BOOL)0;
		T3_ = containsOrIncl__astalgo_402((&(*(*p).g).generatedSyms), (NI)((NI)((NU64)(((NI) ((*xX60gensym679_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym679_).Sup.itemId.item))));
		if (!!(T3_)) goto LA4_;
		newp = genProc__jsgen_791(p, s);
		owner = p;
		{
			while (1) {
				NIM_BOOL T8_;
				T8_ = (NIM_BOOL)0;
				T8_ = !((owner == ((tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*) NIM_NIL)));
				if (!(T8_)) goto LA9_;
				T8_ = !(((*owner).prc == (*s).owner));
				LA9_: ;
				if (!T8_) goto LA7;
				owner = (*owner).up;
			} LA7: ;
		}
		{
			if (!!((owner == ((tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*) NIM_NIL)))) goto LA12_;
			add__ropes_159(&(*owner).locals, newp);
		}
		goto LA10_;
		LA12_: ;
		{
			attachProc__jsgen_3264(p, newp, s);
		}
		LA10_: ;
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSym__jsgen_3358)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s;
	s = (*n)._kind_4.sym;
	switch ((*s).kind) {
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 8):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 9):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 3):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 5):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 11):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 21):
	{
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ k;
		{
			NimStringDesc* T6_;
			if (!((*s).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA4_;
			T6_ = NIM_NIL;
			T6_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
appendString(T6_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_23));
appendString(T6_, (*(*s).name).s);
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, T6_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_24);
		}
		LA4_: ;
		{
			tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* T11_;
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 28))&63U)))!=0)) goto LA9_;
			T11_ = NIM_NIL;
			{
				if (!!(((*s).ast == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL)))) goto LA14_;
				T11_ = (*s).ast;
			}
			goto LA12_;
			LA14_: ;
			{
				T11_ = newNodeI__ast_3320(((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1), (*s).info);
			}
			LA12_: ;
			genVarInit__jsgen_3354(p, s, T11_);
		}
		LA9_: ;
		{
			if (!((*s).kind == ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 3))) goto LA19_;
			genCopyForParamIfNeeded__jsgen_3310(p, n);
		}
		LA19_: ;
		k = mapType__jsgen_322(p, (*s).typ);
		{
			if (!(k == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA23_;
			(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
			{
				if (!!(((131080 & (*s).flags) == 0))) goto LA27_;
				{
					tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym693_;
					NIM_BOOL T31_;
					NIM_BOOL T32_;
					tyArray__ts9cf9blICas1QWmw89bglZ7w T37_;
					tyArray__ts9cf9blICas1QWmw89bglZ7w T38_;
					vX60gensym693_ = s;
					T31_ = (NIM_BOOL)0;
					T32_ = (NIM_BOOL)0;
					T32_ = !(((131080 & (*vX60gensym693_).flags) == 0));
					if (!(T32_)) goto LA33_;
					T32_ = ((192 & (*vX60gensym693_).flags) == 0);
					LA33_: ;
					T31_ = T32_;
					if (!(T31_)) goto LA34_;
					T31_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym693_).kind)&31U)))!=0));
					LA34_: ;
					if (!T31_) goto LA35_;
					nimZeroMem((void*)T37_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
					T37_[0] = (*s).loc.r;
					unsureAsgnRef((void**) (&(*r).address), percent___jsgen_3414(T37_, 1));
					nimZeroMem((void*)T38_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
					T38_[0] = (*s).loc.r;
					unsureAsgnRef((void**) (&(*r).res), percent___jsgen_3419(T38_, 1));
				}
				goto LA29_;
				LA35_: ;
				{
					tyArray__ts9cf9blICas1QWmw89bglZ7w T40_;
					tyArray__ts9cf9blICas1QWmw89bglZ7w T41_;
					nimZeroMem((void*)T40_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
					T40_[0] = (*s).loc.r;
					unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2860(T40_, 1));
					nimZeroMem((void*)T41_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
					T41_[0] = (*s).loc.r;
					unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T41_, 1));
				}
				LA29_: ;
			}
			goto LA25_;
			LA27_: ;
			{
				unsureAsgnRef((void**) (&(*r).address), (*s).loc.r);
				unsureAsgnRef((void**) (&(*r).res), amp___ropes_140((*s).loc.r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_111)));
			}
			LA25_: ;
		}
		goto LA21_;
		LA23_: ;
		{
			tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym696_;
			NIM_BOOL T44_;
			NIM_BOOL T45_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T50_;
			vX60gensym696_ = s;
			T44_ = (NIM_BOOL)0;
			T45_ = (NIM_BOOL)0;
			T45_ = !(((131080 & (*vX60gensym696_).flags) == 0));
			if (!(T45_)) goto LA46_;
			T45_ = ((192 & (*vX60gensym696_).flags) == 0);
			LA46_: ;
			T44_ = T45_;
			if (!(T44_)) goto LA47_;
			T44_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym696_).kind)&31U)))!=0));
			LA47_: ;
			if (!T44_) goto LA48_;
			nimZeroMem((void*)T50_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T50_[0] = (*s).loc.r;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2860(T50_, 1));
		}
		goto LA21_;
		LA48_: ;
		{
			unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
		}
		LA21_: ;
	}
	break;
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 10):
	{
		genConstant__jsgen_794(p, s);
		{
			NimStringDesc* T57_;
			if (!((*s).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA55_;
			T57_ = NIM_NIL;
			T57_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
appendString(T57_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_23));
appendString(T57_, (*(*s).name).s);
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, T57_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_155);
		}
		LA55_: ;
		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
	}
	break;
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 12):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 13):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 16):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 14):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T64_;
		{
			NimStringDesc* T63_;
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 28))&63U)))!=0)) goto LA61_;
			T63_ = NIM_NIL;
			T63_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 48);
appendString(T63_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_156));
appendString(T63_, (*(*s).name).s);
			liMessage__msgs_1128((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), T63_, ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 0), TM__RWNN386A4nZ2Ks5xVWQZ1Q_157, NIM_FALSE);
		}
		LA61_: ;
		T64_ = NIM_NIL;
		T64_ = mangleName__jsgen_326((*p).module, s);
		(void)(T64_);
		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
		{
			NIM_BOOL T67_;
			NIM_BOOL T68_;
			T67_ = (NIM_BOOL)0;
			T68_ = (NIM_BOOL)0;
			T68_ = (((*s).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__Ic4ywZl9cdJtKSUkG4WZfHw) 3))&15U)))!=0);
			if (T68_) goto LA69_;
			T68_ = !(((*s).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 0) || (*s).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 156) || (*s).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 155) || (*s).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 145)));
			LA69_: ;
			T67_ = T68_;
			if (T67_) goto LA70_;
			T67_ = !(((IL64(4294967360) & (*s).flags) == 0));
			LA70_: ;
			if (!T67_) goto LA71_;
		}
		goto LA65_;
		LA71_: ;
		{
			NIM_BOOL T74_;
			tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* T76_;
			T74_ = (NIM_BOOL)0;
			T74_ = ((*s).kind == ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 14));
			if (!(T74_)) goto LA75_;
			T76_ = NIM_NIL;
			T76_ = getBody__modulegraphs_13094((*(*p).module).graph, s);
			T74_ = ((*T76_).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1));
			LA75_: ;
			if (!T74_) goto LA77_;
		}
		goto LA65_;
		LA77_: ;
		{
			NI T82_;
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 4))&63U)))!=0)) goto LA80_;
			asgnRef((void**) (&(*(*p).g).forwarded), (tySequence__ed0C0uAUZPhvw3RAc5hfYg*) incrSeqV3((TGenericSeq*)((*(*p).g).forwarded), (&NTIseqLpsymT__ed0C0uAUZPhvw3RAc5hfYg_)));
			T82_ = (*(*p).g).forwarded->Sup.len++;
			asgnRef((void**) (&(*(*p).g).forwarded->data[T82_]), s);
		}
		goto LA65_;
		LA80_: ;
		{
			genProcForSymIfNeeded__jsgen_3272(p, s);
		}
		LA65_: ;
	}
	break;
	default:
	{
		{
			NimStringDesc* T89_;
			if (!((*s).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA87_;
			T89_ = NIM_NIL;
			T89_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
appendString(T89_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_23));
appendString(T89_, (*(*s).name).s);
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, T89_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_158);
		}
		LA87_: ;
		{
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T92_;
			T92_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T92_ = mapType__jsgen_322(p, (*s).typ);
			if (!(T92_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA93_;
			unsureAsgnRef((void**) (&(*r).address), (*s).loc.r);
			unsureAsgnRef((void**) (&(*r).res), amp___ropes_140((*s).loc.r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_111)));
		}
		goto LA90_;
		LA93_: ;
		{
			unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
		}
		LA90_: ;
	}
	break;
	}
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 2);
}
static N_INLINE(NIM_BOOL, signbit__astalgo_926)(NF x) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = signbit(x);
	result = !((T1_ == ((NI32) 0)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genLineDir__jsgen_1836)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NI line;
{	line = toLinenumber__msgs_619((*n).info);
	{
		if (!(line < ((NI) 0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T11_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T12_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T13_;
		T7_ = (NIM_BOOL)0;
		T7_ = (((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 12))&31U)))!=0);
		if (T7_) goto LA8_;
		T7_ = (((*(*(*p).module).config).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 12))&31U)))!=0);
		LA8_: ;
		if (!T7_) goto LA9_;
		nimZeroMem((void*)T11_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T11_[0] = lineDir__jsgen_1826((*(*p).module).config, (*n).info, line);
		T12_ = NIM_NIL;
		T12_ = percent___cgen_19419(T11_, 1);
		T13_ = NIM_NIL;
		T13_ = indentLine__jsgen_97(p, T12_);
		add__ropes_159(&(*p).body, T13_);
	}
	LA9_: ;
	{
		NIM_BOOL T16_;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T19_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T20_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T21_;
		T16_ = (NIM_BOOL)0;
		T16_ = hasFrameInfo__jsgen_1807(p);
		if (!T16_) goto LA17_;
		nimZeroMem((void*)T19_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T19_[0] = rope__ropes_115(((NI64) (line)));
		T20_ = NIM_NIL;
		T20_ = percent___jsgen_1852(T19_, 1);
		T21_ = NIM_NIL;
		T21_ = indentLine__jsgen_97(p, T20_);
		add__ropes_159(&(*p).body, T21_);
	}
	LA17_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isAtom__ast_4769)(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 0) <= (*n).kind);
	if (!(T1_)) goto LA2_;
	T1_ = ((*n).kind <= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 23));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSimpleExpr__jsgen_839)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n).kind >= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 26) && (*n).kind <= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 32) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 37) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 42) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 45) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 160));
		if (T3_) goto LA4_;
		T3_ = ((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 38) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 41) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 39));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* c;
			c = NIM_NIL;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_3148(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA10;
						i = i_2;
						c = (*n)._kind_6.sons->data[i];
						{
							NIM_BOOL T13_;
							T13_ = (NIM_BOOL)0;
							T13_ = isSimpleExpr__jsgen_839(p, c);
							if (!!(T13_)) goto LA14_;
							result = NIM_FALSE;
							goto BeforeRet_;
						}
						LA14_: ;
						i_2 += ((NI) 1);
					} LA10: ;
				}
			}
		}
		result = NIM_TRUE;
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T17_;
		T17_ = (NIM_BOOL)0;
		T17_ = isAtom__ast_4769(n);
		if (!T17_) goto LA18_;
		result = NIM_TRUE;
	}
	goto LA1_;
	LA18_: ;
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, rdLoc__jsgen_188)(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* a) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	result = NIM_NIL;
	{
		if (!!(((*a).typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9)))) goto LA3_;
		result = (*a).res;
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T6_;
		nimZeroMem((void*)T6_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T6_[0] = (*a).address;
		T6_[1] = (*a).res;
		result = percent___cgen_6805(T6_, 2);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genOr__jsgen_921)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* a, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* b, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	{
		NIM_BOOL T3_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = isSimpleExpr__jsgen_839(p, a);
		if (!(T3_)) goto LA4_;
		T3_ = isSimpleExpr__jsgen_839(p, b);
		LA4_: ;
		if (!T3_) goto LA5_;
		gen__jsgen_784(p, a, (&x));
		gen__jsgen_784(p, b, (&y));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
		nimZeroMem((void*)T7_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T7_[0] = rdLoc__jsgen_188((&x));
		T7_[1] = rdLoc__jsgen_188((&y));
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_935(T7_, 2));
	}
	goto LA1_;
	LA5_: ;
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T9_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T10_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T12_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T13_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T16_;
		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_856(p, NIM_TRUE));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 2);
		gen__jsgen_784(p, a, (&x));
		nimZeroMem((void*)T9_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T9_[0] = rdLoc__jsgen_188((&x));
		T9_[1] = rdLoc__jsgen_188((&(*r)));
		T10_ = NIM_NIL;
		T10_ = percent___jsgen_940(T9_, 2);
		T11_ = NIM_NIL;
		T11_ = indentLine__jsgen_97(p, T10_);
		add__ropes_159(&(*p).body, T11_);
		(*p).extraIndent += ((NI) 1);
		gen__jsgen_784(p, b, (&y));
		nimZeroMem((void*)T12_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T12_[0] = rdLoc__jsgen_188((&y));
		T12_[1] = rdLoc__jsgen_188((&(*r)));
		T13_ = NIM_NIL;
		T13_ = percent___jsgen_903(T12_, 2);
		T14_ = NIM_NIL;
		T14_ = indentLine__jsgen_97(p, T13_);
		add__ropes_159(&(*p).body, T14_);
		(*p).extraIndent -= ((NI) 1);
		T15_ = NIM_NIL;
		T15_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_140));
		T16_ = NIM_NIL;
		T16_ = indentLine__jsgen_97(p, T15_);
		add__ropes_159(&(*p).body, T16_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genAnd__jsgen_874)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* a, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* b, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	{
		NIM_BOOL T3_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = isSimpleExpr__jsgen_839(p, a);
		if (!(T3_)) goto LA4_;
		T3_ = isSimpleExpr__jsgen_839(p, b);
		LA4_: ;
		if (!T3_) goto LA5_;
		gen__jsgen_784(p, a, (&x));
		gen__jsgen_784(p, b, (&y));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
		nimZeroMem((void*)T7_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T7_[0] = rdLoc__jsgen_188((&x));
		T7_[1] = rdLoc__jsgen_188((&y));
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_889(T7_, 2));
	}
	goto LA1_;
	LA5_: ;
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T9_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T10_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T12_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T13_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T16_;
		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_856(p, NIM_TRUE));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 2);
		gen__jsgen_784(p, a, (&x));
		nimZeroMem((void*)T9_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T9_[0] = rdLoc__jsgen_188((&x));
		T9_[1] = rdLoc__jsgen_188((&(*r)));
		T10_ = NIM_NIL;
		T10_ = percent___jsgen_894(T9_, 2);
		T11_ = NIM_NIL;
		T11_ = indentLine__jsgen_97(p, T10_);
		add__ropes_159(&(*p).body, T11_);
		(*p).extraIndent += ((NI) 1);
		gen__jsgen_784(p, b, (&y));
		nimZeroMem((void*)T12_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T12_[0] = rdLoc__jsgen_188((&y));
		T12_[1] = rdLoc__jsgen_188((&(*r)));
		T13_ = NIM_NIL;
		T13_ = percent___jsgen_903(T12_, 2);
		T14_ = NIM_NIL;
		T14_ = indentLine__jsgen_97(p, T13_);
		add__ropes_159(&(*p).body, T14_);
		(*p).extraIndent -= ((NI) 1);
		T15_ = NIM_NIL;
		T15_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_140));
		T16_ = NIM_NIL;
		T16_ = indentLine__jsgen_97(p, T15_);
		add__ropes_159(&(*p).body, T16_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, unsignedTrimmerJS__jsgen_1119)(NI64 size) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	result = NIM_NIL;
	switch (size) {
	case ((NI) 1):
	{
		result = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_172));
	}
	break;
	case ((NI) 2):
	{
		result = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_173));
	}
	break;
	case ((NI) 4):
	{
		result = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_174));
	}
	break;
	default:
	{
		result = rope__ropes_109(((NimStringDesc*) NIM_NIL));
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr__jsgen_1739)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NimStringDesc* op) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* trimmer;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T1_;
	tyArray__InO6xIOhXMnkCXPnEYWwWg T2_;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
	T1_ = NIM_NIL;
	T1_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, abstractRange__types_101);
	trimmer = unsignedTrimmerJS__jsgen_1119((*T1_).size);
	nimZeroMem((void*)T2_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
	T2_[0] = rdLoc__jsgen_188((&x));
	T2_[1] = rope__ropes_109(op);
	T2_[2] = rdLoc__jsgen_188((&y));
	T2_[3] = trimmer;
	unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1752(T2_, 4));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, arithAux__jsgen_1153)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag op) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* xLoc;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* yLoc;
	NI i;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	xLoc = NIM_NIL;
	yLoc = NIM_NIL;
	i = !((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 5))&31U)))!=0));
	useMagic__jsgen_797(p, jsMagics__jsgen_959[(op)- 46][(i)- 0]);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_3155(n);
		if (!(((NI) 2) < T3_)) goto LA4_;
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
		xLoc = rdLoc__jsgen_188((&x));
		yLoc = rdLoc__jsgen_188((&y));
	}
	goto LA1_;
	LA4_: ;
	{
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
		xLoc = rdLoc__jsgen_188((&(*r)));
	}
	LA1_: ;
	switch (op) {
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 46):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T12_;
			if (!(i == ((NI) 0))) goto LA10_;
			nimZeroMem((void*)T12_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T12_[0] = xLoc;
			T12_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1181(T12_, 2));
		}
		goto LA8_;
		LA10_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T14_;
			nimZeroMem((void*)T14_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T14_[0] = xLoc;
			T14_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1186(T14_, 2));
		}
		LA8_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 47):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T20_;
			if (!(i == ((NI) 0))) goto LA18_;
			nimZeroMem((void*)T20_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T20_[0] = xLoc;
			T20_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1191(T20_, 2));
		}
		goto LA16_;
		LA18_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T22_;
			nimZeroMem((void*)T22_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T22_[0] = xLoc;
			T22_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1196(T22_, 2));
		}
		LA16_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 48):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T28_;
			if (!(i == ((NI) 0))) goto LA26_;
			nimZeroMem((void*)T28_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T28_[0] = xLoc;
			T28_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1201(T28_, 2));
		}
		goto LA24_;
		LA26_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T30_;
			nimZeroMem((void*)T30_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T30_[0] = xLoc;
			T30_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1206(T30_, 2));
		}
		LA24_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 49):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T36_;
			if (!(i == ((NI) 0))) goto LA34_;
			nimZeroMem((void*)T36_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T36_[0] = xLoc;
			T36_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1211(T36_, 2));
		}
		goto LA32_;
		LA34_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T38_;
			nimZeroMem((void*)T38_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T38_[0] = xLoc;
			T38_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1216(T38_, 2));
		}
		LA32_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 50):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T44_;
			if (!(i == ((NI) 0))) goto LA42_;
			nimZeroMem((void*)T44_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T44_[0] = xLoc;
			T44_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1221(T44_, 2));
		}
		goto LA40_;
		LA42_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T46_;
			nimZeroMem((void*)T46_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T46_[0] = xLoc;
			T46_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1226(T46_, 2));
		}
		LA40_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 51):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T52_;
			if (!(i == ((NI) 0))) goto LA50_;
			nimZeroMem((void*)T52_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T52_[0] = xLoc;
			T52_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1181(T52_, 2));
		}
		goto LA48_;
		LA50_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T54_;
			nimZeroMem((void*)T54_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T54_[0] = xLoc;
			T54_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1186(T54_, 2));
		}
		LA48_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 52):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T60_;
			if (!(i == ((NI) 0))) goto LA58_;
			nimZeroMem((void*)T60_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T60_[0] = xLoc;
			T60_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1191(T60_, 2));
		}
		goto LA56_;
		LA58_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T62_;
			nimZeroMem((void*)T62_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T62_[0] = xLoc;
			T62_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1196(T62_, 2));
		}
		LA56_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 53):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T68_;
			if (!(i == ((NI) 0))) goto LA66_;
			nimZeroMem((void*)T68_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T68_[0] = xLoc;
			T68_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1186(T68_, 2));
		}
		goto LA64_;
		LA66_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T70_;
			nimZeroMem((void*)T70_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T70_[0] = xLoc;
			T70_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1186(T70_, 2));
		}
		LA64_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 54):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T76_;
			if (!(i == ((NI) 0))) goto LA74_;
			nimZeroMem((void*)T76_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T76_[0] = xLoc;
			T76_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1196(T76_, 2));
		}
		goto LA72_;
		LA74_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T78_;
			nimZeroMem((void*)T78_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T78_[0] = xLoc;
			T78_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1196(T78_, 2));
		}
		LA72_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 55):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T84_;
			if (!(i == ((NI) 0))) goto LA82_;
			nimZeroMem((void*)T84_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T84_[0] = xLoc;
			T84_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1206(T84_, 2));
		}
		goto LA80_;
		LA82_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T86_;
			nimZeroMem((void*)T86_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T86_[0] = xLoc;
			T86_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1206(T86_, 2));
		}
		LA80_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 56):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T92_;
			if (!(i == ((NI) 0))) goto LA90_;
			nimZeroMem((void*)T92_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T92_[0] = xLoc;
			T92_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1271(T92_, 2));
		}
		goto LA88_;
		LA90_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T94_;
			nimZeroMem((void*)T94_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T94_[0] = xLoc;
			T94_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1271(T94_, 2));
		}
		LA88_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 57):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T100_;
			if (!(i == ((NI) 0))) goto LA98_;
			nimZeroMem((void*)T100_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T100_[0] = xLoc;
			T100_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T100_, 2));
		}
		goto LA96_;
		LA98_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T102_;
			nimZeroMem((void*)T102_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T102_[0] = xLoc;
			T102_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T102_, 2));
		}
		LA96_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 58):
	{
		{
			if (!((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).size <= IL64(4))) goto LA106_;
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T112_;
				if (!(i == ((NI) 0))) goto LA110_;
				nimZeroMem((void*)T112_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T112_[0] = xLoc;
				T112_[1] = yLoc;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1290(T112_, 2));
			}
			goto LA108_;
			LA110_: ;
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T114_;
				nimZeroMem((void*)T114_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T114_[0] = xLoc;
				T114_[1] = yLoc;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1290(T114_, 2));
			}
			LA108_: ;
		}
		goto LA104_;
		LA106_: ;
		{
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T120_;
				if (!(i == ((NI) 0))) goto LA118_;
				nimZeroMem((void*)T120_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T120_[0] = xLoc;
				T120_[1] = yLoc;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1299(T120_, 2));
			}
			goto LA116_;
			LA118_: ;
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T122_;
				nimZeroMem((void*)T122_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T122_[0] = xLoc;
				T122_[1] = yLoc;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1299(T122_, 2));
			}
			LA116_: ;
		}
		LA104_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 59):
	{
		{
			if (!((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).size <= IL64(4))) goto LA126_;
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T132_;
				if (!(i == ((NI) 0))) goto LA130_;
				nimZeroMem((void*)T132_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T132_[0] = xLoc;
				T132_[1] = yLoc;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1309(T132_, 2));
			}
			goto LA128_;
			LA130_: ;
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T134_;
				nimZeroMem((void*)T134_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T134_[0] = xLoc;
				T134_[1] = yLoc;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1309(T134_, 2));
			}
			LA128_: ;
		}
		goto LA124_;
		LA126_: ;
		{
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T140_;
				if (!(i == ((NI) 0))) goto LA138_;
				nimZeroMem((void*)T140_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T140_[0] = xLoc;
				T140_[1] = yLoc;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1318(T140_, 2));
			}
			goto LA136_;
			LA138_: ;
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T142_;
				nimZeroMem((void*)T142_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T142_[0] = xLoc;
				T142_[1] = yLoc;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1318(T142_, 2));
			}
			LA136_: ;
		}
		LA124_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 60):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T148_;
			if (!(i == ((NI) 0))) goto LA146_;
			nimZeroMem((void*)T148_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T148_[0] = xLoc;
			T148_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1327(T148_, 2));
		}
		goto LA144_;
		LA146_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T150_;
			nimZeroMem((void*)T150_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T150_[0] = xLoc;
			T150_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1327(T150_, 2));
		}
		LA144_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 61):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T156_;
			if (!(i == ((NI) 0))) goto LA154_;
			nimZeroMem((void*)T156_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T156_[0] = xLoc;
			T156_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1336(T156_, 2));
		}
		goto LA152_;
		LA154_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T158_;
			nimZeroMem((void*)T158_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T158_[0] = xLoc;
			T158_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1336(T158_, 2));
		}
		LA152_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 62):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T164_;
			if (!(i == ((NI) 0))) goto LA162_;
			nimZeroMem((void*)T164_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T164_[0] = xLoc;
			T164_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1345(T164_, 2));
		}
		goto LA160_;
		LA162_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T166_;
			nimZeroMem((void*)T166_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T166_[0] = xLoc;
			T166_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1345(T166_, 2));
		}
		LA160_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 63):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T172_;
			if (!(i == ((NI) 0))) goto LA170_;
			nimZeroMem((void*)T172_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T172_[0] = xLoc;
			T172_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1354(T172_, 2));
		}
		goto LA168_;
		LA170_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T174_;
			nimZeroMem((void*)T174_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T174_[0] = xLoc;
			T174_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1354(T174_, 2));
		}
		LA168_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 64):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T180_;
			if (!(i == ((NI) 0))) goto LA178_;
			nimZeroMem((void*)T180_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T180_[0] = xLoc;
			T180_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1363(T180_, 2));
		}
		goto LA176_;
		LA178_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T182_;
			nimZeroMem((void*)T182_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T182_[0] = xLoc;
			T182_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1363(T182_, 2));
		}
		LA176_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 65):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T188_;
			if (!(i == ((NI) 0))) goto LA186_;
			nimZeroMem((void*)T188_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T188_[0] = xLoc;
			T188_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T188_, 2));
		}
		goto LA184_;
		LA186_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T190_;
			nimZeroMem((void*)T190_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T190_[0] = xLoc;
			T190_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T190_, 2));
		}
		LA184_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 66):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T196_;
			if (!(i == ((NI) 0))) goto LA194_;
			nimZeroMem((void*)T196_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T196_[0] = xLoc;
			T196_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T196_, 2));
		}
		goto LA192_;
		LA194_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T198_;
			nimZeroMem((void*)T198_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T198_[0] = xLoc;
			T198_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T198_, 2));
		}
		LA192_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 67):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T204_;
			if (!(i == ((NI) 0))) goto LA202_;
			nimZeroMem((void*)T204_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T204_[0] = xLoc;
			T204_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T204_, 2));
		}
		goto LA200_;
		LA202_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T206_;
			nimZeroMem((void*)T206_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T206_[0] = xLoc;
			T206_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T206_, 2));
		}
		LA200_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 68):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T212_;
			if (!(i == ((NI) 0))) goto LA210_;
			nimZeroMem((void*)T212_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T212_[0] = xLoc;
			T212_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T212_, 2));
		}
		goto LA208_;
		LA210_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T214_;
			nimZeroMem((void*)T214_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T214_[0] = xLoc;
			T214_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1280(T214_, 2));
		}
		LA208_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 69):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T220_;
			if (!(i == ((NI) 0))) goto LA218_;
			nimZeroMem((void*)T220_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T220_[0] = xLoc;
			T220_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1404(T220_, 2));
		}
		goto LA216_;
		LA218_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T222_;
			nimZeroMem((void*)T222_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T222_[0] = xLoc;
			T222_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1404(T222_, 2));
		}
		LA216_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 70):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T228_;
			if (!(i == ((NI) 0))) goto LA226_;
			nimZeroMem((void*)T228_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T228_[0] = xLoc;
			T228_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T228_, 2));
		}
		goto LA224_;
		LA226_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T230_;
			nimZeroMem((void*)T230_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T230_[0] = xLoc;
			T230_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T230_, 2));
		}
		LA224_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 71):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T236_;
			if (!(i == ((NI) 0))) goto LA234_;
			nimZeroMem((void*)T236_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T236_[0] = xLoc;
			T236_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T236_, 2));
		}
		goto LA232_;
		LA234_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T238_;
			nimZeroMem((void*)T238_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T238_[0] = xLoc;
			T238_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T238_, 2));
		}
		LA232_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 72):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T244_;
			if (!(i == ((NI) 0))) goto LA242_;
			nimZeroMem((void*)T244_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T244_[0] = xLoc;
			T244_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T244_, 2));
		}
		goto LA240_;
		LA242_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T246_;
			nimZeroMem((void*)T246_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T246_[0] = xLoc;
			T246_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T246_, 2));
		}
		LA240_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 73):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T252_;
			if (!(i == ((NI) 0))) goto LA250_;
			nimZeroMem((void*)T252_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T252_[0] = xLoc;
			T252_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T252_, 2));
		}
		goto LA248_;
		LA250_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T254_;
			nimZeroMem((void*)T254_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T254_[0] = xLoc;
			T254_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T254_, 2));
		}
		LA248_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 74):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T260_;
			if (!(i == ((NI) 0))) goto LA258_;
			nimZeroMem((void*)T260_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T260_[0] = xLoc;
			T260_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T260_, 2));
		}
		goto LA256_;
		LA258_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T262_;
			nimZeroMem((void*)T262_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T262_[0] = xLoc;
			T262_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T262_, 2));
		}
		LA256_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 75):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T268_;
			if (!(i == ((NI) 0))) goto LA266_;
			nimZeroMem((void*)T268_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T268_[0] = xLoc;
			T268_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T268_, 2));
		}
		goto LA264_;
		LA266_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T270_;
			nimZeroMem((void*)T270_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T270_[0] = xLoc;
			T270_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T270_, 2));
		}
		LA264_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 76):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T276_;
			if (!(i == ((NI) 0))) goto LA274_;
			nimZeroMem((void*)T276_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T276_[0] = xLoc;
			T276_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T276_, 2));
		}
		goto LA272_;
		LA274_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T278_;
			nimZeroMem((void*)T278_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T278_[0] = xLoc;
			T278_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T278_, 2));
		}
		LA272_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 77):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T284_;
			if (!(i == ((NI) 0))) goto LA282_;
			nimZeroMem((void*)T284_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T284_[0] = xLoc;
			T284_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T284_, 2));
		}
		goto LA280_;
		LA282_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T286_;
			nimZeroMem((void*)T286_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T286_[0] = xLoc;
			T286_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T286_, 2));
		}
		LA280_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 78):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T292_;
			if (!(i == ((NI) 0))) goto LA290_;
			nimZeroMem((void*)T292_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T292_[0] = xLoc;
			T292_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T292_, 2));
		}
		goto LA288_;
		LA290_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T294_;
			nimZeroMem((void*)T294_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T294_[0] = xLoc;
			T294_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T294_, 2));
		}
		LA288_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 79):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T300_;
			if (!(i == ((NI) 0))) goto LA298_;
			nimZeroMem((void*)T300_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T300_[0] = xLoc;
			T300_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T300_, 2));
		}
		goto LA296_;
		LA298_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T302_;
			nimZeroMem((void*)T302_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T302_[0] = xLoc;
			T302_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T302_, 2));
		}
		LA296_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 80):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T308_;
			if (!(i == ((NI) 0))) goto LA306_;
			nimZeroMem((void*)T308_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T308_[0] = xLoc;
			T308_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T308_, 2));
		}
		goto LA304_;
		LA306_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T310_;
			nimZeroMem((void*)T310_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T310_[0] = xLoc;
			T310_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T310_, 2));
		}
		LA304_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 81):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T316_;
			if (!(i == ((NI) 0))) goto LA314_;
			nimZeroMem((void*)T316_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T316_[0] = xLoc;
			T316_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T316_, 2));
		}
		goto LA312_;
		LA314_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T318_;
			nimZeroMem((void*)T318_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T318_[0] = xLoc;
			T318_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T318_, 2));
		}
		LA312_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 82):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T324_;
			if (!(i == ((NI) 0))) goto LA322_;
			nimZeroMem((void*)T324_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T324_[0] = xLoc;
			T324_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T324_, 2));
		}
		goto LA320_;
		LA322_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T326_;
			nimZeroMem((void*)T326_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T326_[0] = xLoc;
			T326_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T326_, 2));
		}
		LA320_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 83):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T332_;
			if (!(i == ((NI) 0))) goto LA330_;
			nimZeroMem((void*)T332_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T332_[0] = xLoc;
			T332_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T332_, 2));
		}
		goto LA328_;
		LA330_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T334_;
			nimZeroMem((void*)T334_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T334_[0] = xLoc;
			T334_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T334_, 2));
		}
		LA328_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 84):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T340_;
			if (!(i == ((NI) 0))) goto LA338_;
			nimZeroMem((void*)T340_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T340_[0] = xLoc;
			T340_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T340_, 2));
		}
		goto LA336_;
		LA338_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T342_;
			nimZeroMem((void*)T342_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T342_[0] = xLoc;
			T342_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T342_, 2));
		}
		LA336_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 85):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T348_;
			if (!(i == ((NI) 0))) goto LA346_;
			nimZeroMem((void*)T348_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T348_[0] = xLoc;
			T348_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T348_, 2));
		}
		goto LA344_;
		LA346_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T350_;
			nimZeroMem((void*)T350_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T350_[0] = xLoc;
			T350_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T350_, 2));
		}
		LA344_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 86):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T356_;
			if (!(i == ((NI) 0))) goto LA354_;
			nimZeroMem((void*)T356_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T356_[0] = xLoc;
			T356_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T356_, 2));
		}
		goto LA352_;
		LA354_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T358_;
			nimZeroMem((void*)T358_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T358_[0] = xLoc;
			T358_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T358_, 2));
		}
		LA352_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 87):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T364_;
			if (!(i == ((NI) 0))) goto LA362_;
			nimZeroMem((void*)T364_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T364_[0] = xLoc;
			T364_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T364_, 2));
		}
		goto LA360_;
		LA362_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T366_;
			nimZeroMem((void*)T366_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T366_[0] = xLoc;
			T366_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T366_, 2));
		}
		LA360_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 88):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T372_;
			if (!(i == ((NI) 0))) goto LA370_;
			nimZeroMem((void*)T372_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T372_[0] = xLoc;
			T372_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T372_, 2));
		}
		goto LA368_;
		LA370_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T374_;
			nimZeroMem((void*)T374_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T374_[0] = xLoc;
			T374_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19227(T374_, 2));
		}
		LA368_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 89):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T380_;
			if (!(i == ((NI) 0))) goto LA378_;
			nimZeroMem((void*)T380_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T380_[0] = xLoc;
			T380_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T380_, 2));
		}
		goto LA376_;
		LA378_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T382_;
			nimZeroMem((void*)T382_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T382_[0] = xLoc;
			T382_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19232(T382_, 2));
		}
		LA376_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 90):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T388_;
			if (!(i == ((NI) 0))) goto LA386_;
			nimZeroMem((void*)T388_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T388_[0] = xLoc;
			T388_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19310(T388_, 2));
		}
		goto LA384_;
		LA386_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T390_;
			nimZeroMem((void*)T390_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T390_[0] = xLoc;
			T390_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19310(T390_, 2));
		}
		LA384_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 91):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T396_;
			if (!(i == ((NI) 0))) goto LA394_;
			nimZeroMem((void*)T396_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T396_[0] = xLoc;
			T396_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T396_, 2));
		}
		goto LA392_;
		LA394_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T398_;
			nimZeroMem((void*)T398_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T398_[0] = xLoc;
			T398_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T398_, 2));
		}
		LA392_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 92):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T404_;
			if (!(i == ((NI) 0))) goto LA402_;
			nimZeroMem((void*)T404_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T404_[0] = xLoc;
			T404_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T404_, 2));
		}
		goto LA400_;
		LA402_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T406_;
			nimZeroMem((void*)T406_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T406_[0] = xLoc;
			T406_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19222(T406_, 2));
		}
		LA400_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 93):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T412_;
			if (!(i == ((NI) 0))) goto LA410_;
			nimZeroMem((void*)T412_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T412_[0] = xLoc;
			T412_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1597(T412_, 2));
		}
		goto LA408_;
		LA410_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T414_;
			nimZeroMem((void*)T414_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T414_[0] = xLoc;
			T414_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19092(T414_, 2));
		}
		LA408_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 94):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T420_;
			if (!(i == ((NI) 0))) goto LA418_;
			nimZeroMem((void*)T420_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T420_[0] = xLoc;
			T420_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1606(T420_, 2));
		}
		goto LA416_;
		LA418_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T422_;
			nimZeroMem((void*)T422_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T422_[0] = xLoc;
			T422_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19092(T422_, 2));
		}
		LA416_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 95):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T428_;
			if (!(i == ((NI) 0))) goto LA426_;
			nimZeroMem((void*)T428_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T428_[0] = xLoc;
			T428_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1615(T428_, 2));
		}
		goto LA424_;
		LA426_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T430_;
			nimZeroMem((void*)T430_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T430_[0] = xLoc;
			T430_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1620(T430_, 2));
		}
		LA424_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 96):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T436_;
			if (!(i == ((NI) 0))) goto LA434_;
			nimZeroMem((void*)T436_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T436_[0] = xLoc;
			T436_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19414(T436_, 2));
		}
		goto LA432_;
		LA434_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T438_;
			nimZeroMem((void*)T438_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T438_[0] = xLoc;
			T438_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19414(T438_, 2));
		}
		LA432_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 97):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T444_;
			if (!(i == ((NI) 0))) goto LA442_;
			nimZeroMem((void*)T444_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T444_[0] = xLoc;
			T444_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1633(T444_, 2));
		}
		goto LA440_;
		LA442_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T446_;
			nimZeroMem((void*)T446_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T446_[0] = xLoc;
			T446_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1633(T446_, 2));
		}
		LA440_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 98):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T452_;
			if (!(i == ((NI) 0))) goto LA450_;
			nimZeroMem((void*)T452_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T452_[0] = xLoc;
			T452_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1642(T452_, 2));
		}
		goto LA448_;
		LA450_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T454_;
			nimZeroMem((void*)T454_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T454_[0] = xLoc;
			T454_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1642(T454_, 2));
		}
		LA448_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 99):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T460_;
			if (!(i == ((NI) 0))) goto LA458_;
			nimZeroMem((void*)T460_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T460_[0] = xLoc;
			T460_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1633(T460_, 2));
		}
		goto LA456_;
		LA458_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T462_;
			nimZeroMem((void*)T462_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T462_[0] = xLoc;
			T462_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1633(T462_, 2));
		}
		LA456_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 100):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T468_;
			if (!(i == ((NI) 0))) goto LA466_;
			nimZeroMem((void*)T468_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T468_[0] = xLoc;
			T468_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19092(T468_, 2));
		}
		goto LA464_;
		LA466_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T470_;
			nimZeroMem((void*)T470_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T470_[0] = xLoc;
			T470_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19092(T470_, 2));
		}
		LA464_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 101):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T476_;
			if (!(i == ((NI) 0))) goto LA474_;
			nimZeroMem((void*)T476_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T476_[0] = xLoc;
			T476_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1667(T476_, 2));
		}
		goto LA472_;
		LA474_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T478_;
			nimZeroMem((void*)T478_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T478_[0] = xLoc;
			T478_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1667(T478_, 2));
		}
		LA472_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 102):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T484_;
			if (!(i == ((NI) 0))) goto LA482_;
			nimZeroMem((void*)T484_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T484_[0] = xLoc;
			T484_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1676(T484_, 2));
		}
		goto LA480_;
		LA482_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T486_;
			nimZeroMem((void*)T486_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T486_[0] = xLoc;
			T486_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1676(T486_, 2));
		}
		LA480_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 103):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T492_;
			if (!(i == ((NI) 0))) goto LA490_;
			nimZeroMem((void*)T492_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T492_[0] = xLoc;
			T492_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1685(T492_, 2));
		}
		goto LA488_;
		LA490_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T494_;
			nimZeroMem((void*)T494_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T494_[0] = xLoc;
			T494_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1685(T494_, 2));
		}
		LA488_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 104):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T500_;
			if (!(i == ((NI) 0))) goto LA498_;
			nimZeroMem((void*)T500_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T500_[0] = xLoc;
			T500_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1685(T500_, 2));
		}
		goto LA496_;
		LA498_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T502_;
			nimZeroMem((void*)T502_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T502_[0] = xLoc;
			T502_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1685(T502_, 2));
		}
		LA496_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 106):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T508_;
			if (!(i == ((NI) 0))) goto LA506_;
			nimZeroMem((void*)T508_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T508_[0] = xLoc;
			T508_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1702(T508_, 2));
		}
		goto LA504_;
		LA506_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T510_;
			nimZeroMem((void*)T510_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T510_[0] = xLoc;
			T510_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1702(T510_, 2));
		}
		LA504_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 107):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 154):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 156):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 155):
	{
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T516_;
			if (!(i == ((NI) 0))) goto LA514_;
			nimZeroMem((void*)T516_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T516_[0] = xLoc;
			T516_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19419(T516_, 2));
		}
		goto LA512_;
		LA514_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T518_;
			nimZeroMem((void*)T518_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T518_[0] = xLoc;
			T518_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19419(T518_, 2));
		}
		LA512_: ;
	}
	break;
	default:
	{
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, arith__jsgen_1734)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag op) {
	switch (op) {
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 65):
	{
		binaryUintExpr__jsgen_1739(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_175));
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 66):
	{
		binaryUintExpr__jsgen_1739(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_176));
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 67):
	{
		binaryUintExpr__jsgen_1739(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_177));
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 68):
	{
		binaryUintExpr__jsgen_1739(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_178));
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T7_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T10_;
			T7_ = NIM_NIL;
			T7_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_179);
			if (!((*T7_).size == IL64(8))) goto LA8_;
			nimZeroMem((void*)T10_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T10_[0] = (*r).res;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1779(T10_, 1));
		}
		LA8_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 49):
	{
		arithAux__jsgen_1153(p, n, r, op);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 50):
	{
		arithAux__jsgen_1153(p, n, r, op);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 57):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T14_;
		nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
		nimZeroMem((void*)T14_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T14_[0] = rdLoc__jsgen_188((&x));
		T14_[1] = rdLoc__jsgen_188((&y));
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1788(T14_, 2));
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 101):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 102):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 103):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 104):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 106):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 107):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 108):
	{
		arithAux__jsgen_1153(p, n, r, op);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 87):
	{
		{
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T19_;
			T19_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T19_ = mapType__jsgen_295((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
			if (!!((T19_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9)))) goto LA20_;
			arithAux__jsgen_1153(p, n, r, op);
		}
		goto LA17_;
		LA20_: ;
		{
			tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x_2;
			tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y_2;
			tyArray__InO6xIOhXMnkCXPnEYWwWg T23_;
			nimZeroMem((void*)(&x_2), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
			nimZeroMem((void*)(&y_2), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_2));
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y_2));
			nimZeroMem((void*)T23_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
			T23_[0] = x_2.address;
			T23_[1] = y_2.address;
			T23_[2] = x_2.res;
			T23_[3] = y_2.res;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1802(T23_, 4));
		}
		LA17_: ;
	}
	break;
	default:
	{
		arithAux__jsgen_1153(p, n, r, op);
	}
	break;
	}
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genReprAux__jsgen_4540)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NimStringDesc* magic, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* typ) {
	NimStringDesc* T1_;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	useMagic__jsgen_797(p, magic);
	T1_ = NIM_NIL;
	T1_ = rawNewString((magic ? magic->Sup.len : 0) + 1);
appendString(T1_, magic);
appendString(T1_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_107));
	add__ropes_162(&(*r).res, T1_);
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
	{
		if (!eqStrings(magic, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_193))) goto LA4_;
		{
			if (!(a.address == 0)) goto LA8_;
			add__ropes_159(&(*r).res, a.res);
			add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_194));
		}
		goto LA6_;
		LA8_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T11_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T12_;
			nimZeroMem((void*)T11_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T11_[0] = a.address;
			T11_[1] = a.res;
			T12_ = NIM_NIL;
			T12_ = percent___cgen_12092(T11_, 2);
			add__ropes_159(&(*r).res, T12_);
		}
		LA6_: ;
	}
	goto LA2_;
	LA4_: ;
	{
		add__ropes_159(&(*r).res, a.res);
	}
	LA2_: ;
	{
		if (!!((typ == 0))) goto LA16_;
		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
		add__ropes_159(&(*r).res, typ);
	}
	LA16_: ;
	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_109));
}
N_LIB_PRIVATE N_NIMCALL(void, genRepr__jsgen_4558)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	t = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 35):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 44):
	{
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_195), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2):
	{
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_196), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1):
	{
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_197), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 36) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 39):
	{
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_198), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28):
	{
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_199), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 14):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 15):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
		T7_ = NIM_NIL;
		T7_ = genTypeInfo__jsgen_403(p, t);
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_200), T7_);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 19):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T9_;
		T9_ = NIM_NIL;
		T9_ = genTypeInfo__jsgen_403(p, t);
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_201), T9_);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 3):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 63):
	{
		liMessage__msgs_1128((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_202), ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 0), TM__RWNN386A4nZ2Ks5xVWQZ1Q_203, NIM_FALSE);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 26):
	{
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_204), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 27):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 48):
	{
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_205), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	}
	break;
	default:
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
		T14_ = NIM_NIL;
		T14_ = genTypeInfo__jsgen_403(p, t);
		genReprAux__jsgen_4540(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_193), T14_);
	}
	break;
	}
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genSwap__jsgen_2750)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA b;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
	tyArray__FKvM4FDhljtt88k8FkGthA T16_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T17_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T18_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&b));
	tmp = getTemp__jsgen_856(p, NIM_FALSE);
	{
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T3_;
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T4_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2;
		tyArray__FKvM4FDhljtt88k8FkGthA T13_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
		T3_ = NIM_NIL;
		T3_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_206);
		T4_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
		T4_ = mapType__jsgen_322(p, T3_);
		if (!(T4_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA5_;
		tmp2 = getTemp__jsgen_856(p, NIM_FALSE);
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = !((a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9)));
			if (T9_) goto LA10_;
			T9_ = !((b.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9)));
			LA10_: ;
			if (!T9_) goto LA11_;
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_207), TM__RWNN386A4nZ2Ks5xVWQZ1Q_208);
		}
		LA11_: ;
		nimZeroMem((void*)T13_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
		T13_[0] = tmp;
		T13_[1] = a.address;
		T13_[2] = b.address;
		T14_ = NIM_NIL;
		T14_ = percent___jsgen_2772(T13_, 3);
		T15_ = NIM_NIL;
		T15_ = indentLine__jsgen_97(p, T14_);
		add__ropes_159(&(*p).body, T15_);
		tmp = tmp2;
	}
	LA5_: ;
	nimZeroMem((void*)T16_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
	T16_[0] = tmp;
	T16_[1] = a.res;
	T16_[2] = b.res;
	T17_ = NIM_NIL;
	T17_ = percent___jsgen_2777(T16_, 3);
	T18_ = NIM_NIL;
	T18_ = indentLine__jsgen_97(p, T17_);
	add__ropes_159(&(*p).body, T18_);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsTemp__jsgen_969)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 26) && (*n).kind <= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 32) || (*n).kind >= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 38) && (*n).kind <= ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 39) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 41) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 160))) goto LA3_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* c;
		c = NIM_NIL;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_3148(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA8;
					i = i_2;
					c = (*n)._kind_6.sons->data[i];
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = needsTemp__jsgen_969(p, c);
						if (!T11_) goto LA12_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA12_: ;
					i_2 += ((NI) 1);
				} LA8: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTemp__jsgen_982)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* x, tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg* Result) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* b;
	a = rdLoc__jsgen_188(x);
	b = a;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = needsTemp__jsgen_969(p, n);
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			NIM_BOOL T10_;
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T11_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = !(((*x).tmpLoc == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)));
			if (!(T8_)) goto LA9_;
			T10_ = (NIM_BOOL)0;
			T11_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T11_ = mapType__jsgen_295((*n).typ);
			T10_ = (T11_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9));
			if (T10_) goto LA12_;
			T10_ = ((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 65) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 47));
			LA12_: ;
			T8_ = T10_;
			LA9_: ;
			if (!T8_) goto LA13_;
			nimZeroMem((void*)T15_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T15_[0] = (*x).tmpLoc;
			b = percent___jsgen_1003(T15_, 1);
			unsureAsgnRef((void**) (&(*Result).Field0), a);
			unsureAsgnRef((void**) (&(*Result).Field1), b);
		}
		goto LA6_;
		LA13_: ;
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T17_;
			tmp = getTemp__jsgen_856(p, NIM_TRUE);
			b = tmp;
			nimZeroMem((void*)T17_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T17_[0] = tmp;
			T17_[1] = a;
			a = percent___jsgen_1011(T17_, 2);
			unsureAsgnRef((void**) (&(*Result).Field0), a);
			unsureAsgnRef((void**) (&(*Result).Field1), b);
		}
		LA6_: ;
	}
	goto LA1_;
	LA4_: ;
	{
		unsureAsgnRef((void**) (&(*Result).Field0), a);
		unsureAsgnRef((void**) (&(*Result).Field1), b);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genConStrStr__jsgen_4471)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	NI T25_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	{
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T3_;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T6_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
		T3_ = NIM_NIL;
		T3_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
		if (!((*T3_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2))) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T6_[0] = a.res;
		T7_ = NIM_NIL;
		T7_ = percent___jsgen_4482(T6_, 1);
		add__ropes_159(&(*r).res, T7_);
	}
	goto LA1_;
	LA4_: ;
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T9_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T10_;
		nimZeroMem((void*)T9_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T9_[0] = a.res;
		T10_ = NIM_NIL;
		T10_ = percent___jsgen_4487(T9_, 1);
		add__ropes_159(&(*r).res, T10_);
	}
	LA1_: ;
	{
		NI i;
		NI colontmp_;
		NI T12_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T12_ = (NI)0;
		T12_ = len__ast_3155(n);
		colontmp_ = (NI)(T12_ - ((NI) 1));
		i_2 = ((NI) 2);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA14;
				i = i_2;
				gen__jsgen_784(p, (*n)._kind_6.sons->data[i], (&a));
				{
					tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T17_;
					tyArray__ts9cf9blICas1QWmw89bglZ7w T20_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T21_;
					T17_ = NIM_NIL;
					T17_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[i]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
					if (!((*T17_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2))) goto LA18_;
					nimZeroMem((void*)T20_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
					T20_[0] = a.res;
					T21_ = NIM_NIL;
					T21_ = percent___jsgen_4506(T20_, 1);
					add__ropes_159(&(*r).res, T21_);
				}
				goto LA15_;
				LA18_: ;
				{
					tyArray__ts9cf9blICas1QWmw89bglZ7w T23_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T24_;
					nimZeroMem((void*)T23_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
					T23_[0] = a.res;
					T24_ = NIM_NIL;
					T24_ = percent___jsgen_4511(T23_, 1);
					add__ropes_159(&(*r).res, T24_);
				}
				LA15_: ;
				i_2 += ((NI) 1);
			} LA14: ;
		}
	}
	T25_ = (NI)0;
	T25_ = len__ast_3155(n);
	gen__jsgen_784(p, (*n)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))], (&a));
	{
		NI T28_;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T29_;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T32_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T33_;
		T28_ = (NI)0;
		T28_ = len__ast_3155(n);
		T29_ = NIM_NIL;
		T29_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[(NI)(T28_ - ((NI) 1))]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
		if (!((*T29_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2))) goto LA30_;
		nimZeroMem((void*)T32_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T32_[0] = a.res;
		T33_ = NIM_NIL;
		T33_ = percent___jsgen_4530(T32_, 1);
		add__ropes_159(&(*r).res, T33_);
	}
	goto LA26_;
	LA30_: ;
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T35_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T36_;
		nimZeroMem((void*)T35_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T35_[0] = a.res;
		T36_ = NIM_NIL;
		T36_ = percent___jsgen_4535(T35_, 1);
		add__ropes_159(&(*r).res, T36_);
	}
	LA26_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genNew__jsgen_4404)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T1_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
	T1_ = NIM_NIL;
	T1_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_206);
	t = (*T1_).sons->data[((NI) 0)];
	{
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T4_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T7_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T8_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T9_;
		T4_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
		T4_ = mapType__jsgen_295(t);
		if (!(T4_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8))) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T7_[0] = rdLoc__jsgen_188((&a));
		T7_[1] = createVar__jsgen_3849(p, t, NIM_FALSE);
		T8_ = NIM_NIL;
		T8_ = percent___jsgen_1959(T7_, 2);
		T9_ = NIM_NIL;
		T9_ = indentLine__jsgen_97(p, T8_);
		add__ropes_159(&(*p).body, T9_);
	}
	goto LA2_;
	LA5_: ;
	{
		tyArray__FKvM4FDhljtt88k8FkGthA T13_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
		if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA11_;
		nimZeroMem((void*)T13_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
		T13_[0] = a.address;
		T13_[1] = a.res;
		T13_[2] = createVar__jsgen_3849(p, t, NIM_FALSE);
		T14_ = NIM_NIL;
		T14_ = percent___jsgen_4424(T13_, 3);
		T15_ = NIM_NIL;
		T15_ = indentLine__jsgen_97(p, T14_);
		add__ropes_159(&(*p).body, T15_);
	}
	goto LA2_;
	LA11_: ;
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T17_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T18_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T19_;
		nimZeroMem((void*)T17_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T17_[0] = rdLoc__jsgen_188((&a));
		T17_[1] = createVar__jsgen_3849(p, t, NIM_FALSE);
		T18_ = NIM_NIL;
		T18_ = percent___jsgen_4429(T17_, 2);
		T19_ = NIM_NIL;
		T19_ = indentLine__jsgen_97(p, T18_);
		add__ropes_159(&(*p).body, T19_);
	}
	LA2_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genJSArrayConstr__jsgen_4627)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_137)));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
				}
				LA6_: ;
				gen__jsgen_784(p, (*n)._kind_6.sons->data[i], (&a));
				{
					tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T12_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T13_;
					if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA10_;
					nimZeroMem((void*)T12_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
					T12_[0] = a.address;
					T12_[1] = a.res;
					T13_ = NIM_NIL;
					T13_ = percent___jsgen_480(T12_, 2);
					add__ropes_159(&(*r).res, T13_);
				}
				goto LA8_;
				LA10_: ;
				{
					{
						NIM_BOOL T17_;
						tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
						tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T20_;
						T17_ = (NIM_BOOL)0;
						T17_ = needsNoCopy__jsgen_2488(p, (*n)._kind_6.sons->data[i]);
						if (!!(T17_)) goto LA18_;
						typ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[i]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
						useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
						nimZeroMem((void*)T20_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
						T20_[0] = rdLoc__jsgen_188((&a));
						T20_[1] = genTypeInfo__jsgen_403(p, typ);
						a.res = percent___jsgen_4218(T20_, 2);
					}
					LA18_: ;
					add__ropes_159(&(*r).res, a.res);
				}
				LA8_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_138));
}
N_LIB_PRIVATE N_NIMCALL(void, genArgNoParam__jsgen_3543)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, n, (&a));
	{
		if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA3_;
		add__ropes_159(&(*r).res, a.address);
		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
		add__ropes_159(&(*r).res, a.res);
	}
	goto LA1_;
	LA3_: ;
	{
		add__ropes_159(&(*r).res, a.res);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genArg__jsgen_3552)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* param, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NI* emitted) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, n, (&a));
	{
		NIM_BOOL T3_;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T4_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T8_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T9_;
		T3_ = (NIM_BOOL)0;
		T4_ = NIM_NIL;
		T4_ = skipTypes__ast_3723((*param).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_206);
		T3_ = ((*T4_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 27) || (*T4_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 48));
		if (!(T3_)) goto LA5_;
		T3_ = (a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9));
		LA5_: ;
		if (!T3_) goto LA6_;
		nimZeroMem((void*)T8_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T8_[0] = a.address;
		T8_[1] = a.res;
		T9_ = NIM_NIL;
		T9_ = percent___cgen_6805(T8_, 2);
		add__ropes_159(&(*r).res, T9_);
	}
	goto LA1_;
	LA6_: ;
	{
		if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA11_;
		add__ropes_159(&(*r).res, a.address);
		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
		add__ropes_159(&(*r).res, a.res);
		{
			if (!!((emitted == ((NI*) NIM_NIL)))) goto LA15_;
			(*emitted) += ((NI) 1);
		}
		LA15_: ;
	}
	goto LA1_;
	LA11_: ;
	{
		NIM_BOOL T18_;
		NIM_BOOL T19_;
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T22_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T25_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T26_;
		T18_ = (NIM_BOOL)0;
		T19_ = (NIM_BOOL)0;
		T19_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23) || (*(*n).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21) || (*(*n).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 22) || (*(*n).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47) || (*(*n).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 45));
		if (!(T19_)) goto LA20_;
		T19_ = ((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 27) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 29) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 30) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 31) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 26) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 28) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 32));
		LA20_: ;
		T18_ = T19_;
		if (!(T18_)) goto LA21_;
		T22_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
		T22_ = mapType__jsgen_295((*param).typ);
		T18_ = (T22_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9));
		LA21_: ;
		if (!T18_) goto LA23_;
		tmp = getTemp__jsgen_856(p, NIM_TRUE);
		nimZeroMem((void*)T25_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T25_[0] = tmp;
		T25_[1] = rdLoc__jsgen_188((&a));
		T26_ = NIM_NIL;
		T26_ = percent___jsgen_3596(T25_, 2);
		add__ropes_159(&(*r).res, T26_);
		{
			if (!!((emitted == ((NI*) NIM_NIL)))) goto LA29_;
			(*emitted) += ((NI) 1);
		}
		LA29_: ;
	}
	goto LA1_;
	LA23_: ;
	{
		add__ropes_159(&(*r).res, a.res);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genArgs__jsgen_3609)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NI start) {
	NIM_BOOL hasArgs;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
	NI emitted;
	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_107));
	hasArgs = NIM_FALSE;
	typ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
	emitted = (NI)(start - ((NI) 1));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = start;
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
					tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* paramType;
					it = (*n)._kind_6.sons->data[i];
					paramType = ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL);
					{
						NI T7_;
						T7_ = (NI)0;
						T7_ = len__ast_3990(typ);
						if (!(i < T7_)) goto LA8_;
						paramType = (*(*typ).n)._kind_6.sons->data[i];
						{
							NIM_BOOL T12_;
							T12_ = (NIM_BOOL)0;
							T12_ = isCompileTimeOnly__types_3592((*paramType).typ);
							if (!T12_) goto LA13_;
							goto LA4;
						}
						LA13_: ;
					}
					LA8_: ;
					{
						if (!hasArgs) goto LA17_;
						add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
					}
					LA17_: ;
					{
						if (!(paramType == 0)) goto LA21_;
						genArgNoParam__jsgen_3543(p, it, r);
					}
					goto LA19_;
					LA21_: ;
					{
						genArg__jsgen_3552(p, it, (*paramType)._kind_4.sym, r, (&emitted));
					}
					LA19_: ;
					emitted += ((NI) 1);
					hasArgs = NIM_TRUE;
				} LA4: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_109));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genCall__jsgen_3793)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
	genArgs__jsgen_3609(p, n, r, ((NI) 1));
	{
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ t;
		if (!!(((*n).typ == ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL)))) goto LA3_;
		t = mapType__jsgen_295((*n).typ);
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T9_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T10_;
			if (!(t == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA7_;
			tmp = getTemp__jsgen_856(p, NIM_TRUE);
			nimZeroMem((void*)T9_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T9_[0] = tmp;
			T9_[1] = rdLoc__jsgen_188((&(*r)));
			unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2850(T9_, 2));
			nimZeroMem((void*)T10_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T10_[0] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T10_, 1));
			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
			(*r).typ = t;
		}
		LA7_: ;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genOrd__jsgen_4449)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T1_;
	T1_ = NIM_NIL;
	T1_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_214);
	switch ((*T1_).kind) {
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 14):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31) ... ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 44):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 2):
	{
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym870_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym870_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T9_;
		useMagic__jsgen_797(p, ((NimStringDesc*) NIM_NIL));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
		aX60gensym870_ = rdLoc__jsgen_188((&(*r)));
		tmpX60gensym870_ = rdLoc__jsgen_188((&(*r)));
		{
			NIM_BOOL T6_;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg _;
			T6_ = (NIM_BOOL)0;
			T6_ = contains__pureZstrutils_1627(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_215), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_213));
			if (!T6_) goto LA7_;
			nimZeroMem((void*)(&_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&(*r)), (&_));
			aX60gensym870_ = _.Field0;
			tmpX60gensym870_ = _.Field1;
		}
		LA7_: ;
		nimZeroMem((void*)T9_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T9_[0] = aX60gensym870_;
		T9_[1] = tmpX60gensym870_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4466(T9_, 2));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	default:
	{
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_216), TM__RWNN386A4nZ2Ks5xVWQZ1Q_217);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTempAssignable__jsgen_1020)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* x, tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg* Result) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* b;
	a = rdLoc__jsgen_188(x);
	b = a;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = needsTemp__jsgen_969(p, n);
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			NIM_BOOL T10_;
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T11_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T15_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* colontmp_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* colontmp__2;
			T8_ = (NIM_BOOL)0;
			T8_ = !(((*x).tmpLoc == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)));
			if (!(T8_)) goto LA9_;
			T10_ = (NIM_BOOL)0;
			T11_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T11_ = mapType__jsgen_295((*n).typ);
			T10_ = (T11_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9));
			if (T10_) goto LA12_;
			T10_ = ((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 65) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 47));
			LA12_: ;
			T8_ = T10_;
			LA9_: ;
			if (!T8_) goto LA13_;
			nimZeroMem((void*)T15_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T15_[0] = (*x).tmpLoc;
			b = percent___jsgen_1003(T15_, 1);
			colontmp_ = a;
			colontmp__2 = b;
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp_);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__2);
		}
		goto LA6_;
		LA13_: ;
		{
			NIM_BOOL T17_;
			tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA address;
			tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA index;
			tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ first;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T21_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* m1;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp1;
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T44_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* n1;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* colontmp__3;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T45_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* colontmp__4;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T46_;
			T17_ = (NIM_BOOL)0;
			T17_ = !(((*x).tmpLoc == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)));
			if (!(T17_)) goto LA18_;
			T17_ = ((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 42));
			LA18_: ;
			if (!T17_) goto LA19_;
			nimZeroMem((void*)(&address), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
			nimZeroMem((void*)(&index), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
			nimZeroMem((void*)(&first), sizeof(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ));
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], (&address));
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&index));
			nimZeroMem((void*)(&T21_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 0)], (&address), (&T21_));
			m1 = NIM_NIL;
			m1 = T21_.Field0;
			tmp1 = NIM_NIL;
			tmp1 = T21_.Field1;
			typ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_218);
			{
				if (!((*typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16))) goto LA24_;
				first = firstOrd__types_1406((*(*p).module).config, (*typ).sons->data[((NI) 0)]);
			}
			LA24_: ;
			{
				if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 4))&31U)))!=0)) goto LA28_;
				useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_219));
				{
					NIM_BOOL T32_;
					tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T35_;
					T32_ = (NIM_BOOL)0;
					T32_ = eqeq___int495056_952(first, IL64(0));
					if (!T32_) goto LA33_;
					nimZeroMem((void*)T35_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
					T35_[0] = index.res;
					T35_[1] = tmp1;
					index.res = percent___jsgen_1074(T35_, 2);
				}
				goto LA30_;
				LA33_: ;
				{
					tyArray__FKvM4FDhljtt88k8FkGthA T37_;
					nimZeroMem((void*)T37_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
					T37_[0] = index.res;
					T37_[1] = rope__jsgen_400(first);
					T37_[2] = tmp1;
					index.res = percent___jsgen_1079(T37_, 3);
				}
				LA30_: ;
			}
			goto LA26_;
			LA28_: ;
			{
				NIM_BOOL T39_;
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T42_;
				T39_ = (NIM_BOOL)0;
				T39_ = eqeq___int495056_952(first, IL64(0));
				if (!!(T39_)) goto LA40_;
				nimZeroMem((void*)T42_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T42_[0] = index.res;
				T42_[1] = rope__jsgen_400(first);
				index.res = percent___jsgen_1084(T42_, 2);
			}
			goto LA26_;
			LA40_: ;
			{
			}
			LA26_: ;
			nimZeroMem((void*)(&T44_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&index), (&T44_));
			n1 = NIM_NIL;
			n1 = T44_.Field0;
			tmp2 = NIM_NIL;
			tmp2 = T44_.Field1;
			nimZeroMem((void*)T45_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T45_[0] = m1;
			T45_[1] = n1;
			colontmp__3 = percent___cgen_6805(T45_, 2);
			nimZeroMem((void*)T46_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T46_[0] = tmp1;
			T46_[1] = tmp2;
			colontmp__4 = percent___cgen_6805(T46_, 2);
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__3);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__4);
		}
		goto LA6_;
		LA19_: ;
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* colontmp__5;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* colontmp__6;
			colontmp__5 = a;
			colontmp__6 = b;
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__5);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__6);
		}
		LA6_: ;
	}
	goto LA1_;
	LA4_: ;
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* colontmp__7;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* colontmp__8;
		colontmp__7 = a;
		colontmp__8 = b;
		unsureAsgnRef((void**) (&(*Result).Field0), colontmp__7);
		unsureAsgnRef((void**) (&(*Result).Field1), colontmp__8);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr__jsgen_4887)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NimStringDesc* op) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* trimmer;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T1_;
	tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T2_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
	tyArray__XSZGJHCjWme3CUmFzckT3g T3_;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
	T1_ = NIM_NIL;
	T1_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, abstractRange__types_101);
	trimmer = unsignedTrimmerJS__jsgen_1119((*T1_).size);
	nimZeroMem((void*)(&T2_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
	maybeMakeTempAssignable__jsgen_1020(p, (*n)._kind_6.sons->data[((NI) 1)], (&x), (&T2_));
	a = NIM_NIL;
	a = T2_.Field0;
	tmp = NIM_NIL;
	tmp = T2_.Field1;
	nimZeroMem((void*)T3_, sizeof(tyArray__XSZGJHCjWme3CUmFzckT3g));
	T3_[0] = a;
	T3_[1] = rope__ropes_109(op);
	T3_[2] = rdLoc__jsgen_188((&y));
	T3_[3] = trimmer;
	T3_[4] = tmp;
	unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4903(T3_, 5));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__jsgen_4434)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T1_;
	tyArray__FKvM4FDhljtt88k8FkGthA T2_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T3_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T4_;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
	T1_ = NIM_NIL;
	T1_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_206);
	t = (*T1_).sons->data[((NI) 0)];
	nimZeroMem((void*)T2_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
	T2_[0] = rdLoc__jsgen_188((&x));
	T2_[1] = rdLoc__jsgen_188((&y));
	T2_[2] = createVar__jsgen_3849(p, t, NIM_FALSE);
	T3_ = NIM_NIL;
	T3_ = percent___jsgen_4444(T2_, 3);
	T4_ = NIM_NIL;
	T4_ = indentLine__jsgen_97(p, T3_);
	add__ropes_159(&(*p).body, T4_);
}
N_LIB_PRIVATE N_NIMCALL(void, genOf__jsgen_4564)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	t = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_229);
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T5_;
		if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__Vrztsndr9a9bj8bQ3cn49bwWw) 2))&63U)))!=0)) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T5_[0] = x.res;
		T5_[1] = genTypeInfo__jsgen_403(p, t);
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4580(T5_, 2));
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T7_;
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_230));
		nimZeroMem((void*)T7_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T7_[0] = x.res;
		T7_[1] = genTypeInfo__jsgen_403(p, t);
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4585(T7_, 2));
	}
	LA1_: ;
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genDefault__jsgen_4590)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	unsureAsgnRef((void**) (&(*r).res), createVar__jsgen_3849(p, (*n).typ, NIM_FALSE));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genReset__jsgen_4594)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_231));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T5_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T6_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
		if (!(x.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T5_[0] = x.address;
		T5_[1] = x.res;
		T6_ = NIM_NIL;
		T6_ = percent___jsgen_4603(T5_, 2);
		T7_ = NIM_NIL;
		T7_ = indentLine__jsgen_97(p, T6_);
		add__ropes_159(&(*p).body, T7_);
	}
	goto LA1_;
	LA3_: ;
	{
		tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T9_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
		tyArray__FKvM4FDhljtt88k8FkGthA T10_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T12_;
		nimZeroMem((void*)(&T9_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
		maybeMakeTempAssignable__jsgen_1020(p, (*n)._kind_6.sons->data[((NI) 1)], (&x), (&T9_));
		a = NIM_NIL;
		a = T9_.Field0;
		tmp = NIM_NIL;
		tmp = T9_.Field1;
		nimZeroMem((void*)T10_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
		T10_[0] = a;
		T10_[1] = genTypeInfo__jsgen_403(p, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
		T10_[2] = tmp;
		T11_ = NIM_NIL;
		T11_ = percent___jsgen_4612(T10_, 3);
		T12_ = NIM_NIL;
		T12_ = indentLine__jsgen_97(p, T11_);
		add__ropes_159(&(*p).body, T12_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genEcho__jsgen_3816)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n_2;
	n_2 = skipConv__types_3661((*n)._kind_6.sons->data[((NI) 1)]);
	{
		NimStringDesc* argX60gensym765_;
		if (!!(((*n_2).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 41)))) goto LA3_;
		argX60gensym765_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_232);
		internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym765_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_232);
	}
	LA3_: ;
	useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_233));
	useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_234));
	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_235));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n_2);
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA7;
				i = i_2;
				{
					tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
					it = (*n_2)._kind_6.sons->data[i];
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = isCompileTimeOnly__types_3592((*it).typ);
						if (!T11_) goto LA12_;
						goto LA8;
					}
					LA12_: ;
					{
						if (!(((NI) 0) < i)) goto LA16_;
						add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
					}
					LA16_: ;
					genArgNoParam__jsgen_3543(p, it, r);
				} LA8: ;
				i_2 += ((NI) 1);
			} LA7: ;
		}
	}
	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_109));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genMove__jsgen_4617)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T1_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T2_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T3_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 2);
	unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_856(p, NIM_TRUE));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
	nimZeroMem((void*)T1_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T1_[0] = rdLoc__jsgen_188((&(*r)));
	T1_[1] = rdLoc__jsgen_188((&a));
	T2_ = NIM_NIL;
	T2_ = percent___jsgen_1959(T1_, 2);
	T3_ = NIM_NIL;
	T3_ = indentLine__jsgen_97(p, T2_);
	add__ropes_159(&(*p).body, T3_);
	genReset__jsgen_4594(p, n);
}
N_LIB_PRIVATE N_NIMCALL(void, genMagic__jsgen_4656)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* line;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* filen;
	tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag op;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	line = NIM_NIL;
	filen = NIM_NIL;
	op = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic;
	switch (op) {
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 110):
	{
		genOr__jsgen_921(p, (*n)._kind_6.sons->data[((NI) 1)], (*n)._kind_6.sons->data[((NI) 2)], r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 109):
	{
		genAnd__jsgen_874(p, (*n)._kind_6.sons->data[((NI) 1)], (*n)._kind_6.sons->data[((NI) 2)], r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 46) ... ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 107):
	{
		arith__jsgen_1734(p, n, r, op);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 135):
	{
		genRepr__jsgen_4558(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 142):
	{
		genSwap__jsgen_2750(p, n);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 131):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym912_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym912_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym912_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym912_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym912_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym912_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T7_;
		nimZeroMem((void*)(&xX60gensym912_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym912_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_209));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym912_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym912_));
		aX60gensym912_ = rdLoc__jsgen_188((&xX60gensym912_));
		tmpX60gensym912_ = rdLoc__jsgen_188((&xX60gensym912_));
		bX60gensym912_ = rdLoc__jsgen_188((&yX60gensym912_));
		tmp2X60gensym912_ = rdLoc__jsgen_188((&yX60gensym912_));
		nimZeroMem((void*)T7_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T7_[0] = aX60gensym912_;
		T7_[1] = bX60gensym912_;
		T7_[2] = tmpX60gensym912_;
		T7_[3] = tmp2X60gensym912_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4683(T7_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 132):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA lhs;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA rhs;
		nimZeroMem((void*)(&lhs), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&rhs), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&lhs));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&rhs));
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T11_;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T14_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* b;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
			tyArray__FKvM4FDhljtt88k8FkGthA T15_;
			T11_ = NIM_NIL;
			T11_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
			if (!((*T11_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29))) goto LA12_;
			nimZeroMem((void*)(&T14_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 2)], (&rhs), (&T14_));
			b = NIM_NIL;
			b = T14_.Field0;
			tmp = NIM_NIL;
			tmp = T14_.Field1;
			nimZeroMem((void*)T15_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			T15_[0] = b;
			T15_[1] = rdLoc__jsgen_188((&lhs));
			T15_[2] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4700(T15_, 3));
		}
		goto LA9_;
		LA12_: ;
		{
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T17_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a_2;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp_2;
			tyArray__FKvM4FDhljtt88k8FkGthA T18_;
			nimZeroMem((void*)(&T17_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&lhs), (&T17_));
			a_2 = NIM_NIL;
			a_2 = T17_.Field0;
			tmp_2 = NIM_NIL;
			tmp_2 = T17_.Field1;
			nimZeroMem((void*)T18_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			T18_[0] = a_2;
			T18_[1] = rdLoc__jsgen_188((&rhs));
			T18_[2] = tmp_2;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4708(T18_, 3));
		}
		LA9_: ;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 133):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y;
		nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
		{
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T22_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* c;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T25_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T26_;
			T22_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T22_ = mapType__jsgen_295((*(*n)._kind_6.sons->data[((NI) 2)]).typ);
			if (!(T22_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA23_;
			nimZeroMem((void*)T25_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T25_[0] = y.address;
			T25_[1] = y.res;
			c = percent___jsgen_480(T25_, 2);
			nimZeroMem((void*)T26_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T26_[0] = rdLoc__jsgen_188((&x));
			T26_[1] = c;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4727(T26_, 2));
		}
		goto LA20_;
		LA23_: ;
		{
			NIM_BOOL T28_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T31_;
			T28_ = (NIM_BOOL)0;
			T28_ = needsNoCopy__jsgen_2488(p, (*n)._kind_6.sons->data[((NI) 2)]);
			if (!T28_) goto LA29_;
			nimZeroMem((void*)T31_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T31_[0] = rdLoc__jsgen_188((&x));
			T31_[1] = rdLoc__jsgen_188((&y));
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4727(T31_, 2));
		}
		goto LA20_;
		LA29_: ;
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* c_2;
			tyArray__FKvM4FDhljtt88k8FkGthA T33_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T34_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T35_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T36_;
			useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
			c_2 = getTemp__jsgen_856(p, NIM_FALSE);
			nimZeroMem((void*)T33_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			T33_[0] = c_2;
			T33_[1] = rdLoc__jsgen_188((&y));
			T33_[2] = genTypeInfo__jsgen_403(p, (*(*n)._kind_6.sons->data[((NI) 2)]).typ);
			T34_ = NIM_NIL;
			T34_ = percent___jsgen_4739(T33_, 3);
			T35_ = NIM_NIL;
			T35_ = indentLine__jsgen_97(p, T34_);
			add__ropes_159(&(*p).body, T35_);
			nimZeroMem((void*)T36_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T36_[0] = rdLoc__jsgen_188((&x));
			T36_[1] = c_2;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4727(T36_, 2));
		}
		LA20_: ;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 125):
	{
		genConStrStr__jsgen_4471(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 116):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym928_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym928_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym928_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym928_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym928_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym928_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T39_;
		nimZeroMem((void*)(&xX60gensym928_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym928_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_210));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym928_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym928_));
		aX60gensym928_ = rdLoc__jsgen_188((&xX60gensym928_));
		tmpX60gensym928_ = rdLoc__jsgen_188((&xX60gensym928_));
		bX60gensym928_ = rdLoc__jsgen_188((&yX60gensym928_));
		tmp2X60gensym928_ = rdLoc__jsgen_188((&yX60gensym928_));
		nimZeroMem((void*)T39_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T39_[0] = aX60gensym928_;
		T39_[1] = bX60gensym928_;
		T39_[2] = tmpX60gensym928_;
		T39_[3] = tmp2X60gensym928_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4762(T39_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 117):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym933_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym933_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym933_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym933_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym933_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym933_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T41_;
		nimZeroMem((void*)(&xX60gensym933_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym933_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_211));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym933_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym933_));
		aX60gensym933_ = rdLoc__jsgen_188((&xX60gensym933_));
		tmpX60gensym933_ = rdLoc__jsgen_188((&xX60gensym933_));
		bX60gensym933_ = rdLoc__jsgen_188((&yX60gensym933_));
		tmp2X60gensym933_ = rdLoc__jsgen_188((&yX60gensym933_));
		nimZeroMem((void*)T41_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T41_[0] = aX60gensym933_;
		T41_[1] = bX60gensym933_;
		T41_[2] = tmpX60gensym933_;
		T41_[3] = tmp2X60gensym933_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4781(T41_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 118):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym938_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym938_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym938_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym938_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym938_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym938_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T43_;
		nimZeroMem((void*)(&xX60gensym938_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym938_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_211));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym938_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym938_));
		aX60gensym938_ = rdLoc__jsgen_188((&xX60gensym938_));
		tmpX60gensym938_ = rdLoc__jsgen_188((&xX60gensym938_));
		bX60gensym938_ = rdLoc__jsgen_188((&yX60gensym938_));
		tmp2X60gensym938_ = rdLoc__jsgen_188((&yX60gensym938_));
		nimZeroMem((void*)T43_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T43_[0] = aX60gensym938_;
		T43_[1] = bX60gensym938_;
		T43_[2] = tmpX60gensym938_;
		T43_[3] = tmp2X60gensym938_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4800(T43_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 143):
	{
		{
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T47_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym945_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym945_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T55_;
			T47_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T47_ = mapType__jsgen_295((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
			if (!!((T47_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9)))) goto LA48_;
			useMagic__jsgen_797(p, ((NimStringDesc*) NIM_NIL));
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
			aX60gensym945_ = rdLoc__jsgen_188((&(*r)));
			tmpX60gensym945_ = rdLoc__jsgen_188((&(*r)));
			{
				NIM_BOOL T52_;
				tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg _;
				T52_ = (NIM_BOOL)0;
				T52_ = contains__pureZstrutils_1627(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_212), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_213));
				if (!T52_) goto LA53_;
				nimZeroMem((void*)(&_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
				maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&(*r)), (&_));
				aX60gensym945_ = _.Field0;
				tmpX60gensym945_ = _.Field1;
			}
			LA53_: ;
			nimZeroMem((void*)T55_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T55_[0] = aX60gensym945_;
			T55_[1] = tmpX60gensym945_;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4817(T55_, 2));
			(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
		}
		goto LA45_;
		LA48_: ;
		{
			tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x_2;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T57_;
			nimZeroMem((void*)(&x_2), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_2));
			nimZeroMem((void*)T57_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T57_[0] = x_2.address;
			T57_[1] = x_2.res;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4824(T57_, 2));
		}
		LA45_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 108):
	{
		genRepr__jsgen_4558(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 32):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 33):
	{
		genNew__jsgen_4404(p, n);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 43):
	{
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 144):
	{
		{
			if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 41))) goto LA64_;
			genJSArrayConstr__jsgen_4627(p, (*n)._kind_6.sons->data[((NI) 1)], r);
		}
		goto LA62_;
		LA64_: ;
		{
			tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x_3;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T67_;
			nimZeroMem((void*)(&x_3), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_3));
			useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
			nimZeroMem((void*)T67_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T67_[0] = rdLoc__jsgen_188((&x_3));
			T67_[1] = genTypeInfo__jsgen_403(p, (*n).typ);
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4218(T67_, 2));
		}
		LA62_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 145):
	{
		genCall__jsgen_3793(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 151):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 152):
	{
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 31):
	{
		genOrd__jsgen_4449(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 37):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 39):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 36):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 38):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x_4;
		nimZeroMem((void*)(&x_4), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_4));
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T74_;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T77_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a_3;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp_3;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T78_;
			T74_ = NIM_NIL;
			T74_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
			if (!((*T74_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29))) goto LA75_;
			nimZeroMem((void*)(&T77_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_4), (&T77_));
			a_3 = NIM_NIL;
			a_3 = T77_.Field0;
			tmp_3 = NIM_NIL;
			tmp_3 = T77_.Field1;
			nimZeroMem((void*)T78_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T78_[0] = a_3;
			T78_[1] = tmp_3;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4852(T78_, 2));
		}
		goto LA72_;
		LA75_: ;
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T80_;
			nimZeroMem((void*)T80_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T80_[0] = rdLoc__jsgen_188((&x_4));
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4857(T80_, 1));
		}
		LA72_: ;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 9):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x_5;
		nimZeroMem((void*)(&x_5), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_5));
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T84_;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T87_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a_4;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp_4;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T88_;
			T84_ = NIM_NIL;
			T84_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
			if (!((*T84_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29))) goto LA85_;
			nimZeroMem((void*)(&T87_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_5), (&T87_));
			a_4 = NIM_NIL;
			a_4 = T87_.Field0;
			tmp_4 = NIM_NIL;
			tmp_4 = T87_.Field1;
			nimZeroMem((void*)T88_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T88_[0] = a_4;
			T88_[1] = tmp_4;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4872(T88_, 2));
		}
		goto LA82_;
		LA85_: ;
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T90_;
			nimZeroMem((void*)T90_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T90_[0] = rdLoc__jsgen_188((&x_5));
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4877(T90_, 1));
		}
		LA82_: ;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 29):
	{
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T94_;
			T94_ = NIM_NIL;
			T94_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_179);
			if (!((*T94_).kind >= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40) && (*T94_).kind <= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 44))) goto LA95_;
			binaryUintExpr__jsgen_4887(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_175));
		}
		goto LA92_;
		LA95_: ;
		{
			{
				tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym968_;
				tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym968_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym968_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym968_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym968_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym968_;
				tyArray__InO6xIOhXMnkCXPnEYWwWg T102_;
				if (!!((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 5))&31U)))!=0))) goto LA100_;
				nimZeroMem((void*)(&xX60gensym968_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
				nimZeroMem((void*)(&yX60gensym968_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
				useMagic__jsgen_797(p, ((NimStringDesc*) NIM_NIL));
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym968_));
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym968_));
				aX60gensym968_ = rdLoc__jsgen_188((&xX60gensym968_));
				tmpX60gensym968_ = rdLoc__jsgen_188((&xX60gensym968_));
				bX60gensym968_ = rdLoc__jsgen_188((&yX60gensym968_));
				tmp2X60gensym968_ = rdLoc__jsgen_188((&yX60gensym968_));
				nimZeroMem((void*)T102_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
				T102_[0] = aX60gensym968_;
				T102_[1] = bX60gensym968_;
				T102_[2] = tmpX60gensym968_;
				T102_[3] = tmp2X60gensym968_;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4926(T102_, 4));
				(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
			}
			goto LA98_;
			LA100_: ;
			{
				tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym973_;
				tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym973_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym973_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym973_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym973_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym973_;
				tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg __2;
				tyArray__InO6xIOhXMnkCXPnEYWwWg T104_;
				nimZeroMem((void*)(&xX60gensym973_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
				nimZeroMem((void*)(&yX60gensym973_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
				useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_180));
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym973_));
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym973_));
				aX60gensym973_ = rdLoc__jsgen_188((&xX60gensym973_));
				tmpX60gensym973_ = rdLoc__jsgen_188((&xX60gensym973_));
				bX60gensym973_ = rdLoc__jsgen_188((&yX60gensym973_));
				tmp2X60gensym973_ = rdLoc__jsgen_188((&yX60gensym973_));
				nimZeroMem((void*)(&__2), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
				maybeMakeTempAssignable__jsgen_1020(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym973_), (&__2));
				aX60gensym973_ = __2.Field0;
				tmpX60gensym973_ = __2.Field1;
				nimZeroMem((void*)T104_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
				T104_[0] = aX60gensym973_;
				T104_[1] = bX60gensym973_;
				T104_[2] = tmpX60gensym973_;
				T104_[3] = tmp2X60gensym973_;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4947(T104_, 4));
				(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
			}
			LA98_: ;
		}
		LA92_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 30):
	{
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T108_;
			T108_ = NIM_NIL;
			T108_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_179);
			if (!((*T108_).kind >= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40) && (*T108_).kind <= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 44))) goto LA109_;
			binaryUintExpr__jsgen_4887(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_176));
		}
		goto LA106_;
		LA109_: ;
		{
			{
				tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym980_;
				tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym980_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym980_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym980_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym980_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym980_;
				tyArray__InO6xIOhXMnkCXPnEYWwWg T116_;
				if (!!((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 5))&31U)))!=0))) goto LA114_;
				nimZeroMem((void*)(&xX60gensym980_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
				nimZeroMem((void*)(&yX60gensym980_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
				useMagic__jsgen_797(p, ((NimStringDesc*) NIM_NIL));
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym980_));
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym980_));
				aX60gensym980_ = rdLoc__jsgen_188((&xX60gensym980_));
				tmpX60gensym980_ = rdLoc__jsgen_188((&xX60gensym980_));
				bX60gensym980_ = rdLoc__jsgen_188((&yX60gensym980_));
				tmp2X60gensym980_ = rdLoc__jsgen_188((&yX60gensym980_));
				nimZeroMem((void*)T116_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
				T116_[0] = aX60gensym980_;
				T116_[1] = bX60gensym980_;
				T116_[2] = tmpX60gensym980_;
				T116_[3] = tmp2X60gensym980_;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4982(T116_, 4));
				(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
			}
			goto LA112_;
			LA114_: ;
			{
				tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym985_;
				tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym985_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym985_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym985_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym985_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym985_;
				tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg __3;
				tyArray__InO6xIOhXMnkCXPnEYWwWg T118_;
				nimZeroMem((void*)(&xX60gensym985_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
				nimZeroMem((void*)(&yX60gensym985_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
				useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_181));
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym985_));
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym985_));
				aX60gensym985_ = rdLoc__jsgen_188((&xX60gensym985_));
				tmpX60gensym985_ = rdLoc__jsgen_188((&xX60gensym985_));
				bX60gensym985_ = rdLoc__jsgen_188((&yX60gensym985_));
				tmp2X60gensym985_ = rdLoc__jsgen_188((&yX60gensym985_));
				nimZeroMem((void*)(&__3), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
				maybeMakeTempAssignable__jsgen_1020(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym985_), (&__3));
				aX60gensym985_ = __3.Field0;
				tmpX60gensym985_ = __3.Field1;
				nimZeroMem((void*)T118_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
				T118_[0] = aX60gensym985_;
				T118_[1] = bX60gensym985_;
				T118_[2] = tmpX60gensym985_;
				T118_[3] = tmp2X60gensym985_;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5003(T118_, 4));
				(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
			}
			LA112_: ;
		}
		LA106_: ;
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 137):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym989_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym989_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym989_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym989_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym989_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym989_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T120_;
		nimZeroMem((void*)(&xX60gensym989_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym989_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_220));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym989_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym989_));
		aX60gensym989_ = rdLoc__jsgen_188((&xX60gensym989_));
		tmpX60gensym989_ = rdLoc__jsgen_188((&xX60gensym989_));
		bX60gensym989_ = rdLoc__jsgen_188((&yX60gensym989_));
		tmp2X60gensym989_ = rdLoc__jsgen_188((&yX60gensym989_));
		nimZeroMem((void*)T120_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T120_[0] = aX60gensym989_;
		T120_[1] = bX60gensym989_;
		T120_[2] = tmpX60gensym989_;
		T120_[3] = tmp2X60gensym989_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5022(T120_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 138):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x_6;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y_2;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T122_;
		tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T123_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* a_5;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp_5;
		tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T124_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* b_2;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2;
		tyArray__XSZGJHCjWme3CUmFzckT3g T125_;
		nimZeroMem((void*)(&x_6), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&y_2), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_6));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y_2));
		T122_ = NIM_NIL;
		T122_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_206);
		t = (*T122_).sons->data[((NI) 0)];
		nimZeroMem((void*)(&T123_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
		maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_6), (&T123_));
		a_5 = NIM_NIL;
		a_5 = T123_.Field0;
		tmp_5 = NIM_NIL;
		tmp_5 = T123_.Field1;
		nimZeroMem((void*)(&T124_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
		maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 2)], (&y_2), (&T124_));
		b_2 = NIM_NIL;
		b_2 = T124_.Field0;
		tmp2 = NIM_NIL;
		tmp2 = T124_.Field1;
		nimZeroMem((void*)T125_, sizeof(tyArray__XSZGJHCjWme3CUmFzckT3g));
		T125_[0] = a_5;
		T125_[1] = b_2;
		T125_[2] = createVar__jsgen_3849(p, t, NIM_FALSE);
		T125_[3] = tmp_5;
		T125_[4] = tmp2;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5040(T125_, 5));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 42):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1000_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1000_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T132_;
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_221));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
		aX60gensym1000_ = rdLoc__jsgen_188((&(*r)));
		tmpX60gensym1000_ = rdLoc__jsgen_188((&(*r)));
		{
			NIM_BOOL T129_;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg __4;
			T129_ = (NIM_BOOL)0;
			T129_ = contains__pureZstrutils_1627(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_222), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_213));
			if (!T129_) goto LA130_;
			nimZeroMem((void*)(&__4), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&(*r)), (&__4));
			aX60gensym1000_ = __4.Field0;
			tmpX60gensym1000_ = __4.Field1;
		}
		LA130_: ;
		nimZeroMem((void*)T132_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T132_[0] = aX60gensym1000_;
		T132_[1] = tmpX60gensym1000_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5052(T132_, 2));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 121):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1004_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1004_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1004_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1004_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1004_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1004_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T134_;
		nimZeroMem((void*)(&xX60gensym1004_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1004_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_223));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1004_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1004_));
		aX60gensym1004_ = rdLoc__jsgen_188((&xX60gensym1004_));
		tmpX60gensym1004_ = rdLoc__jsgen_188((&xX60gensym1004_));
		bX60gensym1004_ = rdLoc__jsgen_188((&yX60gensym1004_));
		tmp2X60gensym1004_ = rdLoc__jsgen_188((&yX60gensym1004_));
		nimZeroMem((void*)T134_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T134_[0] = aX60gensym1004_;
		T134_[1] = bX60gensym1004_;
		T134_[2] = tmpX60gensym1004_;
		T134_[3] = tmp2X60gensym1004_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5071(T134_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 120):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1009_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1009_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1009_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1009_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1009_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1009_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T136_;
		nimZeroMem((void*)(&xX60gensym1009_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1009_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_224));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1009_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1009_));
		aX60gensym1009_ = rdLoc__jsgen_188((&xX60gensym1009_));
		tmpX60gensym1009_ = rdLoc__jsgen_188((&xX60gensym1009_));
		bX60gensym1009_ = rdLoc__jsgen_188((&yX60gensym1009_));
		tmp2X60gensym1009_ = rdLoc__jsgen_188((&yX60gensym1009_));
		nimZeroMem((void*)T136_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T136_[0] = aX60gensym1009_;
		T136_[1] = bX60gensym1009_;
		T136_[2] = tmpX60gensym1009_;
		T136_[3] = tmp2X60gensym1009_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5090(T136_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 119):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1014_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1014_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1014_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1014_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1014_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1014_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T138_;
		nimZeroMem((void*)(&xX60gensym1014_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1014_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_225));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1014_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1014_));
		aX60gensym1014_ = rdLoc__jsgen_188((&xX60gensym1014_));
		tmpX60gensym1014_ = rdLoc__jsgen_188((&xX60gensym1014_));
		bX60gensym1014_ = rdLoc__jsgen_188((&yX60gensym1014_));
		tmp2X60gensym1014_ = rdLoc__jsgen_188((&yX60gensym1014_));
		nimZeroMem((void*)T138_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T138_[0] = aX60gensym1014_;
		T138_[1] = bX60gensym1014_;
		T138_[2] = tmpX60gensym1014_;
		T138_[3] = tmp2X60gensym1014_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5109(T138_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 122):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1019_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1019_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1019_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1019_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1019_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1019_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T140_;
		nimZeroMem((void*)(&xX60gensym1019_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1019_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_226));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1019_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1019_));
		aX60gensym1019_ = rdLoc__jsgen_188((&xX60gensym1019_));
		tmpX60gensym1019_ = rdLoc__jsgen_188((&xX60gensym1019_));
		bX60gensym1019_ = rdLoc__jsgen_188((&yX60gensym1019_));
		tmp2X60gensym1019_ = rdLoc__jsgen_188((&yX60gensym1019_));
		nimZeroMem((void*)T140_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T140_[0] = aX60gensym1019_;
		T140_[1] = bX60gensym1019_;
		T140_[2] = tmpX60gensym1019_;
		T140_[3] = tmp2X60gensym1019_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5128(T140_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 123):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1024_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1024_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1024_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1024_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1024_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1024_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T142_;
		nimZeroMem((void*)(&xX60gensym1024_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1024_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_227));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1024_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1024_));
		aX60gensym1024_ = rdLoc__jsgen_188((&xX60gensym1024_));
		tmpX60gensym1024_ = rdLoc__jsgen_188((&xX60gensym1024_));
		bX60gensym1024_ = rdLoc__jsgen_188((&yX60gensym1024_));
		tmp2X60gensym1024_ = rdLoc__jsgen_188((&yX60gensym1024_));
		nimZeroMem((void*)T142_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T142_[0] = aX60gensym1024_;
		T142_[1] = bX60gensym1024_;
		T142_[2] = tmpX60gensym1024_;
		T142_[3] = tmp2X60gensym1024_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5147(T142_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 124):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1029_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1029_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1029_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1029_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1029_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1029_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T144_;
		nimZeroMem((void*)(&xX60gensym1029_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1029_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_228));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1029_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1029_));
		aX60gensym1029_ = rdLoc__jsgen_188((&xX60gensym1029_));
		tmpX60gensym1029_ = rdLoc__jsgen_188((&xX60gensym1029_));
		bX60gensym1029_ = rdLoc__jsgen_188((&yX60gensym1029_));
		tmp2X60gensym1029_ = rdLoc__jsgen_188((&yX60gensym1029_));
		nimZeroMem((void*)T144_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T144_[0] = aX60gensym1029_;
		T144_[1] = bX60gensym1029_;
		T144_[2] = tmpX60gensym1029_;
		T144_[3] = tmp2X60gensym1029_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5166(T144_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 40):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1034_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1034_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1034_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1034_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1034_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1034_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T146_;
		nimZeroMem((void*)(&xX60gensym1034_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1034_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) NIM_NIL));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1034_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1034_));
		aX60gensym1034_ = rdLoc__jsgen_188((&xX60gensym1034_));
		tmpX60gensym1034_ = rdLoc__jsgen_188((&xX60gensym1034_));
		bX60gensym1034_ = rdLoc__jsgen_188((&yX60gensym1034_));
		tmp2X60gensym1034_ = rdLoc__jsgen_188((&yX60gensym1034_));
		nimZeroMem((void*)T146_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T146_[0] = aX60gensym1034_;
		T146_[1] = bX60gensym1034_;
		T146_[2] = tmpX60gensym1034_;
		T146_[3] = tmp2X60gensym1034_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5185(T146_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 41):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1039_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1039_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1039_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1039_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1039_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1039_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T148_;
		nimZeroMem((void*)(&xX60gensym1039_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1039_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) NIM_NIL));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1039_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1039_));
		aX60gensym1039_ = rdLoc__jsgen_188((&xX60gensym1039_));
		tmpX60gensym1039_ = rdLoc__jsgen_188((&xX60gensym1039_));
		bX60gensym1039_ = rdLoc__jsgen_188((&yX60gensym1039_));
		tmp2X60gensym1039_ = rdLoc__jsgen_188((&yX60gensym1039_));
		nimZeroMem((void*)T148_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T148_[0] = aX60gensym1039_;
		T148_[1] = bX60gensym1039_;
		T148_[2] = tmpX60gensym1039_;
		T148_[3] = tmp2X60gensym1039_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5204(T148_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 134):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA xX60gensym1044_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA yX60gensym1044_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1044_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1044_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* bX60gensym1044_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp2X60gensym1044_;
		tyArray__InO6xIOhXMnkCXPnEYWwWg T150_;
		nimZeroMem((void*)(&xX60gensym1044_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&yX60gensym1044_), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		useMagic__jsgen_797(p, ((NimStringDesc*) NIM_NIL));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1044_));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1044_));
		aX60gensym1044_ = rdLoc__jsgen_188((&xX60gensym1044_));
		tmpX60gensym1044_ = rdLoc__jsgen_188((&xX60gensym1044_));
		bX60gensym1044_ = rdLoc__jsgen_188((&yX60gensym1044_));
		tmp2X60gensym1044_ = rdLoc__jsgen_188((&yX60gensym1044_));
		nimZeroMem((void*)T150_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
		T150_[0] = aX60gensym1044_;
		T150_[1] = bX60gensym1044_;
		T150_[2] = tmpX60gensym1044_;
		T150_[3] = tmp2X60gensym1044_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5223(T150_, 4));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 34):
	{
		genNewSeq__jsgen_4434(p, n);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 35):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1049_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1049_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T158_;
		useMagic__jsgen_797(p, ((NimStringDesc*) NIM_NIL));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
		aX60gensym1049_ = rdLoc__jsgen_188((&(*r)));
		tmpX60gensym1049_ = rdLoc__jsgen_188((&(*r)));
		{
			NIM_BOOL T155_;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg __5;
			T155_ = (NIM_BOOL)0;
			T155_ = contains__pureZstrutils_1627(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_144), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_213));
			if (!T155_) goto LA156_;
			nimZeroMem((void*)(&__5), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&(*r)), (&__5));
			aX60gensym1049_ = __5.Field0;
			tmpX60gensym1049_ = __5.Field1;
		}
		LA156_: ;
		nimZeroMem((void*)T158_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T158_[0] = aX60gensym1049_;
		T158_[1] = tmpX60gensym1049_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5235(T158_, 2));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 15):
	{
		genOf__jsgen_4564(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 153):
	{
		genDefault__jsgen_4590(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 159):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 150):
	{
		genReset__jsgen_4594(p, n);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 20):
	{
		genEcho__jsgen_3816(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 213) ... ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 260):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 22):
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 23):
	{
		NimStringDesc* T164_;
		T164_ = NIM_NIL;
		T164_ = nsuFormatSingleElem(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_236), (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
		liMessage__msgs_1128((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), T164_, ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 0), TM__RWNN386A4nZ2Ks5xVWQZ1Q_237, NIM_FALSE);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 146):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1057_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1057_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T171_;
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_220));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
		aX60gensym1057_ = rdLoc__jsgen_188((&(*r)));
		tmpX60gensym1057_ = rdLoc__jsgen_188((&(*r)));
		{
			NIM_BOOL T168_;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg __6;
			T168_ = (NIM_BOOL)0;
			T168_ = contains__pureZstrutils_1627(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_238), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_213));
			if (!T168_) goto LA169_;
			nimZeroMem((void*)(&__6), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&(*r)), (&__6));
			aX60gensym1057_ = __6.Field0;
			tmpX60gensym1057_ = __6.Field1;
		}
		LA169_: ;
		nimZeroMem((void*)T171_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T171_[0] = aX60gensym1057_;
		T171_[1] = tmpX60gensym1057_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5248(T171_, 2));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 147):
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* aX60gensym1061_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym1061_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T178_;
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_220));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
		aX60gensym1061_ = rdLoc__jsgen_188((&(*r)));
		tmpX60gensym1061_ = rdLoc__jsgen_188((&(*r)));
		{
			NIM_BOOL T175_;
			tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg __7;
			T175_ = (NIM_BOOL)0;
			T175_ = contains__pureZstrutils_1627(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_239), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_213));
			if (!T175_) goto LA176_;
			nimZeroMem((void*)(&__7), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
			maybeMakeTemp__jsgen_982(p, (*n)._kind_6.sons->data[((NI) 1)], (&(*r)), (&__7));
			aX60gensym1061_ = __7.Field0;
			tmpX60gensym1061_ = __7.Field1;
		}
		LA176_: ;
		nimZeroMem((void*)T178_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T178_[0] = aX60gensym1061_;
		T178_[1] = tmpX60gensym1061_;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5260(T178_, 2));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 127):
	{
		genProcForSymIfNeeded__jsgen_3272(p, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
		genCall__jsgen_3793(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 148):
	{
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_240));
		genCall__jsgen_3793(p, n, r);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 126):
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA x_7;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA y_3;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA z;
		tyArray__FKvM4FDhljtt88k8FkGthA T182_;
		nimZeroMem((void*)(&x_7), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&y_3), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)(&z), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_7));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&y_3));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 3)], (&z));
		nimZeroMem((void*)T182_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
		T182_[0] = rdLoc__jsgen_188((&x_7));
		T182_[1] = rdLoc__jsgen_188((&y_3));
		T182_[2] = rdLoc__jsgen_188((&z));
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5272(T182_, 3));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 149):
	{
		genMove__jsgen_4617(p, n, r);
	}
	break;
	default:
	{
		genCall__jsgen_3793(p, n, r);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genOtherArg__jsgen_3664)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, NI i, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, NI* generated, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* paramType;
{	{
		NI T3_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		NI T8_;
		NimStringDesc* T9_;
		T3_ = (NI)0;
		T3_ = len__ast_3155(n);
		if (!(T3_ <= i)) goto LA4_;
		T6_ = NIM_NIL;
		T7_ = NIM_NIL;
		T7_ = dollar___systemZdollars_3(i);
		T8_ = (NI)0;
		T8_ = len__ast_3155(n);
		T9_ = NIM_NIL;
		T9_ = dollar___systemZdollars_3((NI)(T8_ - ((NI) 1)));
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + 71);
appendString(T6_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_243));
appendString(T6_, T7_);
appendString(T6_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_244));
appendString(T6_, T9_);
		liMessage__msgs_1128((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), T6_, ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 2), TM__RWNN386A4nZ2Ks5xVWQZ1Q_245, NIM_FALSE);
	}
	LA4_: ;
	it = (*n)._kind_6.sons->data[i];
	paramType = ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL);
	{
		NI T12_;
		T12_ = (NI)0;
		T12_ = len__ast_3990(typ);
		if (!(i < T12_)) goto LA13_;
		paramType = (*(*typ).n)._kind_6.sons->data[i];
		{
			NIM_BOOL T17_;
			T17_ = (NIM_BOOL)0;
			T17_ = isCompileTimeOnly__types_3592((*paramType).typ);
			if (!T17_) goto LA18_;
			goto BeforeRet_;
		}
		LA18_: ;
	}
	LA13_: ;
	{
		if (!(paramType == 0)) goto LA22_;
		genArgNoParam__jsgen_3543(p, it, r);
	}
	goto LA20_;
	LA22_: ;
	{
		genArg__jsgen_3552(p, it, (*paramType)._kind_4.sym, r, ((NI*) NIM_NIL));
	}
	LA20_: ;
	(*generated) += ((NI) 1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genPatternCall__jsgen_3699)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, NimStringDesc* pat, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	NI i;
	NI j;
	i = ((NI) 0);
	j = ((NI) 1);
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	{
		while (1) {
			if (!(i < (pat ? pat->Sup.len : 0))) goto LA2;
			switch (((NU8)(pat->data[i]))) {
			case 64:
			{
				NI generated;
				generated = ((NI) 0);
				{
					NI k;
					NI colontmp_;
					NI i_2;
					k = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = len__ast_3155(n);
					i_2 = j;
					{
						while (1) {
							if (!(i_2 < colontmp_)) goto LA6;
							k = i_2;
							{
								if (!(((NI) 0) < generated)) goto LA9_;
								add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
							}
							LA9_: ;
							genOtherArg__jsgen_3664(p, n, k, typ, (&generated), r);
							i_2 += ((NI) 1);
						} LA6: ;
					}
				}
				i += ((NI) 1);
			}
			break;
			case 35:
			{
				NI generated_2;
				generated_2 = ((NI) 0);
				genOtherArg__jsgen_3664(p, n, j, typ, (&generated_2), r);
				j += ((NI) 1);
				i += ((NI) 1);
			}
			break;
			case 31:
			{
				add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_246));
				i += ((NI) 1);
			}
			break;
			case 29:
			{
				add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_247));
				i += ((NI) 1);
			}
			break;
			default:
			{
				NI start;
				start = i;
				{
					while (1) {
						if (!(i < (pat ? pat->Sup.len : 0))) goto LA16;
						{
							if (!!((((NU8)(pat->data[i])) == ((NU8)(64)) || ((NU8)(pat->data[i])) == ((NU8)(35)) || ((NU8)(pat->data[i])) == ((NU8)(31)) || ((NU8)(pat->data[i])) == ((NU8)(29))))) goto LA19_;
							i += ((NI) 1);
						}
						goto LA17_;
						LA19_: ;
						{
							goto LA15;
						}
						LA17_: ;
					} LA16: ;
				} LA15: ;
				{
					NimStringDesc* T26_;
					if (!(start <= (NI)(i - ((NI) 1)))) goto LA24_;
					T26_ = NIM_NIL;
					T26_ = substr__system_7745(pat, start, (NI)(i - ((NI) 1)));
					add__ropes_162(&(*r).res, T26_);
				}
				LA24_: ;
			}
			break;
			}
		} LA2: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genInfixCall__jsgen_3746)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* f;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA op;
{	f = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
	{
		if (!((*f).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA3_;
		asgnRef((void**) (&(*f).loc.r), mangleName__jsgen_326((*p).module, f));
	}
	LA3_: ;
	{
		NimStringDesc* pat;
		if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 32))&63U)))!=0)) goto LA7_;
		pat = (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).loc.r).data;
		{
			NimStringDesc* argX60gensym750_;
			if (!!((((NI) 0) < (pat ? pat->Sup.len : 0)))) goto LA11_;
			argX60gensym750_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_241);
			internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym750_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_241);
		}
		LA11_: ;
		{
			NIM_BOOL T15_;
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
			T15_ = (NIM_BOOL)0;
			T15_ = contains__pureZstrutils_1631(pat, TM__RWNN386A4nZ2Ks5xVWQZ1Q_242);
			if (!T15_) goto LA16_;
			typ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
			genPatternCall__jsgen_3699(p, n, pat, typ, r);
			goto BeforeRet_;
		}
		LA16_: ;
	}
	LA7_: ;
	{
		NI T20_;
		T20_ = (NI)0;
		T20_ = len__ast_3155(n);
		if (!!((T20_ == ((NI) 1)))) goto LA21_;
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T31_;
			if (!((*r).typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA25_;
			{
				if (!((*r).address == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA29_;
				liMessage__msgs_1128((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_248), ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 2), TM__RWNN386A4nZ2Ks5xVWQZ1Q_249, NIM_FALSE);
			}
			LA29_: ;
			nimZeroMem((void*)T31_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T31_[0] = (*r).address;
			T31_[1] = (*r).res;
			unsureAsgnRef((void**) (&(*r).res), percent___cgen_6805(T31_, 2));
			unsureAsgnRef((void**) (&(*r).address), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
			(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
		}
		LA25_: ;
		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_250));
	}
	LA21_: ;
	nimZeroMem((void*)(&op), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], (&op));
	add__ropes_159(&(*r).res, op.res);
	genArgs__jsgen_3609(p, n, r, ((NI) 2));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__jsgen_5277)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_251));
	unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_252)));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
				}
				LA6_: ;
				it = (*n)._kind_6.sons->data[i];
				{
					if (!((*it).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 44))) goto LA10_;
					gen__jsgen_784(p, (*it)._kind_6.sons->data[((NI) 0)], (&a));
					gen__jsgen_784(p, (*it)._kind_6.sons->data[((NI) 1)], (&b));
					{
						tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T16_;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T17_;
						if (!((*(*(*it)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1))) goto LA14_;
						nimZeroMem((void*)T16_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
						T16_[0] = a.res;
						T16_[1] = b.res;
						T17_ = NIM_NIL;
						T17_ = percent___cgen_12092(T16_, 2);
						add__ropes_159(&(*r).res, T17_);
					}
					goto LA12_;
					LA14_: ;
					{
						tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T19_;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T20_;
						nimZeroMem((void*)T19_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
						T19_[0] = a.res;
						T19_[1] = b.res;
						T20_ = NIM_NIL;
						T20_ = percent___jsgen_480(T19_, 2);
						add__ropes_159(&(*r).res, T20_);
					}
					LA12_: ;
				}
				goto LA8_;
				LA10_: ;
				{
					gen__jsgen_784(p, it, (&a));
					add__ropes_159(&(*r).res, a.res);
				}
				LA8_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_109));
	{
		NIM_BOOL T24_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T27_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T28_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T29_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T30_;
		T24_ = (NIM_BOOL)0;
		T24_ = isDeepConstExpr__trees_171(n, NIM_FALSE);
		if (!T24_) goto LA25_;
		(*(*p).g).unique += ((NI) 1);
		T27_ = NIM_NIL;
		T27_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_253));
		T28_ = NIM_NIL;
		T28_ = rope__ropes_115(((NI64) ((*(*p).g).unique)));
		tmp = amp___ropes_128(T27_, T28_);
		nimZeroMem((void*)T29_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T29_[0] = tmp;
		T29_[1] = (*r).res;
		T30_ = NIM_NIL;
		T30_ = percent___jsgen_2973(T29_, 2);
		add__ropes_159(&(*(*p).g).constants, T30_);
		unsureAsgnRef((void**) (&(*r).res), tmp);
	}
	LA25_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__jsgen_5321)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* e;
	NimStringDesc* jsTyp;
	t = skipTypes__ast_3723((*n).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
	e = elemType__types_263(t);
	jsTyp = arrayTypeForElemType__jsgen_4017(e);
	{
		NIM_BOOL T3_;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T4_;
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T8_;
		T3_ = (NIM_BOOL)0;
		T4_ = NIM_NIL;
		T4_ = skipTypes__ast_3723((*n).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
		T3_ = !(((*T4_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 24)));
		if (!(T3_)) goto LA5_;
		T3_ = (((NI) 0) < (jsTyp ? jsTyp->Sup.len : 0));
		LA5_: ;
		if (!T3_) goto LA6_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		nimZeroMem((void*)T8_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T8_[0] = rope__ropes_109(jsTyp);
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5333(T8_, 1));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_3155(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA11;
					i = i_2;
					{
						if (!(((NI) 0) < i)) goto LA14_;
						add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
					}
					LA14_: ;
					gen__jsgen_784(p, (*n)._kind_6.sons->data[i], (&a));
					add__ropes_159(&(*r).res, a.res);
					i_2 += ((NI) 1);
				} LA11: ;
			}
		}
		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_254));
	}
	goto LA1_;
	LA6_: ;
	{
		genJSArrayConstr__jsgen_4627(p, n, r);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__jsgen_5347)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_139)));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
				tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
				}
				LA6_: ;
				it = (*n)._kind_6.sons->data[i];
				{
					if (!((*it).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 34))) goto LA10_;
					it = (*it)._kind_6.sons->data[((NI) 1)];
				}
				LA10_: ;
				gen__jsgen_784(p, it, (&a));
				typ = skipTypes__ast_3723((*it).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
				{
					tyArray__FKvM4FDhljtt88k8FkGthA T16_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T17_;
					if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA14_;
					nimZeroMem((void*)T16_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
					T16_[0] = rope__ropes_115(((NI64) (i)));
					T16_[1] = a.address;
					T16_[2] = a.res;
					T17_ = NIM_NIL;
					T17_ = percent___jsgen_5372(T16_, 3);
					add__ropes_159(&(*r).res, T17_);
				}
				goto LA12_;
				LA14_: ;
				{
					tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T25_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T26_;
					{
						NIM_BOOL T21_;
						tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T24_;
						T21_ = (NIM_BOOL)0;
						T21_ = needsNoCopy__jsgen_2488(p, it);
						if (!!(T21_)) goto LA22_;
						useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
						nimZeroMem((void*)T24_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
						T24_[0] = rdLoc__jsgen_188((&a));
						T24_[1] = genTypeInfo__jsgen_403(p, typ);
						a.res = percent___jsgen_4218(T24_, 2);
					}
					LA22_: ;
					nimZeroMem((void*)T25_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
					T25_[0] = rope__ropes_115(((NI64) (i)));
					T25_[1] = a.res;
					T26_ = NIM_NIL;
					T26_ = percent___jsgen_5381(T25_, 2);
					add__ropes_159(&(*r).res, T26_);
				}
				LA12_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_140));
}
N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__jsgen_5386)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* initList;
	tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw fieldIDs;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* t;
	tyArray__ts9cf9blICas1QWmw89bglZ7w T31_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	initList = NIM_NIL;
	nimZeroMem((void*)(&fieldIDs), sizeof(tyObject_PackedSet__THXDbzJSs2hcC9a33en2pdw));
	initIntSet__pureZcollectionsZintsets_238((&fieldIDs));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = ((NI) 1);
		{
			while (1) {
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* val;
				tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* f;
				tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym1093_;
				tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 1) < i)) goto LA6_;
					add__ropes_162(&initList, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_108));
				}
				LA6_: ;
				it = (*n)._kind_6.sons->data[i];
				{
					NimStringDesc* argX60gensym1089_;
					if (!!(((*it).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 34)))) goto LA10_;
					argX60gensym1089_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_255);
					internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym1089_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_255);
				}
				LA10_: ;
				val = (*it)._kind_6.sons->data[((NI) 1)];
				gen__jsgen_784(p, val, (&a));
				f = (*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
				{
					if (!((*f).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA14_;
					asgnRef((void**) (&(*f).loc.r), mangleName__jsgen_326((*p).module, f));
				}
				LA14_: ;
				xX60gensym1093_ = lookupFieldAgain__types_4152((*n).typ, f);
				incl__pureZcollectionsZintsets_55((&fieldIDs), (NI)((NI)((NU64)(((NI) ((*xX60gensym1093_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1093_).Sup.itemId.item))));
				typ = skipTypes__ast_3723((*val).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
				{
					tyArray__FKvM4FDhljtt88k8FkGthA T20_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T21_;
					if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA18_;
					nimZeroMem((void*)T20_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
					T20_[0] = (*f).loc.r;
					T20_[1] = a.address;
					T20_[2] = a.res;
					T21_ = NIM_NIL;
					T21_ = percent___jsgen_5472(T20_, 3);
					add__ropes_159(&initList, T21_);
				}
				goto LA16_;
				LA18_: ;
				{
					tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T29_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T30_;
					{
						NIM_BOOL T25_;
						tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T28_;
						T25_ = (NIM_BOOL)0;
						T25_ = needsNoCopy__jsgen_2488(p, val);
						if (!!(T25_)) goto LA26_;
						useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
						nimZeroMem((void*)T28_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
						T28_[0] = rdLoc__jsgen_188((&a));
						T28_[1] = genTypeInfo__jsgen_403(p, typ);
						a.res = percent___jsgen_4218(T28_, 2);
					}
					LA26_: ;
					nimZeroMem((void*)T29_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
					T29_[0] = (*f).loc.r;
					T29_[1] = a.res;
					T30_ = NIM_NIL;
					T30_ = percent___jsgen_5481(T29_, 2);
					add__ropes_159(&initList, T30_);
				}
				LA16_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	t = skipTypes__ast_3723((*n).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_256);
	createObjInitList__jsgen_4001(p, t, (&fieldIDs), &initList);
	nimZeroMem((void*)T31_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
	T31_[0] = initList;
	unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5491(T31_, 1));
}
static N_INLINE(NIM_BOOL, contains__semfold_973)(tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ s, tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg value) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (s.a <= value);
	if (!(T1_)) goto LA2_;
	T1_ = (value <= s.b);
	LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ, dotdot___semfold_951)(tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg a, tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg b) {
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genConv__jsgen_5496)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* dest;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* src;
	NIM_BOOL toInt;
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ T5_;
	NIM_BOOL fromInt;
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ T6_;
	NIM_BOOL toUint;
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ T7_;
	NIM_BOOL fromUint;
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ T8_;
{	dest = skipTypes__ast_3723((*n).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
	src = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
	{
		if (!((*dest).kind == (*src).kind)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = dotdot___semfold_951(((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31), ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 34));
	toInt = contains__semfold_973(T5_, (*dest).kind);
	T6_ = dotdot___semfold_951(((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31), ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 34));
	fromInt = contains__semfold_973(T6_, (*src).kind);
	T7_ = dotdot___semfold_951(((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40), ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 43));
	toUint = contains__semfold_973(T7_, (*dest).kind);
	T8_ = dotdot___semfold_951(((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40), ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 43));
	fromUint = contains__semfold_973(T8_, (*src).kind);
	{
		NIM_BOOL T11_;
		NIM_BOOL T13_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* trimmer;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T17_;
		T11_ = (NIM_BOOL)0;
		T11_ = toUint;
		if (!(T11_)) goto LA12_;
		T13_ = (NIM_BOOL)0;
		T13_ = fromInt;
		if (T13_) goto LA14_;
		T13_ = fromUint;
		LA14_: ;
		T11_ = T13_;
		LA12_: ;
		if (!T11_) goto LA15_;
		trimmer = unsignedTrimmerJS__jsgen_1119((*dest).size);
		nimZeroMem((void*)T17_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T17_[0] = (*r).res;
		T17_[1] = trimmer;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5769(T17_, 2));
	}
	goto LA9_;
	LA15_: ;
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T21_;
		if (!((*dest).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1))) goto LA19_;
		nimZeroMem((void*)T21_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T21_[0] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5778(T21_, 1));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	goto LA9_;
	LA19_: ;
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T25_;
		if (!toInt) goto LA23_;
		nimZeroMem((void*)T25_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T25_[0] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5783(T25_, 1));
	}
	goto LA9_;
	LA23_: ;
	{
	}
	LA9_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSymAddr__jsgen_3106)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s;
	s = (*n)._kind_4.sym;
	{
		if (!((*s).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA3_;
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_257), TM__RWNN386A4nZ2Ks5xVWQZ1Q_258);
	}
	LA3_: ;
	switch ((*s).kind) {
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 3):
	{
		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
		unsureAsgnRef((void**) (&(*r).address), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
		(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
	}
	break;
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 8):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 9):
	case ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 11):
	{
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ jsType;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T7_;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
		T7_ = NIM_NIL;
		{
			if (!(typ == 0)) goto LA10_;
			T7_ = (*n).typ;
		}
		goto LA8_;
		LA10_: ;
		{
			T7_ = typ;
		}
		LA8_: ;
		jsType = mapType__jsgen_322(p, T7_);
		{
			if (!(jsType == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8))) goto LA15_;
			(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
			{
				tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* vX60gensym632_;
				NIM_BOOL T19_;
				NIM_BOOL T20_;
				vX60gensym632_ = s;
				T19_ = (NIM_BOOL)0;
				T20_ = (NIM_BOOL)0;
				T20_ = !(((131080 & (*vX60gensym632_).flags) == 0));
				if (!(T20_)) goto LA21_;
				T20_ = ((192 & (*vX60gensym632_).flags) == 0);
				LA21_: ;
				T19_ = T20_;
				if (!(T19_)) goto LA22_;
				T19_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym632_).kind)&31U)))!=0));
				LA22_: ;
				if (!T19_) goto LA23_;
				unsureAsgnRef((void**) (&(*r).res), amp___ropes_140((*s).loc.r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_259)));
			}
			goto LA17_;
			LA23_: ;
			{
				unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
			}
			LA17_: ;
			unsureAsgnRef((void**) (&(*r).address), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
		}
		goto LA13_;
		LA15_: ;
		{
			NIM_BOOL T27_;
			T27_ = (NIM_BOOL)0;
			T27_ = !(((131080 & (*s).flags) == 0));
			if (T27_) goto LA28_;
			T27_ = (jsType == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9));
			LA28_: ;
			if (!T27_) goto LA29_;
			(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
			unsureAsgnRef((void**) (&(*r).address), (*s).loc.r);
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_96)));
		}
		goto LA13_;
		LA29_: ;
		{
			gen__jsgen_784(p, n, r);
		}
		LA13_: ;
	}
	break;
	default:
	{
		tyTuple__kUfCoroaC0rOCxJlya5Mfg T33_;
		NimStringDesc* T34_;
		nimZeroMem((void*)(&T33_), sizeof(tyTuple__kUfCoroaC0rOCxJlya5Mfg));
		T33_.Field0 = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_260));
		T33_.Field1 = (*s).kind;
		T34_ = NIM_NIL;
		T34_ = dollar___jsgen_3158(T33_);
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, T34_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_261);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genCheckedFieldOp__jsgen_2912)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* addrTyp, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* accessExpr;
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* checkExpr;
	NIM_BOOL negCheck;
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* field;
	tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* disc;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA setx;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA obj;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T26_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T27_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T28_;
	NimStringDesc* msg;
	tyArray__SJIWFUvBTGjESW6tXwR6UA T29_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T37_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T38_;
	{
		NimStringDesc* argX60gensym587_;
		if (!!(((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 46)))) goto LA3_;
		argX60gensym587_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_262);
		internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym587_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_262);
	}
	LA3_: ;
	accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
	checkExpr = (*n)._kind_6.sons->data[((NI) 1)];
	negCheck = ((*(*(*checkExpr)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 96));
	{
		NI T9_;
		if (!negCheck) goto LA7_;
		T9_ = (NI)0;
		T9_ = len__ast_3155(checkExpr);
		checkExpr = (*checkExpr)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
	}
	LA7_: ;
	field = (*(*accessExpr)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
	{
		NimStringDesc* argX60gensym597_;
		if (!!(((*field).kind == ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 19)))) goto LA12_;
		argX60gensym597_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_263);
		internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym597_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_263);
	}
	LA12_: ;
	{
		if (!((*field).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA16_;
		asgnRef((void**) (&(*field).loc.r), mangleName__jsgen_326((*p).module, field));
	}
	LA16_: ;
	disc = (*(*checkExpr)._kind_6.sons->data[((NI) 2)])._kind_4.sym;
	{
		NimStringDesc* argX60gensym601_;
		if (!!(((*disc).kind == ((tyEnum_TSymKind__sjiB9b9aO1FRPetW6gPYZbfw) 19)))) goto LA20_;
		argX60gensym601_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_264);
		internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym601_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_264);
	}
	LA20_: ;
	{
		if (!((*disc).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA24_;
		asgnRef((void**) (&(*disc).loc.r), mangleName__jsgen_326((*p).module, disc));
	}
	LA24_: ;
	nimZeroMem((void*)(&setx), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*checkExpr)._kind_6.sons->data[((NI) 1)], (&setx));
	nimZeroMem((void*)(&obj), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*accessExpr)._kind_6.sons->data[((NI) 0)], (&obj));
	tmp = getTemp__jsgen_856(p, NIM_TRUE);
	nimZeroMem((void*)T26_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T26_[0] = tmp;
	T26_[1] = obj.res;
	T27_ = NIM_NIL;
	T27_ = percent___jsgen_2973(T26_, 2);
	T28_ = NIM_NIL;
	T28_ = indentLine__jsgen_97(p, T27_);
	add__ropes_159(&(*p).body, T28_);
	useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_265));
	useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_164));
	useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_266));
	msg = genFieldDefect__astmsgs_61((*(*p).module).config, (*(*field).name).s, disc);
	nimZeroMem((void*)T29_, sizeof(tyArray__SJIWFUvBTGjESW6tXwR6UA));
	T29_[0] = setx.res;
	T29_[1] = tmp;
	T29_[2] = (*disc).loc.r;
	{
		tyArray__dAmhZbEWrTM5xES2bTVweg T34_;
		if (!negCheck) goto LA32_;
		nimZeroMem((void*)T34_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		T29_[3] = percent___jsgen_2979(T34_, 0);
	}
	goto LA30_;
	LA32_: ;
	{
		tyArray__dAmhZbEWrTM5xES2bTVweg T36_;
		nimZeroMem((void*)T36_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		T29_[3] = percent___jsgen_2984(T36_, 0);
	}
	LA30_: ;
	T29_[4] = makeJSString__jsgen_396(msg, NIM_TRUE);
	T29_[5] = genTypeInfo__jsgen_403(p, (*disc).typ);
	T37_ = NIM_NIL;
	T37_ = percent___jsgen_2989(T29_, 6);
	T38_ = NIM_NIL;
	T38_ = indentLine__jsgen_97(p, T37_);
	add__ropes_159(&(*p).body, T38_);
	{
		NIM_BOOL T41_;
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T43_;
		NimStringDesc* T46_;
		T41_ = (NIM_BOOL)0;
		T41_ = !((addrTyp == ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL)));
		if (!(T41_)) goto LA42_;
		T43_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
		T43_ = mapType__jsgen_322(p, addrTyp);
		T41_ = (T43_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9));
		LA42_: ;
		if (!T41_) goto LA44_;
		(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
		T46_ = NIM_NIL;
		T46_ = dollar___ropes_250((*field).loc.r);
		unsureAsgnRef((void**) (&(*r).res), makeJSString__jsgen_396(T46_, NIM_TRUE));
		unsureAsgnRef((void**) (&(*r).address), tmp);
	}
	goto LA39_;
	LA44_: ;
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T48_;
		(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
		nimZeroMem((void*)T48_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T48_[0] = tmp;
		T48_[1] = (*field).loc.r;
		unsureAsgnRef((void**) (&(*r).res), percent___cgen_7469(T48_, 2));
	}
	LA39_: ;
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(NI, getFieldPosition__jsgen_2782)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* f) {
	NI result;
	result = (NI)0;
	switch ((*f).kind) {
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 6) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 15):
	{
		result = ((NI) ((*f)._kind_1.intVal));
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3):
	{
		result = (*(*f)._kind_4.sym).position;
	}
	break;
	default:
	{
		internalErrorImpl__msgs_1441((*(*p).module).config, (*f).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_268), TM__RWNN386A4nZ2Ks5xVWQZ1Q_269);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genFieldAddr__jsgen_2786)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 64))) goto LA3_;
		b = (*n)._kind_6.sons->data[((NI) 0)];
	}
	goto LA1_;
	LA3_: ;
	{
		b = n;
	}
	LA1_: ;
	gen__jsgen_784(p, (*b)._kind_6.sons->data[((NI) 0)], (&a));
	{
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T8_;
		NimStringDesc* T11_;
		NI T12_;
		NimStringDesc* T13_;
		T8_ = NIM_NIL;
		T8_ = skipTypes__ast_3723((*(*b)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
		if (!((*T8_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18))) goto LA9_;
		T11_ = NIM_NIL;
		T12_ = (NI)0;
		T12_ = getFieldPosition__jsgen_2782(p, (*b)._kind_6.sons->data[((NI) 1)]);
		T13_ = NIM_NIL;
		T13_ = dollar___systemZdollars_3(T12_);
		T11_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 5);
appendString(T11_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_267));
appendString(T11_, T13_);
		unsureAsgnRef((void**) (&(*r).res), makeJSString__jsgen_396(T11_, NIM_TRUE));
	}
	goto LA6_;
	LA9_: ;
	{
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* f;
		NimStringDesc* T23_;
		{
			if (!!(((*(*b)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3)))) goto LA17_;
			internalErrorImpl__msgs_1441((*(*p).module).config, (*(*b)._kind_6.sons->data[((NI) 1)]).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_270), TM__RWNN386A4nZ2Ks5xVWQZ1Q_271);
		}
		LA17_: ;
		f = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
		{
			if (!((*f).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA21_;
			asgnRef((void**) (&(*f).loc.r), mangleName__jsgen_326((*p).module, f));
		}
		LA21_: ;
		T23_ = NIM_NIL;
		T23_ = dollar___ropes_250((*f).loc.r);
		unsureAsgnRef((void**) (&(*r).res), makeJSString__jsgen_396(T23_, NIM_TRUE));
	}
	LA6_: ;
	{
		NimStringDesc* argX60gensym570_;
		if (!!(!((a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))))) goto LA26_;
		argX60gensym570_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_272);
		internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym570_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_272);
	}
	LA26_: ;
	unsureAsgnRef((void**) (&(*r).address), a.res);
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genFieldAccess__jsgen_2824)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* otyp;
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
	(*r).typ = mapType__jsgen_295((*n).typ);
	otyp = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T5_;
		NI T6_;
		if (!((*otyp).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T5_[0] = (*r).res;
		T6_ = (NI)0;
		T6_ = getFieldPosition__jsgen_2782(p, (*n)._kind_6.sons->data[((NI) 1)]);
		T5_[1] = rope__ropes_115(((NI64) (T6_)));
		unsureAsgnRef((void**) (&(*r).res), percent___cgen_13428(T5_, 2));
		{
			if (!((*r).typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA9_;
			{
				NIM_BOOL T13_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym575_;
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T16_;
				tyArray__ts9cf9blICas1QWmw89bglZ7w T17_;
				T13_ = (NIM_BOOL)0;
				T13_ = needsTemp__jsgen_969(p, (*n)._kind_6.sons->data[((NI) 0)]);
				if (!T13_) goto LA14_;
				tmpX60gensym575_ = getTemp__jsgen_856(p, NIM_TRUE);
				nimZeroMem((void*)T16_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T16_[0] = tmpX60gensym575_;
				T16_[1] = (*r).res;
				unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2850(T16_, 2));
				nimZeroMem((void*)T17_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T17_[0] = tmpX60gensym575_;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T17_, 1));
				unsureAsgnRef((void**) (&(*r).tmpLoc), tmpX60gensym575_);
			}
			goto LA11_;
			LA14_: ;
			{
				tyArray__ts9cf9blICas1QWmw89bglZ7w T19_;
				tyArray__ts9cf9blICas1QWmw89bglZ7w T20_;
				nimZeroMem((void*)T19_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T19_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2860(T19_, 1));
				nimZeroMem((void*)T20_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T20_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T20_, 1));
			}
			LA11_: ;
		}
		LA9_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* f;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T30_;
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3)))) goto LA24_;
			internalErrorImpl__msgs_1441((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_273), TM__RWNN386A4nZ2Ks5xVWQZ1Q_274);
		}
		LA24_: ;
		f = (*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
		{
			if (!((*f).loc.r == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA28_;
			asgnRef((void**) (&(*f).loc.r), mangleName__jsgen_326((*p).module, f));
		}
		LA28_: ;
		nimZeroMem((void*)T30_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T30_[0] = (*r).res;
		T30_[1] = (*f).loc.r;
		unsureAsgnRef((void**) (&(*r).res), percent___cgen_7469(T30_, 2));
		{
			if (!((*r).typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA33_;
			{
				NIM_BOOL T37_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpX60gensym584_;
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T40_;
				tyArray__ts9cf9blICas1QWmw89bglZ7w T41_;
				T37_ = (NIM_BOOL)0;
				T37_ = needsTemp__jsgen_969(p, (*n)._kind_6.sons->data[((NI) 1)]);
				if (!T37_) goto LA38_;
				tmpX60gensym584_ = getTemp__jsgen_856(p, NIM_TRUE);
				nimZeroMem((void*)T40_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T40_[0] = tmpX60gensym584_;
				T40_[1] = (*r).res;
				unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2850(T40_, 2));
				nimZeroMem((void*)T41_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T41_[0] = tmpX60gensym584_;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T41_, 1));
				unsureAsgnRef((void**) (&(*r).tmpLoc), tmpX60gensym584_);
			}
			goto LA35_;
			LA38_: ;
			{
				tyArray__ts9cf9blICas1QWmw89bglZ7w T43_;
				tyArray__ts9cf9blICas1QWmw89bglZ7w T44_;
				nimZeroMem((void*)T43_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T43_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2860(T43_, 1));
				nimZeroMem((void*)T44_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T44_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T44_, 1));
			}
			LA35_: ;
		}
		LA33_: ;
	}
	LA1_: ;
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genArrayAddr__jsgen_3006)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA b;
	tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ first;
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* m;
	tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg T6_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* x;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&first), sizeof(tyObject_Int128__ZSLNyYMaD8rorY4HZRFSUQ));
	(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 64))) goto LA3_;
		m = (*n)._kind_6.sons->data[((NI) 0)];
	}
	goto LA1_;
	LA3_: ;
	{
		m = n;
	}
	LA1_: ;
	gen__jsgen_784(p, (*m)._kind_6.sons->data[((NI) 0)], (&a));
	gen__jsgen_784(p, (*m)._kind_6.sons->data[((NI) 1)], (&b));
	nimZeroMem((void*)(&T6_), sizeof(tyTuple__xIPPgKI3s9a9c79aFyHPbe0cg));
	maybeMakeTemp__jsgen_982(p, (*m)._kind_6.sons->data[((NI) 0)], (&a), (&T6_));
	x = NIM_NIL;
	x = T6_.Field0;
	tmp = NIM_NIL;
	tmp = T6_.Field1;
	unsureAsgnRef((void**) (&(*r).address), x);
	typ = skipTypes__ast_3723((*(*m)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_218);
	{
		if (!((*typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16))) goto LA9_;
		first = firstOrd__types_1406((*(*p).module).config, (*typ).sons->data[((NI) 0)]);
	}
	LA9_: ;
	{
		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 4))&31U)))!=0)) goto LA13_;
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_219));
		{
			NIM_BOOL T17_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T20_;
			T17_ = (NIM_BOOL)0;
			T17_ = eqeq___int495056_952(first, IL64(0));
			if (!T17_) goto LA18_;
			nimZeroMem((void*)T20_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T20_[0] = b.res;
			T20_[1] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1074(T20_, 2));
		}
		goto LA15_;
		LA18_: ;
		{
			tyArray__FKvM4FDhljtt88k8FkGthA T22_;
			nimZeroMem((void*)T22_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			T22_[0] = b.res;
			T22_[1] = rope__jsgen_400(first);
			T22_[2] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1079(T22_, 3));
		}
		LA15_: ;
	}
	goto LA11_;
	LA13_: ;
	{
		NIM_BOOL T24_;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T27_;
		T24_ = (NIM_BOOL)0;
		T24_ = eqeq___int495056_952(first, IL64(0));
		if (!!(T24_)) goto LA25_;
		nimZeroMem((void*)T27_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T27_[0] = b.res;
		T27_[1] = rope__jsgen_400(first);
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1084(T27_, 2));
	}
	goto LA11_;
	LA25_: ;
	{
		unsureAsgnRef((void**) (&(*r).res), b.res);
	}
	LA11_: ;
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genAddr__jsgen_2908)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3))) goto LA3_;
		genSymAddr__jsgen_3106(p, n, ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL), r);
	}
	goto LA1_;
	LA3_: ;
	{
		switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3):
		{
			genSymAddr__jsgen_3106(p, (*n)._kind_6.sons->data[((NI) 0)], (*n).typ, r);
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 46):
		{
			genCheckedFieldOp__jsgen_2912(p, (*n)._kind_6.sons->data[((NI) 0)], (*n).typ, r);
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 45):
		{
			{
				tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T11_;
				T11_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
				T11_ = mapType__jsgen_322(p, (*n).typ);
				if (!(T11_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA12_;
				genFieldAddr__jsgen_2786(p, (*n)._kind_6.sons->data[((NI) 0)], r);
			}
			goto LA9_;
			LA12_: ;
			{
				genFieldAccess__jsgen_2824(p, (*n)._kind_6.sons->data[((NI) 0)], r);
			}
			LA9_: ;
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 42):
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* ty;
			ty = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
			{
				if (!((*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 17) || (*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16) || (*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18) || (*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 27) || (*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 19) || (*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 48))) goto LA18_;
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
			}
			goto LA16_;
			LA18_: ;
			{
				tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg kindOfIndexedExpr;
				tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T21_;
				T21_ = NIM_NIL;
				T21_ = skipTypes__ast_3723((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
				kindOfIndexedExpr = (*T21_).kind;
				switch (kindOfIndexedExpr) {
				case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16):
				case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 27):
				case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 24):
				case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28):
				case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29):
				case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 48):
				{
					genArrayAddr__jsgen_3006(p, (*n)._kind_6.sons->data[((NI) 0)], r);
				}
				break;
				case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18):
				{
					genFieldAddr__jsgen_2786(p, (*n)._kind_6.sons->data[((NI) 0)], r);
				}
				break;
				case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 10):
				{
					NI T25_;
					T25_ = (NI)0;
					T25_ = len__ast_3155(n);
					genAddr__jsgen_2908(p, (*n)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))], r);
				}
				break;
				default:
				{
					NimStringDesc* T27_;
					T27_ = NIM_NIL;
					T27_ = rawNewString((reprEnum((NI)kindOfIndexedExpr, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)) ? reprEnum((NI)kindOfIndexedExpr, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_))->Sup.len : 0) + 21);
appendString(T27_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_275));
appendString(T27_, reprEnum((NI)kindOfIndexedExpr, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)));
appendChar(T27_, 41);
					internalErrorImpl__msgs_1441((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, T27_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_276);
				}
				break;
				}
			}
			LA16_: ;
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 66):
		{
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 65):
		{
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 64):
		{
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 60):
		{
			genAddr__jsgen_2908(p, (*n)._kind_6.sons->data[((NI) 0)], r);
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 126):
		{
			{
				NI T35_;
				T35_ = (NI)0;
				T35_ = len__ast_3155(n);
				if (!(T35_ == ((NI) 1))) goto LA36_;
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
			}
			goto LA33_;
			LA36_: ;
			{
				internalErrorImpl__msgs_1441((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_277), TM__RWNN386A4nZ2Ks5xVWQZ1Q_278);
			}
			LA33_: ;
		}
		break;
		case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 26) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 32):
		{
			{
				if (!((*(*(*n)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 27))) goto LA42_;
				gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
			}
			goto LA40_;
			LA42_: ;
			{
				NimStringDesc* T45_;
				T45_ = NIM_NIL;
				T45_ = rawNewString((reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_)) ? reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_))->Sup.len : 0) + 9);
appendString(T45_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_279));
appendString(T45_, reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_)));
				internalErrorImpl__msgs_1441((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, T45_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_280);
			}
			LA40_: ;
		}
		break;
		default:
		{
			NimStringDesc* T47_;
			T47_ = NIM_NIL;
			T47_ = rawNewString((reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_)) ? reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_))->Sup.len : 0) + 9);
appendString(T47_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_279));
appendString(T47_, reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_)));
			internalErrorImpl__msgs_1441((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, T47_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_281);
		}
		break;
		}
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genDeref__jsgen_3506)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
	tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ t;
	it = (*n)._kind_6.sons->data[((NI) 0)];
	t = mapType__jsgen_322(p, (*it).typ);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (t == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8));
		if (T3_) goto LA4_;
		T3_ = ((*(*it).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47));
		LA4_: ;
		if (!T3_) goto LA5_;
		gen__jsgen_784(p, it, r);
	}
	goto LA1_;
	LA5_: ;
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
		nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, it, (&a));
		(*r).kind = a.kind;
		(*r).typ = mapType__jsgen_322(p, (*n).typ);
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T12_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T13_;
			if (!((*r).typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA10_;
			tmp = getTemp__jsgen_856(p, NIM_TRUE);
			nimZeroMem((void*)T12_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T12_[0] = tmp;
			T12_[1] = rdLoc__jsgen_188((&a));
			unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2850(T12_, 2));
			nimZeroMem((void*)T13_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T13_[0] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T13_, 1));
			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
		}
		goto LA8_;
		LA10_: ;
		{
			if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA15_;
			{
				if (!!((a.tmpLoc == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA19_;
				unsureAsgnRef((void**) (&(*r).tmpLoc), a.tmpLoc);
			}
			LA19_: ;
			unsureAsgnRef((void**) (&(*r).res), rdLoc__jsgen_188((&a)));
		}
		goto LA8_;
		LA15_: ;
		{
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_282), TM__RWNN386A4nZ2Ks5xVWQZ1Q_283);
		}
		LA8_: ;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrayAccess__jsgen_3047)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* ty;
	ty = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
	{
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T5_;
		if (!((*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 22) || (*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21) || (*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47) || (*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 45))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = lastSon__ast_3731(ty);
		ty = skipTypes__ast_3723(T5_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
	}
	LA3_: ;
	switch ((*ty).kind) {
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 16):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 27):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 24):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29):
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 48):
	{
		genArrayAddr__jsgen_3006(p, n, r);
	}
	break;
	case ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 18):
	{
		genFieldAddr__jsgen_2786(p, n, r);
	}
	break;
	default:
	{
		NimStringDesc* T9_;
		T9_ = NIM_NIL;
		T9_ = rawNewString((reprEnum((NI)(*ty).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)) ? reprEnum((NI)(*ty).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_))->Sup.len : 0) + 21);
appendString(T9_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_275));
appendString(T9_, reprEnum((NI)(*ty).kind, (&NTIttypekind__b28l2MkhJpnFhatVrsrXpg_)));
appendChar(T9_, 41);
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, T9_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_284);
	}
	break;
	}
	(*r).typ = mapType__jsgen_295((*n).typ);
	{
		if (!((*r).res == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA12_;
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_285), TM__RWNN386A4nZ2Ks5xVWQZ1Q_286);
	}
	LA12_: ;
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T18_;
		if (!((*ty).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29))) goto LA16_;
		nimZeroMem((void*)T18_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T18_[0] = (*r).address;
		T18_[1] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_3071(T18_, 2));
	}
	goto LA14_;
	LA16_: ;
	{
		if (!((*r).typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA20_;
		{
			NIM_BOOL T24_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T27_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T28_;
			T24_ = (NIM_BOOL)0;
			T24_ = needsTemp__jsgen_969(p, (*n)._kind_6.sons->data[((NI) 0)]);
			if (!T24_) goto LA25_;
			tmp = getTemp__jsgen_856(p, NIM_TRUE);
			nimZeroMem((void*)T27_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T27_[0] = tmp;
			T27_[1] = rdLoc__jsgen_188((&(*r)));
			unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2850(T27_, 2));
			nimZeroMem((void*)T28_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T28_[0] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T28_, 1));
			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
		}
		goto LA22_;
		LA25_: ;
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* x;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T30_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T31_;
			x = rdLoc__jsgen_188((&(*r)));
			nimZeroMem((void*)T30_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T30_[0] = x;
			unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2860(T30_, 1));
			nimZeroMem((void*)T31_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T31_[0] = x;
			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2855(T31_, 1));
		}
		LA22_: ;
	}
	goto LA14_;
	LA20_: ;
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T33_;
		nimZeroMem((void*)T33_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T33_[0] = (*r).address;
		T33_[1] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent___cgen_6805(T33_, 2));
	}
	LA14_: ;
	(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, upConv__jsgen_5788)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
}
N_LIB_PRIVATE N_NIMCALL(void, genCast__jsgen_6106)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* dest;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* src;
	NIM_BOOL toInt;
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ T5_;
	NIM_BOOL toUint;
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ T6_;
	NIM_BOOL fromInt;
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ T7_;
	NIM_BOOL fromUint;
	tyObject_HSlice__5MokM0MxT5ZF4tSog3uzVQ T8_;
{	dest = skipTypes__ast_3723((*n).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
	src = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
	{
		if (!((*dest).kind == (*src).kind)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = dotdot___semfold_951(((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31), ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 34));
	toInt = contains__semfold_973(T5_, (*dest).kind);
	T6_ = dotdot___semfold_951(((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40), ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 43));
	toUint = contains__semfold_973(T6_, (*dest).kind);
	T7_ = dotdot___semfold_951(((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 31), ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 34));
	fromInt = contains__semfold_973(T7_, (*src).kind);
	T8_ = dotdot___semfold_951(((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40), ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 43));
	fromUint = contains__semfold_973(T8_, (*src).kind);
	{
		NIM_BOOL T11_;
		NIM_BOOL T13_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* trimmer;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T17_;
		T11_ = (NIM_BOOL)0;
		T11_ = toUint;
		if (!(T11_)) goto LA12_;
		T13_ = (NIM_BOOL)0;
		T13_ = fromInt;
		if (T13_) goto LA14_;
		T13_ = fromUint;
		LA14_: ;
		T11_ = T13_;
		LA12_: ;
		if (!T11_) goto LA15_;
		trimmer = unsignedTrimmerJS__jsgen_1119((*dest).size);
		nimZeroMem((void*)T17_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T17_[0] = (*r).res;
		T17_[1] = trimmer;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5769(T17_, 2));
	}
	goto LA9_;
	LA15_: ;
	{
		if (!toInt) goto LA19_;
		{
			if (!fromInt) goto LA23_;
			goto BeforeRet_;
		}
		goto LA21_;
		LA23_: ;
		{
			if (!fromUint) goto LA26_;
			{
				NIM_BOOL T30_;
				tyArray__ts9cf9blICas1QWmw89bglZ7w T34_;
				T30_ = (NIM_BOOL)0;
				T30_ = ((*src).size == IL64(4));
				if (!(T30_)) goto LA31_;
				T30_ = ((*dest).size == IL64(4));
				LA31_: ;
				if (!T30_) goto LA32_;
				nimZeroMem((void*)T34_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T34_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_6383(T34_, 1));
			}
			goto LA28_;
			LA32_: ;
			{
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* trimmer_2;
				NimStringDesc* minuend;
				tyArray__FKvM4FDhljtt88k8FkGthA T40_;
				trimmer_2 = unsignedTrimmerJS__jsgen_1119((*dest).size);
				switch ((*dest).size) {
				case ((NI) 1):
				{
					minuend = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_287));
				}
				break;
				case ((NI) 2):
				{
					minuend = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_288));
				}
				break;
				case ((NI) 4):
				{
					minuend = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_289));
				}
				break;
				default:
				{
					minuend = ((NimStringDesc*) NIM_NIL);
				}
				break;
				}
				nimZeroMem((void*)T40_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
				T40_[0] = rope__ropes_109(minuend);
				T40_[1] = (*r).res;
				T40_[2] = trimmer_2;
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_6390(T40_, 3));
			}
			LA28_: ;
		}
		goto LA21_;
		LA26_: ;
		LA21_: ;
	}
	goto LA9_;
	LA19_: ;
	{
		NIM_BOOL T42_;
		NIM_BOOL T43_;
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T45_;
		tyArray__dAmhZbEWrTM5xES2bTVweg T49_;
		T42_ = (NIM_BOOL)0;
		T43_ = (NIM_BOOL)0;
		T43_ = ((*src).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21));
		if (!(T43_)) goto LA44_;
		T45_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
		T45_ = mapType__jsgen_322(p, src);
		T43_ = (T45_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8));
		LA44_: ;
		T42_ = T43_;
		if (!(T42_)) goto LA46_;
		T42_ = ((*dest).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 26));
		LA46_: ;
		if (!T42_) goto LA47_;
		unsureAsgnRef((void**) (&(*r).address), (*r).res);
		nimZeroMem((void*)T49_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_6407(T49_, 0));
		(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
	}
	goto LA9_;
	LA47_: ;
	{
		NIM_BOOL T51_;
		NIM_BOOL T52_;
		tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T54_;
		T51_ = (NIM_BOOL)0;
		T52_ = (NIM_BOOL)0;
		T52_ = ((*dest).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21));
		if (!(T52_)) goto LA53_;
		T54_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
		T54_ = mapType__jsgen_322(p, dest);
		T52_ = (T54_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8));
		LA53_: ;
		T51_ = T52_;
		if (!(T51_)) goto LA55_;
		T51_ = ((*src).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 26));
		LA55_: ;
		if (!T51_) goto LA56_;
		unsureAsgnRef((void**) (&(*r).res), (*r).address);
		(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8);
	}
	goto LA9_;
	LA56_: ;
	LA9_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genRangeChck__jsgen_5793)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r, NimStringDesc* magic) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 3))&31U)))!=0));
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T6_ = NIM_NIL;
		T6_ = skipTypes__ast_3723((*n).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_206);
		T5_ = ((*T6_).kind >= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 40) && (*T6_).kind <= ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 44));
		if (!(T5_)) goto LA7_;
		T5_ = !((((*(*(*p).module).config).legacyFeatures &((NU8)1<<((NU)(((tyEnum_LegacyFeature__YfzcW9bRC8xGYaRkFXliJ2g) 1))&7U)))!=0));
		LA7_: ;
		T3_ = T5_;
		LA4_: ;
		if (!T3_) goto LA8_;
	}
	goto LA1_;
	LA8_: ;
	{
		tyArray__FKvM4FDhljtt88k8FkGthA T11_;
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 2)], (&b));
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_290));
		nimZeroMem((void*)T11_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
		T11_[0] = (*r).res;
		T11_[1] = a.res;
		T11_[2] = b.res;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5815(T11_, 3));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, convStrToCStr__jsgen_5820)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	{
		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 72))) goto LA3_;
		gen__jsgen_784(p, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], r);
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T10_;
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
		{
			if (!((*r).res == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA8_;
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_293), TM__RWNN386A4nZ2Ks5xVWQZ1Q_294);
		}
		LA8_: ;
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_233));
		nimZeroMem((void*)T10_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T10_[0] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5836(T10_, 1));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, convCStrToStr__jsgen_5841)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	{
		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 71))) goto LA3_;
		gen__jsgen_784(p, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], r);
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T10_;
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
		{
			if (!((*r).res == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL))) goto LA8_;
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_295), TM__RWNN386A4nZ2Ks5xVWQZ1Q_296);
		}
		LA8_: ;
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_192));
		nimZeroMem((void*)T10_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T10_[0] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1702(T10_, 1));
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBlock__jsgen_2253)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	NI idx;
	NI T1_;
	NI labl;
	tyArray__ts9cf9blICas1QWmw89bglZ7w T10_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T12_;
	tyArray__ts9cf9blICas1QWmw89bglZ7w T13_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
	(*p).unique += ((NI) 1);
	T1_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	idx = T1_;
	{
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* sym;
		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1)))) goto LA4_;
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3)))) goto LA8_;
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_297), TM__RWNN386A4nZ2Ks5xVWQZ1Q_298);
		}
		LA8_: ;
		sym = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		(*sym).loc.k = ((tyEnum_TLocKind__pD6N6rEUmrrqJbKE02Sezw) 10);
		(*sym).position = (NI)(idx + ((NI) 1));
	}
	LA4_: ;
	labl = (*p).unique;
	nimZeroMem((void*)T10_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
	T10_[0] = rope__ropes_115(((NI64) (labl)));
	T11_ = NIM_NIL;
	T11_ = percent___jsgen_2278(T10_, 1);
	T12_ = NIM_NIL;
	T12_ = indentLine__jsgen_97(p, T11_);
	add__ropes_159(&(*p).body, T12_);
	asgnRef((void**) (&(*p).blocks), (tySequence__kzO9aSSZqi8uJxXMUvASufg*) setLengthSeqV2(((*p).blocks)?&((*p).blocks)->Sup:NIM_NIL, (&NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_), ((NI) ((NI)(idx + ((NI) 1))))));
	(*p).blocks->data[idx].id = ((NI64)-((*p).unique));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 1)], r);
	asgnRef((void**) (&(*p).blocks), (tySequence__kzO9aSSZqi8uJxXMUvASufg*) setLengthSeqV2(((*p).blocks)?&((*p).blocks)->Sup:NIM_NIL, (&NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_), ((NI) (idx))));
	nimZeroMem((void*)T13_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
	T13_[0] = rope__ropes_115(((NI64) (labl)));
	T14_ = NIM_NIL;
	T14_ = percent___jsgen_2292(T13_, 1);
	T15_ = NIM_NIL;
	T15_ = indentLine__jsgen_97(p, T14_);
	add__ropes_159(&(*p).body, T15_);
}
N_LIB_PRIVATE N_NIMCALL(void, moveInto__jsgen_1947)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* src, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* dest) {
	{
		if (!!(((*src).kind == ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 0)))) goto LA3_;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T9_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T10_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
			if (!!(((*dest).kind == ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 0)))) goto LA7_;
			nimZeroMem((void*)T9_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T9_[0] = rdLoc__jsgen_188(dest);
			T9_[1] = rdLoc__jsgen_188((&(*src)));
			T10_ = NIM_NIL;
			T10_ = percent___jsgen_1959(T9_, 2);
			T11_ = NIM_NIL;
			T11_ = indentLine__jsgen_97(p, T10_);
			add__ropes_159(&(*p).body, T11_);
		}
		goto LA5_;
		LA7_: ;
		{
			tyArray__ts9cf9blICas1QWmw89bglZ7w T13_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
			nimZeroMem((void*)T13_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T13_[0] = rdLoc__jsgen_188((&(*src)));
			T14_ = NIM_NIL;
			T14_ = percent___cgen_7800(T13_, 1);
			T15_ = NIM_NIL;
			T15_ = indentLine__jsgen_97(p, T14_);
			add__ropes_159(&(*p).body, T15_);
		}
		LA5_: ;
		(*src).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 0);
		unsureAsgnRef((void**) (&(*src).res), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genIf__jsgen_2363)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA cond;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA stmt;
	NI toClose;
	NimStringDesc* T31_;
	NimStringDesc* T32_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T33_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T34_;
	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&stmt), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	toClose = ((NI) 0);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isEmptyType__ast_4780((*n).typ);
		if (!!(T3_)) goto LA4_;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 2);
		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_856(p, NIM_TRUE));
	}
	LA4_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
				tyArray__dAmhZbEWrTM5xES2bTVweg T28_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T29_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T30_;
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				it = (*n)._kind_6.sons->data[i];
				{
					NI T11_;
					tyArray__ts9cf9blICas1QWmw89bglZ7w T21_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T22_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T23_;
					T11_ = (NI)0;
					T11_ = len__ast_3155(it);
					if (!!((T11_ == ((NI) 1)))) goto LA12_;
					{
						tyArray__dAmhZbEWrTM5xES2bTVweg T18_;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T19_;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T20_;
						if (!(((NI) 0) < i)) goto LA16_;
						nimZeroMem((void*)T18_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
						T19_ = NIM_NIL;
						T19_ = percent___jsgen_2017(T18_, 0);
						T20_ = NIM_NIL;
						T20_ = indentLine__jsgen_97(p, T19_);
						add__ropes_159(&(*p).body, T20_);
						toClose += ((NI) 1);
					}
					LA16_: ;
					(*p).extraIndent += ((NI) 1);
					gen__jsgen_784(p, (*it)._kind_6.sons->data[((NI) 0)], (&cond));
					(*p).extraIndent -= ((NI) 1);
					nimZeroMem((void*)T21_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
					T21_[0] = rdLoc__jsgen_188((&cond));
					T22_ = NIM_NIL;
					T22_ = percent___jsgen_2400(T21_, 1);
					T23_ = NIM_NIL;
					T23_ = indentLine__jsgen_97(p, T22_);
					add__ropes_159(&(*p).body, T23_);
					gen__jsgen_784(p, (*it)._kind_6.sons->data[((NI) 1)], (&stmt));
				}
				goto LA9_;
				LA12_: ;
				{
					tyArray__dAmhZbEWrTM5xES2bTVweg T25_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T26_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T27_;
					nimZeroMem((void*)T25_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
					T26_ = NIM_NIL;
					T26_ = percent___jsgen_2017(T25_, 0);
					T27_ = NIM_NIL;
					T27_ = indentLine__jsgen_97(p, T26_);
					add__ropes_159(&(*p).body, T27_);
					(*p).extraIndent += ((NI) 1);
					gen__jsgen_784(p, (*it)._kind_6.sons->data[((NI) 0)], (&stmt));
					(*p).extraIndent -= ((NI) 1);
				}
				LA9_: ;
				moveInto__jsgen_1947(p, (&stmt), (&(*r)));
				nimZeroMem((void*)T28_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
				T29_ = NIM_NIL;
				T29_ = percent___cgen_7535(T28_, 0);
				T30_ = NIM_NIL;
				T30_ = indentLine__jsgen_97(p, T29_);
				add__ropes_159(&(*p).body, T30_);
				i_2 += ((NI) 1);
			} LA8: ;
		}
	}
	T31_ = NIM_NIL;
	T32_ = NIM_NIL;
	T32_ = nsuRepeatChar(125, ((NI) (toClose)));
	T31_ = rawNewString((T32_ ? T32_->Sup.len : 0) + 1);
appendString(T31_, T32_);
appendString(T31_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_113));
	T33_ = NIM_NIL;
	T33_ = rope__ropes_109(T31_);
	T34_ = NIM_NIL;
	T34_ = indentLine__jsgen_97(p, T33_);
	add__ropes_159(&(*p).body, T34_);
}
static N_INLINE(tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg*, X5BX5D___jsgen_1876)(tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg* s, NI sLen_0, NI i) {
	tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg* result;
	result = (tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg*)0;
	result = (&s[(NI)(sLen_0 - i)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genWhileStmt__jsgen_1857)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA cond;
	NI T6_;
	tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg* T7_;
	tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg* T8_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* labl;
	tyArray__ts9cf9blICas1QWmw89bglZ7w T9_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T10_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
	tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T12_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T13_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
	tyArray__ts9cf9blICas1QWmw89bglZ7w T15_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T16_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T17_;
	NI T18_;
	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	{
		NIM_BOOL T3_;
		NimStringDesc* argX60gensym353_;
		T3_ = (NIM_BOOL)0;
		T3_ = isEmptyType__ast_4780((*n).typ);
		if (!!(T3_)) goto LA4_;
		argX60gensym353_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_299);
		internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym353_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_299);
	}
	LA4_: ;
	genLineDir__jsgen_1836(p, n);
	(*p).unique += ((NI) 1);
	T6_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	asgnRef((void**) (&(*p).blocks), (tySequence__kzO9aSSZqi8uJxXMUvASufg*) setLengthSeqV2(((*p).blocks)?&((*p).blocks)->Sup:NIM_NIL, (&NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_), ((NI) ((NI)(T6_ + ((NI) 1))))));
	T7_ = (tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg*)0;
	T7_ = X5BX5D___jsgen_1876(((*p).blocks) ? ((*p).blocks->data) : NIM_NIL, ((*p).blocks ? (*p).blocks->Sup.len : 0), ((NI) 1));
	(*T7_).id = ((NI64)-((*p).unique));
	T8_ = (tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg*)0;
	T8_ = X5BX5D___jsgen_1876(((*p).blocks) ? ((*p).blocks->data) : NIM_NIL, ((*p).blocks ? (*p).blocks->Sup.len : 0), ((NI) 1));
	(*T8_).isLoop = NIM_TRUE;
	labl = rope__ropes_115(((NI64) ((*p).unique)));
	nimZeroMem((void*)T9_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
	T9_[0] = labl;
	T10_ = NIM_NIL;
	T10_ = percent___jsgen_1899(T9_, 1);
	T11_ = NIM_NIL;
	T11_ = indentLine__jsgen_97(p, T10_);
	add__ropes_159(&(*p).body, T11_);
	(*p).extraIndent += ((NI) 1);
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], (&cond));
	(*p).extraIndent -= ((NI) 1);
	nimZeroMem((void*)T12_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
	T12_[0] = cond.res;
	T12_[1] = labl;
	T13_ = NIM_NIL;
	T13_ = percent___jsgen_1913(T12_, 2);
	T14_ = NIM_NIL;
	T14_ = indentLine__jsgen_97(p, T13_);
	add__ropes_159(&(*p).body, T14_);
	(*p).extraIndent += ((NI) 1);
	genStmt__jsgen_788(p, (*n)._kind_6.sons->data[((NI) 1)]);
	(*p).extraIndent -= ((NI) 1);
	nimZeroMem((void*)T15_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
	T15_[0] = labl;
	T16_ = NIM_NIL;
	T16_ = percent___cgen_7535(T15_, 1);
	T17_ = NIM_NIL;
	T17_ = indentLine__jsgen_97(p, T16_);
	add__ropes_159(&(*p).body, T17_);
	T18_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	asgnRef((void**) (&(*p).blocks), (tySequence__kzO9aSSZqi8uJxXMUvASufg*) setLengthSeqV2(((*p).blocks)?&((*p).blocks)->Sup:NIM_NIL, (&NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_), ((NI) ((NI)(T18_ - ((NI) 1))))));
}
N_LIB_PRIVATE N_NIMCALL(void, genVarStmt__jsgen_4318)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* a;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				a = (*n)._kind_6.sons->data[i];
				{
					if (!!(((*a).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 125)))) goto LA6_;
					{
						tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* unpacked;
						if (!((*a).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 36))) goto LA10_;
						unpacked = lowerTupleUnpacking__lowerings_116((*(*p).module).graph, a, (*(*p).module).Sup.idgen, (*p).prc);
						genStmt__jsgen_788(p, unpacked);
					}
					goto LA8_;
					LA10_: ;
					{
						tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* v;
						v = (*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
						{
							NIM_BOOL T15_;
							T15_ = (NIM_BOOL)0;
							T15_ = !((((*v).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__Ic4ywZl9cdJtKSUkG4WZfHw) 3))&15U)))!=0));
							if (!(T15_)) goto LA16_;
							T15_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 6))&63U)))!=0));
							LA16_: ;
							if (!T15_) goto LA17_;
							genLineDir__jsgen_1836(p, a);
							{
								if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 28))&63U)))!=0))) goto LA21_;
								genVarInit__jsgen_3354(p, v, (*a)._kind_6.sons->data[((NI) 2)]);
							}
							goto LA19_;
							LA21_: ;
							{
								{
									if (!((*v).ast == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL))) goto LA26_;
									asgnRef((void**) (&(*v).ast), (*a)._kind_6.sons->data[((NI) 2)]);
								}
								LA26_: ;
							}
							LA19_: ;
						}
						LA17_: ;
					}
					LA8_: ;
				}
				LA6_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genCaseJS__jsgen_2145)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA cond;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA stmt;
	NI totalRange;
	NIM_BOOL stringSwitch;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T1_;
	tyArray__dAmhZbEWrTM5xES2bTVweg T65_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T66_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T67_;
	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&stmt), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	totalRange = ((NI) 0);
	genLineDir__jsgen_1836(p, n);
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], (&cond));
	T1_ = NIM_NIL;
	T1_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_206);
	stringSwitch = ((*T1_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28));
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T6_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T8_;
		if (!stringSwitch) goto LA4_;
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_233));
		nimZeroMem((void*)T6_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T6_[0] = rdLoc__jsgen_188((&cond));
		T7_ = NIM_NIL;
		T7_ = percent___jsgen_2159(T6_, 1);
		T8_ = NIM_NIL;
		T8_ = indentLine__jsgen_97(p, T7_);
		add__ropes_159(&(*p).body, T8_);
	}
	goto LA2_;
	LA4_: ;
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T10_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T12_;
		nimZeroMem((void*)T10_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T10_[0] = rdLoc__jsgen_188((&cond));
		T11_ = NIM_NIL;
		T11_ = percent___cgen_13803(T10_, 1);
		T12_ = NIM_NIL;
		T12_ = indentLine__jsgen_97(p, T11_);
		add__ropes_159(&(*p).body, T12_);
	}
	LA2_: ;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = isEmptyType__ast_4780((*n).typ);
		if (!!(T15_)) goto LA16_;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 2);
		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_856(p, NIM_TRUE));
	}
	LA16_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = ((NI) 1);
		{
			while (1) {
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
				if (!(i_2 < colontmp_)) goto LA20;
				i = i_2;
				it = (*n)._kind_6.sons->data[i];
				switch ((*it).kind) {
				case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 85):
				{
					tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* T53_;
					tyArray__dAmhZbEWrTM5xES2bTVweg T54_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T55_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T56_;
					{
						NI j;
						NI colontmp__2;
						NI T23_;
						NI i_3;
						j = (NI)0;
						colontmp__2 = (NI)0;
						T23_ = (NI)0;
						T23_ = len__ast_3155(it);
						colontmp__2 = (NI)(T23_ - ((NI) 1));
						i_3 = ((NI) 0);
						{
							while (1) {
								tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* e;
								if (!(i_3 < colontmp__2)) goto LA25;
								j = i_3;
								e = (*it)._kind_6.sons->data[j];
								{
									tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* v;
									if (!((*e).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 44))) goto LA28_;
									v = copyNode__ast_4324((*e)._kind_6.sons->data[((NI) 0)]);
									totalRange += ((NI) ((NI64)((*(*e)._kind_6.sons->data[((NI) 1)])._kind_1.intVal - (*v)._kind_1.intVal)));
									{
										if (!(((NI) 65535) < totalRange)) goto LA32_;
										liMessage__msgs_1128((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_302), ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 0), TM__RWNN386A4nZ2Ks5xVWQZ1Q_303, NIM_FALSE);
									}
									LA32_: ;
									{
										while (1) {
											tyArray__ts9cf9blICas1QWmw89bglZ7w T36_;
											tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T37_;
											tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T38_;
											if (!((*v)._kind_1.intVal <= (*(*e)._kind_6.sons->data[((NI) 1)])._kind_1.intVal)) goto LA35;
											gen__jsgen_784(p, v, (&cond));
											nimZeroMem((void*)T36_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
											T36_[0] = rdLoc__jsgen_188((&cond));
											T37_ = NIM_NIL;
											T37_ = percent___cgen_15437(T36_, 1);
											T38_ = NIM_NIL;
											T38_ = indentLine__jsgen_97(p, T37_);
											add__ropes_159(&(*p).body, T38_);
											(*v)._kind_1.intVal += ((NI) 1);
										} LA35: ;
									}
								}
								goto LA26_;
								LA28_: ;
								{
									{
										if (!stringSwitch) goto LA42_;
										switch ((*e).kind) {
										case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 20) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 22):
										{
											tyArray__ts9cf9blICas1QWmw89bglZ7w T45_;
											tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T46_;
											tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T47_;
											nimZeroMem((void*)T45_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
											T45_[0] = makeJSString__jsgen_396((*e)._kind_3.strVal, NIM_FALSE);
											T46_ = NIM_NIL;
											T46_ = percent___cgen_15437(T45_, 1);
											T47_ = NIM_NIL;
											T47_ = indentLine__jsgen_97(p, T46_);
											add__ropes_159(&(*p).body, T47_);
										}
										break;
										default:
										{
											internalErrorImpl__msgs_1441((*(*p).module).config, (*e).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_304), TM__RWNN386A4nZ2Ks5xVWQZ1Q_305);
										}
										break;
										}
									}
									goto LA40_;
									LA42_: ;
									{
										tyArray__ts9cf9blICas1QWmw89bglZ7w T50_;
										tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T51_;
										tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T52_;
										gen__jsgen_784(p, e, (&cond));
										nimZeroMem((void*)T50_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
										T50_[0] = rdLoc__jsgen_188((&cond));
										T51_ = NIM_NIL;
										T51_ = percent___cgen_15437(T50_, 1);
										T52_ = NIM_NIL;
										T52_ = indentLine__jsgen_97(p, T51_);
										add__ropes_159(&(*p).body, T52_);
									}
									LA40_: ;
								}
								LA26_: ;
								i_3 += ((NI) 1);
							} LA25: ;
						}
					}
					(*p).extraIndent += ((NI) 1);
					T53_ = NIM_NIL;
					T53_ = lastSon__ast_4833(it);
					gen__jsgen_784(p, T53_, (&stmt));
					moveInto__jsgen_1947(p, (&stmt), (&(*r)));
					nimZeroMem((void*)T54_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
					T55_ = NIM_NIL;
					T55_ = percent___cgen_7446(T54_, 0);
					T56_ = NIM_NIL;
					T56_ = indentLine__jsgen_97(p, T55_);
					add__ropes_159(&(*p).body, T56_);
					(*p).extraIndent -= ((NI) 1);
				}
				break;
				case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 88):
				{
					tyArray__dAmhZbEWrTM5xES2bTVweg T58_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T59_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T60_;
					tyArray__dAmhZbEWrTM5xES2bTVweg T61_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T62_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T63_;
					nimZeroMem((void*)T58_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
					T59_ = NIM_NIL;
					T59_ = percent___jsgen_2231(T58_, 0);
					T60_ = NIM_NIL;
					T60_ = indentLine__jsgen_97(p, T59_);
					add__ropes_159(&(*p).body, T60_);
					(*p).extraIndent += ((NI) 1);
					gen__jsgen_784(p, (*it)._kind_6.sons->data[((NI) 0)], (&stmt));
					moveInto__jsgen_1947(p, (&stmt), (&(*r)));
					nimZeroMem((void*)T61_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
					T62_ = NIM_NIL;
					T62_ = percent___cgen_7446(T61_, 0);
					T63_ = NIM_NIL;
					T63_ = indentLine__jsgen_97(p, T62_);
					add__ropes_159(&(*p).body, T63_);
					(*p).extraIndent -= ((NI) 1);
				}
				break;
				default:
				{
					internalErrorImpl__msgs_1441((*(*p).module).config, (*it).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_306), TM__RWNN386A4nZ2Ks5xVWQZ1Q_307);
				}
				break;
				}
				i_2 += ((NI) 1);
			} LA20: ;
		}
	}
	nimZeroMem((void*)T65_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
	T66_ = NIM_NIL;
	T66_ = percent___cgen_7535(T65_, 0);
	T67_ = NIM_NIL;
	T67_ = indentLine__jsgen_97(p, T66_);
	add__ropes_159(&(*p).body, T67_);
}
N_LIB_PRIVATE N_NIMCALL(void, genReturnStmt__jsgen_5861)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyArray__dAmhZbEWrTM5xES2bTVweg T10_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T11_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T12_;
	{
		if (!((*p).procDef == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL))) goto LA3_;
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_308), TM__RWNN386A4nZ2Ks5xVWQZ1Q_309);
	}
	LA3_: ;
	(*p).beforeRetNeeded = NIM_TRUE;
	{
		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1)))) goto LA7_;
		genStmt__jsgen_788(p, (*n)._kind_6.sons->data[((NI) 0)]);
	}
	goto LA5_;
	LA7_: ;
	{
		genLineDir__jsgen_1836(p, n);
	}
	LA5_: ;
	nimZeroMem((void*)T10_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
	T11_ = NIM_NIL;
	T11_ = percent___jsgen_5874(T10_, 0);
	T12_ = NIM_NIL;
	T12_ = indentLine__jsgen_97(p, T11_);
	add__ropes_159(&(*p).body, T12_);
}
N_LIB_PRIVATE N_NIMCALL(void, genBreakStmt__jsgen_2297)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NI idx;
	tyArray__ts9cf9blICas1QWmw89bglZ7w T17_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T18_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T19_;
	idx = (NI)0;
	genLineDir__jsgen_1836(p, n);
	{
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* sym;
		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1)))) goto LA3_;
		sym = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		idx = (NI)((*sym).position - ((NI) 1));
	}
	goto LA1_;
	LA3_: ;
	{
		NI T6_;
		T6_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
		idx = (NI)(T6_ - ((NI) 1));
		{
			while (1) {
				NIM_BOOL T9_;
				T9_ = (NIM_BOOL)0;
				T9_ = (((NI) 0) <= idx);
				if (!(T9_)) goto LA10_;
				T9_ = !((*p).blocks->data[idx].isLoop);
				LA10_: ;
				if (!T9_) goto LA8;
				idx -= ((NI) 1);
			} LA8: ;
		}
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = (idx < ((NI) 0));
			if (T13_) goto LA14_;
			T13_ = !((*p).blocks->data[idx].isLoop);
			LA14_: ;
			if (!T13_) goto LA15_;
			internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_310), TM__RWNN386A4nZ2Ks5xVWQZ1Q_311);
		}
		LA15_: ;
	}
	LA1_: ;
	(*p).blocks->data[idx].id = ((*p).blocks->data[idx].id > 0? ((*p).blocks->data[idx].id) : -((*p).blocks->data[idx].id));
	nimZeroMem((void*)T17_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
	T17_[0] = rope__ropes_115(((NI64) ((*p).blocks->data[idx].id)));
	T18_ = NIM_NIL;
	T18_ = percent___jsgen_2330(T17_, 1);
	T19_ = NIM_NIL;
	T19_ = indentLine__jsgen_97(p, T18_);
	add__ropes_159(&(*p).body, T19_);
}
N_LIB_PRIVATE N_NIMCALL(void, genAsgnAux__jsgen_2516)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* x, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* y, NIM_BOOL noCopyNeeded) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA b;
	tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ xtyp;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	xtyp = mapType__jsgen_322(p, (*x).typ);
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NI T6_;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T8_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*x).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 42));
		if (!(T4_)) goto LA5_;
		T6_ = (NI)0;
		T6_ = len__ast_3155(x);
		T4_ = (((NI) 2) <= T6_);
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA7_;
		T8_ = NIM_NIL;
		T8_ = skipTypes__ast_3723((*(*x)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
		T3_ = ((*T8_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 29));
		LA7_: ;
		if (!T3_) goto LA9_;
		liMessage__msgs_1128((*(*p).module).config, (*x).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_312), ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 0), TM__RWNN386A4nZ2Ks5xVWQZ1Q_313, NIM_FALSE);
	}
	LA9_: ;
	gen__jsgen_784(p, x, (&a));
	genLineDir__jsgen_1836(p, y);
	gen__jsgen_784(p, y, (&b));
	{
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T13_;
		T13_ = NIM_NIL;
		T13_ = skipTypes__ast_3723((*x).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
		if (!((*T13_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 24) || (*T13_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28))) goto LA14_;
		xtyp = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 4);
	}
	LA14_: ;
	switch (xtyp) {
	case ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 4):
	{
		{
			NIM_BOOL T19_;
			NIM_BOOL T20_;
			NIM_BOOL T22_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T27_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T28_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T29_;
			T19_ = (NIM_BOOL)0;
			T20_ = (NIM_BOOL)0;
			T20_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23) || (*(*x).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47));
			if (T20_) goto LA21_;
			T22_ = (NIM_BOOL)0;
			T22_ = needsNoCopy__jsgen_2488(p, y);
			if (!(T22_)) goto LA23_;
			T22_ = needsNoCopy__jsgen_2488(p, x);
			LA23_: ;
			T20_ = T22_;
			LA21_: ;
			T19_ = T20_;
			if (T19_) goto LA24_;
			T19_ = noCopyNeeded;
			LA24_: ;
			if (!T19_) goto LA25_;
			nimZeroMem((void*)T27_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T27_[0] = rdLoc__jsgen_188((&a));
			T27_[1] = rdLoc__jsgen_188((&b));
			T28_ = NIM_NIL;
			T28_ = percent___jsgen_1959(T27_, 2);
			T29_ = NIM_NIL;
			T29_ = indentLine__jsgen_97(p, T28_);
			add__ropes_159(&(*p).body, T29_);
		}
		goto LA17_;
		LA25_: ;
		{
			tyArray__FKvM4FDhljtt88k8FkGthA T31_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T32_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T33_;
			useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
			nimZeroMem((void*)T31_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
			T31_[0] = rdLoc__jsgen_188((&a));
			T31_[1] = b.res;
			T31_[2] = genTypeInfo__jsgen_403(p, (*y).typ);
			T32_ = NIM_NIL;
			T32_ = percent___jsgen_2548(T31_, 3);
			T33_ = NIM_NIL;
			T33_ = indentLine__jsgen_97(p, T32_);
			add__ropes_159(&(*p).body, T33_);
		}
		LA17_: ;
	}
	break;
	case ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 8):
	{
		{
			NIM_BOOL T37_;
			NIM_BOOL T38_;
			NIM_BOOL T40_;
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T45_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T46_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T47_;
			T37_ = (NIM_BOOL)0;
			T38_ = (NIM_BOOL)0;
			T38_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23) || (*(*x).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47));
			if (T38_) goto LA39_;
			T40_ = (NIM_BOOL)0;
			T40_ = needsNoCopy__jsgen_2488(p, y);
			if (!(T40_)) goto LA41_;
			T40_ = needsNoCopy__jsgen_2488(p, x);
			LA41_: ;
			T38_ = T40_;
			LA39_: ;
			T37_ = T38_;
			if (T37_) goto LA42_;
			T37_ = noCopyNeeded;
			LA42_: ;
			if (!T37_) goto LA43_;
			nimZeroMem((void*)T45_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T45_[0] = rdLoc__jsgen_188((&a));
			T45_[1] = rdLoc__jsgen_188((&b));
			T46_ = NIM_NIL;
			T46_ = percent___jsgen_1959(T45_, 2);
			T47_ = NIM_NIL;
			T47_ = indentLine__jsgen_97(p, T46_);
			add__ropes_159(&(*p).body, T47_);
		}
		goto LA35_;
		LA43_: ;
		{
			useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_120));
			{
				NIM_BOOL T51_;
				tyArray__FKvM4FDhljtt88k8FkGthA T55_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T56_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T57_;
				T51_ = (NIM_BOOL)0;
				T51_ = ((*x).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 65) || (*x).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 47));
				if (!(T51_)) goto LA52_;
				T51_ = ((*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 27) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 29) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 30) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 31) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 26) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 28) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 32));
				LA52_: ;
				if (!T51_) goto LA53_;
				nimZeroMem((void*)T55_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
				T55_[0] = a.res;
				T55_[1] = b.res;
				T55_[2] = genTypeInfo__jsgen_403(p, (*x).typ);
				T56_ = NIM_NIL;
				T56_ = percent___jsgen_2570(T55_, 3);
				T57_ = NIM_NIL;
				T57_ = indentLine__jsgen_97(p, T56_);
				add__ropes_159(&(*p).body, T57_);
			}
			goto LA49_;
			LA53_: ;
			{
				tyArray__FKvM4FDhljtt88k8FkGthA T59_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T60_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T61_;
				nimZeroMem((void*)T59_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
				T59_[0] = a.res;
				T59_[1] = b.res;
				T59_[2] = genTypeInfo__jsgen_403(p, (*x).typ);
				T60_ = NIM_NIL;
				T60_ = percent___jsgen_2575(T59_, 3);
				T61_ = NIM_NIL;
				T61_ = indentLine__jsgen_97(p, T60_);
				add__ropes_159(&(*p).body, T61_);
			}
			LA49_: ;
		}
		LA35_: ;
	}
	break;
	case ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9):
	{
		{
			NIM_BOOL T65_;
			T65_ = (NIM_BOOL)0;
			T65_ = !((a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9)));
			if (T65_) goto LA66_;
			T65_ = !((b.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9)));
			LA66_: ;
			if (!T65_) goto LA67_;
			{
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmp;
				tyArray__InO6xIOhXMnkCXPnEYWwWg T73_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T74_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T75_;
				if (!((*y).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 27))) goto LA71_;
				tmp = getTemp__jsgen_856(p, NIM_FALSE);
				nimZeroMem((void*)T73_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
				T73_[0] = tmp;
				T73_[1] = a.address;
				T73_[2] = a.res;
				T73_[3] = rdLoc__jsgen_188((&b));
				T74_ = NIM_NIL;
				T74_ = percent___jsgen_2593(T73_, 4);
				T75_ = NIM_NIL;
				T75_ = indentLine__jsgen_97(p, T74_);
				add__ropes_159(&(*p).body, T75_);
			}
			goto LA69_;
			LA71_: ;
			{
				tyArray__FKvM4FDhljtt88k8FkGthA T79_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T80_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T81_;
				if (!(b.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA77_;
				nimZeroMem((void*)T79_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
				T79_[0] = a.res;
				T79_[1] = b.address;
				T79_[2] = b.res;
				T80_ = NIM_NIL;
				T80_ = percent___jsgen_2602(T79_, 3);
				T81_ = NIM_NIL;
				T81_ = indentLine__jsgen_97(p, T80_);
				add__ropes_159(&(*p).body, T81_);
			}
			goto LA69_;
			LA77_: ;
			{
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T89_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T90_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T91_;
				if (!(b.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0))) goto LA83_;
				{
					NimStringDesc* argX60gensym522_;
					if (!!((b.address == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA87_;
					argX60gensym522_ = toFileLineCol__msgs_625(TM__RWNN386A4nZ2Ks5xVWQZ1Q_314);
					internalErrorImpl__msgs_1441((*(*p).module).config, unknownLineInfo__lineinfos_284, argX60gensym522_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_314);
				}
				LA87_: ;
				nimZeroMem((void*)T89_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T89_[0] = a.address;
				T89_[1] = b.res;
				T90_ = NIM_NIL;
				T90_ = percent___jsgen_2619(T89_, 2);
				T91_ = NIM_NIL;
				T91_ = indentLine__jsgen_97(p, T90_);
				add__ropes_159(&(*p).body, T91_);
			}
			goto LA69_;
			LA83_: ;
			{
				NIM_BOOL T93_;
				tyArray__FKvM4FDhljtt88k8FkGthA T97_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T98_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T99_;
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T100_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T101_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T102_;
				tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T103_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T104_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T105_;
				T93_ = (NIM_BOOL)0;
				T93_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 23));
				if (!(T93_)) goto LA94_;
				T93_ = ((*(*y).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 21));
				LA94_: ;
				if (!T93_) goto LA95_;
				nimZeroMem((void*)T97_, sizeof(tyArray__FKvM4FDhljtt88k8FkGthA));
				T97_[0] = a.res;
				T97_[1] = b.address;
				T97_[2] = b.res;
				T98_ = NIM_NIL;
				T98_ = percent___jsgen_2602(T97_, 3);
				T99_ = NIM_NIL;
				T99_ = indentLine__jsgen_97(p, T98_);
				add__ropes_159(&(*p).body, T99_);
				nimZeroMem((void*)T100_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T100_[0] = a.address;
				T100_[1] = b.res;
				T101_ = NIM_NIL;
				T101_ = percent___jsgen_1959(T100_, 2);
				T102_ = NIM_NIL;
				T102_ = indentLine__jsgen_97(p, T101_);
				add__ropes_159(&(*p).body, T102_);
				nimZeroMem((void*)T103_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
				T103_[0] = rdLoc__jsgen_188((&a));
				T103_[1] = rdLoc__jsgen_188((&b));
				T104_ = NIM_NIL;
				T104_ = percent___jsgen_1959(T103_, 2);
				T105_ = NIM_NIL;
				T105_ = indentLine__jsgen_97(p, T104_);
				add__ropes_159(&(*p).body, T105_);
			}
			goto LA69_;
			LA95_: ;
			{
				if (!(a.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA107_;
				{
					tyArray__InO6xIOhXMnkCXPnEYWwWg T113_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T114_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T115_;
					if (!!((b.address == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA111_;
					nimZeroMem((void*)T113_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
					T113_[0] = a.address;
					T113_[1] = b.address;
					T113_[2] = a.res;
					T113_[3] = b.res;
					T114_ = NIM_NIL;
					T114_ = percent___jsgen_2652(T113_, 4);
					T115_ = NIM_NIL;
					T115_ = indentLine__jsgen_97(p, T114_);
					add__ropes_159(&(*p).body, T115_);
				}
				goto LA109_;
				LA111_: ;
				{
					tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T117_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T118_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T119_;
					nimZeroMem((void*)T117_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
					T117_[0] = a.address;
					T117_[1] = b.res;
					T118_ = NIM_NIL;
					T118_ = percent___jsgen_1959(T117_, 2);
					T119_ = NIM_NIL;
					T119_ = indentLine__jsgen_97(p, T118_);
					add__ropes_159(&(*p).body, T119_);
				}
				LA109_: ;
			}
			goto LA69_;
			LA107_: ;
			{
				tyTuple__x06rJgrLAhZPc8rLiIC9c6A T121_;
				NimStringDesc* T122_;
				nimZeroMem((void*)(&T121_), sizeof(tyTuple__x06rJgrLAhZPc8rLiIC9c6A));
				T121_.Field0 = copyString(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_318));
				T121_.Field1 = b.typ;
				T121_.Field2 = a.typ;
				T122_ = NIM_NIL;
				T122_ = dollar___jsgen_2661(T121_);
				internalErrorImpl__msgs_1441((*(*p).module).config, (*x).info, T122_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_319);
			}
			LA69_: ;
		}
		goto LA63_;
		LA67_: ;
		{
			tyArray__InO6xIOhXMnkCXPnEYWwWg T126_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T127_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T128_;
			if (!!((b.address == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA124_;
			nimZeroMem((void*)T126_, sizeof(tyArray__InO6xIOhXMnkCXPnEYWwWg));
			T126_[0] = a.address;
			T126_[1] = b.address;
			T126_[2] = a.res;
			T126_[3] = b.res;
			T127_ = NIM_NIL;
			T127_ = percent___jsgen_2652(T126_, 4);
			T128_ = NIM_NIL;
			T128_ = indentLine__jsgen_97(p, T127_);
			add__ropes_159(&(*p).body, T128_);
		}
		goto LA63_;
		LA124_: ;
		{
			tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T130_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T131_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T132_;
			nimZeroMem((void*)T130_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
			T130_[0] = a.address;
			T130_[1] = b.res;
			T131_ = NIM_NIL;
			T131_ = percent___jsgen_1959(T130_, 2);
			T132_ = NIM_NIL;
			T132_ = indentLine__jsgen_97(p, T131_);
			add__ropes_159(&(*p).body, T132_);
		}
		LA63_: ;
	}
	break;
	default:
	{
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T134_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T135_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T136_;
		nimZeroMem((void*)T134_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T134_[0] = rdLoc__jsgen_188((&a));
		T134_[1] = rdLoc__jsgen_188((&b));
		T135_ = NIM_NIL;
		T135_ = percent___jsgen_1959(T134_, 2);
		T136_ = NIM_NIL;
		T136_ = indentLine__jsgen_97(p, T135_);
		add__ropes_159(&(*p).body, T136_);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genAsgn__jsgen_2734)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	genAsgnAux__jsgen_2516(p, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(void, genFastAsgn__jsgen_2739)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	NIM_BOOL noCopy;
	tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T1_;
	T1_ = NIM_NIL;
	T1_ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_91);
	noCopy = ((*T1_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 24) || (*T1_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28));
	genAsgnAux__jsgen_2516(p, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], noCopy);
}
N_LIB_PRIVATE N_NIMCALL(void, genAsmOrEmitStmt__jsgen_2335)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T1_;
	genLineDir__jsgen_1836(p, n);
	T1_ = NIM_NIL;
	T1_ = indentLine__jsgen_97(p, ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	add__ropes_159(&(*p).body, T1_);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				it = (*n)._kind_6.sons->data[i];
				switch ((*it).kind) {
				case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 20) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 22):
				{
					add__ropes_162(&(*p).body, (*it)._kind_3.strVal);
				}
				break;
				case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3):
				{
					tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* v;
					v = (*it)._kind_4.sym;
					{
						if (!NIM_FALSE) goto LA9_;
					}
					goto LA7_;
					LA9_: ;
					{
						tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA r;
						tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T20_;
						nimZeroMem((void*)(&r), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
						gen__jsgen_784(p, it, (&r));
						{
							if (!((*(*it).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 26))) goto LA14_;
							r.res = r.address;
							r.address = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
							r.typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
						}
						goto LA12_;
						LA14_: ;
						{
							tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T19_;
							if (!(r.typ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA17_;
							nimZeroMem((void*)T19_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
							T19_[0] = r.address;
							T19_[1] = r.res;
							r.res = percent___cgen_6805(T19_, 2);
							r.address = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
							r.typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
						}
						goto LA12_;
						LA17_: ;
						LA12_: ;
						T20_ = NIM_NIL;
						T20_ = rdLoc__jsgen_188((&r));
						add__ropes_159(&(*p).body, T20_);
					}
					LA7_: ;
				}
				break;
				default:
				{
					tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA r_2;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T22_;
					nimZeroMem((void*)(&r_2), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
					gen__jsgen_784(p, it, (&r_2));
					T22_ = NIM_NIL;
					T22_ = rdLoc__jsgen_188((&r_2));
					add__ropes_159(&(*p).body, T22_);
				}
				break;
				}
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	add__ropes_162(&(*p).body, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_113));
}
N_LIB_PRIVATE N_NIMCALL(void, genTry__jsgen_1968)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	NI i;
	NIM_BOOL catchBranchesExist;
	NIM_BOOL T6_;
	NI T7_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* tmpFramePtr;
	tyArray__dAmhZbEWrTM5xES2bTVweg T13_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T14_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T15_;
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
	NIM_BOOL generalCatchBranchExists;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T123_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T124_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T140_;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T141_;
	genLineDir__jsgen_1836(p, n);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isEmptyType__ast_4780((*n).typ);
		if (!!(T3_)) goto LA4_;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 2);
		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_856(p, NIM_TRUE));
	}
	LA4_: ;
	(*p).unique += ((NI) 1);
	i = ((NI) 1);
	T6_ = (NIM_BOOL)0;
	T7_ = (NI)0;
	T7_ = len__ast_3155(n);
	T6_ = (((NI) 1) < T7_);
	if (!(T6_)) goto LA8_;
	T6_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 87));
	LA8_: ;
	catchBranchesExist = T6_;
	{
		if (!catchBranchesExist) goto LA11_;
		add__ropes_162(&(*p).body, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_321));
	}
	LA11_: ;
	tmpFramePtr = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_322));
	nimZeroMem((void*)T13_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
	T14_ = NIM_NIL;
	T14_ = percent___jsgen_1987(T13_, 0);
	T15_ = NIM_NIL;
	T15_ = indentLine__jsgen_97(p, T14_);
	add__ropes_159(&(*p).body, T15_);
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
	moveInto__jsgen_1947(p, (&a), (&(*r)));
	generalCatchBranchExists = NIM_FALSE;
	{
		tyArray__dAmhZbEWrTM5xES2bTVweg T20_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T21_;
		if (!catchBranchesExist) goto LA18_;
		nimZeroMem((void*)T20_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		T21_ = NIM_NIL;
		T21_ = percent___jsgen_1995(T20_, 0);
		add__ropes_159(&(*p).body, T21_);
		{
			NIM_BOOL T24_;
			tyArray__ts9cf9blICas1QWmw89bglZ7w T27_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T28_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T29_;
			T24_ = (NIM_BOOL)0;
			T24_ = hasFrameInfo__jsgen_1807(p);
			if (!T24_) goto LA25_;
			nimZeroMem((void*)T27_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
			T27_[0] = tmpFramePtr;
			T28_ = NIM_NIL;
			T28_ = percent___jsgen_2000(T27_, 1);
			T29_ = NIM_NIL;
			T29_ = indentLine__jsgen_97(p, T28_);
			add__ropes_159(&(*p).body, T29_);
		}
		LA25_: ;
	}
	LA18_: ;
	{
		while (1) {
			NIM_BOOL T32_;
			NI T33_;
			T32_ = (NIM_BOOL)0;
			T33_ = (NI)0;
			T33_ = len__ast_3155(n);
			T32_ = (i < T33_);
			if (!(T32_)) goto LA34_;
			T32_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 87));
			LA34_: ;
			if (!T32_) goto LA31;
			{
				NI T37_;
				T37_ = (NI)0;
				T37_ = len__ast_3155((*n)._kind_6.sons->data[i]);
				if (!(T37_ == ((NI) 1))) goto LA38_;
				generalCatchBranchExists = NIM_TRUE;
				{
					tyArray__dAmhZbEWrTM5xES2bTVweg T44_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T45_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T46_;
					if (!(((NI) 1) < i)) goto LA42_;
					nimZeroMem((void*)T44_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
					T45_ = NIM_NIL;
					T45_ = percent___jsgen_2017(T44_, 0);
					T46_ = NIM_NIL;
					T46_ = indentLine__jsgen_97(p, T45_);
					add__ropes_159(&(*p).body, T46_);
				}
				LA42_: ;
				gen__jsgen_784(p, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], (&a));
				moveInto__jsgen_1947(p, (&a), (&(*r)));
				{
					tyArray__dAmhZbEWrTM5xES2bTVweg T51_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T52_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T53_;
					if (!(((NI) 1) < i)) goto LA49_;
					nimZeroMem((void*)T51_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
					T52_ = NIM_NIL;
					T52_ = percent___cgen_7535(T51_, 0);
					T53_ = NIM_NIL;
					T53_ = indentLine__jsgen_97(p, T52_);
					add__ropes_159(&(*p).body, T53_);
				}
				LA49_: ;
			}
			goto LA35_;
			LA38_: ;
			{
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* orExpr;
				tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* excAlias;
				tyArray__ts9cf9blICas1QWmw89bglZ7w T92_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T93_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T94_;
				NI T102_;
				tyArray__dAmhZbEWrTM5xES2bTVweg T103_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T104_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T105_;
				orExpr = ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL);
				excAlias = ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL);
				useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_230));
				{
					NI j;
					NI colontmp_;
					NI T56_;
					NI i_2;
					j = (NI)0;
					colontmp_ = (NI)0;
					T56_ = (NI)0;
					T56_ = len__ast_3155((*n)._kind_6.sons->data[i]);
					colontmp_ = (NI)(T56_ - ((NI) 1));
					i_2 = ((NI) 0);
					{
						while (1) {
							tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* throwObj;
							tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* it;
							if (!(i_2 < colontmp_)) goto LA58;
							j = i_2;
							throwObj = NIM_NIL;
							it = (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[j];
							{
								NIM_BOOL T61_;
								T61_ = (NIM_BOOL)0;
								T61_ = isInfixAs__ast_4936(it);
								if (!T61_) goto LA62_;
								throwObj = (*it)._kind_6.sons->data[((NI) 1)];
								excAlias = (*it)._kind_6.sons->data[((NI) 2)];
								{
									if (!!((orExpr == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA66_;
									failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_323));
								}
								LA66_: ;
							}
							goto LA59_;
							LA62_: ;
							{
								if (!((*it).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 4))) goto LA69_;
								throwObj = it;
							}
							goto LA59_;
							LA69_: ;
							{
								internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_324), TM__RWNN386A4nZ2Ks5xVWQZ1Q_325);
							}
							LA59_: ;
							{
								if (!!((orExpr == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA74_;
								add__ropes_162(&orExpr, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_326));
							}
							LA74_: ;
							{
								NIM_BOOL T78_;
								tyArray__ts9cf9blICas1QWmw89bglZ7w T81_;
								tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T82_;
								T78_ = (NIM_BOOL)0;
								T78_ = isImportedException__ast_4905((*throwObj).typ, (*(*p).module).config);
								if (!T78_) goto LA79_;
								nimZeroMem((void*)T81_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
								T81_[0] = (*(*(*throwObj).typ).sym).loc.r;
								T82_ = NIM_NIL;
								T82_ = percent___jsgen_2062(T81_, 1);
								add__ropes_159(&orExpr, T82_);
							}
							goto LA76_;
							LA79_: ;
							{
								tyArray__ts9cf9blICas1QWmw89bglZ7w T84_;
								tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T85_;
								nimZeroMem((void*)T84_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
								T84_[0] = genTypeInfo__jsgen_403(p, (*throwObj).typ);
								T85_ = NIM_NIL;
								T85_ = percent___jsgen_2067(T84_, 1);
								add__ropes_159(&orExpr, T85_);
							}
							LA76_: ;
							i_2 += ((NI) 1);
						} LA58: ;
					}
				}
				{
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T90_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T91_;
					if (!(((NI) 1) < i)) goto LA88_;
					T90_ = NIM_NIL;
					T90_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_327));
					T91_ = NIM_NIL;
					T91_ = indentLine__jsgen_97(p, T90_);
					add__ropes_159(&(*p).body, T91_);
				}
				LA88_: ;
				nimZeroMem((void*)T92_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T92_[0] = orExpr;
				T93_ = NIM_NIL;
				T93_ = percent___jsgen_2072(T92_, 1);
				T94_ = NIM_NIL;
				T94_ = indentLine__jsgen_97(p, T93_);
				add__ropes_159(&(*p).body, T94_);
				{
					tyArray__ts9cf9blICas1QWmw89bglZ7w T99_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T100_;
					tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T101_;
					if (!!((excAlias == ((tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*) NIM_NIL)))) goto LA97_;
					asgnRef((void**) (&(*(*excAlias)._kind_4.sym).loc.r), mangleName__jsgen_326((*p).module, (*excAlias)._kind_4.sym));
					nimZeroMem((void*)T99_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
					T99_[0] = (*(*excAlias)._kind_4.sym).loc.r;
					T100_ = NIM_NIL;
					T100_ = percent___jsgen_2081(T99_, 1);
					T101_ = NIM_NIL;
					T101_ = indentLine__jsgen_97(p, T100_);
					add__ropes_159(&(*p).body, T101_);
				}
				LA97_: ;
				T102_ = (NI)0;
				T102_ = len__ast_3155((*n)._kind_6.sons->data[i]);
				gen__jsgen_784(p, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[(NI)(T102_ - ((NI) 1))], (&a));
				moveInto__jsgen_1947(p, (&a), (&(*r)));
				nimZeroMem((void*)T103_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
				T104_ = NIM_NIL;
				T104_ = percent___cgen_7535(T103_, 0);
				T105_ = NIM_NIL;
				T105_ = indentLine__jsgen_97(p, T104_);
				add__ropes_159(&(*p).body, T105_);
			}
			LA35_: ;
			i += ((NI) 1);
		} LA31: ;
	}
	{
		tyArray__dAmhZbEWrTM5xES2bTVweg T120_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T121_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T122_;
		if (!catchBranchesExist) goto LA108_;
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T114_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T115_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T116_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T117_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T118_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T119_;
			if (!!(generalCatchBranchExists)) goto LA112_;
			useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_328));
			T114_ = NIM_NIL;
			T114_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_329));
			T115_ = NIM_NIL;
			T115_ = indentLine__jsgen_97(p, T114_);
			add__ropes_159(&(*p).body, T115_);
			T116_ = NIM_NIL;
			T116_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_330));
			T117_ = NIM_NIL;
			T117_ = indentLine__jsgen_97(p, T116_);
			add__ropes_159(&(*p).body, T117_);
			T118_ = NIM_NIL;
			T118_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_22));
			T119_ = NIM_NIL;
			T119_ = indentLine__jsgen_97(p, T118_);
			add__ropes_159(&(*p).body, T119_);
		}
		LA112_: ;
		nimZeroMem((void*)T120_, sizeof(tyArray__dAmhZbEWrTM5xES2bTVweg));
		T121_ = NIM_NIL;
		T121_ = percent___jsgen_2100(T120_, 0);
		T122_ = NIM_NIL;
		T122_ = indentLine__jsgen_97(p, T121_);
		add__ropes_159(&(*p).body, T122_);
	}
	LA108_: ;
	T123_ = NIM_NIL;
	T123_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_331));
	T124_ = NIM_NIL;
	T124_ = indentLine__jsgen_97(p, T123_);
	add__ropes_159(&(*p).body, T124_);
	{
		NIM_BOOL T127_;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T130_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T131_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T132_;
		T127_ = (NIM_BOOL)0;
		T127_ = hasFrameInfo__jsgen_1807(p);
		if (!T127_) goto LA128_;
		nimZeroMem((void*)T130_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T130_[0] = tmpFramePtr;
		T131_ = NIM_NIL;
		T131_ = percent___jsgen_2000(T130_, 1);
		T132_ = NIM_NIL;
		T132_ = indentLine__jsgen_97(p, T131_);
		add__ropes_159(&(*p).body, T132_);
	}
	LA128_: ;
	{
		NIM_BOOL T135_;
		NI T136_;
		T135_ = (NIM_BOOL)0;
		T136_ = (NI)0;
		T136_ = len__ast_3155(n);
		T135_ = (i < T136_);
		if (!(T135_)) goto LA137_;
		T135_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 107));
		LA137_: ;
		if (!T135_) goto LA138_;
		genStmt__jsgen_788(p, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]);
	}
	LA138_: ;
	T140_ = NIM_NIL;
	T140_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_22));
	T141_ = NIM_NIL;
	T141_ = indentLine__jsgen_97(p, T140_);
	add__ropes_159(&(*p).body, T141_);
}
N_LIB_PRIVATE N_NIMCALL(void, genRaiseStmt__jsgen_2128)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	{
		tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA a;
		tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* typ;
		tyArray__o0h2w7RqUVr9aUhiJaoJjoQ T5_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T6_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1)))) goto LA3_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
		typ = skipTypes__ast_3723((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_218);
		genLineDir__jsgen_1836(p, n);
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_332));
		nimZeroMem((void*)T5_, sizeof(tyArray__o0h2w7RqUVr9aUhiJaoJjoQ));
		T5_[0] = rdLoc__jsgen_188((&a));
		T5_[1] = makeJSString__jsgen_396((*(*(*typ).sym).name).s, NIM_TRUE);
		T6_ = NIM_NIL;
		T6_ = percent___jsgen_2140(T5_, 2);
		T7_ = NIM_NIL;
		T7_ = indentLine__jsgen_97(p, T6_);
		add__ropes_159(&(*p).body, T7_);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T9_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T10_;
		genLineDir__jsgen_1836(p, n);
		useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_328));
		T9_ = NIM_NIL;
		T9_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_333));
		T10_ = NIM_NIL;
		T10_ = indentLine__jsgen_97(p, T9_);
		add__ropes_159(&(*p).body, T10_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genPragma__jsgen_6098)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	{
		tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw** it;
		tySequence__IeU9azYSNIK3V9b36Ir6NZcw* colontmp_;
		NI i;
		NI L;
		NI T2_;
		it = (tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw**)0;
		colontmp_ = NIM_NIL;
		colontmp_ = (*n)._kind_6.sons;
		i = ((NI) 0);
		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				tyEnum_TSpecialWord__N2XsqTpO5IzOf2KmXwk4Dw T5_;
				if (!(i < L)) goto LA4;
				it = &colontmp_->data[i];
				T5_ = (tyEnum_TSpecialWord__N2XsqTpO5IzOf2KmXwk4Dw)0;
				T5_ = whichPragma__trees_244((*it));
				switch (T5_) {
				case ((tyEnum_TSpecialWord__N2XsqTpO5IzOf2KmXwk4Dw) 215):
				{
					genAsmOrEmitStmt__jsgen_2335(p, (*(*it))._kind_6.sons->data[((NI) 1)]);
				}
				break;
				default:
				{
				}
				break;
				}
				i += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, gen__jsgen_784)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA* r) {
	(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 0);
	{
		if (!!(((*r).kind == ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 3)))) goto LA3_;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 0);
	}
	LA3_: ;
	unsureAsgnRef((void**) (&(*r).res), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3):
	{
		genSym__jsgen_3358(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 5) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 15):
	{
		{
			if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 1))) goto LA9_;
			{
				if (!((*n)._kind_1.intVal == IL64(0))) goto LA13_;
				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_159)));
			}
			goto LA11_;
			LA13_: ;
			{
				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_160)));
			}
			LA11_: ;
		}
		goto LA7_;
		LA9_: ;
		{
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_115((*n)._kind_1.intVal));
		}
		LA7_: ;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 23):
	{
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = isEmptyType__ast_4780((*n).typ);
			if (!T20_) goto LA21_;
		}
		goto LA18_;
		LA21_: ;
		{
			tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ T24_;
			T24_ = (tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ)0;
			T24_ = mapType__jsgen_322(p, (*n).typ);
			if (!(T24_ == ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9))) goto LA25_;
			(*r).typ = ((tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ) 9);
			unsureAsgnRef((void**) (&(*r).address), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_161)));
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_162)));
			(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
		}
		goto LA18_;
		LA25_: ;
		{
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_161)));
			(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
		}
		LA18_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 20) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 22):
	{
		{
			tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA* T31_;
			T31_ = NIM_NIL;
			T31_ = skipTypes__ast_3723((*n).typ, TM__RWNN386A4nZ2Ks5xVWQZ1Q_163);
			if (!((*T31_).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 28))) goto LA32_;
			{
				tyArray__ts9cf9blICas1QWmw89bglZ7w T38_;
				if (!!((((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0) == ((NI) 0)))) goto LA36_;
				useMagic__jsgen_797(p, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_164));
				nimZeroMem((void*)T38_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T38_[0] = makeJSString__jsgen_396((*n)._kind_3.strVal, NIM_TRUE);
				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_6444(T38_, 1));
			}
			goto LA34_;
			LA36_: ;
			{
				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_165)));
			}
			LA34_: ;
		}
		goto LA29_;
		LA32_: ;
		{
			unsureAsgnRef((void**) (&(*r).res), makeJSString__jsgen_396((*n)._kind_3.strVal, NIM_FALSE));
		}
		LA29_: ;
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 16) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 18):
	{
		NF f;
		tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg T42_;
		f = (*n)._kind_2.floatVal;
		T42_ = (tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg)0;
		T42_ = classify__pureZmath_147(f);
		switch (T42_) {
		case ((tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg) 4):
		{
			{
				NIM_BOOL T46_;
				T46_ = (NIM_BOOL)0;
				T46_ = signbit__astalgo_926(f);
				if (!T46_) goto LA47_;
				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_166)));
			}
			goto LA44_;
			LA47_: ;
			{
				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_167)));
			}
			LA44_: ;
		}
		break;
		case ((tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg) 3):
		{
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_168)));
		}
		break;
		case ((tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg) 2):
		{
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_169)));
		}
		break;
		case ((tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg) 5):
		{
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_170)));
		}
		break;
		case ((tyEnum_FloatClass__sXQOxr9c3EE79allMY12fv9cg) 6):
		{
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_171)));
		}
		break;
		default:
		{
			NimStringDesc* T55_;
			T55_ = NIM_NIL;
			T55_ = toStrMaxPrecision__astalgo_920(f);
			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(T55_));
		}
		break;
		}
		(*r).kind = ((tyEnum_TResKind__HoKj56Y4Uonnbz0KeGLTOQ) 1);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 26) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 32):
	{
		{
			NIM_BOOL T59_;
			T59_ = (NIM_BOOL)0;
			T59_ = isEmptyType__ast_4780((*n).typ);
			if (!T59_) goto LA60_;
			genLineDir__jsgen_1836(p, n);
		}
		LA60_: ;
		{
			NIM_BOOL T64_;
			T64_ = (NIM_BOOL)0;
			T64_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3));
			if (!(T64_)) goto LA65_;
			T64_ = !(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 0)));
			LA65_: ;
			if (!T64_) goto LA66_;
			genMagic__jsgen_4656(p, n, r);
		}
		goto LA62_;
		LA66_: ;
		{
			NIM_BOOL T69_;
			NIM_BOOL T70_;
			NI T73_;
			T69_ = (NIM_BOOL)0;
			T70_ = (NIM_BOOL)0;
			T70_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 3));
			if (!(T70_)) goto LA71_;
			T70_ = (((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 32))&63U)))!=0);
			LA71_: ;
			T69_ = T70_;
			if (!(T69_)) goto LA72_;
			T73_ = (NI)0;
			T73_ = len__ast_3155(n);
			T69_ = (((NI) 1) <= T73_);
			LA72_: ;
			if (!T69_) goto LA74_;
			genInfixCall__jsgen_3746(p, n, r);
		}
		goto LA62_;
		LA74_: ;
		{
			genCall__jsgen_3793(p, n, r);
		}
		LA62_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 155):
	{
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 39):
	{
		genSetConstr__jsgen_5277(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 41):
	{
		genArrayConstr__jsgen_5321(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 37):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 160):
	{
		genTupleConstr__jsgen_5347(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 38):
	{
		genObjConstr__jsgen_5386(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 58):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 59):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 60):
	{
		genConv__jsgen_5496(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 63):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 64):
	{
		{
			if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47))) goto LA86_;
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
		}
		goto LA84_;
		LA86_: ;
		{
			genAddr__jsgen_2908(p, n, r);
		}
		LA84_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 47):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 65):
	{
		{
			if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__b28l2MkhJpnFhatVrsrXpg) 47))) goto LA92_;
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
		}
		goto LA90_;
		LA92_: ;
		{
			genDeref__jsgen_3506(p, n, r);
		}
		LA90_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 42):
	{
		genArrayAccess__jsgen_3047(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 45):
	{
		genFieldAccess__jsgen_2824(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 46):
	{
		genCheckedFieldOp__jsgen_2912(p, n, ((tyObject_TType__kQDDJGUiaUAtO9c9b6LjZYjA*) NIM_NIL), r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 66):
	{
		gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 67):
	{
		upConv__jsgen_5788(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 61):
	{
		genCast__jsgen_6106(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 68):
	{
		genRangeChck__jsgen_5793(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_291));
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 69):
	{
		genRangeChck__jsgen_5793(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_292));
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 70):
	{
		genRangeChck__jsgen_5793(p, n, r, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_290));
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 71):
	{
		convStrToCStr__jsgen_5820(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 72):
	{
		convCStrToStr__jsgen_5841(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1):
	{
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 51) ... ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 52):
	{
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T108_;
		s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		T108_ = NIM_NIL;
		T108_ = mangleName__jsgen_326((*p).module, s);
		(void)(T108_);
		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
		{
			NIM_BOOL T111_;
			T111_ = (NIM_BOOL)0;
			T111_ = (((*s).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__Ic4ywZl9cdJtKSUkG4WZfHw) 3))&15U)))!=0);
			if (T111_) goto LA112_;
			T111_ = !(((*s).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 0) || (*s).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 156) || (*s).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 155) || (*s).magic == ((tyEnum_TMagic__3qAy6bDUDlF8Fc2RR6pF9ag) 145)));
			LA112_: ;
			if (!T111_) goto LA113_;
		}
		goto LA109_;
		LA113_: ;
		{
			tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym1186_;
			NIM_BOOL T116_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T119_;
			xX60gensym1186_ = s;
			T116_ = (NIM_BOOL)0;
			T116_ = containsOrIncl__astalgo_402((&(*(*p).g).generatedSyms), (NI)((NI)((NU64)(((NI) ((*xX60gensym1186_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1186_).Sup.itemId.item))));
			if (!!(T116_)) goto LA117_;
			T119_ = NIM_NIL;
			T119_ = genProc__jsgen_791(p, s);
			add__ropes_159(&(*p).locals, T119_);
		}
		goto LA109_;
		LA117_: ;
		LA109_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 4):
	{
		unsureAsgnRef((void**) (&(*r).res), genTypeInfo__jsgen_403(p, (*n).typ));
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 115):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 126):
	{
		NIM_BOOL isExpr;
		NIM_BOOL T122_;
		T122_ = (NIM_BOOL)0;
		T122_ = isEmptyType__ast_4780((*n).typ);
		isExpr = !(T122_);
		{
			NI i;
			NI colontmp_;
			NI T124_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			T124_ = (NI)0;
			T124_ = len__ast_3155(n);
			colontmp_ = (NI)(T124_ - isExpr);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA126;
					i = i_2;
					genStmt__jsgen_788(p, (*n)._kind_6.sons->data[i]);
					i_2 += ((NI) 1);
				} LA126: ;
			}
		}
		{
			tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* T131_;
			if (!isExpr) goto LA129_;
			T131_ = NIM_NIL;
			T131_ = lastSon__ast_4833(n);
			gen__jsgen_784(p, T131_, r);
		}
		LA129_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 112):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 127):
	{
		genBlock__jsgen_2253(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 92):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 48):
	{
		genIf__jsgen_2363(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 93):
	{
		gen__jsgen_784(p, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 96):
	{
		genWhileStmt__jsgen_1857(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 99):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 100):
	{
		genVarStmt__jsgen_4318(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 101):
	{
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 94):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 95):
	{
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_300), TM__RWNN386A4nZ2Ks5xVWQZ1Q_301);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 97):
	{
		genCaseJS__jsgen_2145(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 109):
	{
		genReturnStmt__jsgen_5861(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 110):
	{
		genBreakStmt__jsgen_2297(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 73):
	{
		genAsgn__jsgen_2734(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 74):
	{
		genFastAsgn__jsgen_2739(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 114):
	{
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 1)))) goto LA147_;
			genLineDir__jsgen_1836(p, n);
			gen__jsgen_784(p, (*n)._kind_6.sons->data[((NI) 0)], r);
			unsureAsgnRef((void**) (&(*r).res), amp___ropes_144(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_320), (*r).res));
		}
		LA147_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 89):
	{
		genAsmOrEmitStmt__jsgen_2335(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 106):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 154):
	{
		genTry__jsgen_1968(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 108):
	{
		genRaiseStmt__jsgen_2128(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 98):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 125):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 121):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 116):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 117):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 118):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 119):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 120):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 83):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 82):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 113):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 123):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 122):
	{
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 84):
	{
		{
			if (!((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).callConv == ((tyEnum_TCallingConvention__5kpSva5OFmGFHujbio7C9cg) 9))) goto LA156_;
			liMessage__msgs_1128((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_334), ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 2), TM__RWNN386A4nZ2Ks5xVWQZ1Q_335, NIM_FALSE);
		}
		LA156_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 90):
	{
		genPragma__jsgen_6098(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 79):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 159):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 80):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 81):
	{
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s_2;
		s_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		{
			if (!((262272 & (*s_2).flags) == 128)) goto LA162_;
			genSym__jsgen_3358(p, (*n)._kind_6.sons->data[((NI) 0)], r);
			unsureAsgnRef((void**) (&(*r).res), ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL));
		}
		LA162_: ;
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 156):
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 157):
	{
		liMessage__msgs_1128((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__J0cVyqzpFKvufCivtQUgHQ) 15), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_336), ((tyEnum_TErrorHandling__sOC1wCv9bUYRquMih1VRi3w) 2), TM__RWNN386A4nZ2Ks5xVWQZ1Q_337, NIM_FALSE);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 91):
	{
		tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* T166_;
		T166_ = NIM_NIL;
		T166_ = lastSon__ast_4833(n);
		gen__jsgen_784(p, T166_, r);
	}
	break;
	case ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 24):
	{
	}
	break;
	default:
	{
		NimStringDesc* T169_;
		T169_ = NIM_NIL;
		T169_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_))->Sup.len : 0) + 24);
appendString(T169_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_338));
appendString(T169_, reprEnum((NI)(*n).kind, (&NTItnodekind__clSgDh22o9au33BrVH9bDQZw_)));
		internalErrorImpl__msgs_1441((*(*p).module).config, (*n).info, T169_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_339);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genStmt__jsgen_788)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA r;
	nimZeroMem((void*)(&r), sizeof(tyObject_TCompRes__sSjJ0OzepnKaiH9bhs6XXMA));
	gen__jsgen_784(p, n, (&r));
	{
		tyArray__ts9cf9blICas1QWmw89bglZ7w T5_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T6_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T7_;
		if (!!((r.res == ((tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*) NIM_NIL)))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T5_[0] = r.res;
		T6_ = NIM_NIL;
		T6_ = percent___cgen_14050(T5_, 1);
		T7_ = NIM_NIL;
		T7_ = indentLine__jsgen_97(p, T6_);
		add__ropes_159(&(*p).body, T7_);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addHcrInitGuards__jsgen_6597)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n, tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* moduleLoadedVar, NIM_BOOL* inInitGuard) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 115))) goto LA3_;
		{
			tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* child;
			child = NIM_NIL;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_3148(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA8;
						i = i_2;
						child = (*n)._kind_6.sons->data[i];
						addHcrInitGuards__jsgen_6597(p, child, moduleLoadedVar, inInitGuard);
						i_2 += ((NI) 1);
					} LA8: ;
				}
			}
		}
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL stmtShouldExecute;
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 79) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 159) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 80) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 81) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 99) || (*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 100));
		if (T10_) goto LA11_;
		T10_ = (((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__0RUKWdbLPY3l0smKVGDLMg) 20))&31U)))!=0);
		LA11_: ;
		stmtShouldExecute = T10_;
		{
			if (!(*inInitGuard)) goto LA14_;
			{
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T20_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T21_;
				if (!stmtShouldExecute) goto LA18_;
				(*p).extraIndent -= ((NI) 1);
				T20_ = NIM_NIL;
				T20_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_22));
				T21_ = NIM_NIL;
				T21_ = indentLine__jsgen_97(p, T20_);
				add__ropes_159(&(*p).body, T21_);
				(*inInitGuard) = NIM_FALSE;
			}
			LA18_: ;
		}
		goto LA12_;
		LA14_: ;
		{
			{
				tyArray__ts9cf9blICas1QWmw89bglZ7w T27_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T28_;
				tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T29_;
				if (!!(stmtShouldExecute)) goto LA25_;
				nimZeroMem((void*)T27_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
				T27_[0] = moduleLoadedVar;
				T28_ = NIM_NIL;
				T28_ = percent___jsgen_6620(T27_, 1);
				T29_ = NIM_NIL;
				T29_ = indentLine__jsgen_97(p, T28_);
				add__ropes_159(&(*p).body, T29_);
				(*p).extraIndent += ((NI) 1);
				(*inInitGuard) = NIM_TRUE;
			}
			LA25_: ;
		}
		LA12_: ;
		genStmt__jsgen_788(p, n);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genModule__jsgen_6629)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* transformedN;
	{
		NimStringDesc* T5_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T6_;
		NimStringDesc* T7_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T8_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T9_;
		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 17))&31U)))!=0)) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = rawNewString(((*(*(*(*p).module).module).name).s ? (*(*(*(*p).module).module).name).s->Sup.len : 0) + 7);
appendString(T5_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_20));
appendString(T5_, (*(*(*(*p).module).module).name).s);
		T6_ = NIM_NIL;
		T6_ = makeJSString__jsgen_396(T5_, NIM_TRUE);
		T7_ = NIM_NIL;
		T7_ = toFilenameOption__msgs_600((*(*p).module).config, (*(*(*p).module).module).info.fileIndex, ((tyEnum_FilenameOption__CPbjHbMoELnjs1sUwb4U6w) 5));
		T8_ = NIM_NIL;
		T8_ = makeJSString__jsgen_396(T7_, NIM_TRUE);
		T9_ = NIM_NIL;
		T9_ = frameCreate__jsgen_5879(p, T6_, T8_);
		add__ropes_159(&(*p).body, T9_);
	}
	LA3_: ;
	transformedN = transformStmt__transf_1888((*(*p).module).graph, (*(*p).module).Sup.idgen, (*(*p).module).module, n);
	{
		if (!(((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 42))&63U)))!=0)) goto LA12_;
		transformedN = injectDestructorCalls__injectdestructors_10132((*(*p).module).graph, (*(*p).module).Sup.idgen, (*(*p).module).module, transformedN);
	}
	LA12_: ;
	{
		NIM_BOOL T16_;
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* moduleSym;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* moduleLoadedVar;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T20_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T21_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T22_;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T23_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T24_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T25_;
		NIM_BOOL inGuardedBlock;
		tyArray__ts9cf9blICas1QWmw89bglZ7w T32_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T33_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T34_;
		T16_ = (NIM_BOOL)0;
		T16_ = hcrOn__options_582((*(*p).module).config);
		if (!(T16_)) goto LA17_;
		T16_ = ((*n).kind == ((tyEnum_TNodeKind__clSgDh22o9au33BrVH9bDQZw) 115));
		LA17_: ;
		if (!T16_) goto LA18_;
		moduleSym = (*(*p).module).module;
		T20_ = NIM_NIL;
		T20_ = rope__ropes_109((*(*moduleSym).name).s);
		T21_ = NIM_NIL;
		T21_ = amp___ropes_140(T20_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_21));
		T22_ = NIM_NIL;
		T22_ = idOrSig__sighashes_2071(moduleSym, (*(*moduleSym).name).s, (&(*(*p).module).sigConflicts), (*(*p).module).config);
		moduleLoadedVar = amp___ropes_128(T21_, T22_);
		nimZeroMem((void*)T23_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T23_[0] = moduleLoadedVar;
		T24_ = NIM_NIL;
		T24_ = percent___jsgen_869(T23_, 1);
		T25_ = NIM_NIL;
		T25_ = indentLine__jsgen_97(p, T24_);
		add__ropes_159(&(*p).body, T25_);
		inGuardedBlock = NIM_FALSE;
		addHcrInitGuards__jsgen_6597(p, transformedN, moduleLoadedVar, (&inGuardedBlock));
		{
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T30_;
			tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T31_;
			if (!inGuardedBlock) goto LA28_;
			(*p).extraIndent -= ((NI) 1);
			T30_ = NIM_NIL;
			T30_ = rope__ropes_109(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_22));
			T31_ = NIM_NIL;
			T31_ = indentLine__jsgen_97(p, T30_);
			add__ropes_159(&(*p).body, T31_);
		}
		LA28_: ;
		nimZeroMem((void*)T32_, sizeof(tyArray__ts9cf9blICas1QWmw89bglZ7w));
		T32_[0] = moduleLoadedVar;
		T33_ = NIM_NIL;
		T33_ = percent___jsgen_6656(T32_, 1);
		T34_ = NIM_NIL;
		T34_ = indentLine__jsgen_97(p, T33_);
		add__ropes_159(&(*p).body, T34_);
	}
	goto LA14_;
	LA18_: ;
	{
		genStmt__jsgen_788(p, transformedN);
	}
	LA14_: ;
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T40_;
		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__HPX9bEWraE8wyYLoP9bHbKYQ) 17))&31U)))!=0)) goto LA38_;
		T40_ = NIM_NIL;
		T40_ = frameDestroy__jsgen_5895(p);
		add__ropes_159(&(*p).body, T40_);
	}
	LA38_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, myProcess__jsgen_6665)(tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw* b, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* result;
	tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* m;
	tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* globals;
	tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p;
{	result = NIM_NIL;
	result = n;
	m = ((tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA*) (b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = skipCodegen__passes_51((*m).config, n);
		if (!T3_) goto LA4_;
		result = n;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		if (!((*m).module == ((tyObject_TSym__3r34mwqcVmg5JFNmiaVncw*) NIM_NIL))) goto LA8_;
		internalErrorImpl__msgs_1441((*m).config, (*n).info, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_4), TM__RWNN386A4nZ2Ks5xVWQZ1Q_5);
	}
	LA8_: ;
	globals = (*((tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw**) (&((*(*m).graph).backend))));
	p = newInitProc__jsgen_262(globals, m);
	(*p).unique = (*globals).unique;
	genModule__jsgen_6629(p, n);
	add__ropes_159(&(*(*p).g).code, (*p).locals);
	add__ropes_159(&(*(*p).g).code, (*p).body);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, genHeader__jsgen_6595)(void) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = nsuUnindent(((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_340), ((NI) IL64(9223372036854775807)), ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_341));
	T2_ = NIM_NIL;
	T2_ = nsuFormatVarargs(T1_, TM__RWNN386A4nZ2Ks5xVWQZ1Q_342, 1);
	result = rope__ropes_109(T2_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, attachProc__jsgen_3268)(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p, tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* s) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* newp;
	newp = genProc__jsgen_791(p, s);
	attachProc__jsgen_3264(p, newp, s);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ*, wholeCode__jsgen_6676)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* m) {
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* result;
	tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw* globals;
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* disp;
	tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T18_;
	result = NIM_NIL;
	globals = (*((tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw**) (&((*graph).backend))));
	{
		tyObject_TSym__3r34mwqcVmg5JFNmiaVncw** prc;
		NI i;
		NI L;
		NI T2_;
		prc = (tyObject_TSym__3r34mwqcVmg5JFNmiaVncw**)0;
		i = ((NI) 0);
		T2_ = ((*globals).forwarded ? (*globals).forwarded->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				prc = &(*globals).forwarded->data[i];
				{
					tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym1224_;
					NIM_BOOL T7_;
					tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p;
					xX60gensym1224_ = (*prc);
					T7_ = (NIM_BOOL)0;
					T7_ = containsOrIncl__astalgo_402((&(*globals).generatedSyms), (NI)((NI)((NU64)(((NI) ((*xX60gensym1224_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1224_).Sup.itemId.item))));
					if (!!(T7_)) goto LA8_;
					p = newInitProc__jsgen_262(globals, m);
					attachProc__jsgen_3268(p, (*prc));
				}
				LA8_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	disp = generateMethodDispatchers__cgmeth_547(graph);
	{
		NI i_2;
		NI colontmp_;
		NI i_3;
		i_2 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3155(disp);
		i_3 = ((NI) 0);
		{
			while (1) {
				tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* prc_2;
				if (!(i_3 < colontmp_)) goto LA12;
				i_2 = i_3;
				prc_2 = (*(*disp)._kind_6.sons->data[i_2])._kind_4.sym;
				{
					tyObject_TSym__3r34mwqcVmg5JFNmiaVncw* xX60gensym1226_;
					NIM_BOOL T15_;
					tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg* p_2;
					xX60gensym1226_ = prc_2;
					T15_ = (NIM_BOOL)0;
					T15_ = containsOrIncl__astalgo_402((&(*globals).generatedSyms), (NI)((NI)((NU64)(((NI) ((*xX60gensym1226_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1226_).Sup.itemId.item))));
					if (!!(T15_)) goto LA16_;
					p_2 = newInitProc__jsgen_262(globals, m);
					attachProc__jsgen_3268(p_2, prc_2);
				}
				LA16_: ;
				i_3 += ((NI) 1);
			} LA12: ;
		}
	}
	T18_ = NIM_NIL;
	T18_ = amp___ropes_128((*globals).typeInfo, (*globals).constants);
	result = amp___ropes_128(T18_, (*globals).code);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw*, myClose__jsgen_6767)(tyObject_ModuleGraphcolonObjectType___nOSrcYqJTxXt2ptNc0gnWg* graph, tyObject_TPassContext__dmp6pRpfXxJk6gIZHkm7dw* b, tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* n) {
	tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw* result;
	tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA* m;
{	result = NIM_NIL;
	result = myProcess__jsgen_6665(b, n);
	m = ((tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA*) (b));
	{
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 14))&63U)))!=0)) goto LA3_;
		{
			tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw** destructorCall;
			NI i;
			NI L;
			NI T6_;
			destructorCall = (tyObject_TNode__uh9cWvEa5Ty85PXOtuP5emw**)0;
			i = ((NI) 0);
			T6_ = ((*graph).globalDestructors ? (*graph).globalDestructors->Sup.len : 0);
			L = T6_;
			{
				while (1) {
					if (!(i < L)) goto LA8;
					destructorCall = &(*graph).globalDestructors->data[i];
					add__ast_4798(n, (*destructorCall));
					i += ((NI) 1);
				} LA8: ;
			}
		}
	}
	LA3_: ;
	{
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 15))&63U)))!=0)) goto LA11_;
		(*(*((tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw**) (&((*graph).backend))))).inSystem = NIM_FALSE;
	}
	LA11_: ;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = skipCodegen__passes_51((*m).config, n);
		if (!T15_) goto LA16_;
		result = n;
		goto BeforeRet_;
	}
	LA16_: ;
	{
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* code;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T22_;
		tyObject_RopeObj__vUl1aIPQxBiroOuyvqu9bZQ* T23_;
		NimStringDesc* outFile;
		NIM_BOOL T32_;
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__9be9c6fEXk5NwyPvxxb6toPA) 14))&63U)))!=0)) goto LA20_;
		T22_ = NIM_NIL;
		T22_ = genHeader__jsgen_6595();
		T23_ = NIM_NIL;
		T23_ = wholeCode__jsgen_6676(graph, m);
		code = amp___ropes_128(T22_, T23_);
		outFile = prepareToWriteOutput__options_4093((*m).config);
		{
			tyObject_SourceMapcolonObjectType___89bcT7tAiSyU9c6yCaBjaTTw* map;
			tyTuple__OC3ElVGSSYtam9beJ72HG7A _;
			NimStringDesc* T28_;
			NimStringDesc* T29_;
			tyObject_JsonNodeObj__wYd81YPSGeV9aTaTIRihe3g* T30_;
			NimStringDesc* T31_;
			if (!(((*(*m).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__WCvlY9b2UxZ4Fz8D59cE3YSg) 49))&63U)))!=0)) goto LA26_;
			map = NIM_NIL;
			nimZeroMem((void*)(&_), sizeof(tyTuple__OC3ElVGSSYtam9beJ72HG7A));
			T28_ = NIM_NIL;
			T28_ = dollar___ropes_250(code);
			genSourceMap__sourcemap_917(T28_, outFile, (&_));
			code = _.Field0;
			map = _.Field1;
			T29_ = NIM_NIL;
			T29_ = rawNewString((outFile ? outFile->Sup.len : 0) + 4);
appendString(T29_, outFile);
appendString(T29_, ((NimStringDesc*) &TM__RWNN386A4nZ2Ks5xVWQZ1Q_344));
			T30_ = NIM_NIL;
			T30_ = percent___jsgen_6801(map);
			T31_ = NIM_NIL;
			T31_ = dollar___pureZjson_4484(T30_);
			writeFile__systemZio_474(T29_, T31_);
		}
		LA26_: ;
		T32_ = (NIM_BOOL)0;
		T32_ = writeRopeIfNotEqual__ropes_458(code, outFile);
		(void)(T32_);
	}
	LA20_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, atmjsgendotnim_DatInit000)(void) {
static TNimNode* TM__RWNN386A4nZ2Ks5xVWQZ1Q_2_4[4];
static TNimNode* TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[8];
static TNimNode* TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[15];
static TNimNode* TM__RWNN386A4nZ2Ks5xVWQZ1Q_8_2[2];
static TNimNode* TM__RWNN386A4nZ2Ks5xVWQZ1Q_315_10[10];
NI TM__RWNN386A4nZ2Ks5xVWQZ1Q_317;
static char* NIM_CONST TM__RWNN386A4nZ2Ks5xVWQZ1Q_316[10] = {
"etyNone", 
"etyNull", 
"etyProc", 
"etyBool", 
"etySeq", 
"etyInt", 
"etyFloat", 
"etyString", 
"etyObject", 
"etyBaseIndex"};
static TNimNode TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[44];
NTItjsgen__qpCPsLnGbfCMMFj8D1x7PA_.size = sizeof(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA);
NTItjsgen__qpCPsLnGbfCMMFj8D1x7PA_.align = NIM_ALIGNOF(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA);
NTItjsgen__qpCPsLnGbfCMMFj8D1x7PA_.kind = 17;
NTItjsgen__qpCPsLnGbfCMMFj8D1x7PA_.base = (&NTItpasscontext__dmp6pRpfXxJk6gIZHkm7dw_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_2_4[0] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[1];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[1].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[1].offset = offsetof(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA, module);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[1].typ = (&NTIpsym__u9bhQvrOYyAS9bCQ6gt41GOQ_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[1].name = "module";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_2_4[1] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[2];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[2].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[2].offset = offsetof(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA, graph);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[2].typ = (&NTImodulegraph__AcDjMYSN0KX1UsX3HvPu2w_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[2].name = "graph";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_2_4[2] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[3];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[3].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[3].offset = offsetof(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA, config);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[3].typ = (&NTIconfigref__9af1bTLFo0lbM2Q5seW0UFA_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[3].name = "config";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_2_4[3] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[4];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[4].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[4].offset = offsetof(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA, sigConflicts);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[4].typ = (&NTIcounttable__XawALO1wTnCsJeWBJMYZyg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[4].name = "sigConflicts";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[0].len = 4; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[0].kind = 2; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[0].sons = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_2_4[0];
NTItjsgen__qpCPsLnGbfCMMFj8D1x7PA_.node = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[0];
NTIbmodule__RITcST9bXKLxZMKr4OOsKrA_.size = sizeof(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA*);
NTIbmodule__RITcST9bXKLxZMKr4OOsKrA_.align = NIM_ALIGNOF(tyObject_TJSGen__qpCPsLnGbfCMMFj8D1x7PA*);
NTIbmodule__RITcST9bXKLxZMKr4OOsKrA_.kind = 22;
NTIbmodule__RITcST9bXKLxZMKr4OOsKrA_.base = (&NTItjsgen__qpCPsLnGbfCMMFj8D1x7PA_);
NTIbmodule__RITcST9bXKLxZMKr4OOsKrA_.marker = Marker_tyRef__RITcST9bXKLxZMKr4OOsKrA;
NTIpglobals58objecttype__CfcaGeBUt4SBLlSX3aXTXw_.size = sizeof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw);
NTIpglobals58objecttype__CfcaGeBUt4SBLlSX3aXTXw_.align = NIM_ALIGNOF(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw);
NTIpglobals58objecttype__CfcaGeBUt4SBLlSX3aXTXw_.kind = 17;
NTIpglobals58objecttype__CfcaGeBUt4SBLlSX3aXTXw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[0] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[6];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[6].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[6].offset = offsetof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw, typeInfo);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[6].typ = (&NTIrope__Ylz2qJFHq2oxQcAA5BJOQg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[6].name = "typeInfo";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[1] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[7];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[7].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[7].offset = offsetof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw, constants);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[7].typ = (&NTIrope__Ylz2qJFHq2oxQcAA5BJOQg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[7].name = "constants";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[2] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[8];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[8].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[8].offset = offsetof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw, code);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[8].typ = (&NTIrope__Ylz2qJFHq2oxQcAA5BJOQg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[8].name = "code";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[3] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[9];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[9].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[9].offset = offsetof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw, forwarded);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[9].typ = (&NTIseqLpsymT__ed0C0uAUZPhvw3RAc5hfYg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[9].name = "forwarded";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[4] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[10];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[10].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[10].offset = offsetof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw, generatedSyms);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[10].typ = (&NTIpackedset__THXDbzJSs2hcC9a33en2pdw_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[10].name = "generatedSyms";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[5] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[11];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[11].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[11].offset = offsetof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw, typeInfoGenerated);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[11].typ = (&NTIpackedset__THXDbzJSs2hcC9a33en2pdw_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[11].name = "typeInfoGenerated";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[6] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[12];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[12].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[12].offset = offsetof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw, unique);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[12].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[12].name = "unique";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[7] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[13];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[13].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[13].offset = offsetof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw, inSystem);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[13].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[13].name = "inSystem";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[5].len = 8; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[5].kind = 2; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[5].sons = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_3_8[0];
NTIpglobals58objecttype__CfcaGeBUt4SBLlSX3aXTXw_.node = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[5];
NTIpglobals__nPQh4KD9aE0dJ18MTP280Uw_.size = sizeof(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw*);
NTIpglobals__nPQh4KD9aE0dJ18MTP280Uw_.align = NIM_ALIGNOF(tyObject_PGlobalscolonObjectType___CfcaGeBUt4SBLlSX3aXTXw*);
NTIpglobals__nPQh4KD9aE0dJ18MTP280Uw_.kind = 22;
NTIpglobals__nPQh4KD9aE0dJ18MTP280Uw_.base = (&NTIpglobals58objecttype__CfcaGeBUt4SBLlSX3aXTXw_);
NTIpglobals__nPQh4KD9aE0dJ18MTP280Uw_.marker = Marker_tyRef__nPQh4KD9aE0dJ18MTP280Uw;
NTItproc__PUhwAHU5A3Ab2b9bK0SBOfg_.size = sizeof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg);
NTItproc__PUhwAHU5A3Ab2b9bK0SBOfg_.align = NIM_ALIGNOF(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg);
NTItproc__PUhwAHU5A3Ab2b9bK0SBOfg_.kind = 18;
NTItproc__PUhwAHU5A3Ab2b9bK0SBOfg_.base = 0;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[0] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[15];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[15].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[15].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, procDef);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[15].typ = (&NTIpnode__PzkjRjFZybhcKJ9c8COQy5g_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[15].name = "procDef";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[1] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[16];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[16].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[16].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, prc);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[16].typ = (&NTIpsym__u9bhQvrOYyAS9bCQ6gt41GOQ_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[16].name = "prc";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[2] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[17];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[17].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[17].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, globals);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[17].typ = (&NTIrope__Ylz2qJFHq2oxQcAA5BJOQg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[17].name = "globals";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[3] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[18];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[18].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[18].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, locals);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[18].typ = (&NTIrope__Ylz2qJFHq2oxQcAA5BJOQg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[18].name = "locals";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[4] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[19];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[19].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[19].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, body);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[19].typ = (&NTIrope__Ylz2qJFHq2oxQcAA5BJOQg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[19].name = "body";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[5] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[20];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[20].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[20].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, options);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[20].typ = (&NTItoptions__JyE8ULWMsetkCt18l86VRw_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[20].name = "options";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[6] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[21];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[21].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[21].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, module);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[21].typ = (&NTIbmodule__RITcST9bXKLxZMKr4OOsKrA_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[21].name = "module";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[7] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[22];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[22].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[22].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, g);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[22].typ = (&NTIpglobals__nPQh4KD9aE0dJ18MTP280Uw_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[22].name = "g";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[8] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[23];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[23].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[23].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, generatedParamCopies);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[23].typ = (&NTIpackedset__THXDbzJSs2hcC9a33en2pdw_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[23].name = "generatedParamCopies";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[9] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[24];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[24].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[24].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, beforeRetNeeded);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[24].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[24].name = "beforeRetNeeded";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[10] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[25];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[25].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[25].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, unique);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[25].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[25].name = "unique";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[11] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[26];
NTItblock__NMBKXeUeG2FHu1xpxhZ6Vg_.size = sizeof(tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg);
NTItblock__NMBKXeUeG2FHu1xpxhZ6Vg_.align = NIM_ALIGNOF(tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg);
NTItblock__NMBKXeUeG2FHu1xpxhZ6Vg_.kind = 18;
NTItblock__NMBKXeUeG2FHu1xpxhZ6Vg_.base = 0;
NTItblock__NMBKXeUeG2FHu1xpxhZ6Vg_.flags = 3;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_8_2[0] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[28];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[28].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[28].offset = offsetof(tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg, id);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[28].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[28].name = "id";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_8_2[1] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[29];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[29].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[29].offset = offsetof(tyObject_TBlock__NMBKXeUeG2FHu1xpxhZ6Vg, isLoop);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[29].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[29].name = "isLoop";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[27].len = 2; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[27].kind = 2; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[27].sons = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_8_2[0];
NTItblock__NMBKXeUeG2FHu1xpxhZ6Vg_.node = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[27];
NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_.size = sizeof(tySequence__kzO9aSSZqi8uJxXMUvASufg*);
NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_.align = NIM_ALIGNOF(tySequence__kzO9aSSZqi8uJxXMUvASufg*);
NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_.kind = 24;
NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_.base = (&NTItblock__NMBKXeUeG2FHu1xpxhZ6Vg_);
NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_.flags = 2;
NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_.marker = Marker_tySequence__kzO9aSSZqi8uJxXMUvASufg;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[26].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[26].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, blocks);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[26].typ = (&NTIseqLtblockT__kzO9aSSZqi8uJxXMUvASufg_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[26].name = "blocks";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[12] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[30];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[30].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[30].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, extraIndent);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[30].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[30].name = "extraIndent";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[13] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[31];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[31].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[31].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, up);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[31].typ = (&NTIpproc__vnIptVZY9bdKj7mTyWooVgQ_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[31].name = "up";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[14] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[32];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[32].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[32].offset = offsetof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg, declaredGlobals);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[32].typ = (&NTIpackedset__THXDbzJSs2hcC9a33en2pdw_);
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[32].name = "declaredGlobals";
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[14].len = 15; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[14].kind = 2; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[14].sons = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_7_15[0];
NTItproc__PUhwAHU5A3Ab2b9bK0SBOfg_.node = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[14];
NTIpproc__vnIptVZY9bdKj7mTyWooVgQ_.size = sizeof(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*);
NTIpproc__vnIptVZY9bdKj7mTyWooVgQ_.align = NIM_ALIGNOF(tyObject_TProc__PUhwAHU5A3Ab2b9bK0SBOfg*);
NTIpproc__vnIptVZY9bdKj7mTyWooVgQ_.kind = 22;
NTIpproc__vnIptVZY9bdKj7mTyWooVgQ_.base = (&NTItproc__PUhwAHU5A3Ab2b9bK0SBOfg_);
NTIpproc__vnIptVZY9bdKj7mTyWooVgQ_.marker = Marker_tyRef__vnIptVZY9bdKj7mTyWooVgQ;
NTItjstypekind__tpKLAXT6CPyZ9cMNxf1ZsAQ_.size = sizeof(tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ);
NTItjstypekind__tpKLAXT6CPyZ9cMNxf1ZsAQ_.align = NIM_ALIGNOF(tyEnum_TJSTypeKind__tpKLAXT6CPyZ9cMNxf1ZsAQ);
NTItjstypekind__tpKLAXT6CPyZ9cMNxf1ZsAQ_.kind = 14;
NTItjstypekind__tpKLAXT6CPyZ9cMNxf1ZsAQ_.base = 0;
NTItjstypekind__tpKLAXT6CPyZ9cMNxf1ZsAQ_.flags = 3;
for (TM__RWNN386A4nZ2Ks5xVWQZ1Q_317 = 0; TM__RWNN386A4nZ2Ks5xVWQZ1Q_317 < 10; TM__RWNN386A4nZ2Ks5xVWQZ1Q_317++) {
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[TM__RWNN386A4nZ2Ks5xVWQZ1Q_317+33].kind = 1;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[TM__RWNN386A4nZ2Ks5xVWQZ1Q_317+33].offset = TM__RWNN386A4nZ2Ks5xVWQZ1Q_317;
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[TM__RWNN386A4nZ2Ks5xVWQZ1Q_317+33].name = TM__RWNN386A4nZ2Ks5xVWQZ1Q_316[TM__RWNN386A4nZ2Ks5xVWQZ1Q_317];
TM__RWNN386A4nZ2Ks5xVWQZ1Q_315_10[TM__RWNN386A4nZ2Ks5xVWQZ1Q_317] = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[TM__RWNN386A4nZ2Ks5xVWQZ1Q_317+33];
}
TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[43].len = 10; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[43].kind = 2; TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[43].sons = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_315_10[0];
NTItjstypekind__tpKLAXT6CPyZ9cMNxf1ZsAQ_.node = &TM__RWNN386A4nZ2Ks5xVWQZ1Q_0[43];
}

