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

#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <math.h>
#include <stdio.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct RootObj RootObj;
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tySequence__SHVxAqOYtIy7teT1q4s0zQ tySequence__SHVxAqOYtIy7teT1q4s0zQ;
typedef struct tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow;
typedef struct tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ;
typedef struct tySequence__YT27F6szr8EQuTI39aUMYuA tySequence__YT27F6szr8EQuTI39aUMYuA;
typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA;
typedef struct tySequence__sII3pVVRkIdBZ2HDPdZddA tySequence__sII3pVVRkIdBZ2HDPdZddA;
typedef struct tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A;
typedef struct tySequence__WPcy3bORPBFlmk2KIq2pbQ tySequence__WPcy3bORPBFlmk2KIq2pbQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q;
typedef struct tyObject_TNodeTable__wN7B39cKxLpMkvKNm9bduZ0A tyObject_TNodeTable__wN7B39cKxLpMkvKNm9bduZ0A;
typedef struct tySequence__vhmj4KkIKPinmRXny9c2Q6Q tySequence__vhmj4KkIKPinmRXny9c2Q6Q;
typedef struct tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ;
typedef struct tySequence__XUL1TrMU0tgXmaMFCIYgFQ tySequence__XUL1TrMU0tgXmaMFCIYgFQ;
typedef struct tyObject_NdiFile__9cEuXfAnHp9bnWFK409cMtsEw tyObject_NdiFile__9cEuXfAnHp9bnWFK409cMtsEw;
typedef struct tyTuple__wROVfG5RQYpjEAhvO3LqdQ tyTuple__wROVfG5RQYpjEAhvO3LqdQ;
typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
typedef struct tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg;
typedef struct tySequence__KjgUMUjT3LUKOFIK4xt5ug tySequence__KjgUMUjT3LUKOFIK4xt5ug;
typedef struct tySequence__WwUFq9cJ2xKRlsAWVEHyPRg tySequence__WwUFq9cJ2xKRlsAWVEHyPRg;
typedef struct tySequence__oUyaggHmIX9bpJcMeoG6lpA tySequence__oUyaggHmIX9bpJcMeoG6lpA;
typedef struct tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg;
typedef struct tySequence__jwzrUFjG9akTIJTBBFvvqxw tySequence__jwzrUFjG9akTIJTBBFvvqxw;
typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
typedef struct tyObject_TBlock__GFhahvekTq3dDOkWyhchMA tyObject_TBlock__GFhahvekTq3dDOkWyhchMA;
typedef struct tyTuple__FxkU4d1VDodDMc9ah6Mbagw tyTuple__FxkU4d1VDodDMc9ah6Mbagw;
typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct Exception Exception;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct TSafePoint TSafePoint;
typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyTuple__xfZjiVhSEwIz5DDkzuPwog tyTuple__xfZjiVhSEwIz5DDkzuPwog;
typedef struct tyTuple__gEWbG8M8MJ7Ol9cA9bCDm5PQ tyTuple__gEWbG8M8MJ7Ol9cA9bCDm5PQ;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyTuple__5L3fCt9bX0gyEcO30ervPLw tyTuple__5L3fCt9bX0gyEcO30ervPLw;
typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg;
typedef struct tyTuple__yByxe8FSFNTgs4tcAkTYag tyTuple__yByxe8FSFNTgs4tcAkTYag;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct tyTuple__a1QJSSO0LTGR9bFH59c2xGCA tyTuple__a1QJSSO0LTGR9bFH59c2xGCA;
typedef struct tySequence__shxop0zPIs5Ec3k71aCLuQ tySequence__shxop0zPIs5Ec3k71aCLuQ;
typedef struct tyTuple__nsNHL3sm0TZE9bootw2pEXw tyTuple__nsNHL3sm0TZE9bootw2pEXw;
typedef struct tySequence__sno9c9bXUVS2CqhtWOJadaCw tySequence__sno9c9bXUVS2CqhtWOJadaCw;
typedef struct tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw;
typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
typedef struct tyTuple__eCO8mA2VZCpG2fD1wGsc8Q tyTuple__eCO8mA2VZCpG2fD1wGsc8Q;
typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
typedef struct tyObject_TNodePair__EZfI4tFqtDSTQys2UInNjg tyObject_TNodePair__EZfI4tFqtDSTQys2UInNjg;
typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
NI counter;
};
struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
tySequence__mWRMiYLthG9coLjkbElCxkw* data;
NI counter;
};
struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
tySequence__bTDCDwD2P7TodzbAefLcSw* data;
NI counter;
};
typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
tySequence__3MPVXAHA08SszBrU4ffqEg* data;
NI counter;
};
struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
NI counter;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
};
struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
};
struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
NI counter;
};
typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
NI elems;
NI counter;
NI max;
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
};
struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
NI counter;
};
struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence__kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
NI counter;
};
struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
tySequence__23SMqauuRsbDANhthj9bWlA* data;
NI counter;
};
struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
NI counter;
};
struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
NI counter;
};
typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
};
struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
NIM_BOOL suggestMode;
NIM_BOOL invalidTransitiveClosure;
tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
RootObj* backend;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
RootObj* vm;
tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
tySequence__MAQKEADohlpnXTModtugbQ* passes;
tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ {
tySequence__YT27F6szr8EQuTI39aUMYuA* data;
NI counter;
};
struct tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA {
  RootObj Sup;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* mainModProcs;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* mainModInit;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* otherModsInit;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* mainDatInit;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* mapping;
tySequence__SHVxAqOYtIy7teT1q4s0zQ* modules;
tySequence__SHVxAqOYtIy7teT1q4s0zQ* modulesClosed;
tySequence__eHqUwlHGGaPw0TDPDeL79cQ* forwardedProcs;
tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* generatedHeader;
tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ typeInfoMarker;
tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ typeInfoMarkerV2;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
NI strVersion;
NI seqVersion;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* nimtv;
tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* nimtvDeps;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA nimtvDeclared;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
  RootObj Sup;
tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
};
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__pujFC2IN5RzE4MXkqaMD9aQ[20];
typedef NU8 tySet_tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA {
tySequence__sII3pVVRkIdBZ2HDPdZddA* data;
NI counter;
};
struct tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A {
tySequence__WPcy3bORPBFlmk2KIq2pbQ* data;
NI counter;
};
struct tyObject_TNodeTable__wN7B39cKxLpMkvKNm9bduZ0A {
NI counter;
tySequence__vhmj4KkIKPinmRXny9c2Q6Q* data;
};
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__MxT2Arb3Nlp7V9bRITO3dvg[10];
struct tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ {
tySequence__XUL1TrMU0tgXmaMFCIYgFQ* data;
NI counter;
NIM_BOOL isSorted;
};
struct tyObject_NdiFile__9cEuXfAnHp9bnWFK409cMtsEw {
NIM_BOOL enabled;
FILE* f;
NimStringDesc* buf;
NimStringDesc* filename;
tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
};
struct tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow {
  tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
tyArray__pujFC2IN5RzE4MXkqaMD9aQ s;
tySet_tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q flags;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
NimStringDesc* filename;
NimStringDesc* cfilename;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpBase;
tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA typeCache;
tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A typeABICache;
tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA forwTypeCache;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA declaredThings;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA declaredProtos;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA alive;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* headerFiles;
tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA typeInfoMarker;
tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA typeInfoMarkerV2;
tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* initProc;
tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* preInitProc;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* hcrCreateTypeInfosProc;
NIM_BOOL inHcrInitGuard;
tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* typeStack;
tyObject_TNodeTable__wN7B39cKxLpMkvKNm9bduZ0A dataCache;
NI typeNodes;
NI nimTypes;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* typeNodesName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* nimTypesName;
NI labels;
tyArray__MxT2Arb3Nlp7V9bRITO3dvg extensionLoaders;
tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ sigConflicts;
tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g;
tyObject_NdiFile__9cEuXfAnHp9bnWFK409cMtsEw ndi;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA {
  RootObj Sup;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* left;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* right;
NI L;
NimStringDesc* data;
};
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__wROVfG5RQYpjEAhvO3LqdQ {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field2;
};
struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
NI32 module;
NI32 item;
};
struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
  RootObj Sup;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
};
typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
  tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
} _kind_1;
struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
NI bitsize;
NI alignment;
} _kind_2;
};
tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
};
struct tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg {
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field0;
NI Field1;
};
typedef NU8 tySet_tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ;
struct tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg {
tySequence__jwzrUFjG9akTIJTBBFvvqxw* data;
NI counter;
NIM_BOOL isSorted;
};
struct tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q {
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
tySet_tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ flags;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q currLineInfo;
tySequence__KjgUMUjT3LUKOFIK4xt5ug* nestedTryStmts;
tySequence__WwUFq9cJ2xKRlsAWVEHyPRg* finallySafePoints;
NI labels;
tySequence__oUyaggHmIX9bpJcMeoG6lpA* blocks;
NI breakIdx;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* module;
NI withinLoop;
NI splitDecls;
NI withinTryWithExcept;
NI withinBlockLeaveActions;
tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg sigConflicts;
};
typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
NI Field0;
NI Field1;
NI Field2;
};
typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc__oL9coyIA2VDTGdUcur9aL9bew;
struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
NimStringDesc* unitSep;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
NimStringDesc* cmdInput;
NIM_BOOL projectIsCmd;
NIM_BOOL implicitCmd;
tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
NIM_BOOL hintProcessingDots;
NI verbosity;
NI numberOfProcessors;
NF lastCmdTime;
tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
NI spellSuggestMax;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
NimStringDesc* arguments;
tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
NIM_BOOL isVmTrace;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* 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__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug 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__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
NimStringDesc* cppCustomNamespace;
tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
};
typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ;
typedef NU8 tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q;
typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
NI32 module;
NI32 symId;
NI32 typeId_0;
NIM_BOOL sealed;
};
typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
} _kind_4;
struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
} _kind_5;
struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} _kind_6;
};
};
typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__c9b9aKKmyKnqxZD8lAny45jg[3];
struct tyObject_TBlock__GFhahvekTq3dDOkWyhchMA {
NI id;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* label;
tyArray__c9b9aKKmyKnqxZD8lAny45jg sections;
NIM_BOOL isLoop;
NI16 nestedTryStmts;
NI16 nestedExceptStmts;
NI16 frameLen;
};
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__JiWwrsTRC6xqNlGcBthSVA[1];
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__qTjAvTvKF9anytN1At69aJMQ[1];
typedef NU8 tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg;
struct tyTuple__FxkU4d1VDodDMc9ah6Mbagw {
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
NIM_BOOL Field1;
NI Field2;
};
typedef NU8 tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug;
struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
NI id;
NimStringDesc* s;
tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
NI h;
};
struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
};
typedef NU8 tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA {
tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
NIM_BOOL generated;
NIM_BOOL isOverriden;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* path;
};
typedef NU8 tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg;
typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
  tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
};
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
typedef NU8 tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g;
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
};
typedef NU8 tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w;
typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__mrugoXXRZUEeG9bEXo9auBKw[2];
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
  Exception Sup;
};
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
  tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
  tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
};
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__duFhZXIIlrbrM62cWjNekg[5];
typedef NimStringDesc* tyArray__t1sx1FVcaX4m77XqENedIQ[11];
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__wqYjTJU9ab2ZgEFMaQc3vNA[3];
struct tyTuple__XOVT24GHXwqiEj5GCsEGCA {
NimStringDesc* Field0;
NI Field1;
};
typedef NU8 tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw;
typedef NU8 tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw;
struct tyTuple__xfZjiVhSEwIz5DDkzuPwog {
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field0;
NI32 Field1;
};
struct tyTuple__gEWbG8M8MJ7Ol9cA9bCDm5PQ {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyTuple__xfZjiVhSEwIz5DDkzuPwog Field2;
};
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef NU8 tySet_tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg;
struct tyTuple__5L3fCt9bX0gyEcO30ervPLw {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NimStringDesc* Field5;
NimStringDesc* Field6;
NimStringDesc* Field7;
NimStringDesc* Field8;
NimStringDesc* Field9;
NimStringDesc* Field10;
NimStringDesc* Field11;
tySet_tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg Field12;
};
typedef tyTuple__5L3fCt9bX0gyEcO30ervPLw tyArray__VbVuAPt8GSIPhx9amVJ0MyA[32];
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
};
typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
};
struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
};
struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
NimStringDesc* definedSymbols;
tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
tySequence__b89aLriiJnVTD186H6zNIgg* exports;
tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
tySequence__48JTohSgTy339bRxHzUD8KA* converters;
tySequence__48JTohSgTy339bRxHzUD8KA* methods;
tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
};
struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
NI counter;
};
struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
NIM_BOOL symsInit;
NIM_BOOL typesInit;
NIM_BOOL loadedButAliveSetChanged;
tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
};
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__dNfZYyzVYdaWfURv4pxodA[6];
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__f7nG5LD47BH5K9c6mASit3g[4];
struct tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg {
tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p;
NimStringDesc* visitorFrmt;
};
typedef NU8 tySet_tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg;
struct tyTuple__yByxe8FSFNTgs4tcAkTYag {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NimStringDesc* Field5;
NimStringDesc* Field6;
NimStringDesc* Field7;
NimStringDesc* Field8;
NimStringDesc* Field9;
NimStringDesc* Field10;
NimStringDesc* Field11;
NimStringDesc* Field12;
NimStringDesc* Field13;
NimStringDesc* Field14;
NimStringDesc* Field15;
NimStringDesc* Field16;
NimStringDesc* Field17;
NimStringDesc* Field18;
NimStringDesc* Field19;
NimStringDesc* Field20;
tySet_tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg Field21;
};
typedef tyTuple__yByxe8FSFNTgs4tcAkTYag tyArray__sa9aJ6U8e9b7Bj4Yq8itsR8w[11];
typedef NU8 tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg;
typedef NU8 tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA;
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__YcHYlgE5mhtkt9a3rnoucVg[7];
typedef NU8 tyEnum_TClosureTypeKind__cLHRMz1vnpSK0uePy2qbWw;
typedef NU8 tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw;
typedef NU8 tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw;
typedef NU8 tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg;
typedef NimStringDesc* tyArray__Sjq0yxKksnvb1U6tEMqzYg[14];
struct tyTuple__a1QJSSO0LTGR9bFH59c2xGCA {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
};
typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
typedef NU8 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg;
struct tyTuple__nsNHL3sm0TZE9bootw2pEXw {
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field0;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field1;
};
typedef NU8 tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w;
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NimStringDesc* tyArray__ttGk45MsSAdGt9ciYdRA8VQ[4];
typedef NimStringDesc* tyArray__rJSOG9bfI5wi9aqXvYJsFCWA[7];
typedef NimStringDesc* tyArray__cqX2jO1YLR9bYjA09bx8BZVg[2];
typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
typedef NimStringDesc* tyArray__B06a0PrPRpY9aXtMPObCiCA[5];
typedef NU8 tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
struct tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA {
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA Field0;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field1;
};
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
};
struct tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw {
  RootObj Sup;
NI colonstate_;
tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m1;
};
typedef struct {
N_NIMCALL_PTR(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, ClP_0) (NimStringDesc* handle, NimStringDesc* name, void* ClE_0);
void* ClE_0;
} tyProc__G7yv7dCrMxuDBcXNy2RR1w;
typedef N_CLOSURE_PTR(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, TM__MQdRN7fpbG7rPm4JpVVAhA_1203) (NimStringDesc* handle, NimStringDesc* name);
typedef N_CLOSURE_PTR(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, TM__MQdRN7fpbG7rPm4JpVVAhA_1207) (NimStringDesc* handle, NimStringDesc* name);
typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
NimStringDesc* customArgs;
};
typedef NU8 tyEnum_Endianness__0BVYNY0K9cz7BUPI3AnbEQw;
struct tyTuple__eCO8mA2VZCpG2fD1wGsc8Q {
NimStringDesc* Field0;
NI Field1;
tyEnum_Endianness__0BVYNY0K9cz7BUPI3AnbEQw Field2;
NI Field3;
NI Field4;
};
typedef tyTuple__eCO8mA2VZCpG2fD1wGsc8Q tyArray__9cwFB2SXj9aw9cyLiDbvSiBEg[26];
typedef NU8 tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
NI counter;
};
struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
NI32 thisModule;
NI32 lastFile;
NU32 lastLit;
tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
};
struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
NU32 module;
NI32 item;
};
struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
NI module;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
};
struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
};
struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
NI Field0;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
};
struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
NI module;
tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
};
struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
NI Field0;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
};
struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
NI Field0;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
};
struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
};
struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
NI Field0;
tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
};
struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
NI Field0;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
};
struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
NI Field0;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
};
struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
NI Field0;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
};
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
};
struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
};
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
NI Field0;
NimStringDesc* Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringDesc* Field1;
NI64 Field2;
};
struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
NI entries;
};
struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
NI Field0;
NimStringDesc* Field1;
tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
};
typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
NIM_BOOL Field3;
};
struct tyObject_TNodePair__EZfI4tFqtDSTQys2UInNjg {
NI h;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
NI val;
};
struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyFile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
NU32 Field0;
NimStringDesc* Field1;
};
struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
NU16 line;
NI16 col;
NU32 file;
};
struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
NI32 operand;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
};
struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
NU32 Field0;
NI32 Field1;
};
struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
NU32 Field0;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
};
struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
};
struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
};
struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
};
struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
};
struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
NI Field1;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
};
struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
NIM_BOOL generated;
NIM_BOOL isOverriden;
NU32 name;
NI32 path;
};
struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
NU32 name;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
NI32 ast;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
NI bitsize;
NI alignment;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
NU32 externalName;
tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
NI32 constraint;
};
struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
NI32 n;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
NI32 nonUniqueId;
};
struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
NI Field0;
tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
};
struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
NI Field0;
NI32 Field1;
NU32 Field2;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__sII3pVVRkIdBZ2HDPdZddA {
  TGenericSeq Sup;
  tyTuple__wROVfG5RQYpjEAhvO3LqdQ data[SEQ_DECL_SIZE];
};
struct tySequence__XUL1TrMU0tgXmaMFCIYgFQ {
  TGenericSeq Sup;
  tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg data[SEQ_DECL_SIZE];
};
struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
  TGenericSeq Sup;
  tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
};
struct tySequence__SHVxAqOYtIy7teT1q4s0zQ {
  TGenericSeq Sup;
  tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* data[SEQ_DECL_SIZE];
};
struct tySequence__oUyaggHmIX9bpJcMeoG6lpA {
  TGenericSeq Sup;
  tyObject_TBlock__GFhahvekTq3dDOkWyhchMA data[SEQ_DECL_SIZE];
};
struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
  TGenericSeq Sup;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
};
struct tySequence__WwUFq9cJ2xKRlsAWVEHyPRg {
  TGenericSeq Sup;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* data[SEQ_DECL_SIZE];
};
struct tySequence__jwzrUFjG9akTIJTBBFvvqxw {
  TGenericSeq Sup;
  tyTuple__XOVT24GHXwqiEj5GCsEGCA data[SEQ_DECL_SIZE];
};
struct tySequence__YT27F6szr8EQuTI39aUMYuA {
  TGenericSeq Sup;
  tyTuple__gEWbG8M8MJ7Ol9cA9bCDm5PQ data[SEQ_DECL_SIZE];
};
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
  TGenericSeq Sup;
  NU8 data[SEQ_DECL_SIZE];
};
struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence__WPcy3bORPBFlmk2KIq2pbQ {
  TGenericSeq Sup;
  tyTuple__a1QJSSO0LTGR9bFH59c2xGCA data[SEQ_DECL_SIZE];
};
struct tySequence__shxop0zPIs5Ec3k71aCLuQ {
  TGenericSeq Sup;
  NIM_BOOL data[SEQ_DECL_SIZE];
};
struct tySequence__sno9c9bXUVS2CqhtWOJadaCw {
  TGenericSeq Sup;
  tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA data[SEQ_DECL_SIZE];
};
struct tySequence__KjgUMUjT3LUKOFIK4xt5ug {
  TGenericSeq Sup;
  tyTuple__FxkU4d1VDodDMc9ah6Mbagw data[SEQ_DECL_SIZE];
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
  TGenericSeq Sup;
  tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
};
struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
  TGenericSeq Sup;
  tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
};
struct tySequence__XMM60DtBsc6xYsIpNANkrA {
  TGenericSeq Sup;
  tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
};
struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
  TGenericSeq Sup;
  tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
};
struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
  TGenericSeq Sup;
  tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
};
struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
  TGenericSeq Sup;
  tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
};
struct tySequence__mWRMiYLthG9coLjkbElCxkw {
  TGenericSeq Sup;
  tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
};
struct tySequence__bTDCDwD2P7TodzbAefLcSw {
  TGenericSeq Sup;
  tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
};
struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
  TGenericSeq Sup;
  tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
};
struct tySequence__3MPVXAHA08SszBrU4ffqEg {
  TGenericSeq Sup;
  tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
};
struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
  TGenericSeq Sup;
  tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
  TGenericSeq Sup;
  tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
};
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
  TGenericSeq Sup;
  tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* 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__s9byh6WFJ16lPMcmqdaMTHA {
  TGenericSeq Sup;
  tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
};
struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
  TGenericSeq Sup;
  tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
  TGenericSeq Sup;
  tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
};
struct tySequence__23SMqauuRsbDANhthj9bWlA {
  TGenericSeq Sup;
  tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  TGenericSeq Sup;
  tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
};
struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
  TGenericSeq Sup;
  tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
};
struct tySequence__MAQKEADohlpnXTModtugbQ {
  TGenericSeq Sup;
  tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
};
struct tySequence__vhmj4KkIKPinmRXny9c2Q6Q {
  TGenericSeq Sup;
  tyObject_TNodePair__EZfI4tFqtDSTQys2UInNjg data[SEQ_DECL_SIZE];
};
struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
  TGenericSeq Sup;
  tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA 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__29bS0n2QNyO1R7e0qMMOvLA {
  TGenericSeq Sup;
  tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
};
struct tySequence__b89aLriiJnVTD186H6zNIgg {
  TGenericSeq Sup;
  tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
};
struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
  TGenericSeq Sup;
  tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
};
struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
  TGenericSeq Sup;
  tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
};
struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
  TGenericSeq Sup;
  tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
};
struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
  TGenericSeq Sup;
  tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
};
struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
  TGenericSeq Sup;
  tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
};
struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
  TGenericSeq Sup;
  tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
};
struct tySequence__DfmUmNgVGnYaiV1I6227tw {
  TGenericSeq Sup;
  tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
};
struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
  TGenericSeq Sup;
  tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
};
struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
  TGenericSeq Sup;
  NI64 data[SEQ_DECL_SIZE];
};
struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
  TGenericSeq Sup;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
};
struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
  TGenericSeq Sup;
  tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
};
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
  TGenericSeq Sup;
  tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
};
struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
  TGenericSeq Sup;
  tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA*, newModuleList_cgendata_374)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef_system_5317)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent__system_696)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_system_5279)(void* usr);
static N_INLINE(NI, minuspercent__system_716)(NI x, NI y);
static N_INLINE(void, decRef_system_5324)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent__system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT_system_5322)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT_system_5273)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*, newModule_cgen_28235)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*, rawNewModule_cgen_28230)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*, rawNewModule_cgen_28137)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, NimStringDesc* filename);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope_ropes_109)(NimStringDesc* s);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem_system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__modulegraphs_8947)(tyArray__qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(void, hashOwner_sighashes_505)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
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(NimStringDesc*, rawNewString)(NI space);
static N_INLINE(void, nimGCunrefRC1)(void* p);
static N_INLINE(void, initIntSet_pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet_pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, initTable_cgen_28149)(NI initialSize, tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* Result);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(NI, slotsNeeded_pureZcollectionsZtables_42)(NI count);
N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo_pureZmath_177)(NI x);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(void, initCountTable_cgen_28168)(NI initialSize, tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q*, newProc_cgendata_278)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* module);
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg, initProcOptions_cgen_28125)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(void, initNodeTable_ast_4143)(tyObject_TNodeTable__wN7B39cKxLpMkvKNm9bduZ0A* x);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTempName_cgen_410)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, amp__ropes_128)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope_ropes_115)(NI64 i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, completeCfilePath_extccomp_713)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile, NIM_BOOL createSubDir);
N_LIB_PRIVATE N_NIMCALL(void, open_ndi_24)(tyObject_NdiFile__9cEuXfAnHp9bnWFK409cMtsEw* f, NimStringDesc* filename, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath_msgs_538)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, genTopLevelStmt_cgen_28360)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NIM_BOOL, skipCodegen_passes_49)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformStmt_transf_1873)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, injectDestructorCalls_injectdestructors_10100)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn_cgen_42)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn_options_567)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, addHcrInitGuards_cgen_28329)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL* inInitGuard);
static N_INLINE(NI, safeLen_ast_3190)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NI, len_ast_3197)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, endBlock_cgen_13201)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(void, add_ropes_159)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13453)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, runtimeFormat_ropes_271)(NimStringDesc* frmt, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13462)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7509)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, endBlock_cgen_13434)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* blockEnd);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, blockBody_cgen_13426)(tyObject_TBlock__GFhahvekTq3dDOkWyhchMA* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13429)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, s_cgendata_225)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg s);
static N_INLINE(tyObject_TBlock__GFhahvekTq3dDOkWyhchMA*, X5BX5D__cgendata_229)(tyObject_TBlock__GFhahvekTq3dDOkWyhchMA* s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, indentLine_cgen_272)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r);
N_LIB_PRIVATE N_NIMCALL(void, prepend_ropes_265)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(NI, startBlockInternal_cgen_13180)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(NI, inExceptBlockLen_cgen_13145)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(void, genStmts_cgen_11452)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint_options_515)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
N_LIB_PRIVATE N_NIMCALL(void, pushInfoContext_msgs_490)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* detail);
N_LIB_PRIVATE N_NIMCALL(void, expr_cgen_11455)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, fillProcLoc_cgen_11423)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, fillLoc_cgen_65)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a, tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r, tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleName_cgen_620)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mangle_ccgutils_112)(NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(void, add_ropes_162)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, idOrSig_sighashes_2057)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* currentModule, tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* sigCollisions);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, genProcPrototype_cgen_11459)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(void, useHeader_cgen_105)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStr_ast_4609)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
N_LIB_PRIVATE N_NIMCALL(void, includeHeader_cgendata_214)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* this_0, NimStringDesc* header);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl_astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
N_LIB_PRIVATE N_NIMCALL(void, cgFormatValue_cgen_145)(NimStringDesc** result, NimStringDesc* value);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isReloadable_cgen_6710)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(void, cgFormatValue_cgen_141)(NimStringDesc** result, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* value);
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, pop_ropes_180)(tySequence__WwUFq9cJ2xKRlsAWVEHyPRg** s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeDesc_cgen_6635)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeDescAux_cgen_1306)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* origTyp, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes_ast_3734)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedCppType_cgen_1286)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl_msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString_types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
N_LIB_PRIVATE N_NIMCALL(void, hashType_sighashes_462)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g flags, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypePre_cgen_3053)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getSimpleTypeDesc_cgen_1794)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, typeNameOrLiteral_cgen_1777)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NimStringDesc* literal);
N_LIB_PRIVATE N_NIMCALL(NI, detectStrVersion_cgen_464)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCompilerProc_magicsys_145)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(NI, toInt_int495056_170)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getInt_ast_4591)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, cgsym_cgen_120)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(void, genProc_cgen_403)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isActivated_cgen_26595)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(void, addForwardedProc_cgen_48)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(void, genProcNoForward_cgen_26332)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*, findPendingModule_cgen_55)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(void, genProcAux_cgen_25981)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genProcHeader_cgen_606)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, NIM_BOOL asPtr);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNonReloadable_cgen_6718)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(void, genProcParams_cgen_3472)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** rettype, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** params, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NIM_BOOL declareEnvironment, NIM_BOOL weakDep);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInvalidReturnType_cgen_1327)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* rettype);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w, mapType_cgen_1201)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w, mapSetType_cgen_1197)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(NI64, getSize_types_3333)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl_systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon_ast_3742)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt__int495056_721)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd_types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGarbageCollectedRef_types_612)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
static N_INLINE(NIM_BOOL, isObjLackingTypeField_cgen_1311)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isPureObject_types_132)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3486)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(NIM_BOOL, isCompileTimeOnly_types_3525)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3511)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleParamName_cgen_632)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword_cgen_610)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* w);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_cgen_694)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg s, NimStringDesc* key);
static N_INLINE(NI, rawGet_options_2606)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash_pureZhashes_279)(NimStringDesc* x);
static N_INLINE(NIM_BOOL, isFilled_pureZcollectionsZsets_38)(NI hcode);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem_system_1735)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(NI, nextTry_pureZcollectionsZsets_41)(NI h, NI maxHash);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw, paramStorageLoc_cgen_3465)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ccgIntroducedPtr_ccgutils_153)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* retType);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeDescWeak_cgen_3309)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeForward_cgen_3105)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, cacheGetType_cgen_1345)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA tab, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getOrDefault_cgen_1415)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
static N_INLINE(NI, rawGet_cgen_1424)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash_modulegraphs_8963)(tyArray__qtqsWM5aXmcpMIVmvq3kAA u);
static N_INLINE(NIM_BOOL, isFilled_pureZcollectionsZtables_31)(NI hcode);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq__modulegraphs_8959)(tyArray__qtqsWM5aXmcpMIVmvq3kAA a, tyArray__qtqsWM5aXmcpMIVmvq3kAA b);
static N_INLINE(NI, nextTry_pureZcollectionsZtables_34)(NI h, NI maxHash);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeName_cgen_1153)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, amp__ropes_140)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, typeName_cgen_1135)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__cgen_1859)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val);
static N_INLINE(NIM_BOOL, mustRehash_cgen_2058)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_cgen_2244)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_cgen_2575)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tySequence__sII3pVVRkIdBZ2HDPdZddA** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_cgen_2756)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedType_cgen_1275)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(void, addForwardStructFormat_cgen_3076)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* structOrUnion, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* typename_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3088)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3093)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, structOrUnion_cgen_3066)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(void, pushType_cgen_3034)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, X5BX5D__cgen_3222)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError_cgen_3293)(tyArray__qtqsWM5aXmcpMIVmvq3kAA key) __attribute__((noreturn));
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, seqStar_cgen_3098)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3518)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3527)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3536)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3558)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w, mapReturnType_cgen_1271)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3585)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, amp__ropes_144)(NimStringDesc* a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6757)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBody_transf_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, NIM_BOOL cache);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, easyResultAsgn_cgen_25709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsResult_cgen_25680)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, localVarDecl_cgen_11054)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleLocalName_cgen_718)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
static N_INLINE(void, shallow_system_7444)(NimStringDesc** s);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault_cgen_804)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key, NI default_0);
N_LIB_PRIVATE N_NIMCALL(NI, rawGet_cgen_825)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, inc_cgen_927)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg* t, NimStringDesc* key, NI val);
static N_INLINE(NIM_BOOL, mustRehash_cgen_994)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_cgen_1030)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg* t);
N_LIB_PRIVATE N_NIMCALL(void, ctRawInsert_cgen_1065)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, tySequence__jwzrUFjG9akTIJTBBFvvqxw** data, NimStringDesc* key, NI val);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3721)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, initLocExprSingleUse_cgen_11482)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result);
N_LIB_PRIVATE N_NIMCALL(void, initLoc_cgen_60)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result, tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode, tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdLoc_cgen_417)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_424)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, assignLocalVar_cgen_11094)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, initLocalVar_cgen_10982)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, NIM_BOOL immediateAsgn);
N_LIB_PRIVATE N_NIMCALL(void, constructLoc_cgen_10918)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* loc, NIM_BOOL isTemp);
static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, t_cgen_79)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a);
static N_INLINE(NIM_BOOL, isComplexValueType_cgen_10547)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, addrLoc_cgen_10307)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a);
N_LIB_PRIVATE N_NIMCALL(void, genObjectInit_cgen_10384)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg section, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a, tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw mode);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw, analyseObjectWithTypeField_types_585)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfoV2_cgen_7928)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(void, getOrDefault_cgen_8086)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__xfZjiVhSEwIz5DDkzuPwog* Result);
static N_INLINE(NI, rawGet_cgen_8095)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(void, declareNimType_cgen_7788)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* name, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* str, NI module);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7794)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7799)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getModuleDllPath_cgen_132)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NI module);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getModuleDllPath_cgen_125)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(void, splitFile_pathutils_26)(NimStringDesc* x, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCFile_cgen_123)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, withPackageName_options_4171)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, makeCString_msgs_50)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7804)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_8466)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(NIM_BOOL, moduleOpenForCodegen_modulegraphs_9377)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI32 m);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__cgen_8560)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__xfZjiVhSEwIz5DDkzuPwog val);
static N_INLINE(NIM_BOOL, mustRehash_cgen_8759)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_cgen_8945)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_cgen_9276)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ* t, tySequence__YT27F6szr8EQuTI39aUMYuA** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__xfZjiVhSEwIz5DDkzuPwog val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC_cgen_9457)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, genTypeInfoV2Impl_cgen_7876)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NOINLINE(void, liMessage_msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfo2Name_cgen_7809)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7899)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genHook_cgen_7857)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp_modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
static N_INLINE(NIM_BOOL, isTrivialProc_cgen_7850)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody_modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, loadProcBody_icZic_8390)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycle_types_762)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7907)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(NI, len_ast_4001)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfoV1_cgen_6772)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_9965)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToC_cgen_9742)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, nsuToLowerAsciiChar)(NIM_CHAR c);
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(NI32, getOrDefault_cgen_10082)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key);
static N_INLINE(NI, rawGet_lineinfos_448)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__ropes_250)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r);
N_LIB_PRIVATE N_NIMCALL(void, rememberEmittedTypeInfo_modulegraphs_9389)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI32 m, NimStringDesc* ti);
N_LIB_PRIVATE N_NIMCALL(void, genTypeInfoAuxBase_cgen_6792)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* base, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, tiNameForHcr_cgen_6788)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6812)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6818)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined_options_2277)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6832)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6837)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6842)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6847)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getModuleDllPath_cgen_136)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6852)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(NimStringDesc*, toFileLineCol_msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, fakeClosureType_cgen_7330)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType_ast_3895)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId_ast_3150)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
N_LIB_PRIVATE N_NIMCALL(void, rawAddSon_ast_4287)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createObj_lowerings_288)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NIM_BOOL final);
N_LIB_PRIVATE N_NIMCALL(void, genTupleInfo_cgen_7154)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getNimNode_cgen_6776)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6779)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, genTNimNodeArray_cgen_6936)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* size);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6940)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6945)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6950)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6985)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7186)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6994)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7002)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7138)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genTypeInfoAux_cgen_6857)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTraverseProc_cgen_7671)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* origTyp, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7681)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7688)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7693)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genTraverseProcSeq_cgen_7465)(tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg c, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, getTemp_cgen_7347)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result, NIM_BOOL needsInit);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lodeTyp_cgen_86)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode_ast_3331)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType_magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7655)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, lenExpr_cgen_440)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_448)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, lenField_cgen_429)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(NI, len_ropes_10)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a);
N_LIB_PRIVATE N_NIMCALL(void, genTraverseProc_cgen_7340)(tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg c, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd_types_1661)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(void, cgFormatValue_cgen_151)(NimStringDesc** result, tyObject_Int128__9a9axPfb75jdWY25AamJewkA value);
N_LIB_PRIVATE N_NIMCALL(void, addInt128_int495056_643)(NimStringDesc** result, tyObject_Int128__9a9axPfb75jdWY25AamJewkA value);
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, parentObj_cgen_7448)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7460)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genTraverseProc_cgen_7352)(tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg c, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, fillObjectFields_cgen_3769)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getRecordFields_cgen_3764)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genRecordFieldsAux_cgen_3626)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* rectype, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NimStringDesc* unionPrefix);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon_ast_4831)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleRecFieldName_cgen_3610)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mangleField_cgen_616)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3683)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3688)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3701)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3710)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3730)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3741)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType_types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3750)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3755)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7386)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genCaseRange_cgen_7344)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15293)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genLiteral_cgen_11468)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genLiteral_cgen_17603)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* ty);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, intLiteral_cgen_11466)(NI64 i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17583)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17555)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17560)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17613)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17618)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, int64Literal_cgen_17548)(NI64 i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, uint64Literal_cgen_17565)(NU64 i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__systemZdollars_9)(NU64 x);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17623)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NI, nodeTableTestOrSet_treetab_198)(tyObject_TNodeTable__wN7B39cKxLpMkvKNm9bduZ0A* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI val);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17646)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17655)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genNilStringLiteral_cgen_587)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteral_cgen_600)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteralV1_cgen_499)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteralDataOnlyV1_cgen_490)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_494)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, cgFormatValue_cgen_148)(NimStringDesc** result, NI64 value);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteralV2_cgen_553)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst);
N_LIB_PRIVATE N_NIMCALL(void, genStringLiteralDataOnlyV2_cgen_534)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* s, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result, NIM_BOOL isConst);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_539)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_560)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toStrMaxPrecision_cgen_17677)(NF32 f);
N_LIB_PRIVATE N_NIMCALL(tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA, classify_pureZmath_147)(NF x);
static N_INLINE(NIM_BOOL, signbit_cgen_17683)(NF32 x);
N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip_system_6844)(NimStringDesc** result, NF32 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toStrMaxPrecision_astalgo_920)(NF f);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode_ast_4335)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15303)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7412)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7420)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7425)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7443)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7661)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, dataField_cgen_453)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7720)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7726)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7731)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7736)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_10236)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genArrayInfo_cgen_7324)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(void, genSetInfo_cgen_7305)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7319)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope_cgen_6922)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__int495056_53)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a);
N_LIB_PRIVATE N_NIMCALL(void, genEnumInfo_cgen_7209)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7255)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7262)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7270)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7278)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7286)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7291)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genObjectInfo_cgen_7115)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(void, genObjectFields_cgen_6955)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* expr, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, discriminatorTableName_cgen_6902)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* objtype, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecord_astalgo_84)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6917)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7030)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6931)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus__int495056_794)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getOrdValue_types_161)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Int128__9a9axPfb75jdWY25AamJewkA onError);
static N_INLINE(NIM_BOOL, isEmptyType_ast_4778)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7101)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, openArrayToTuple_cgen_9717)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(void, add_concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
N_LIB_PRIVATE N_NIMCALL(void, genDeepCopyProc_cgen_7779)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7783)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_10276)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, rawConstExpr_cgen_10369)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17744)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genBracedInit_cgen_13763)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst, tyObject_TType__facALICuu8zUj0hjvbTLFg* optionalType);
N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, toBitSet_nimsets_103)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genRawSetData_cgen_17723)(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* cs, NI size);
N_LIB_PRIVATE N_NIMCALL(NU64, bitSetToWord_cgen_17707)(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* s, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstSeqV2_cgen_25064)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL isConst);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24968)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25174)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getSeqPayloadType_cgen_3440)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstSeq_cgen_24940)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL isConst);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24949)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25059)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25219)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, initLocExpr_cgen_11478)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25226)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getClosureType_cgen_6648)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TClosureTypeKind__cLHRMz1vnpSK0uePy2qbWw kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5922)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5927)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstSimpleList_cgen_24896)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstTuple_cgen_24917)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst, tyObject_TType__facALICuu8zUj0hjvbTLFg* tup);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25314)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstObjConstr_cgen_24880)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst);
N_LIB_PRIVATE N_NIMCALL(void, getNullValueAuxT_cgen_17534)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* orig, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constOrNil, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result, NI* count, NIM_BOOL isConst, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux_cgen_24769)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constOrNil, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result, NI* count, NIM_BOOL isConst, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(NI, caseObjDefaultBranch_cgen_24725)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_Int128__9a9axPfb75jdWY25AamJewkA branch);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq__int495056_309)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq__int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getDefaultValue_cgen_24681)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__renderer_2107)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24891)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteralV2Const_cgen_569)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_576)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT_ast_3377)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, genAssignment_cgen_10373)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src, tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw flags);
N_LIB_PRIVATE N_NIMCALL(void, genRefAssign_cgen_10543)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src);
static N_INLINE(NIM_BOOL, usesWriteBarrier_options_3996)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, genGenericAsgn_cgen_17954)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src, tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw flags);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canMove_cgen_17767)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr_trees_171)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL preventInheritance);
N_LIB_PRIVATE N_NIMCALL(void, optAsgnLoc_cgen_17858)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* field, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* Result);
N_LIB_PRIVATE N_NIMCALL(void, genOptAsgnTuple_cgen_17870)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src, tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17905)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NI, asgnComplexity_cgen_17846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genOptAsgnObject_cgen_17920)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src, tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw flags, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
static N_INLINE(NIM_BOOL, reifiedOpenArray_cgen_11733)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genOpenArrayConv_cgen_18032)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, byRefLoc_cgen_10323)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a);
N_LIB_PRIVATE N_NIMCALL(NI, safeLineNm_cgen_323)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
static N_INLINE(NI, toLinenumber_msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isException_types_3997)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(void, fillResult_cgen_1760)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_1763)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, assignParam_cgen_11412)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* retType);
N_LIB_PRIVATE N_NIMCALL(void, scopeMangledParam_cgen_1111)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param);
N_LIB_PRIVATE N_NIMCALL(tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg, allPathsAsgnResult_cgen_25764)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, resetLoc_cgen_10828)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* loc);
N_LIB_PRIVATE N_NIMCALL(void, specializeReset_cgen_10825)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a);
N_LIB_PRIVATE N_NIMCALL(void, specializeResetT_cgen_10567)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, specializeResetN_cgen_10571)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, closureSetup_cgen_25633)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(void, genProcBody_cgen_25917)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procBody);
N_LIB_PRIVATE N_NIMCALL(void, genCLineDir_cgen_343)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** r, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, genCLineDir_cgen_326)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** r, NimStringDesc* filename, NI line, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_338)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, makeSingleLineCString_ccgutils_108)(NimStringDesc* s);
static N_INLINE(NIM_BOOL, isNoReturn_cgen_25969)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, initFrame_cgen_17448)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* procname, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, quotedFilename_msgs_1464)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26172)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, deinitFrame_cgen_17518)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26181)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26186)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getProcTypeCast_cgen_25901)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25912)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, symInDynamicLib_cgen_25474)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGetProcAddr_cgen_25333)(tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* lib);
N_LIB_PRIVATE N_NIMCALL(void, loadDynamicLib_cgen_25349)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* lib);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25367)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, libCandidates_pureZdynlib_37)(NimStringDesc* s, tySequence__sM4lkSb7zS6F7OVMvW9cffQ** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode_ast_3812)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NimStringDesc* strVal);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleDynLibProc_cgen_3773)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25498)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25539)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26407)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, symInDynamicLibPartial_cgen_25585)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23688)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genVarPrototype_cgen_11446)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, treatGlobalDifferentlyForHCR_cgen_11246)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(void, declareThreadVar_cgen_11145)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL isExtern);
static N_INLINE(NIM_BOOL, emulatedThreadVars_cgen_401)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11195)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, incl_pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, procSec_cgendata_274)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24237)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode_ast_3715)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(void, addActualSuffixForHCR_cgen_12284)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** res, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(void, excl_reorder_264)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
static N_INLINE(void, popSafePoint)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl_cgen_4144)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
static N_INLINE(NI, slotsNeeded_pureZcollectionsZsets_49)(NI count);
static N_INLINE(NI, rawGet_cgen_4232)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash_cgen_4494)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge_cgen_4686)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s);
static N_INLINE(NI, rawGetKnownHC_cgen_4937)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_cgen_5299)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s, tySequence__WPcy3bORPBFlmk2KIq2pbQ** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(void, addAbiCheck_cgen_1744)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name);
N_LIB_PRIVATE N_NIMCALL(void, addTypeHeader_types_216)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, NIM_BOOL getDeclarationPath);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted_pureZos_449)(NimStringDesc** s, NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_1755)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getOpenArrayDesc_cgen_4019)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_4083)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5846)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5851)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5856)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5865)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6150)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NI64, toInt64_int495056_88)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6204)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, scanCppGenericSlot_cgen_3959)(NimStringDesc* pat, NI* cursor, NI* outIdx, NI* outStars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr_system_7754)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, resolveStarsInCppType_cgen_3988)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NI idx, NI stars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree_renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr_system_7766)(NimStringDesc* s, NI first);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getRecordDesc_cgen_3775)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3906)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3916)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6295)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6301)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTupleDesc_cgen_3929)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3935)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3950)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6594)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6599)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
static N_INLINE(NIM_BOOL, requiresExternC_cgen_26191)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getModule_astalgo_216)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(void, putLocIntoDest_cgen_11462)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA s);
N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSimpleConst_cgen_89)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, putIntoDest_cgen_18621)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r, tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw s);
N_LIB_PRIVATE N_NIMCALL(void, genConstHeader_cgen_24213)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* q, tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, genConstSetup_cgen_24196)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24232)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24242)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genComplexConst_cgen_23936)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, requestConstImpl_cgen_11449)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(void, genConstDefinition_cgen_24256)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* q, tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24261)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24270)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genSingleVar_cgen_13797)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* vn, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
N_LIB_PRIVATE N_NIMCALL(void, genGotoVar_cgen_13751)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13758)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, potentialValueInit_cgen_13768)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn_cgen_45)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(void, assignGlobalVar_cgen_11266)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* value);
N_LIB_PRIVATE N_NIMCALL(void, varInDynamicLib_cgen_11243)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25580)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11395)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTraverseProc_cgen_13075)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTraverseProcForGlobal_cgen_7750)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(void, accessThreadLocalVar_cgen_398)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11127)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7762)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7768)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7774)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, registerTraverseProc_cgen_13087)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* traverseProc);
static N_INLINE(NIM_BOOL, isAssignedImmediately_cgen_13137)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsHiddenPointer_types_658)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, genLineDir_cgen_351)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_359)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, sourceLine_msgs_1101)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, freshLineInfo_cgen_347)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genOtherArg_cgen_11471)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NI i, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genArgNoParam_cgen_12106)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL needsTmp);
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genArgStringToCString_cgen_12023)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL needsTmp);
N_LIB_PRIVATE N_NIMCALL(void, withTmpIfNeeded_cgen_12006)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, NIM_BOOL needsTmp, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13922)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13927)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13932)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13320)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(void, loadInto_cgen_13400)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a);
N_LIB_PRIVATE N_NIMCALL(void, genAsgnCall_cgen_13039)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInactiveDestructorCall_cgen_13025)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
static N_INLINE(NIM_BOOL, notYetAlive_cgen_13013)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getRoot_trees_390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddr_ast_5217)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genClosureCall_cgen_12349)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genParams_cgen_12187)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tySequence__shxop0zPIs5Ec3k71aCLuQ*, newSeq_cgen_12196)(NI len);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipTrivialIndirections_cgen_12133)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, potentialAlias_cgen_12117)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* potentialWrites);
N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliases_dfa_792)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field);
N_LIB_PRIVATE N_NIMCALL(void, getPotentialReads_cgen_12179)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** result);
N_LIB_PRIVATE N_NIMCALL(void, getPotentialWrites_cgen_12138)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL mutate, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** result);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg, getMagic_trees_137)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genArg_cgen_12039)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call, NIM_BOOL needsTmp);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, openArrayLoc_cgen_11861)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* formalType, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv_types_3594)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genOpenArraySlice_cgen_11750)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* q, tyObject_TType__facALICuu8zUj0hjvbTLFg* formalType, tyObject_TType__facALICuu8zUj0hjvbTLFg* destType, tyTuple__nsNHL3sm0TZE9bootw2pEXw* Result);
N_LIB_PRIVATE N_NIMCALL(void, genBoundsCheck_cgen_11728)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA arr, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, raiseInstr_cgen_406)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, intLiteral_cgen_17600)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdCharLoc_cgen_10347)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_10354)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd_types_1470)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11772)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11779)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11784)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11790)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11795)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11842)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11847)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11914)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11919)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11924)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11972)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11977)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11982)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, literalsNeedsTmp_cgen_12019)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaiseDisp_cgen_11518)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaise_ast_5087)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaiseConservative_ast_5075)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, preventNrvo_cgen_11546)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOf_aliases_129)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, locationEscapes_cgen_11551)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NIM_BOOL inTryStmt);
static N_INLINE(NIM_BOOL, hasNoInit_cgen_11590)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12426)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, addComma_cgen_12354)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12431)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, raiseExit_cgen_11476)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
static N_INLINE(tyTuple__FxkU4d1VDodDMc9ah6Mbagw*, X5BX5D__cgen_14736)(tyTuple__FxkU4d1VDodDMc9ah6Mbagw* s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isHarmlessStore_cgen_11603)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, NIM_BOOL canRaise, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12467)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12472)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genInfixCall_cgen_12742)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_pureZstrutils_1635)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genPatternCall_cgen_12637)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NimStringDesc* pat, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11630)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11676)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genThisArg_cgen_12569)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NI i, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddrDeref_cgen_12547)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12810)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, fixupCall_cgen_11617)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* callee, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* params);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11665)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, getTempCpp_cgen_11012)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* value);
N_LIB_PRIVATE N_NIMCALL(void, genNamedParamCall_cgen_12845)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12851)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(NIM_BOOL, contains_pureZos_651)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item);
static N_INLINE(NI, find_pureZos_656)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12889)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12975)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12980)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12991)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genPrefixCall_cgen_12316)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, astdef_ast_3482)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(void, putDataIntoDest_cgen_18607)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r);
N_LIB_PRIVATE N_NIMCALL(void, genMagicExpr_cgen_23222)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op);
N_LIB_PRIVATE N_NIMCALL(void, genAndOr_cgen_20194)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getLabel_cgen_11431)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_20210)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_20215)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, fixLabel_cgen_11438)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* labl);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11441)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, unaryArith_cgen_19204)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19222)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19227)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19232)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18900)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, unaryArithOverflow_cgen_18862)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18895)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18905)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, binaryFloatArith_cgen_22935)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
N_LIB_PRIVATE N_NIMCALL(void, binaryArith_cgen_18916)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18945)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18950)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18955)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18960)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18965)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18970)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18975)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18980)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18985)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18990)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18995)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19000)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19005)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19010)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19015)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19020)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19025)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19030)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19035)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19040)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19057)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19062)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19079)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19084)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19089)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19118)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genEqProc_cgen_19129)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19157)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, binaryArithOverflow_cgen_18729)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18762)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18839)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genRepr_cgen_21429)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, gcUsage_cgen_20327)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genGetTypeInfo_cgen_21601)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genGetTypeInfoV2_cgen_21607)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal_types_750)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdMType_cgen_21545)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** nilCheck, NIM_BOOL enforceV1);
N_LIB_PRIVATE N_NIMCALL(void, genSwap_cgen_21901)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, cowBracket_cgen_19390)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, binaryStmt_cgen_18636)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, NimStringDesc* op);
N_LIB_PRIVATE N_NIMCALL(void, genStrConcat_cgen_20342)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, strLoc_cgen_20334)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d);
N_LIB_PRIVATE N_NIMCALL(void, binaryStmtAddr_cgen_18662)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, NimStringDesc* cpname);
N_LIB_PRIVATE N_NIMCALL(void, genStrAppend_cgen_20422)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeAddr_cgen_21809)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree_ast_3391)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType_cgen_21805)(tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit_magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
N_LIB_PRIVATE N_NIMCALL(void, genCall_cgen_13069)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genSeqElemAppend_cgen_20520)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, getIntTemp_cgen_11034)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result);
N_LIB_PRIVATE N_NIMCALL(void, genStrEquals_cgen_22867)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genIsNil_cgen_19166)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genEnumToStr_cgen_23209)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getToStringProc_modulegraphs_5648)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree_ast_4430)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(void, genOf_cgen_21423)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genOf_cgen_21332)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21395)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genOfHelper_cgen_21276)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21308)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21318)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genNew_cgen_20756)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
N_LIB_PRIVATE N_NIMCALL(void, rawGenNew_cgen_20599)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* sizeExpr, NIM_BOOL needsInit);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_20622)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_20664)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genNewFinalize_cgen_21245)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfo_cgen_10284)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(void, genNewSeq_cgen_20860)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
N_LIB_PRIVATE N_NIMCALL(void, genNewSeqAux_cgen_20766)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* length, NIM_BOOL lenIsZero);
N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap_cgen_20899)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23571)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23578)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23607)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genSomeCast_cgen_22622)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22644)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22661)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22674)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22687)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22700)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genOrd_cgen_22606)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genArrayLen_cgen_21623)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21771)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genSetLengthStr_cgen_21875)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genSetLengthSeq_cgen_21817)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genSetOp_cgen_22073)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22098)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdSetElemLoc_cgen_17544)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq__int495056_759)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21926)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22116)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22134)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22152)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22173)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22191)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22209)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22227)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genInOp_cgen_21996)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fewCmps_cgen_21931)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22041)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22046)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genInExprAux_cgen_19598)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* b, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21964)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21969)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21974)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21979)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21984)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22458)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22476)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22583)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genDefault_cgen_20591)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genReset_cgen_20586)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genEcho_cgen_20229)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genArrToSeq_cgen_21139)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genSeqConstr_cgen_21064)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lhsDoesAlias_cgen_21055)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapProcForSpawn_spawn_510)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spawnExpr, tyObject_TType__facALICuu8zUj0hjvbTLFg* retType, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* barrier, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, liftParallel_semparallel_831)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genDeepCopy_cgen_18463)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src);
N_LIB_PRIVATE N_NIMCALL(void, genWasMoved_cgen_23040)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddr_cgen_23032)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genMove_cgen_23046)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genDestroy_cgen_23088)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genSlice_cgen_23183)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genSetNode_cgen_17733)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genSetConstr_cgen_23750)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23788)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23793)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__systemZdollars_6)(NI64 x);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23799)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23814)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23819)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, exprComplexConst_cgen_24173)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr_cgen_23914)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, handleConstExpr_cgen_20956)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genClosure_cgen_23871)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
static N_INLINE(NIM_BOOL, isConstClosure_cgen_23857)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NIM_BOOL, isRoutine_ast_4675)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr_cgen_23824)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13300)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genObjConstr_cgen_10365)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupFieldAgain_cgen_19502)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* ty, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** r, tyObject_TType__facALICuu8zUj0hjvbTLFg** resTyp);
N_LIB_PRIVATE N_NIMCALL(void, genFieldCheck_cgen_19604)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* obj, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field);
static N_INLINE(NimStringDesc*, toFileLineCol_msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toMsgFilename_msgs_602)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, genFieldDefect_astmsgs_61)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* field, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt__cgen_19689)(tyTuple__47w2DboNEPf69aPgubZdd7Q x, tyTuple__47w2DboNEPf69aPgubZdd7Q y);
N_LIB_PRIVATE N_NIMCALL(NI, cmp_system_7463)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(tyTuple__47w2DboNEPf69aPgubZdd7Q, getStdlibVersion_options_3887)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, genCast_cgen_22709)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22731)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22751)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genConv_cgen_22830)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameBackendType_types_2650)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y);
N_LIB_PRIVATE N_NIMCALL(void, genAddr_cgen_19429)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
static N_INLINE(NIM_BOOL, isCppRef_cgen_19251)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
N_LIB_PRIVATE N_NIMCALL(void, genBracketExpr_cgen_20144)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genUncheckedArrayElem_cgen_19824)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genArrayElem_cgen_19845)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstExpr_trees_146)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq__int495056_752)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt__int495056_305)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
N_LIB_PRIVATE N_NIMCALL(void, genOpenArrayElem_cgen_19992)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genSeqElem_cgen_20060)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genCStringElem_cgen_19912)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genTupleElem_cgen_19471)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19497)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genDeref_cgen_19271)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genRecordField_cgen_19549)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genRecordFieldAux_cgen_19456)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19584)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genCheckedRecordField_cgen_19777)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genBlock_cgen_14531)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genStmtListExpr_cgen_23953)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, initFrameNoDebug_cgen_17476)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* frame, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* procname, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* filename, NI line);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17483)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, deinitFrameNoDebug_cgen_17501)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* frame);
N_LIB_PRIVATE N_NIMCALL(void, genStmtList_cgen_24007)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genIf_cgen_14052)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14092)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14110)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, downConv_cgen_24127)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLValue_parampatterns_497)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24114)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NI, inheritanceDiff_types_2685)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
N_LIB_PRIVATE N_NIMCALL(void, upConv_cgen_24061)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genRangeChck_cgen_22756)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, convStrToCStr_cgen_22837)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, convCStrToStr_cgen_22852)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genWhileStmt_cgen_14454)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stmtsContainPragma_ccgutils_42)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw w);
N_LIB_PRIVATE N_NIMCALL(void, genComputedGoto_cgen_14282)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, flattenStmts_trees_355)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, enumHasHoles_types_287)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt__int495056_738)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14318)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14324)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14335)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14340)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14355)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14398)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind_ast_4358)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, assignLabel_cgen_13423)(tyObject_TBlock__GFhahvekTq3dDOkWyhchMA* b);
N_LIB_PRIVATE N_NIMCALL(void, genVarStmt_cgen_14032)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genSingleVar_cgen_13996)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
N_LIB_PRIVATE N_NIMCALL(void, genClosureVar_cgen_14019)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
N_LIB_PRIVATE N_NIMCALL(void, genVarTuple_cgen_13203)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerTupleUnpacking_lowerings_116)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__sno9c9bXUVS2CqhtWOJadaCw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, genConstStmt_cgen_24288)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genCase_cgen_15469)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genStringCase_cgen_15034)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genCaseStringBranch_cgen_14984)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA e, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* labl, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** branches, NI branchesLen_0);
N_LIB_PRIVATE N_NIMCALL(NI64, hashString_ccgutils_50)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15112)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15130)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genCaseSecondPass_cgen_14925)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, NI labId, NI until);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14942)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, exprBlock_cgen_13487)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genGotoForCase_cgen_14199)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseStmt);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14240)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genOrdinalCase_cgen_15317)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(NI, ifSwitchSplitPoint_cgen_15243)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, branchHasTooBigRange_cgen_15233)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13675)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15456)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genReturnStmt_cgen_14135)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
N_LIB_PRIVATE N_NIMCALL(void, blockLeaveActions_cgen_13555)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, NI howManyTrys, NI howManyExcepts);
N_LIB_PRIVATE N_NIMCALL(tySequence__KjgUMUjT3LUKOFIK4xt5ug*, newSeq_cgen_13566)(NI len);
static N_INLINE(void, pop_cgen_13593)(tySequence__KjgUMUjT3LUKOFIK4xt5ug** s, tyTuple__FxkU4d1VDodDMc9ah6Mbagw* Result);
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, X5BX5D__cgen_14162)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14185)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genBreakStmt_cgen_14650)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
static N_INLINE(void, cow_cgen_19421)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genAsgn_cgen_17387)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, NIM_BOOL fastAsgn);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscriminantField_astalgo_4335)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, asgnFieldDiscriminant_cgen_17366)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
N_LIB_PRIVATE N_NIMCALL(void, genDiscriminantCheck_cgen_17252)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp, tyObject_TType__facALICuu8zUj0hjvbTLFg* objtype, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, discriminatorTableDecl_cgen_6925)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* objtype, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* d);
N_LIB_PRIVATE N_NIMCALL(void, genAsmStmt_cgen_17197)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genAsmOrEmitStmt_cgen_17153)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, NIM_BOOL isAsmStmt);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
N_LIB_PRIVATE N_NIMCALL(void, genTryGoto_cgen_16356)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_16480)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, bodyCanRaise_cgen_16336)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genTryCpp_cgen_15639)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genRestoreFrameAfterException_cgen_15586)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15775)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs_ast_4934)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedException_ast_4903)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, genTrySetjmp_cgen_16700)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(void, genRaiseStmt_cgen_14831)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
N_LIB_PRIVATE N_NIMCALL(void, finallyActions_cgen_14767)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p);
static N_INLINE(void, genSimpleBlock_cgen_13471)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* stmts);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14849)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14892)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genTypeSection_cgen_10281)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genPragma_cgen_17245)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma_trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genEmit_cgen_17234)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg, determineSection_cgen_17212)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringDesc* s, NimStringDesc* prefix);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, skipGenericOwner_ast_4657)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(void, genParForStmt_cgen_14574)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14613)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14619)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14627)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genState_cgen_13507)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genGotoState_cgen_13670)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13684)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13692)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13719)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genBreakState_cgen_13728)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13740)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13746)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, popInfoContext_msgs_507)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, finalCodegenActions_cgen_28413)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, add_ast_4796)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
static N_INLINE(NIM_BOOL, moduleHasChanged_passes_207)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, generateMethodDispatchers_cgmeth_546)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
N_LIB_PRIVATE N_NIMCALL(void, genForwardedProcs_cgen_28493)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g);
static N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, pop_icZic_2460)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** s);
N_LIB_PRIVATE N_NIMCALL(void, writeModule_cgen_28386)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NIM_BOOL pending);
N_LIB_PRIVATE N_NIMCALL(void, genInitCode_cgen_27805)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getInitName_cgen_26877)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getSomeInitName_cgen_26873)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getSomeNameForModule_cgen_26848)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27740)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27858)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27867)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27872)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27877)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27911)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27751)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27962)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getHcrInitName_cgen_26887)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, hcrGetProcLoadCode_cgen_26890)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* sym, NimStringDesc* prefix, NimStringDesc* handle, NimStringDesc* getProcFunc);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27795)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27800)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28087)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genDatInitCode_cgen_27737)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getDatInitName_cgen_26884)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28097)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, registerModuleToMain_cgen_27238)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27243)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27255)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(NI, rawGet_cgen_27266)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI* hc);
static N_INLINE(NI, hash_ast_779)(NI32 x);
static N_INLINE(NI, hashWangYi1_pureZhashes_136)(NU64 x);
static N_INLINE(NU64, hiXorLo_pureZhashes_79)(NU64 a, NU64 b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27587)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27592)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27597)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, sigHash_sighashes_522)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27606)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27611)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27620)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27625)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27180)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27634)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27639)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27644)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27649)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27659)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27664)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27175)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, finishTypeDescriptions_cgen_6684)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(void, seqV2ContentType_cgen_3445)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check);
N_LIB_PRIVATE N_NIMCALL(void, genMainProc_cgen_26896)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
static N_NIMCALL(void, Marker_tyRef__UjwNQwrGjW3X9ahveEH9bnWA)(void* p, NI op);
N_LIB_PRIVATE N_CLOSURE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, loadLib_cgen_26899)(NimStringDesc* handle, NimStringDesc* name, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, closeNamespaceNim_cgen_25631)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, openNamespaceNim_cgen_25628)(NimStringDesc* namespace_0);
N_LIB_PRIVATE N_NIMCALL(void, generateThreadVarsSize_cgen_11223)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11238)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toObjFile_extccomp_718)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genModule_cgen_28115)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getFileHeader_cgen_26844)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getCopyright_cgen_26831)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, headerTop_cgen_26824)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26826)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26839)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileCFileCmd_extccomp_997)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, NIM_BOOL isMainFile, NIM_BOOL produceOutput);
static N_INLINE(void, addNimDefines_cgen_26816)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26819)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, generateThreadLocalStorage_cgen_11200)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11218)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, generateHeaders_cgen_25608)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceChar)(NimStringDesc* s, NIM_CHAR sub, NIM_CHAR by);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25618)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25623)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldRecompile_cgen_28377)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* code, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, equalsFile_ropes_453)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r, NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, writeRope_ropes_241)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* head, NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileNewer)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(void, addFileToCompile_extccomp_722)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cf);
N_LIB_PRIVATE N_NIMCALL(void, close_ndi_31)(tyObject_NdiFile__9cEuXfAnHp9bnWFK409cMtsEw* f, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, writeMapping_extccomp_2650)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* symbolMapping);
N_LIB_PRIVATE N_NIMCALL(void, writeHeader_cgen_28271)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28274)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28280)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28299)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28304)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
extern TNimType NTIbmodule__NkKlBfvvsMUW70DxvxLVIg_;
extern TNimType NTItcgen__9cG6VsX22pOhho6kxyhFVow_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_2, "TM", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_3, "_", 1);
extern TNimType NTIkeyvaluepairseq__sII3pVVRkIdBZ2HDPdZddA_;
extern TNimType NTIseqLtupleLkey58sighash_val58intTT__XUL1TrMU0tgXmaMFCIYgFQ_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_4, "ndi", 3);
extern TNimType NTIseqLbmoduleT__SHVxAqOYtIy7teT1q4s0zQ_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_5, ".h", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_6, "FR_.len-=$1;$n", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_7, "} $1: ;$n", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_8, "}$n", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_9, "FR_.len+=$1;$n", 14);
extern TNimType NTIseqLtblockT__oUyaggHmIX9bpJcMeoG6lpA_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_10, "\011", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_11, "if (nim_hcr_do_init_)\012", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_12, "{", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_13, "\012", 1);
extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_14, "static", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_15, "extern", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_16, " ", 1);
extern TNimType NTIseqLropeT__WwUFq9cJ2xKRlsAWVEHyPRg_;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_17 = {
0x10, 0x2e, 0x10, 0x00, 0x00, 0x40, 0x80, 0x10,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_18 = {
0x10, 0x2e, 0x10, 0x00, 0x00, 0x60, 0x80, 0x10,
0x00}
;
extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo_lineinfos_280;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_19, "cannot generate C type for: ", 28);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_21, "/home/runner/work/nightlies/nightlies/nim/compiler/ccgtypes.nim", 63);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_20 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 681),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_23, "void", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_24, "void*", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_25, "nimStrVersion", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_26, "N_LIB_IMPORT ", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_27, "N_LIB_EXPORT ", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_28, "static ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_29, "N_LIB_PRIVATE ", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_30, "ccgtypes.nim(163, 14) `typ.isResolvedUserTypeClass` ", 52);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_31 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x90, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_32, "ccgtypes.nim(196, 19) `false` mapType: ", 39);
extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_33, "ccgtypes.nim(197, 17) `false` mapType: ", 39);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_34, "genProcParams", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_35 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 433),
((NI) 42)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_36, ", ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_37, "_0", 2);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_38 = {
0x00, 0x01, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_39 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_40, "getTypeName: ", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_41 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 139),
((NI) 33)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_42, "$1 $2;$n", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_43, "typedef $1 $2 $2;$n", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_44, "union", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_45, "struct", 6);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_46 = {
0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
extern TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_;
extern TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_47, "key not found: ", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_48, "ccgtypes.nim(354, 14) `m.forwTypeCache[sig] == result` ", 55);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_49, "getTypeForward(", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_50 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 355),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_51, "cannot map the empty seq type to a C type", 41);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_52 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 373),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_53, "struct", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_54, "_Content", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_55, "struct ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_56, " {\012  NI len; ", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_57, "_Content* p;\012};\012", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_58, "*", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_59, "NIM_NOALIAS ", 12);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_60 = {
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_61, ", NI $1Len_$2", 13);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_62 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_63, " Result", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_64, "void* ClE_0", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_65, "...", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_66, "void)", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_67, ")", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_68, "(", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_69, "_PTR", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_70, "_actual", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_71, "$1$2($3, $4)$5", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_72, "N_NIMCALL", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_73, "N_STDCALL", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_74, "N_CDECL", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_75, "N_SAFECALL", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_76, "N_SYSCALL", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_77, "N_INLINE", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_78, "N_NOINLINE", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_79, "N_FASTCALL", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_80, "N_THISCALL", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_81, "N_CLOSURE", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_82, "N_NOCONV", 8);
N_LIB_PRIVATE NIM_CONST tyArray__t1sx1FVcaX4m77XqENedIQ CallingConvToStr_cgen_1344 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_72),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_73),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_74),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_75),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_76),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_77),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_78),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_79),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_80),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_81),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_82)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_83, "(*", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_84, "proc has no result symbol", 25);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_86, "/home/runner/work/nightlies/nightlies/nim/compiler/cgen.nim", 59);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_85 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 1022),
((NI) 19)}
;
extern TNimType NTIseqLtupleLkey58string_val58intTT__jwzrUFjG9akTIJTBBFvvqxw_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_87, "NIM_ALIGN($1) ", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_88, " register", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_89, " volatile", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_90, " NIM_NOALIAS", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_91, " = ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_92, "(*$1)", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_93, ";", 1);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_94 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x10,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_95, ".len = 0; ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_96, ".p = NIM_NIL;", 13);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_97 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0xb0, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_98, " = (", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_99, ")0;", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_100, "nimZeroMem", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_101, "((void*)", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_102, "(&", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_103, ", sizeof(", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_104, "));", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_105, ".Sup", 4);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_106 = {
0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_107, ".m_type = ", 10);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_108 = {
0x10, 0x0e, 0x10, 0x00, 0x00, 0x60, 0xb0, 0x10,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_109, "TNimTypeV2", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_110, "static $2* $1;$n", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_111, "\011$1 = ($3*)hcrGetGlobal($2, \"$1\");$n", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_112, ".nim.cpp", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_113, ".nim.m", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_114, ".nim.c", 6);
extern NIM_CONST tyArray__VbVuAPt8GSIPhx9amVJ0MyA OS_platform_504;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_115, "/", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_116, "extern $2 $1;$n", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_117, "NTIv2$1_", 8);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_118 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
extern TNimType NTIkeyvaluepairseq__YT27F6szr8EQuTI39aUMYuA_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_119, "request for RTTI generation for incomplete object: ", 51);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_120 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1318),
((NI) 16)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_121, "|", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_122, ".", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_123, "NIM_NIL", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_124, "N_LIB_PRIVATE TNimTypeV2 $1;$n", 30);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_125, " needs to have the \'nimcall\' calling convention", 47);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_126 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1296),
((NI) 16)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_127, "$1.destructor = (void*)$2; $1.size = sizeof($3); $1.align = NIM_ALIGNOF($3); $1.name = $4;$n; $1.traceImpl = (void*)$5; $1.flags = $6;", 134);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_128 = {
0x10, 0x2e, 0x10, 0x00, 0x00, 0x60, 0xb0, 0x10,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_129, "TNimType", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_130, "TNimNode", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_131, "NTI$1$2_", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_132, "0", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_133, "void*", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_134, "$1.size = sizeof($2);$n$1.align = NIM_ALIGNOF($2);$n$1.kind = $3;$n$1.base = $4;$n", 82);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_135, "$1.flags = $2;$n", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_136, "nimTypeNames", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_137, "ref object", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_138, "anon ref object from ", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_139, "$1.name = $2;$n", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_140, "nimTypeRoot", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_141, "$1.nextType = nimTypeRoot; nimTypeRoot=&$1;$n", 45);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_142, "static TNimType* $1;$n", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_143, "\011hcrRegisterGlobal($2, \"$1\", sizeof(TNimType), NULL, (void**)&$1);$n", 68);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_144, "N_LIB_PRIVATE TNimType $1;$n", 28);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_145, "genTypeInfoV1(", 14);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_146 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1462),
((NI) 23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_147 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1464),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_148, "0", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_149, "$1[$2]", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_150, "static TNimNode** $1;$n", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_151, "\011hcrRegisterGlobal($3, \"$1\", sizeof(TNimNode*) * $2, NULL, (void**)&$1);$n", 74);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_152, "static TNimNode* $1[$2];$n", 26);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_153, "$1[$2] = &$3;$n", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_154, "$1.kind = 1;$n$1.offset = offsetof($2, Field$3);$n$1.typ = $4;$n$1.name = \"Field$3\";$n", 86);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_155, "$1.len = $2; $1.kind = 2; $1.sons = &$3[0];$n", 45);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_156, "$1.len = $2; $1.kind = 2;$n", 27);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_157, "$1.node = &$2;$n", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_158, "Marker_", 7);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_159 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_160, "static N_NIMCALL(void, $1)(void* p, NI op)", 42);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_161, "$1 a;$n", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_162, "a = ($1)p;$n", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_163, "op", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_164, "T", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_165, "for ($1 = 0; $1 < $2; $1++) {$n", 31);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_166, ".len", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_167, "($1 \? $1->$2 : 0)", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_168, "len", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_169, "Sup.len", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_170, "for (", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_171, " = 0; ", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_172, " < ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_173, "; ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_174, "++) {", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_175, "[", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_176, "]", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_177, "$1.Sup", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_178, "genTraverseProc", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_180, "/home/runner/work/nightlies/nightlies/nim/compiler/ccgtrav.nim", 62);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_179 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_180),
((NI) 34),
((NI) 42)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_181, "genRecordFieldsAux", 18);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_182 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 498),
((NI) 40)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_183, "mangleRecFieldName", 18);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_184 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 487),
((NI) 33)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_185, "struct {", 8);
extern NIM_CONST tyArray__sa9aJ6U8e9b7Bj4Yq8itsR8w CC_extccomp_508;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_186, "struct __attribute__((__packed__)){", 35);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_187, "#pragma pack(push, 1)$nstruct{", 30);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_188, "} $1;$n", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_189, "#pragma pack(pop)$n", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_190, "genRecordFieldsAux(record case branch)", 38);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_191 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 524),
((NI) 25)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_192, "union{$n$1};$n", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_193, "$1 $2[SEQ_DECL_SIZE];$n", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_194, "$1$3 $2;$n", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_195, "$1$4 $2:$3;$n", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_196, "genRecordFieldsAux()", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_197 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 554),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_198, "genTraverseProc()", 17);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_199 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_180),
((NI) 39),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_200, "switch ($1.$2) {$n", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_201, "case $1 ... $2:$n", 17);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_202 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_203, "(-2147483647 -1)", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_204, "IL64($1)", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_205, "(IL64(-9223372036854775807) - IL64(1))", 38);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_206, "NIM_TRUE", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_207, "NIM_FALSE", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_208, "ULL", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_209, "(($1) $2)", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_210, "static NIM_CONST $1 $2 = {NIM_NIL,NIM_NIL};$n", 45);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_211, "(($1) NIM_NIL)", 14);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_212 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0xb0, 0x10,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_213, "((", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_214, "NimStringDesc", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_215, "*) NIM_NIL)", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_216, "*) &", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_217, "TGenericSeq", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_218, "STRING_LITERAL($1, $2, $3);$n", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_219, "static $4 struct {$n  NI cap; NIM_CHAR data[$2+1];$n} $1 = { $2 | NIM_STRLIT_FLAG, $3 };$n", 90);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_220, "const", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_221, "NimStrPayload", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_222, "NimStringV2", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_223, "static $4 NimStringV2 $1 = {$2, (NimStrPayload*)&$3};$n", 55);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_224, "cannot determine how to produce code for string literal", 55);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_226, "/home/runner/work/nightlies/nightlies/nim/compiler/ccgliterals.nim", 66);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_225 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_226),
((NI) 113),
((NI) 14)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_227, "-NAN", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_228, "NAN", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_229, "-0.0f", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_230, "0.0f", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_231, "INF", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_232, "-INF", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_233, "f", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_234, "genLiteral(", 11);
extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_236, "/home/runner/work/nightlies/nightlies/nim/compiler/ccgexprs.nim", 63);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_235 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 106),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_237, "case $1:$n", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_238, "default:$n", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_239, "break;$n", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_240, "} $n", 4);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_241 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_180),
((NI) 56),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_242, "$1.$2", 5);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_243 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_180),
((NI) 58),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_244, ".Field", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_245, "nimGCvisit", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_246, ");", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_247, "nimGCvisitSeq", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_248, ".ClE_0", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_249, "$1$3[$2]", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_250, ".p->data", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_251, "->data", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_252, "a", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_253, "(*a)", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_254, "$1 {$n$2$3$4}\012", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_255, "$1;\012", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_256, "N_NIMCALL_PTR(void, $1)(void*, NI);\012", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_257, "\011$1 = (N_NIMCALL_PTR(void, )(void*, NI)) hcrRegisterProc($3, \"$1\", (void*)$2);\012", 79);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_258, "$1.marker = $2;$n", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_259, "$1.len = $2; $1.kind = 0;$n$3.node = &$1;$n", 43);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_260, ", \012", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_261, "$1.offset = $2;$n", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_262, "NI $1;$n", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_263, "static char* NIM_CONST $1[$2] = {$n$3};$n", 41);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_264, "for ($1 = 0; $1 < $2; $1++) {$n$3[$1+$4].kind = 1;$n$3[$1+$4].offset = $1;$n$3[$1+$4].name = $5[$1];$n$6[$1] = &$3[$1+$4];$n}$n", 127);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_265, "$1.len = $2; $1.kind = 2; $1.sons = &$3[0];$n$4.node = &$1;$n", 61);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_266, "$1.flags = 1<<2;$n", 18);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_267 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1151),
((NI) 16)}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_268 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_269, "anonymous obj with discriminator", 32);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_270 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1060),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_271, "NimDT_$1_$2", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_272, "genObjectFields", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_273 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1103),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_274, "$1.kind = 3;$n$1.offset = offsetof($2, $3);$n$1.typ = $4;$n$1.name = $5;$n$1.sons = &$6[0];$n$1.len = $7;$n", 107);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_275, "TNimNode* $1[$2];$n", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_276, "genObjectFields; nkOfBranch broken", 34);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_277 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1119),
((NI) 23)}
;
extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Max_int495056_27;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_278, "genObjectFields(nkRecCase)", 26);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_279 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1133),
((NI) 25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_280 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1141),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_281, "$1.kind = 1;$n$1.offset = offsetof($2, $3);$n$1.typ = $4;$n$1.name = $5;$n", 74);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_282 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1146),
((NI) 21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_283 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 1497),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_284, "$1.deepcopy =(void* (N_RAW_NIMCALL*)(void*))$2;$n", 49);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_285, "$1->typeInfoV1 = (void*)&$2; $2.typeInfoV2 = (void*)$1;$n", 57);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_286 = {
0x10, 0xa9, 0x40, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_287, "static NIM_CONST $1 $2 = $3;$n", 30);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_288, "node has no type", 16);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_289 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 3175),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_290, "{\012", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_291, "0x", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_292, "0123456789abcdef", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_293, ",\012", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_294, "}\012", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_295, "{", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_296, ",$n", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_297, "}", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_298, " struct {", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_299, "  NI cap; ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_300, " data[", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_301, "];", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_302, "} ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_303, " = {", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_304, " | NIM_STRLIT_FLAG, ", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_305, "};", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_306, "{$1, ($2*)&$3}", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_307, "{{$1, $1 | NIM_STRLIT_FLAG}", 27);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_308, ", {", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_309, "NIM_CONST", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_310, "  ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_311, " Sup;", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_312, "(($1)&$2)", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_313, "{NIM_NIL,NIM_NIL}", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_314, "{(($1) $2),NIM_NIL}", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_315, "typedef $1_PTR($2, $3) $4;$n", 28);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_316, "typedef struct {$nN_NIMCALL_PTR($2, ClP_0) $3;$nvoid* ClE_0;$n} $1;$n", 69);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_317, "const openArray expression is not an array construction", 55);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_318 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 3215),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_319, "] = ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_320, "{($1*)&$2, $3}", 14);
extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Zero_int495056_7;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_321, "._", 2);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_322 = {
0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_323, "NIM_FALSE", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_324, "0.0", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_325, "NIM_NIL", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_326, "{0, NIM_NIL}", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_327, "{NIM_NIL, NIM_NIL}", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_328, "{NIM_NIL, 0}", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_329, "{}", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_330, "cannot create null element for: ", 32);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_331 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 3000),
((NI) 15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_332 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 3070),
((NI) 14)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_333, "{$1}$n", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_334, "{$1, (NimStrPayload*)&$2}", 25);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_335, "nimCopyMem", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_336, ", (NIM_CONST void*)&", 20);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_337 = {
0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0xb0, 0x10,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_338, "asgnRef", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_339, "((void**) ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_340, "unsureAsgnRef", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_341, ", (NIM_CONST void*)", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_342, "genericShallowAssign", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_343, ", (void*)", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_344, "genericAssign", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_345, "genericSeqAssign", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_346, "copyString", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_347, "copyStringRC1", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_348, "if (", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_349, ") ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_350, "nimGCunrefNoCycle", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_351, "ClE_0", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_352, ".ClP_0 = ", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_353, ".ClP_0;", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_354, "Field$1", 7);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_355 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 372),
((NI) 23)}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_356 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_357, ".Field0 = ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_358, ".Field0; ", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_359, ".Field1 = ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_360, ".Field1;", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_361, "Len_0;", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_362, "nimPrepareStrMutationV2", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_363, "cannot handle ", 14);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_364 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 308),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_365, "genericAssignOpenArray", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_366, "Len_0, ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_367, "genAssignment: ", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_368 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 410),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_369, "memTrackerWrite", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_370, "objectInit", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_371, ".name = ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_372, "\011return ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_373, "Result", 6);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_374 = {
0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_375, "->len = 0; ", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_376, "->p = NIM_NIL;", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_377, " = 0;", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_378, "specializeResetN", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_380, "/home/runner/work/nightlies/nightlies/nim/compiler/ccgreset.nim", 63);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_379 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_380),
((NI) 25),
((NI) 42)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_381, "specializeResetN()", 18);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_382 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_380),
((NI) 29),
((NI) 19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_383 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_380),
((NI) 47),
((NI) 19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_384 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_380),
((NI) 49),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_385, "((void**)&", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_386, ", NIM_NIL);", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_387, ".ClE_0, NIM_NIL);", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_388, ".ClP_0 = NIM_NIL;", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_389, " = NIM_NIL;", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_390, "closure generation failed", 25);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_391 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 842),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_392, ", (", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_393, ") ClE_0);", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_394, ") ClE_0;", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_395, "NIM_BOOL* nimErr_;", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_396, "nimErr_ = ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_397, "nimErrorFlag", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_398, "();", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_399, "$N#line $2 $1$N", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_400, "__declspec(noreturn) ", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_401, "__declspec(naked) ", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_402, " {", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_403, "}\012\012", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_404, "#", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_405, "  define nimfr_(proc, file) \\\012      TFrame FR_; \\\012      FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; ", 125);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_406, "nimFrame", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_407, "(&FR_);\012\012  ", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_408, "  define nimfrs_(proc, file, slots, length) \\\012      struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \\\012      FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; ", 232);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_409, "((TFrame*)&FR_);\012\012  ", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_410, "  define nimln_(n, file) \\\012      FR_.line = n; FR_.filename = file;\012  ", 70);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_411, "\011nimfr_(", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_412, "nimProfile", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_413, "\011}BeforeRet_: ;$n", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_414, "popFrame", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_415, "}$N", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_416, "\011$1 = ($3) hcrRegisterProc($4, \"$1\", (void*)$2);$n", 50);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_417, "$1(*)$2", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_418, "static void* $1;$n", 18);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_419 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 692),
((NI) 16)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_420, "||", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_421, "nimLoadLibrary", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_422, "))", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_423, "if (!(", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_424, ")) ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_425, "nimLoadLibraryError", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_426, "))) ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_427, "loadDynamicLib", 14);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_428 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 722),
((NI) 35)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_429, "Dl_$1_", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_430, "\011$1 = ($2) ($3$4));$n", 21);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_431 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 755),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_432, "wrong index: ", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_433 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 762),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_434, "nimGetProcAddr", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_435, "$2 $1;$n", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_436, "\011$1 = ($2) hcrRegisterProc($3, \"$1\", (void*)$1);$n", 50);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_437, "\011$1 = ($2) hcrGetProc($3, \"$1\");$n", 34);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_438, "extern ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_439, "N_LIB_EXPORT_VAR ", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_440, "NIM_THREAD_LOCAL ", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_441, "NIM_THREADVAR ", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_442, " $1;$n", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_443, "\011$1 = ($2*)hcrGetGlobal($3, \"$1\");$n", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_444, "cgsym: ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_445, ": ", 2);
extern TNimType NTItsymkind__cNCW9acsSznmEccl1fgQwkw_;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_446 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 794),
((NI) 23)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_447, "system module needs: ", 21);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_448 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 799),
((NI) 14)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_449, "NimStringDesc*", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_450, "NCSTRING", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_451, "NIM_BOOL", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_452, "NIM_CHAR", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_453, "NI", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_454, "NI8", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_455, "NI16", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_456, "NI32", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_457, "NI64", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_458, "NF", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_459, "NF32", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_460, "NF64", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_461, "NF128", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_462, "NU", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_463, "NU8", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_464, "NU16", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_465, "NU32", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_466, "NU64", 4);
N_LIB_PRIVATE NIM_CONST tyArray__Sjq0yxKksnvb1U6tEMqzYg NumericalTypeToStr_cgen_1798 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_453),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_454),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_455),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_456),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_457),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_458),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_459),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_460),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_461),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_462),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_463),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_464),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_465),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_466)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_467, "tyStatic for getSimpleTypeDesc", 30);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_468 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 301),
((NI) 23)}
;
extern TNimType NTIkeyvaluepairseq__WPcy3bORPBFlmk2KIq2pbQ_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_469, "checkAbi", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_470, "backend & Nim disagree on size for: ", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_471, "NIM_STATIC_ASSERT(sizeof($1) == $2, $3);$n", 42);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_472, "&", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_473, "typedef struct {$n$2* Field0;$nNI Field1;$n} $1;$n", 50);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_474, "typedef NI32 $1;$n", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_475, "typedef NU8 $1;$n", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_476, "typedef NU16 $1;$n", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_477, "typedef NI64 $1;$n", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_478, "getTypeDescAux: enum", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_479 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 753),
((NI) 29)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_480, " : ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_481, " data[SEQ_DECL_SIZE];", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_482, "typedef $1 $2[1];$n", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_483, "typedef $1 $2[$3];$n", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_484, "ccgtypes.nim(654, 14) `false` invalid apostrophe type parameter index", 69);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_485 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 834),
((NI) 25)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_486, "<", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_487, " COMMA ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_488, "> ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_489, " __attribute__((__packed__))", 28);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_490, "#pragma pack(push, 1)\012", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_491, "* m_type;", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_492, " : public ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_493, " {$n", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_494, "char dummy;$n", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_495, "};\012", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_496, "#pragma pack(pop)\012", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_497, "TY", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_498, "typedef $1 $2;$n", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_499, "$1 $2 {$n", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_500, "$1 Field$2;$n", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_501, "char dummy;\012", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_502, "typedef NU$2 $1;$n", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_503, "typedef NU8 $1[$2];$n", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_504, "getTypeDescAux(", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_505 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_21),
((NI) 900),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_506, "extern \"C\" ", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_507, " __attribute__((naked))", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_508, " __attribute__((noreturn))", 26);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_509, ";\012", 2);
extern TNimType NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_510, "request to generate code for .compileTime proc: ", 48);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_511 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2746),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_512, "expr: proc not init ", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_513 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2754),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_514, "static $1* $2;$n", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_515, "extern NIM_CONST $1 $2;$n", 25);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_516, "_const", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_517, "N_LIB_PRIVATE NIM_CONST $1 $2 = $3;$n", 37);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_518, "\011hcrRegisterGlobal($1, \"$2\", sizeof($3), NULL, (void**)&$2);$n", 62);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_519, "\'goto\' target must be a literal value", 37);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_521, "/home/runner/work/nightlies/nightlies/nim/compiler/ccgstmts.nim", 63);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_520 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 271),
((NI) 14)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_522, "goto NIMSTATE_$#;$n", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_523, "*) ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_524, "$2* $1;$n", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_525, ".dynlib variables cannot have a value", 37);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_526 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 554),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_527, ".threadvar variables cannot have a value", 40);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_528 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 562),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_529, "NIM_CONST ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_530, " $1 = $2;$n", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_531, " = $#;$n", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_532, ";$n", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_533, "\011NimThreadVars* NimTV_;$n", 25);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_534, "\011NimTV_ = (NimThreadVars*) ", 27);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_535, "GetThreadLocalVars", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_536, "NimTV_->", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_537, "static N_NIMCALL(void, $1)(void)", 32);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_538, "$1 {$n$2$3$4}$n", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_539, "$1;$n", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_540, "nimRegisterThreadLocalMarker", 28);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_541, "nimRegisterGlobalMarker", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_542, "//", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_543, "nimln_(", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_544, "nimToCStringConv", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_545, "wrong argument count", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_547, "/home/runner/work/nightlies/nightlies/nim/compiler/ccgcalls.nim", 63);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_546 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 503),
((NI) 16)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_548, "$#;$n", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_549, "$#($#);$n", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_550, "$# = $#;$n", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_551, "NULL", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_552, "hcrRegisterGlobal(", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_553, ", \"", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_554, "\", sizeof(", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_555, "), ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_556, ", (void**)&", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_557, "if (hcrRegisterGlobal(", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_558, "))\012", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_559, "=destroy", 8);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_560 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00}
;
extern TNimType NTIseqLboolT__shxop0zPIs5Ec3k71aCLuQ_;
extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_561, "-", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_562, " != -1 && ((NU)(", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_563, ") >= (NU)(", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_564, ".Field1) || (NU)(", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_565, ".Field1))){ ", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_566, "raiseIndexError", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_567, "(); ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_568, "goto BeforeRet_;", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_569, "goto LA", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_570, "_;", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_571, "Len_0) || (NU)(", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_572, "Len_0))){ ", 10);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_573 = {
0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_574, "((NU8)($1))", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_575, " != -1 && (", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_576, " < -1 || ", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_577, " || ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_578, " > ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_579, ")){ ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_580, ") >= (NU)", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_581, " || (NU)(", 9);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_582 = {
0x10, 0xa9, 0xa0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_583, "($1)-($2)+1", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_584, "($3*)(($1)+($2))", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_585, "($4*)($1)+(($2)-($3))", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_586, "($3*)($1.Field0)+($2)", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_587, "($3*)($1)+($2)", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_588, "($4*)(*$1)$3+($2)", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_589, "($4*)$1$3+($2)", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_590, "openArrayLoc: ", 14);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_591 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 196),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_592, "$1->Field0, $1->Field1", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_593, "$1.Field0, $1.Field1", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_594, "$1, $1Len_0", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_595, "(*$1)$3, $2", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_596, "$1$3, $2", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_597, "$1, $2", 6);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_598 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 248),
((NI) 21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_599 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 249),
((NI) 23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_600 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 56),
((NI) 13)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_601, "$1.ClP_0($3$1.ClE_0);$n", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_602, "$1.ClE_0\? $1.ClP_0($3$1.ClE_0):(($4)($1.ClP_0))($2);$n", 54);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_603, "if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;", 44);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_604, "if (NIM_UNLIKELY(*nimErr_)) goto LA", 35);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_605, "$1.ClP_0($3$1.ClE_0)", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_606, "$1.ClE_0\? $1.ClP_0($3$1.ClE_0):(($4)($1.ClP_0))($2)", 51);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_607 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 664),
((NI) 17)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__MQdRN7fpbG7rPm4JpVVAhA_608 = {
0x00, 0x00, 0x00, 0x00, 0x88, 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__MQdRN7fpbG7rPm4JpVVAhA_609, "call expression expected for C++ pattern", 40);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_610 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 627),
((NI) 20)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_611 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 567),
((NI) 17)}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_612 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_613, "->", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_614, ");$n", 4);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_615 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 712),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_616, "varargs for objective C method\?", 31);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_617 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_547),
((NI) 732),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_618, "Result: ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_619, "];$n", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_620, "expr: var not init ", 19);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_621 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2779),
((NI) 22)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_622, "expr: temp not init ", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_623 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2798),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_624, "expr: param not init ", 21);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_625 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2805),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_626, "expr(", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_627, "); unknown symbol", 17);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_628 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2807),
((NI) 23)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_629, "LA", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_630, "if ($1) goto $2;$n", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_631, "if (!($1)) goto $2;$n", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_632, "$1: ;$n", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_633, "!($1)", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_634, "$1", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_635, "($3)((NU$2) ~($1))", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_636, "-($1)", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_637, " == ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_638, "){ ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_639, "raiseOverflow", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_640, "((NI$2)-($1))", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_641, "($1 > 0\? ($1) : -($1))", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_642, ")(", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_643, "+", 1);
N_LIB_PRIVATE NIM_CONST tyArray__ttGk45MsSAdGt9ciYdRA8VQ opr_cgen_22948 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_643),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_561),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_115)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_644, " (", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_645, " != ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_646, "raiseFloatInvalidOp", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_647, " != 0.0 && ", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_648, "*0.5 == ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_649, ") { ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_650, "raiseFloatOverflow", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_651, "); ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_652, "(($4)($1) + ($4)($2))", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_653, "(($4)($1) - ($4)($2))", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_654, "(($4)($1) * ($4)($2))", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_655, "(($4)($1) / ($4)($2))", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_656, "($4)((NU$5)($1) >> (NU$3)($2))", 30);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_657, "($4)((NU$3)($1) << (NU$3)($2))", 30);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_658, "($4)((NI$3)($1) >> (NU$3)($2))", 30);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_659, "($4)($1 & $2)", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_660, "($4)($1 | $2)", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_661, "($4)($1 ^ $2)", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_662, "(($1 <= $2) \? $1 : $2)", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_663, "(($1 >= $2) \? $1 : $2)", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_664, "($4)((NU$3)($1) + (NU$3)($2))", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_665, "($4)((NU$3)($1) - (NU$3)($2))", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_666, "($4)((NU$3)($1) * (NU$3)($2))", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_667, "($4)((NU$3)($1) / (NU$3)($2))", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_668, "($4)((NU$3)($1) % (NU$3)($2))", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_669, "($1 == $2)", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_670, "($1 <= $2)", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_671, "($1 < $2)", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_672, "((NU$3)($1) <= (NU$3)($2))", 26);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_673, "((NU$3)($1) < (NU$3)($2))", 25);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_674, "((NU8)($1) == (NU8)($2))", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_675, "((NU8)($1) <= (NU8)($2))", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_676, "((NU8)($1) < (NU8)($2))", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_677, "($1 != $2)", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_678, "($1.ClP_0 == $2.ClP_0 && $1.ClE_0 == $2.ClE_0)", 46);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_679, "($1)($2 $3 $4)", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_680, "%", 1);
N_LIB_PRIVATE NIM_CONST tyArray__rJSOG9bfI5wi9aqXvYJsFCWA opr_cgen_18736 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_643),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_561),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_115),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_680),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_643),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_561)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_681, " == 0){ ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_682, "raiseDivByZero", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_683, "nimAddInt64", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_684, "nimSubInt64", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_685, "nimMulInt64", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_686, "nimDivInt64", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_687, "nimModInt64", 11);
N_LIB_PRIVATE NIM_CONST tyArray__rJSOG9bfI5wi9aqXvYJsFCWA prc64_cgen_18735 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_683),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_684),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_685),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_686),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_687),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_683),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_684)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_688, "nimAddInt", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_689, "nimSubInt", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_690, "nimMulInt", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_691, "nimDivInt", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_692, "nimModInt", 9);
N_LIB_PRIVATE NIM_CONST tyArray__rJSOG9bfI5wi9aqXvYJsFCWA prc_cgen_18734 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_688),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_689),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_690),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_691),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_692),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_688),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_689)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_693, ", &", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_694, ")) { ", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_695, "($#)($#)", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_696, "\'repr\' is not available for --newruntime", 40);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_697 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1659),
((NI) 14)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_698, "reprInt", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_699, "((NI64)", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_700, "reprFloat", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_701, "reprBool", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_702, "reprChar", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_703, "reprEnum", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_704, "((NI)", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_705, "reprStr", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_706, "reprSet", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_707, "genRepr()", 9);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_708 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1693),
((NI) 23)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_709, "reprOpenArray", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_710, "reprAny", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_711, "\'repr\' doesn\'t support \'void\' type", 34);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_712 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1702),
((NI) 14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_713 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1166),
((NI) 39)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_714, "getDynamicTypeInfo", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_715, ".m_type", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_716, "->typeInfoV1", 12);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_717 = {
0x10, 0x28, 0x90, 0x00, 0x00, 0xc0, 0x00, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_718, "binaryStmt", 10);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_719 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 501),
((NI) 34)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_720, "+=", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_721, "-=", 2);
N_LIB_PRIVATE NIM_CONST tyArray__cqX2jO1YLR9bYjA09bx8BZVg opr_cgen_23227 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_720),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_721)}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_722 = {
0x10, 0x28, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
0x00}
;
N_LIB_PRIVATE NIM_CONST tyArray__cqX2jO1YLR9bYjA09bx8BZVg fun64_cgen_23228 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_683),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_684)}
;
N_LIB_PRIVATE NIM_CONST tyArray__cqX2jO1YLR9bYjA09bx8BZVg fun_cgen_23229 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_688),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_689)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_723, "appendChar", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_724, " + ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_725, "appendString", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_726, "rawNewString", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_727, "binaryStmtAddr", 14);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_728 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 508),
((NI) 34)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_729, "nimAddCharV1", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_730, "addChar", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_731, "prepareAdd", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_732, "resizeString", 12);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_733 = {
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_734, "incrSeqV3", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_735, "((TGenericSeq*)(", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_736, "NI ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_737, "++;", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_738, " == 0)", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_739, "eqStrings", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_740, "cmpStrings", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_741, ") <= 0)", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_742, ") < 0)", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_743, ".ClP_0 == 0)", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_744, "nimIntToStr", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_745, "nimInt64ToStr", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_746, "nimBoolToStr", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_747, "nimCharToStr", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_748, "nimFloat32ToStr", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_749, "nimFloatToStr", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_750, "cstrToNimstr", 12);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_751 = {
0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_752, "no \'of\' operator available for pure objects", 43);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_753 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1646),
((NI) 15)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_754, ") && (", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_755, "isObj", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_756, ".m_type, ", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_757, "$1.m_type == $2", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_758, "Nim_OfCheck_CACHE", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_759, "static TNimType* $#[2];$n", 25);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_760, "isObjWithCache", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_761, "sizeof($1)", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_762, "nimNewObj", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_763, ", NIM_ALIGNOF(", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_764, "nimNewObjUninit", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_765, "the destructor that is turned into a finalizer needs to have the \'nimcall\' calling convention", 93);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_766 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1331),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_767, "$1->finalizer = (void*)$2;$n", 28);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_768, "nimGCunrefRC1", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_769, " = NIM_NIL; }", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_770, "newObj", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_771, "newObjRC1", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_772, ".len = ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_773, ".p = (", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_774, "newSeqPayload", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_775, "), NIM_ALIGNOF(", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_776, "newSeq", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_777, "newSeqRC1", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_778, "nimNewSeqOfCap", 14);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_779 = {
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_780, "((NI)sizeof($1))", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_781, "((NI)NIM_ALIGNOF($1))", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_782, "unknown ast", 11);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_783 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2374),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_784, "Field", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_785, "((NI)offsetof($1, $2))", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_786, "(*($1*) ($2))", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_787, "(($1) ($2))", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_788, "(($1) (ptrdiff_t) ($2))", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_789, "(*($1*) (&$2))", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_790, "(($1) != 0)", 11);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_791 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0xb0, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_792, ")-(", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_793, ")+1", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_794, "Len_0-1)", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_795, "Len_0", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_796, ".Field1-1)", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_797, ".Field1", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_798, " \? (", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_799, "nimCStrLen", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_800, ")-1) : -1)", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_801, " \? ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_802, ") : 0)", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_803, "($1-1)", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_804, "genArrayLen()", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_805 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1798),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_806, "unaryStmt", 9);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_807 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 515),
((NI) 34)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_808, "nimGCref", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_809, "); }", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_810, "nimGCunref", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_811, "setLengthStrV2", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_812, "genSetLengthStr", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_813 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1845),
((NI) 36)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_814, "setLengthStr", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_815, "setLengthSeqV2", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_816, "(&(", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_817, ")->Sup, ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_818, "$1 |= ((NU8)1)<<(($2) & 7);$n", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_819, "($1- $2)", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_820, "$1 |= ((NU16)1)<<(($2) & 15);$n", 31);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_821, "$1 |= ((NU32)1)<<(($2) & 31);$n", 31);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_822, "$1 |= ((NU64)1)<<(($2) & 63);$n", 31);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_823, "$1 &= ~(((NU8)1) << (($2) & 7));$n", 34);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_824, "$1 &= ~(((NU16)1) << (($2) & 15));$n", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_825, "$1 &= ~(((NU32)1) << (($2) & 31));$n", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_826, "$1 &= ~(((NU64)1) << (($2) & 63));$n", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_827, "countBits32", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_828, "countBits64", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_829, "(((", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_830, " & ~ ", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_831, ")==0)&&(", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_832, ")==0)", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_833, " & ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_834, " | ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_835, "$1 >= $2 && $1 <= $3", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_836, "$1 == $2", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_837, "(($1 &((NU8)1<<((NU)($2)&7U)))!=0)", 34);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_838, "(($1 &((NU16)1<<((NU)($2)&15U)))!=0)", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_839, "(($1 &((NU32)1<<((NU)($2)&31U)))!=0)", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_840, "(($1 &((NU64)1<<((NU)($2)&63U)))!=0)", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_841, "(($1[(NU)($2)>>3] &(1U<<((NU)($2)&7U)))!=0)", 43);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_842, "genSetOp()", 10);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_843 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1990),
((NI) 23)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_844, "$1[(NU)($2)>>3] |=(1U<<($2&7U));$n", 34);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_845, "$1[(NU)($2)>>3] &= ~(1U<<($2&7U));$n", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_846, "cardSet", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_847, "++) { ", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_848, " = ((", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_849, "] & ~ ", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_850, "]) == 0);", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_851, "  if (!", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_852, ") break;}", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_853, "nimCmpMem", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_854, ") != 0);", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_855, "for ($1 = 0; $1 < $2; $1++) $n  $3[$1] = $4[$1] $6 $5[$1];$n", 60);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_856, "for ($1 = 0; $1 < $2; $1++) { $n  $3 = (($4[$1] & ~ $5[$1]) == 0);$n  if (!$3) break;}$n", 88);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_857, "for ($1 = 0; $1 < $2; $1++) { $n  $3 = (($4[$1] & ~ $5[$1]) == 0);$n  if (!$3) break;}$nif ($3) $3 = (#nimCmpMem($4, $5, $2) != 0);$n", 133);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_858, "& ~", 3);
N_LIB_PRIVATE NIM_CONST tyArray__B06a0PrPRpY9aXtMPObCiCA lookupOpr_cgen_22078 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_856),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_857),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_472),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_121),
((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_858)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_859, "genSetOp", 8);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_860 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2029),
((NI) 23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_861 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1132),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_862, ", \"\"", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_863, "Genode::Cstring(", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_864, ".p->data, ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_865, ".len)", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_866, "->data, ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_867, "->len)", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_868, "<base/log.h>", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_869, "<util/string.h>", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_870, "Genode::log(", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_871, "echoBinSafe", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_872, "(NIM_NIL, ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_873, "\'$1\' can only be used in compile-time context", 45);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_874 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2424),
((NI) 14)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_875, "for --gc:arc|orc \'deepcopy\' support has to be enabled with --deepcopy:on", 72);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_876 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2439),
((NI) 16)}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_877 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x10,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_878, "genericDeepCopy", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_879, "genericSeqDeepCopy", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_880, "genericDeepCopyOpenArray", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_881, "genDeepCopy: ", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_882 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 460),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_883, ".p != ", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_884, ".p) {", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_885, ".len; ", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_886, ".p = ", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_887, ".p;", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_888, ".p && !(", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_889, ".p->cap & NIM_STRLIT_FLAG)) {", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_890, "deallocShared", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_891, ".p);", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_892, "dealloc", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_893, "alignedDealloc", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_894, ".p, NIM_ALIGNOF(", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_895, "destructor turned out to be not trivial", 39);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_896 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2235),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_897, "genMagicExpr: ", 14);
extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_898 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2457),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_899, "for ($1 = $3; $1 <= $4; $1++) $n$2[(NU)($1)>>3] |=(1U<<((NU)($1)&7U));$n", 72);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_900, "$1[(NU)($2)>>3] |=(1U<<((NU)($2)&7U));$n", 40);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_901, "$1 = 0;$n", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_902, "for ($1 = $3; $1 <= $4; $1++) $n$2 |=(($5)(1)<<(($1)%(sizeof($5)*8)));$n", 72);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_903, "$1 |=(($3)(1)<<(($2)%(sizeof($3)*8)));$n", 40);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_904, "CNSTCLOSURE", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_905, "closure to closure created", 26);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_906 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2537),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_907, ".ClE_0 = ", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_908, "$1.Field$2", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_909, "genCheckedRecordField", 21);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_910 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 838),
((NI) 33)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_911, "genObjConstr", 12);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_912 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1493),
((NI) 40)}
;
static NIM_CONST tyTuple__47w2DboNEPf69aPgubZdd7Q TM__MQdRN7fpbG7rPm4JpVVAhA_913 = {((NI) 1),
((NI) 5),
((NI) 1)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_914, "{ ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_915, "raiseFieldError", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_916, "raiseFieldError2", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_917, ", (NI)", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_918, "reprDiscriminant", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_919, "(((NI)", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_920, ") + (NI)", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_921, ")); ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_922, "LOC$1.source", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_923, "union { ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_924, " source; ", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_925, " dest; } LOC", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_926, "LOC$#.dest", 10);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_927 = {
0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_928 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0xb0, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_929 = {
0x10, 0xa9, 0xf0, 0x00, 0x00, 0xe0, 0xb0, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_930, "if ((NU)(", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_931, ") > (NU)(", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_932, "raiseIndexError2", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_933, "raiseIndexError3", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_934, "index out of bounds, the container is empty", 43);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_935, "index ", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_936, " not in ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_937, " .. ", 4);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_938 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 961),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_939, "[(", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_940, ")- ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_941, "Len_0)){ ", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_942, ",", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_943, "Len_0-1); ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_944, ".Field1)){ ", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_945, ".Field1-1); ", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_946, ".Field0[", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_947, "-1); ", 5);
static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__MQdRN7fpbG7rPm4JpVVAhA_948 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_949, "genTupleElem", 12);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_950 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 821),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_951, ".Field$1", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_952, "expr(nkBracketExpr, ", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_953 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 1052),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_954, "genDeref ", 9);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_955 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 759),
((NI) 21)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_956, "genRecordFieldAux", 17);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_957 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 805),
((NI) 38)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_958, "genRecordField 3 ", 17);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_959 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 855),
((NI) 40)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_960, ".$1", 3);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_961 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 926),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_962, "FR", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_963, "TFrame $1;$n", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_964, ".procname = ", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_965, ".filename = ", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_966, ";  ", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_967, ".line = ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_968, ".len = -1; nimFrame(&", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_969, "popFrameOfAddr", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_970, "if (!$1) goto $2;$n", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_971, "goto $1;$n", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_972, "genIf()", 7);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_973 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 460),
((NI) 23)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_974, "(*(($1*) (&($2))))", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_975, "->Sup", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_976, " && !", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_977, "raiseObjectConversionError", 26);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_978, "if (!", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_979, " > (", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_980, "raiseRangeErrorNoArgs", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_981, "raiseRangeErrorU", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_982, "raiseRangeErrorF", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_983, "raiseRangeErrorI", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_984, "csize", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_985, "(NI64)", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_986, ") < ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_987, ") > ", 4);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_988 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2876),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_989, "case statement must be exhaustive for computed goto", 51);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_990 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 513),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_991, "case statement cannot work on enums with holes for computed goto", 64);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_992 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 517),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_993, "case statement has too many cases for computed goto", 51);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_994 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 521),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_995, "case statement has to start at 0 for computed goto", 50);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_996 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 525),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_997, "no case statement found for computed goto", 41);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_998 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 528),
((NI) 14)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_999, "TMP$1_", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1000, "static void* $#[$#] = {", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1001, "&&TMP$#_, ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1002, "&&TMP$#_};$n", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1003, "goto *$#[$#];$n", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1004, "range notation not available for computed goto", 46);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1005 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 552),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1006, "TMP$#_:$n", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1007, "while (1) {", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1008, "genVarTuple", 11);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1009 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 64),
((NI) 40)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1010 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 107),
((NI) 44)}
;
N_LIB_PRIVATE TNimType NTItupleLloc58tloc_tp58ropeT__9cSd9cjH9cnPQaBRO0ioKSxRA_;
extern TNimType NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_;
N_LIB_PRIVATE TNimType NTIseqLtupleLloc58tloc_tp58ropeTT__sno9c9bXUVS2CqhtWOJadaCw_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1012, "NIM_BOOL ", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1013, " = NIM_FALSE;", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1014, " |= hcrRegisterGlobal(", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1015, ");\012", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1016, "for statement not eliminated", 28);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1017 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2887),
((NI) 29)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1018, ")) goto ", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1019, "switch (", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1020, "hashString", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1021, ") & ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1022, ") {", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1023, "case $1: $n$2break;$n", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1024, "goto LA$1_;$n", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1025, "LA$1_: ;$n", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1026, " >= ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1027, " && ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1028, " <= ", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1029, ") goto ", 7);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1030 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 484),
((NI) 18)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1031, "NIMSTATE_$#:$n", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1032, "switch ($1) {$n", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1033, "default: __assume(0);$n", 23);
extern TNimType NTIseqLtupleLfin58pnode_inexcept58bool_label58naturalTT__KjgUMUjT3LUKOFIK4xt5ug_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1034, "popSafePoint", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1035, "popCurrentException", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1036, ".status != 0) ", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1037, "goto BeforeRet_;$n", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1038, "ccgstmts.nim(691, 13) `sym.loc.k == locOther` ", 46);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1039, "no loop to break", 16);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1040 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 697),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1041, "FieldDiscriminantCheck", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1042, "((NI)(NU)(", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1043, "), (NI)(NU)(", 12);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1044 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 1554),
((NI) 11)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1045, "(void)(", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1046, "\"", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1047, "\\\"", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1048, "\\n\"\012", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1049, "if (NIM_UNLIKELY(*nimErr_)) {", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1050, "_:;", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1051, "else", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1052, "*nimErr_ = NIM_FALSE;", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1053, "m_type", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1054, "Sup.m_type", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1055, "nimBorrowCurrentException", 25);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1056, "()->", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1057, "else ", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1058, "NIM_BOOL oldNimErrFin", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1059, "oldNimErrFin", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1060, "_ = *nimErr_; *nimErr_ = NIM_FALSE;", 35);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1061, "*nimErr_ = oldNimErrFin", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1062, "<exception>", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1063, "\011std::exception_ptr T", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1064, "_ = nullptr;", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1065, "try {", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1066, "catch (", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1067, "Exception", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1068, "* T", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1069, "_) {", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1070, "\011TFrame* _nimCurFrame;", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1071, "\011_nimCurFrame = ", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1072, "getFrame", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1073, "setFrame", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1074, "(_nimCurFrame);", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1075, "_ = std::current_exception();", 29);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1076, "else if (", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1077, " = T", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1078, "else throw;", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1079, "catch (...) {", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1080, "& ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1081, "&) {", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1082, "if (T", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1083, "_) std::rethrow_exception(T", 27);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1084, "_);", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1085, "<setjmp.h>", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1086, "TSafePoint", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1087, "pushSafePoint", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1088, "nimStdSetjmp", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1089, ".status = setjmp(", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1090, ".context);", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1091, "nimSigSetjmp", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1092, ".status = sigsetjmp(", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1093, ".context, 0);", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1094, "nimRawSetjmp", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1095, ".status = _setjmp(", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1096, ".status == 0) {", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1097, "else {", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1098, "()) {", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1099, ".status = 0;", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1100, "nimLeaveFinally", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1101, "reraiseException", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1102, "throw $1;$n", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1103, "raiseExceptionEx", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1104, "*)", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1105, "throw;$n", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1106, "/*TYPESECTION*/", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1107, "/*VARSECTION*/", 14);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1108, "/*INCLUDESECTION*/", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1109, "$n#pragma omp $4$nfor ($1 = $2; $1 <= $3; ++$1)", 47);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1110, "$n#pragma $4$nfor ($1 = $2; $1 <= $3; ++$1)", 43);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1111, "$n#pragma omp $5$nfor ($1 = $2; $1 <= $3; $1 += $4)", 51);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1112 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 189),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1113, "STATE", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1114, ": ;", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1115, "case -1:$n", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1116, " goto BeforeRet_;$n", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1117, "STATE", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1118, "case $2: goto $1$2;$n", 21);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1119, "(((NI*) $1)[1] < 0)", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1120, "((((NI*) $1.ClE_0)[1]) < 0)", 27);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1121, "); unknown node kind", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1122 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_236),
((NI) 2951),
((NI) 21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1123 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_521),
((NI) 1586),
((NI) 17)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1124, "nimTestErrorFlag", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1125, "programResult", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1126, "procAddrError", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1127, "rawWrite", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1128, "initStackBottomWith", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1129, "initThreadVarsEmulation", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1130, "still forwarded: ", 17);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1131 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 2073),
((NI) 19)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1132, "NimMainModule", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1133, "Init000", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1134, "$1 N_NIMCALL(void, $2)(void) {$N", 32);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1135, "N_LIB_EXPORT", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1136, "N_LIB_PRIVATE", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1137, "generated_not_to_break_here", 27);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1138, "* ", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1139, "\011hcrRegisterGlobal(", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1140, "\", sizeof(TNimNode) * ", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1141, ", NULL, (void**)&", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1142, "\011int* nim_hcr_dummy_ = 0;$n\011NIM_BOOL nim_hcr_do_init_ = hcrRegisterGlobal($1, \"module_initialized_\", 1, NULL, (void**)&nim_hcr_dummy_);$n", 137);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1143, "{$N", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1144, "\011TFrame FR_; FR_.len = 0;$N", 27);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1145, "\011if (nim_hcr_do_init_) {\012\012", 26);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1146, "\012\011} // nim_hcr_do_init_\012", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1147, "}/* preInitProc end */$N", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1148, "\011BeforeRet_: ;$n", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1149, "}$N$N", 5);
extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1150, "hcrRegisterProc", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1151, "hcrGetProc", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1152, "hcrRegisterGlobal", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1153, "hcrGetGlobal", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1154, "N_LIB_EXPORT N_NIMCALL(void, $1)(void* handle, N_NIMCALL_PTR(void*, getProcAddr)(void*, char*)) {$N", 99);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1155, "HcrInit000", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1156, "hcrInit", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1157, "hcrAddModule", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1158, "static $2 $1;$n", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1159, "\011$1 = ($2) $3($4, $5);$n", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1160, "handle", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1161, "getProcAddr", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1162, "NIM_EXTERNC N_NIMCALL(void, nimLoadProcs$1)(void) {$2}$N$N", 58);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1163, "DatInit000", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1164, "N_LIB_EXPORT N_NIMCALL(void, HcrCreateTypeInfos)(void) {$N", 58);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1165, "$nN_LIB_PRIVATE const char* hcr_module_list[] = {$n", 51);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1166, "\011$1,$n", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1167, "\011\"\"};$n", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1168, "$nN_LIB_EXPORT N_NIMCALL(void**, HcrGetImportedModules)() { return (void**)hcr_module_list; }$n", 95);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1169, "$nN_LIB_EXPORT N_NIMCALL(char*, HcrGetSigHash)() { return \"$1\"; }$n$n", 69);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1170, "static void* hcr_handle;$N", 26);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1171, "N_LIB_EXPORT N_NIMCALL(void, $1)(void);$N", 41);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1172, "N_LIB_EXPORT N_NIMCALL(void, $1)(void*, N_NIMCALL_PTR(void*, getProcAddr)(void*, char*));$N", 91);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1173, "N_LIB_EXPORT N_NIMCALL(void, HcrCreateTypeInfos)(void);$N", 57);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1174, "\011$1();$N", 8);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1175, "\011hcrInit((void**)hcr_module_list, $1, $2, $3, hcr_handle, nimGetProcAddr);$n", 76);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1176, "\011$1(hcr_handle, nimGetProcAddr);$N", 34);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1177, "\011hcrAddModule($1);\012", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1178, "\011HcrCreateTypeInfos();$N", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1179, "stdlib_system", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1180, "stdlib_os", 9);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1181, "\011int* cmd_count;\012", 17);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1182, "\011char*** cmd_line;\012", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1183, "\011hcrRegisterGlobal($1, \"cmdCount\", sizeof(cmd_count), NULL, (void**)&cmd_count);$N", 82);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1184, "\011hcrRegisterGlobal($1, \"cmdLine\", sizeof(cmd_line), NULL, (void**)&cmd_line);$N", 79);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1185, "\011*cmd_count = cmdCount;\012", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1186, "\011*cmd_line = cmdLine;\012", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1187, "N_LIB_PRIVATE N_NIMCALL(void, $1)(void);$N", 42);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1188, "();\012", 4);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1189, "((void *)&inner);\012", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1190, "\012\012", 2);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1191, "#", 1);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1192, "ifndef ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1193, "_Content_PP\012", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1194, "define ", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1195, "_Content_PP\012struct ", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1196, "_Content { NI cap; ", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1197, " data[SEQ_DECL_SIZE];};\012", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1198, "endif\012\012      ", 13);
extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTIobject__IDX4istqRyOZp3l6j9aUesw_;
extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
N_LIB_PRIVATE TNimType NTIrefobject__UjwNQwrGjW3X9ahveEH9bnWA_;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1200, "\011if (!(", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1201, ")))\012\011\011", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1202, "hcr_handle", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1204, "\011void* rtl_handle;\012", 19);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1205, "rtl_handle", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1206, "nimGC_setStackBottom", 20);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1208, "nimrtl_", 7);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1209, "\011inner = PreMain;\012", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1210, "\011initStackBottomWith_actual((void *)&inner);\012", 45);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1211, "\011(*inner)();\012", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1212, "\011PreMain();\012", 12);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1213, "<windows.h>", 11);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1214, "<libc/component.h>", 18);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1215, "\012N_LIB_PRIVATE void PreMainInner(void) {\012", 41);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1216, "}\012\012N_LIB_PRIVATE int cmdCount;\012N_LIB_PRIVATE char** cmdLine;\012N_LIB_PRIVATE char** gEnv;\012N_LIB_PRIVATE void PreMain(void) {\012\011void (*volatile inner)(void);\012\011inner = PreMainInner;\012", 177);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1217, "\011(*inner)();\012}\012\012", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1218, "N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {\012", 50);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1219, "}\012\012N_CDECL(void, NimMain)(void) {\012\011void (*volatile inner)(void);\012", 65);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1220, "\011inner = NimMainInner;\012", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1221, "}\012\012N_LIB_EXPORT N_CDECL(void, NimMain)(void) {\012\011void (*volatile inner)(void);\012", 78);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1222, "extern Genode::Env *nim_runtime_env;\012extern \"C\" void nim_component_construct(Genode::Env*);\012\012N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {\012", 143);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1223, "using namespace ", 16);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1224, "N_STDCALL(int, WinMain)(HINSTANCE hCurInstance, \012                        HINSTANCE hPrevInstance, \012                        LPSTR lpCmdLine, int nCmdShow) {\012\011NimMain();\012\011return ", 176);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1225, "nim_program_result;\012}\012\012", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1226, "BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, \012                    LPVOID lpvReserved) {\012\011if(fwdreason == DLL_PROCESS_ATTACH) {\012\011NimMain();\012}\012\011return 1;\012}\012\012", 167);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1227, "void Libc::Component::construct(Libc::Env &env) {\012\011// Set Env used during runtime initialization\012\011nim_runtime_env = &env;\012\011Libc::with_libc([&] () {\012\011\011// Initialize runtime and globals\012\011NimMain();\012\011// Call application construct\012\011\011nim_component_construct(&env);\012\011});\012}\012\012", 268);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1228, "N_LIB_PRIVATE void NIM_POSIX_INIT NimMainInit(void) {\012\011NimMain();\012}\012\012", 69);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1229, "int main(void) {\012\011NimMain();\012\011return 0;\012}\012\012", 43);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1230, "int main(int argc, char** args, char** env) {\012\011cmdLine = args;\012\011cmdCount = argc;\012\011gEnv = env;\012\011NimMain();\012\011return ", 114);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1231, "namespace ", 10);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1232, " {\012", 3);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1233, "$#NI NimThreadVarsSize(){return (NI)sizeof(NimThreadVars);}$n", 61);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1234, "/* Generated by Nim Compiler v$1 */$N", 37);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1235, "1.6.0", 5);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1236, "/* Compiled for: $1, $2, $3 */$N/* Command for C compiler:$n   $4 */$N", 70);
extern NIM_CONST tyArray__9cwFB2SXj9aw9cyLiDbvSiBEg CPU_platform_691;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1237, "#define NIM_HOT_CODE_RELOADING\012", 31);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1238, "#define NIM_INTBITS $1\012", 23);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1239, "#define USE_NIM_NAMESPACE ", 26);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1240, "nimEmulateOverflowChecks", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1241, "#define NIM_EmulateOverflowChecks\012", 34);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1242, "typedef struct {$1} NimThreadVars;$n", 36);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1243, "\012#include \"nimbase.h\"\012", 22);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1244, "#include \"$1\"$N", 15);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1245, "#include $1$N", 13);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1246, "#undef LANGUAGE_C\012#undef MIPSEB\012#undef MIPSEL\012#undef PPC\012#undef R3000\012#undef R4000\012#undef i386\012#undef linux\012#undef mips\012#undef near\012#undef far\012#undef powerpc\012#undef unix\012", 170);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1247, "#define nimfr_(x, y)\012#define nimln_(x, y)\012", 42);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1248 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 1954),
((NI) 18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1249 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 1962),
((NI) 16)}
;
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1250, "__$1__", 6);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1251, "#ifndef $1$n#define $1$n", 24);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1252, "N_CDECL(void, NimMain)(void);$n", 31);
STRING_LITERAL(TM__MQdRN7fpbG7rPm4JpVVAhA_1253, "#endif /* $1 */$n", 17);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__MQdRN7fpbG7rPm4JpVVAhA_1254 = {((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_86),
((NI) 1885),
((NI) 14)}
;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch_system_5226;
extern TSafePoint* excHandler_system_2565;
extern TSafePoint* excHandler_system_2565;
extern TSafePoint* excHandler_system_2565;
extern TSafePoint* excHandler_system_2565;
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_5317)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* 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__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_system_5279)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent__system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (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_5322)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT_system_5273((&gch_system_5226.zct), c);
}
static N_INLINE(void, decRef_system_5324)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* 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_5322(c);
	}
	LA4_: ;
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell_system_5279(src);
		incRef_system_5317(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell_system_5279((*dest));
		decRef_system_5324(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
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_1727)(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_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_INLINE(void, nimSetMem_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);
}
static N_INLINE(void, nimGCunrefRC1)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell_system_5279(p);
	decRef_system_5324(T1_);
}
static N_INLINE(void, initIntSet_pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
	initPackedSet_pureZcollectionsZintsets_16(Result);
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell_system_5279(p);
	decRef_system_5324(T1_);
}
static N_INLINE(NI, slotsNeeded_pureZcollectionsZtables_42)(NI count) {
	NI result;
	result = (NI)0;
	result = nextPowerOfTwo_pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable_cgen_28149)(NI initialSize, tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* Result) {
	NI correctSizeX60gensym6419_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym6419_ = slotsNeeded_pureZcollectionsZtables_42(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTIkeyvaluepairseq__sII3pVVRkIdBZ2HDPdZddA_), ((NI) (correctSizeX60gensym6419_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initCountTable_cgen_28168)(NI initialSize, tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* Result) {
	NI correctSizeX60gensym6421_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	(*Result).isSorted = 0;
	correctSizeX60gensym6421_ = slotsNeeded_pureZcollectionsZtables_42(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__XUL1TrMU0tgXmaMFCIYgFQ*) newSeq((&NTIseqLtupleLkey58sighash_val58intTT__XUL1TrMU0tgXmaMFCIYgFQ_), ((NI) (correctSizeX60gensym6421_))));
}
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg, initProcOptions_cgen_28125)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg result;
	tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg opts;
	nimZeroMem((void*)(&result), sizeof(tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg));
	opts = (*(*(*m).g).config).options;
	{
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA3_;
		result = (opts & ~ 131072);
	}
	goto LA1_;
	LA3_: ;
	{
		result = opts;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTempName_cgen_410)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rope_ropes_115(((NI64) ((*m).labels)));
	result = amp__ropes_128((*m).tmpBase, T1_);
	(*m).labels += ((NI) 1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*, rawNewModule_cgen_28137)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, NimStringDesc* filename) {
	tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* result;
	NimStringDesc* T1_;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	NimStringDesc* T5_;
	NimStringDesc* ndiName;
	result = (tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*)0;
	result = (tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) newObj((&NTIbmodule__NkKlBfvvsMUW70DxvxLVIg_), sizeof(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow));
	(*result).Sup.Sup.m_type = (&NTItcgen__9cG6VsX22pOhho6kxyhFVow_);
	asgnRef((void**) (&(*result).g), g);
	T1_ = (NimStringDesc*)0;
	nimZeroMem((void*)T2_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	hashOwner_sighashes_505(module, T2_);
	T3_ = (NimStringDesc*)0;
	T3_ = dollar__modulegraphs_8947(T2_);
	T1_ = rawNewString((T3_ ? T3_->Sup.len : 0) + 3);
appendString(T1_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_2));
appendString(T1_, T3_);
appendString(T1_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
	asgnRef((void**) (&(*result).tmpBase), rope_ropes_109(T1_));
	if ((*result).headerFiles) { nimGCunrefRC1((*result).headerFiles); (*result).headerFiles = NIM_NIL; }
	initIntSet_pureZcollectionsZintsets_238((&(*result).declaredThings));
	initIntSet_pureZcollectionsZintsets_238((&(*result).declaredProtos));
	T4_ = (NimStringDesc*)0;
	T4_ = (*result).cfilename; (*result).cfilename = copyStringRC1(filename);
	if (T4_) nimGCunrefNoCycle(T4_);
	T5_ = (NimStringDesc*)0;
	T5_ = (*result).filename; (*result).filename = copyStringRC1(filename);
	if (T5_) nimGCunrefNoCycle(T5_);
	initTable_cgen_28149(((NI) 32), (&(*result).typeCache));
	initTable_cgen_28149(((NI) 32), (&(*result).forwTypeCache));
	asgnRef((void**) (&(*result).module), module);
	initTable_cgen_28149(((NI) 32), (&(*result).typeInfoMarker));
	initCountTable_cgen_28168(((NI) 32), (&(*result).sigConflicts));
	asgnRef((void**) (&(*result).initProc), newProc_cgendata_278(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), result));
	(*(*result).initProc).options = initProcOptions_cgen_28125(result);
	asgnRef((void**) (&(*result).preInitProc), newProc_cgendata_278(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), result));
	(*(*result).preInitProc).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 6)) & 7);
	(*(*result).preInitProc).labels = ((NI) 100000);
	initNodeTable_ast_4143((&(*result).dataCache));
	if ((*result).typeStack) { nimGCunrefRC1((*result).typeStack); (*result).typeStack = NIM_NIL; }
	asgnRef((void**) (&(*result).typeNodesName), getTempName_cgen_410(result));
	asgnRef((void**) (&(*result).nimTypesName), getTempName_cgen_410(result));
	{
		if (!(((*module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA8_;
		(*result).flags |= ((NU8)1)<<((((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 0)) & 7);
		(*(*result).preInitProc).options &= ~(((NU32)1) << ((((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17)) & 31));
	}
	LA8_: ;
	{
		NimStringDesc* T14_;
		if (!(((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0)) goto LA12_;
		T14_ = (NimStringDesc*)0;
		T14_ = completeCfilePath_extccomp_713((*g).config, filename, NIM_TRUE);
		ndiName = noschangeFileExt(T14_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_4));
	}
	goto LA10_;
	LA12_: ;
	{
		ndiName = ((NimStringDesc*) NIM_NIL);
	}
	LA10_: ;
	open_ndi_24((&(*result).ndi), ndiName, (*g).config);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*, rawNewModule_cgen_28230)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* result;
	NimStringDesc* T1_;
	result = (tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*)0;
	T1_ = (NimStringDesc*)0;
	T1_ = toFullPath_msgs_538(conf, ((NI32) ((*module).position)));
	result = rawNewModule_cgen_28137(g, module, T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*, newModule_cgen_28235)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* result;
	result = (tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*)0;
	result = rawNewModule_cgen_28230(g, module, conf);
	{
		NI T3_;
		T3_ = ((*g).modules ? (*g).modules->Sup.len : 0);
		if (!(T3_ <= (*module).position)) goto LA4_;
		asgnRef((void**) (&(*g).modules), (tySequence__SHVxAqOYtIy7teT1q4s0zQ*) setLengthSeqV2(&((*g).modules)->Sup, (&NTIseqLbmoduleT__SHVxAqOYtIy7teT1q4s0zQ_), ((NI) ((NI)((*module).position + ((NI) 1))))));
	}
	LA4_: ;
	asgnRef((void**) (&(*g).modules->data[(*module).position]), result);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, myOpen_cgen_28248)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
	tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* result;
	tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g;
	tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* T6_;
	result = (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*)0;
	{
		tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* T5_;
		if (!((*graph).backend == ((RootObj*) NIM_NIL))) goto LA3_;
		T5_ = (tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA*)0;
		T5_ = newModuleList_cgendata_374(graph);
		asgnRef((void**) (&(*graph).backend), &T5_->Sup);
	}
	LA3_: ;
	g = (*((tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA**) (&((*graph).backend))));
	T6_ = (tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*)0;
	T6_ = newModule_cgen_28235(g, module, (*graph).config);
	result = &T6_->Sup;
	asgnRef((void**) (&(*result).idgen), idgen);
	{
		NIM_BOOL T9_;
		NimStringDesc* f;
		NimStringDesc* T18_;
		NimStringDesc* T19_;
		T9_ = (NIM_BOOL)0;
		T9_ = (((*(*graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 27))&63U)))!=0);
		if (!(T9_)) goto LA10_;
		T9_ = ((*g).generatedHeader == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL));
		LA10_: ;
		if (!T9_) goto LA11_;
		{
			if (!(((NI) 0) < ((*(*graph).config).headerFile ? (*(*graph).config).headerFile->Sup.len : 0))) goto LA15_;
			f = (*(*graph).config).headerFile;
		}
		goto LA13_;
		LA15_: ;
		{
			f = (*(*graph).config).projectFull;
		}
		LA13_: ;
		T18_ = (NimStringDesc*)0;
		T18_ = completeCfilePath_extccomp_713((*graph).config, f, NIM_TRUE);
		T19_ = (NimStringDesc*)0;
		T19_ = noschangeFileExt(T18_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_5));
		asgnRef((void**) (&(*g).generatedHeader), rawNewModule_cgen_28137(g, module, T19_));
		(*(*g).generatedHeader).flags |= ((NU8)1)<<((((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 3)) & 7);
	}
	LA11_: ;
	return result;
}
static N_INLINE(NIM_BOOL, skipCodegen_passes_49)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (((NI) 0) < (*config).errorCounter);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn_cgen_42)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = hcrOn_options_567((*(*m).g).config);
	return result;
}
static N_INLINE(NI, len_ast_3197)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* 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_3190)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = len_ast_3197(n);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13453)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_6), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13462)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_7), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7509)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_8), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13429)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_9), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, blockBody_cgen_13426)(tyObject_TBlock__GFhahvekTq3dDOkWyhchMA* b) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = (*b).sections[(((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0))- 0];
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		if (!(((NI16) 0) < (*b).frameLen)) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = rope_ropes_115(((NI64) ((*b).frameLen)));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = percent__cgen_13429(T5_, 1);
		add_ropes_159(&result, T6_);
	}
	LA3_: ;
	add_ropes_159(&result, (*b).sections[(((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1))- 0]);
	add_ropes_159(&result, (*b).sections[(((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2))- 0]);
	return result;
}
static N_INLINE(tyObject_TBlock__GFhahvekTq3dDOkWyhchMA*, X5BX5D__cgendata_229)(tyObject_TBlock__GFhahvekTq3dDOkWyhchMA* s, NI sLen_0, NI i) {
	tyObject_TBlock__GFhahvekTq3dDOkWyhchMA* result;
	result = (tyObject_TBlock__GFhahvekTq3dDOkWyhchMA*)0;
	result = (&s[(NI)(sLen_0 - i)]);
	return result;
}
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, s_cgendata_225)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg s) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result;
	tyObject_TBlock__GFhahvekTq3dDOkWyhchMA* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T1_ = (tyObject_TBlock__GFhahvekTq3dDOkWyhchMA*)0;
	T1_ = X5BX5D__cgendata_229((*p).blocks->data, ((*p).blocks ? (*p).blocks->Sup.len : 0), ((NI) 1));
	result = &(*T1_).sections[(s)- 0];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, indentLine_cgen_272)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = r;
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
		colontmp_ = T2_;
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T5_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
				prepend_ropes_265(&result, T5_);
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, endBlock_cgen_13434)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* blockEnd) {
	NI topBlock;
	NI T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T3_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	T1_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	topBlock = (NI)(T1_ - ((NI) 1));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = blockBody_cgen_13426((&(*p).blocks->data[topBlock]));
	add_ropes_159(&(*p).blocks->data[(NI)(topBlock - ((NI) 1))].sections[(((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2))- 0], T2_);
	asgnRef((void**) (&(*p).blocks), (tySequence__oUyaggHmIX9bpJcMeoG6lpA*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTIseqLtblockT__oUyaggHmIX9bpJcMeoG6lpA_), ((NI) (topBlock))));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T3_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = indentLine_cgen_272(p, blockEnd);
	add_ropes_159(T3_, T4_);
}
N_LIB_PRIVATE N_NIMCALL(void, endBlock_cgen_13201)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	NI topBlock;
	NI T1_;
	NI16 frameLen;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* blockEnd;
	T1_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	topBlock = (NI)(T1_ - ((NI) 1));
	frameLen = (*p).blocks->data[topBlock].frameLen;
	blockEnd = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		if (!(((NI16) 0) < frameLen)) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T6_[0] = rope_ropes_115(((NI64) (frameLen)));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_13453(T6_, 1);
		add_ropes_159(&blockEnd, T7_);
	}
	LA4_: ;
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		if (!!(((*p).blocks->data[topBlock].label == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA10_;
		nimZeroMem((void*)T12_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T12_[0] = (*p).blocks->data[topBlock].label;
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = percent__cgen_13462(T12_, 1);
		add_ropes_159(&blockEnd, T13_);
	}
	goto LA8_;
	LA10_: ;
	{
		tyArray__qTjAvTvKF9anytN1At69aJMQ T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		nimZeroMem((void*)T15_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = percent__cgen_7509(T15_, 0);
		add_ropes_159(&blockEnd, T16_);
	}
	LA8_: ;
	endBlock_cgen_13434(p, blockEnd);
}
N_LIB_PRIVATE N_NIMCALL(NI, inExceptBlockLen_cgen_13145)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	NI result;
	result = (NI)0;
	{
		tyTuple__FxkU4d1VDodDMc9ah6Mbagw* x;
		NI i;
		NI L;
		NI T2_;
		x = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
		i = ((NI) 0);
		T2_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				x = (&(*p).nestedTryStmts->data[i]);
				{
					if (!(*x).Field1) goto LA7_;
					result += ((NI) 1);
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, startBlockInternal_cgen_13180)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	NI result;
	NI T1_;
	NI T2_;
	NI T3_;
	result = (NI)0;
	(*p).labels += ((NI) 1);
	T1_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	result = T1_;
	asgnRef((void**) (&(*p).blocks), (tySequence__oUyaggHmIX9bpJcMeoG6lpA*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTIseqLtblockT__oUyaggHmIX9bpJcMeoG6lpA_), ((NI) ((NI)(result + ((NI) 1))))));
	(*p).blocks->data[result].id = ((NI) ((*p).labels));
	T2_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
	(*p).blocks->data[result].nestedTryStmts = ((NI16) (T2_));
	T3_ = (NI)0;
	T3_ = inExceptBlockLen_cgen_13145(p);
	(*p).blocks->data[result].nestedExceptStmts = ((NI16) (T3_));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fillLoc_cgen_65)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a, tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r, tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw s) {
	{
		if (!((*a).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		(*a).k = k;
		unsureAsgnRef((void**) (&(*a).lode), lode);
		(*a).storage = s;
		{
			if (!((*a).r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA7_;
			unsureAsgnRef((void**) (&(*a).r), r);
		}
		LA7_: ;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleName_cgen_620)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = (*s).loc.r;
	{
		NimStringDesc* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = mangle_ccgutils_112((*(*s).name).s);
		result = rope_ropes_109(T5_);
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
		add_ropes_159(&result, (*(*(*m).g).graph).ifaces->data[(*s).Sup.itemId.module].uniqueName);
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rope_ropes_115(((NI64) ((*s).Sup.itemId.item)));
		add_ropes_159(&result, T6_);
		{
			NIM_BOOL T9_;
			NimStringDesc* T12_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			T9_ = (NIM_BOOL)0;
			T9_ = hcrOn_cgen_42(m);
			if (!T9_) goto LA10_;
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
			T12_ = (NimStringDesc*)0;
			T12_ = mangle_ccgutils_112((*(*(*m).module).name).s);
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = idOrSig_sighashes_2057(s, T12_, (&(*m).sigConflicts));
			add_ropes_159(&result, T13_);
		}
		LA10_: ;
		asgnRef((void**) (&(*s).loc.r), result);
		{
			NI T18_;
			if (!(*m).ndi.enabled) goto LA16_;
			asgnRef((void**) (&(*m).ndi.syms), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*m).ndi.syms), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
			T18_ = (*m).ndi.syms->Sup.len++;
			asgnRef((void**) (&(*m).ndi.syms->data[T18_]), s);
		}
		LA16_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fillProcLoc_cgen_11423)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
	sym = (*n)._kind_4.sym;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!((*sym).loc.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = mangleName_cgen_620(m, sym);
		fillLoc_cgen_65((&(*sym).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 7), n, T5_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, useHeader_cgen_105)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	{
		NimStringDesc* str;
		if (!(((*sym).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 6))&15U)))!=0)) goto LA3_;
		str = getStr_ast_4609((*(*sym).annex).path);
		includeHeader_cgendata_214(m, str);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, cgFormatValue_cgen_145)(NimStringDesc** result, NimStringDesc* value) {
	unsureAsgnRef((void**) (&(*result)), resizeString((*result), (value ? value->Sup.len : 0) + 0));
appendString((*result), value);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isReloadable_cgen_6710)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
	NIM_BOOL result;
	NIM_BOOL T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = hcrOn_cgen_42(m);
	if (!(T1_)) goto LA2_;
	T1_ = !((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 38))&63U)))!=0));
	LA2_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, pop_ropes_180)(tySequence__WwUFq9cJ2xKRlsAWVEHyPRg** s) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI L;
	NI T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = ((*s) ? (*s)->Sup.len : 0);
	L = (NI)(T1_ - ((NI) 1));
	result = (*s)->data[L];
	unsureAsgnRef((void**) (&(*s)), (tySequence__WwUFq9cJ2xKRlsAWVEHyPRg*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLropeT__WwUFq9cJ2xKRlsAWVEHyPRg_), ((NI) (L))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, cgFormatValue_cgen_141)(NimStringDesc** result, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* value) {
	{
		NimStringDesc* str;
		str = (NimStringDesc*)0;
		{
			tySequence__WwUFq9cJ2xKRlsAWVEHyPRg* stack;
			if (!!((value == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA4_;
			stack = (tySequence__WwUFq9cJ2xKRlsAWVEHyPRg*) newSeq((&NTIseqLropeT__WwUFq9cJ2xKRlsAWVEHyPRg_), 1);
			asgnRef((void**) (&stack->data[0]), value);
			{
				while (1) {
					NI T8_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* it;
					T8_ = (stack ? stack->Sup.len : 0);
					if (!(((NI) 0) < T8_)) goto LA7;
					it = pop_ropes_180((&stack));
					{
						while (1) {
							NI T11_;
							if (!!(((*it).left == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA10;
							stack = (tySequence__WwUFq9cJ2xKRlsAWVEHyPRg*) incrSeqV3((TGenericSeq*)(stack), (&NTIseqLropeT__WwUFq9cJ2xKRlsAWVEHyPRg_));
							T11_ = stack->Sup.len++;
							asgnRef((void**) (&stack->data[T11_]), (*it).right);
							it = (*it).left;
						} LA10: ;
					}
					str = (*it).data;
					unsureAsgnRef((void**) (&(*result)), resizeString((*result), (str ? str->Sup.len : 0) + 0));
appendString((*result), str);
				} LA7: ;
			}
		}
		LA4_: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedCppType_cgen_1286)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	NIM_BOOL result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T5_;
	result = (NIM_BOOL)0;
	x = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_18);
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
	if (!(T2_)) goto LA3_;
	T2_ = (((*(*t).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T5_ = (NIM_BOOL)0;
	T5_ = !(((*x).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
	if (!(T5_)) goto LA6_;
	T5_ = (((*(*x).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
	LA6_: ;
	T1_ = T5_;
	LA4_: ;
	result = T1_;
	return result;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).prev = excHandler_system_2565;
	excHandler_system_2565 = s;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, typeNameOrLiteral_cgen_1777)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NimStringDesc* literal) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
		if (!(T4_)) goto LA5_;
		T4_ = (((*(*t).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0);
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T3_ = ((*(*t).sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
		LA6_: ;
		if (!T3_) goto LA7_;
		useHeader_cgen_105(m, (*t).sym);
		result = (*(*t).sym).loc.r;
	}
	goto LA1_;
	LA7_: ;
	{
		result = rope_ropes_109(literal);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, detectStrVersion_cgen_464)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	NI result;
	result = (NI)0;
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* coreX60gensym63_;
		if (!((*(*m).g).strVersion == ((NI) 0))) goto LA3_;
		coreX60gensym63_ = getCompilerProc_magicsys_145((*(*m).g).graph, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_25));
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = (coreX60gensym63_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			if (T7_) goto LA8_;
			T7_ = !(((*coreX60gensym63_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10)));
			LA8_: ;
			if (!T7_) goto LA9_;
			(*(*m).g).strVersion = ((NI) 1);
		}
		goto LA5_;
		LA9_: ;
		{
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
			T12_ = getInt_ast_4591((*coreX60gensym63_).ast);
			(*(*m).g).strVersion = toInt_int495056_170(T12_);
		}
		LA5_: ;
	}
	LA3_: ;
	result = (*(*m).g).strVersion;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isActivated_cgen_26595)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !(((*prc).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addForwardedProc_cgen_48)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
	NI T1_;
	asgnRef((void**) (&(*(*m).g).forwardedProcs), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*(*m).g).forwardedProcs), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
	T1_ = (*(*m).g).forwardedProcs->Sup.len++;
	asgnRef((void**) (&(*(*m).g).forwardedProcs->data[T1_]), prc);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*, findPendingModule_cgen_55)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* result;
	NI32 ms;
	result = (tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*)0;
	ms = (*s).Sup.itemId.module;
	result = (*(*m).g).modules->data[ms];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNonReloadable_cgen_6718)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
	NIM_BOOL result;
	NIM_BOOL T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = hcrOn_cgen_42(m);
	if (!(T1_)) goto LA2_;
	T1_ = (((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 38))&63U)))!=0);
	LA2_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w, mapSetType_cgen_1197)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w result;
	NI64 T1_;
	result = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
	T1_ = (NI64)0;
	T1_ = getSize_types_3333(conf, typ);
	switch (((NI) (T1_))) {
	case ((NI) 1):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 4);
	}
	break;
	case ((NI) 2):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 5);
	}
	break;
	case ((NI) 4):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 6);
	}
	break;
	case ((NI) 8):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 7);
	}
	break;
	default:
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w, mapType_cgen_1201)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
	tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w result;
{	result = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 0);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 2);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 1);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 20);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		result = mapSetType_cgen_1197(conf, typ);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		{
			if (!(kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3))) goto LA9_;
			result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17);
		}
		goto LA7_;
		LA9_: ;
		{
			result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 19);
		}
		LA7_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 19);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
		{
			if (!!((((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0))) goto LA17_;
			failedAssertImpl_systemZassertions_56(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_30));
		}
		LA17_: ;
		T19_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T19_ = lastSon_ast_3742(typ);
		result = mapType_cgen_1201(conf, T19_, kind);
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
		T21_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T21_ = lastSon_ast_3742(typ);
		result = mapType_cgen_1201(conf, T21_, kind);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
	{
		{
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T25_;
			NIM_BOOL T26_;
			T25_ = firstOrd_types_1353(conf, typ);
			T26_ = (NIM_BOOL)0;
			T26_ = lt__int495056_721(T25_, IL64(0));
			if (!T26_) goto LA27_;
			result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 6);
		}
		goto LA23_;
		LA27_: ;
		{
			NI64 T30_;
			T30_ = (NI64)0;
			T30_ = getSize_types_3333(conf, typ);
			switch (((NI) (T30_))) {
			case ((NI) 1):
			{
				result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 13);
			}
			break;
			case ((NI) 2):
			{
				result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 14);
			}
			break;
			case ((NI) 4):
			{
				result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 6);
			}
			break;
			case ((NI) 8):
			{
				result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 7);
			}
			break;
			default:
			{
				result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 6);
			}
			break;
			}
		}
		LA23_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
	{
		result = mapType_cgen_1201(conf, (*typ).sons->data[((NI) 0)], kind);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
		T38_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T38_ = lastSon_ast_3742(typ);
		base = skipTypes_ast_3734(T38_, TM__MQdRN7fpbG7rPm4JpVVAhA_31);
		switch ((*base).kind) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
		{
			result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 18);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
		{
			{
				tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T43_;
				T43_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
				T43_ = mapSetType_cgen_1197(conf, base);
				if (!(T43_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17))) goto LA44_;
				result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 18);
			}
			goto LA41_;
			LA44_: ;
			{
				result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 20);
			}
			LA41_: ;
		}
		break;
		default:
		{
			result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 20);
		}
		break;
		}
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 20);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 22);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		{
			if (!!(((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA53_;
			result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 23);
		}
		goto LA51_;
		LA53_: ;
		{
			result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 19);
		}
		LA51_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 21);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 24);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		result = ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) ((NI)((NI)((*typ).kind - ((NI) 31)) + ((NI) 3))));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
	{
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T64_;
			if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA62_;
			T64_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T64_ = lastSon_ast_3742(typ);
			result = mapType_cgen_1201(conf, T64_, kind);
		}
		goto LA60_;
		LA62_: ;
		{
			{
				NimStringDesc* T70_;
				if (!NIM_TRUE) goto LA68_;
				T70_ = (NimStringDesc*)0;
				T70_ = rawNewString((reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 39);
appendString(T70_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_32));
appendString(T70_, reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
				failedAssertImpl_systemZassertions_56(T70_);
			}
			LA68_: ;
		}
		LA60_: ;
	}
	break;
	default:
	{
		{
			NimStringDesc* T76_;
			if (!NIM_TRUE) goto LA74_;
			T76_ = (NimStringDesc*)0;
			T76_ = rawNewString((reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 39);
appendString(T76_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_33));
appendString(T76_, reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
			failedAssertImpl_systemZassertions_56(T76_);
		}
		LA74_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isObjLackingTypeField_cgen_1311)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	NIM_BOOL T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T4_ = (NIM_BOOL)0;
	T4_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0);
	if (!(T4_)) goto LA5_;
	T4_ = ((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
	LA5_: ;
	T3_ = T4_;
	if (T3_) goto LA6_;
	T3_ = isPureObject_types_132(typ);
	LA6_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInvalidReturnType_cgen_1327)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* rettype) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!(rettype == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
		result = NIM_TRUE;
	}
	goto LA1_;
	LA3_: ;
	{
		tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T6_;
		T6_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
		T6_ = mapType_cgen_1201(conf, rettype, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
		switch (T6_) {
		case ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17):
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
			T8_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T8_ = skipTypes_ast_3734(rettype, TM__MQdRN7fpbG7rPm4JpVVAhA_31);
			result = !(((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21)));
		}
		break;
		case ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 19):
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
			NIM_BOOL T16_;
			NIM_BOOL T18_;
			NIM_BOOL T20_;
			t = skipTypes_ast_3734(rettype, TM__MQdRN7fpbG7rPm4JpVVAhA_31);
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = isImportedCppType_cgen_1286(rettype);
				if (T12_) goto LA13_;
				T12_ = isImportedCppType_cgen_1286(t);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = (NIM_BOOL)0;
			T16_ = containsGarbageCollectedRef_types_612(t);
			if (T16_) goto LA17_;
			T18_ = (NIM_BOOL)0;
			T18_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
			if (!(T18_)) goto LA19_;
			T20_ = (NIM_BOOL)0;
			T20_ = isObjLackingTypeField_cgen_1311(t);
			T18_ = !(T20_);
			LA19_: ;
			T16_ = T18_;
			LA17_: ;
			result = T16_;
		}
		break;
		default:
		{
			result = NIM_FALSE;
		}
		break;
		}
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3486)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_23), args, argsLen_0);
	return result;
}
static N_INLINE(NIM_BOOL, isCompileTimeOnly_types_3525)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3511)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword_cgen_610)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* w) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	switch ((*w).id) {
	case ((NI) 225) ... ((NI) 290):
	case ((NI) 4) ... ((NI) 66):
	case ((NI) 147):
	{
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	default:
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isFilled_pureZcollectionsZsets_38)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	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_1735)(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_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, nextTry_pureZcollectionsZsets_41)(NI h, NI maxHash) {
	NI result;
	result = (NI)0;
	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
	return result;
}
static N_INLINE(NI, rawGet_options_2606)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash_pureZhashes_279(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled_pureZcollectionsZsets_38(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZsets_41(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_cgen_694)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg s, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI index;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	index = rawGet_options_2606(s, key, (&hc));
	result = (((NI) 0) <= index);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleParamName_cgen_632)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = (*s).loc.r;
	{
		NimStringDesc* res;
		if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
		res = mangle_ccgutils_112((*(*s).name).s);
		{
			NIM_BOOL T7_;
			NIM_BOOL T8_;
			T7_ = (NIM_BOOL)0;
			T8_ = (NIM_BOOL)0;
			T8_ = hcrOn_cgen_42(m);
			if (T8_) goto LA9_;
			T8_ = isKeyword_cgen_610((*s).name);
			LA9_: ;
			T7_ = T8_;
			if (T7_) goto LA10_;
			T7_ = contains_cgen_694((*(*(*m).g).config).cppDefines, res);
			LA10_: ;
			if (!T7_) goto LA11_;
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_37));
		}
		LA11_: ;
		result = rope_ropes_109(res);
		asgnRef((void**) (&(*s).loc.r), result);
		{
			NI T17_;
			if (!(*m).ndi.enabled) goto LA15_;
			asgnRef((void**) (&(*m).ndi.syms), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*m).ndi.syms), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
			T17_ = (*m).ndi.syms->Sup.len++;
			asgnRef((void**) (&(*m).ndi.syms->data[T17_]), s);
		}
		LA15_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw, paramStorageLoc_cgen_3465)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param) {
	tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw result;
	result = (tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw)0;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
		T3_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T3_ = skipTypes_ast_3734((*param).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_38);
		if (!!(((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)))) goto LA4_;
		result = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2);
	}
	goto LA1_;
	LA4_: ;
	{
		result = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isFilled_pureZcollectionsZtables_31)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	return result;
}
static N_INLINE(NI, nextTry_pureZcollectionsZtables_34)(NI h, NI maxHash) {
	NI result;
	result = (NI)0;
	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
	return result;
}
static N_INLINE(NI, rawGet_cgen_1424)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash_modulegraphs_8963(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled_pureZcollectionsZtables_31(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqeq__modulegraphs_8959(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZtables_34(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getOrDefault_cgen_1415)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI hcX60gensym144_;
	NI indexX60gensym144_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	hcX60gensym144_ = (NI)0;
	indexX60gensym144_ = rawGet_cgen_1424(t, key, (&hcX60gensym144_));
	{
		if (!(((NI) 0) <= indexX60gensym144_)) goto LA3_;
		result = t.data->data[indexX60gensym144_].Field2;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, cacheGetType_cgen_1345)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA tab, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = getOrDefault_cgen_1415(tab, sig);
	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__OFzf0kSiPTcNreUIeJgWVA*, typeName_cgen_1135)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	typ_2 = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_18);
	{
		NIM_BOOL T3_;
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*typ_2).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((*typ_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*typ_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
		LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = (NimStringDesc*)0;
		T8_ = (NimStringDesc*)0;
		T8_ = mangle_ccgutils_112((*(*(*typ_2).sym).name).s);
		T7_ = rawNewString((reprEnum((NI)(*typ_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*typ_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + (T8_ ? T8_->Sup.len : 0) + 1);
appendString(T7_, reprEnum((NI)(*typ_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T7_, 95);
appendString(T7_, T8_);
		result = rope_ropes_109(T7_);
	}
	goto LA1_;
	LA5_: ;
	{
		result = rope_ropes_109(reprEnum((NI)(*typ_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeName_cgen_1153)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
{	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	t = typ;
	{
		while (1) {
			{
				NIM_BOOL T5_;
				T5_ = (NIM_BOOL)0;
				T5_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
				if (!(T5_)) goto LA6_;
				T5_ = !(((192 & (*(*t).sym).flags) == 0));
				LA6_: ;
				if (!T5_) goto LA7_;
				result = (*(*t).sym).loc.r;
				goto BeforeRet_;
			}
			LA7_: ;
			{
				if (!((TM__MQdRN7fpbG7rPm4JpVVAhA_18[(NU)((*t).kind)>>3] &(1U<<((NU)((*t).kind)&7U)))!=0)) goto LA11_;
				t = lastSon_ast_3742(t);
			}
			goto LA9_;
			LA11_: ;
			{
				goto LA1;
			}
			LA9_: ;
		}
	} LA1: ;
	{
		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA16_;
		typ_2 = lastSon_ast_3742(typ);
	}
	goto LA14_;
	LA16_: ;
	{
		typ_2 = typ;
	}
	LA14_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		NimStringDesc* T24_;
		if (!((*typ_2).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA21_;
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = typeName_cgen_1135(typ_2);
		T24_ = (NimStringDesc*)0;
		T24_ = dollar__modulegraphs_8947(sig);
		asgnRef((void**) (&(*typ_2).loc.r), amp__ropes_140(T23_, T24_));
	}
	goto LA19_;
	LA21_: ;
	{
	}
	LA19_: ;
	result = (*typ_2).loc.r;
	{
		NimStringDesc* T30_;
		if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA28_;
		T30_ = (NimStringDesc*)0;
		T30_ = rawNewString((reprEnum((NI)(*typ_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*typ_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 13);
appendString(T30_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_40));
appendString(T30_, reprEnum((NI)(*typ_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
		internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, T30_, TM__MQdRN7fpbG7rPm4JpVVAhA_41);
	}
	LA28_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash_cgen_2058)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_cgen_2575)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tySequence__sII3pVVRkIdBZ2HDPdZddA** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val, NI hc, NI h) {
	nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge_cgen_2244)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t) {
	tySequence__sII3pVVRkIdBZ2HDPdZddA* n;
	NI T1_;
	tySequence__sII3pVVRkIdBZ2HDPdZddA* T2_;
	n = (tySequence__sII3pVVRkIdBZ2HDPdZddA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTIkeyvaluepairseq__sII3pVVRkIdBZ2HDPdZddA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__sII3pVVRkIdBZ2HDPdZddA*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T17_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_pureZcollectionsZtables_31(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_pureZcollectionsZtables_31((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_pureZcollectionsZtables_34(j, T16_);
						} LA14: ;
					}
					nimCopyMem((void*)T17_, (NIM_CONST void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T18_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert_cgen_2575(t, (&(*t).data), T17_, T18_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC_cgen_2756)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled_pureZcollectionsZtables_31(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq__modulegraphs_8959(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZtables_34(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__cgen_1859)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym164_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym164_ = slotsNeeded_pureZcollectionsZtables_42(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTIkeyvaluepairseq__sII3pVVRkIdBZ2HDPdZddA_), ((NI) (correctSizeX60gensym164_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet_cgen_1424((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA6_;
	LA8_: ;
	{
		{
			NI T13_;
			NI correctSizeX60gensym167_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym167_ = slotsNeeded_pureZcollectionsZtables_42(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTIkeyvaluepairseq__sII3pVVRkIdBZ2HDPdZddA_), ((NI) (correctSizeX60gensym167_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash_cgen_2058((*t));
			if (!T18_) goto LA19_;
			enlarge_cgen_2244(t);
			index = rawGetKnownHC_cgen_2756((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_cgen_2575(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedType_cgen_1275)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
	if (!(T1_)) goto LA2_;
	T1_ = (((*(*t).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3088)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_42), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3093)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_43), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addForwardStructFormat_cgen_3076)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* structOrUnion, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* typename_0) {
	{
		NIM_BOOL T3_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T3_) goto LA4_;
		T3_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T7_[0] = structOrUnion;
		T7_[1] = typename_0;
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__cgen_3088(T7_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 3))- 0], T8_);
	}
	goto LA1_;
	LA5_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		nimZeroMem((void*)T10_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T10_[0] = structOrUnion;
		T10_[1] = typename_0;
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = percent__cgen_3093(T10_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 3))- 0], T11_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, structOrUnion_cgen_3066)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* cachedUnion;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* cachedStruct;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	cachedUnion = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_44));
	cachedStruct = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_45));
	t_2 = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_46);
	{
		if (!(((*t_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0)) goto LA3_;
		result = cachedUnion;
	}
	goto LA1_;
	LA3_: ;
	{
		result = cachedStruct;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, pushType_cgen_3034)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	NI T9_;
{	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*m).typeStack ? (*m).typeStack->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if (!((*m).typeStack->data[i] == typ)) goto LA7_;
					goto BeforeRet_;
				}
				LA7_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	asgnRef((void**) (&(*m).typeStack), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*m).typeStack), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
	T9_ = (*m).typeStack->Sup.len++;
	asgnRef((void**) (&(*m).typeStack->data[T9_]), typ);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError_cgen_3293)(tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	T1_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
	T1_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
	(*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
	(*T1_).Sup.Sup.Sup.name = "KeyError";
	T2_ = (NimStringDesc*)0;
	T3_ = (NimStringDesc*)0;
	T3_ = dollar__modulegraphs_8947(key);
	T2_ = rawNewString((T3_ ? T3_->Sup.len : 0) + 15);
appendString(T2_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_47));
appendString(T2_, T3_);
	asgnRef((void**) (&(*T1_).Sup.Sup.Sup.message), T2_);
	asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
	raiseExceptionEx((Exception*)T1_, "KeyError", "raiseKeyError", "tables.nim", 234);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, X5BX5D__cgen_3222)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet_cgen_1424((*t), key, (&hcX60gensym22_));
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym22_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		raiseKeyError_cgen_3293(key);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeForward_cgen_3105)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete;
{	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = cacheGetType_cgen_1345((*m).forwTypeCache, sig);
	{
		if (!!((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	result = getTypePre_cgen_3053(m, typ, sig);
	{
		if (!!((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	concrete = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	switch ((*concrete).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	{
		result = getTypeName_cgen_1153(m, typ, sig);
		X5BX5Deq__cgen_1859((&(*m).forwTypeCache), sig, result);
		{
			NIM_BOOL T12_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			T12_ = (NIM_BOOL)0;
			T12_ = isImportedType_cgen_1275(concrete);
			if (!!(T12_)) goto LA13_;
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = structOrUnion_cgen_3066(typ);
			addForwardStructFormat_cgen_3076(m, T15_, result);
		}
		goto LA10_;
		LA13_: ;
		{
			pushType_cgen_3034(m, concrete);
		}
		LA10_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T19_;
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T19_ = X5BX5D__cgen_3222((&(*m).forwTypeCache), sig);
			if (!!(((*T19_) == result))) goto LA20_;
			failedAssertImpl_systemZassertions_56(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_48));
		}
		LA20_: ;
	}
	break;
	default:
	{
		NimStringDesc* T23_;
		T23_ = (NimStringDesc*)0;
		T23_ = rawNewString((reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 16);
appendString(T23_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_49));
appendString(T23_, reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T23_, 41);
		internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, T23_, TM__MQdRN7fpbG7rPm4JpVVAhA_50);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, seqStar_cgen_3098)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		if (!(((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		result = ((NimStringDesc*) NIM_NIL);
	}
	goto LA1_;
	LA3_: ;
	{
		result = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeDescWeak_cgen_3309)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* etB;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	etB = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	switch ((*etB).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		{
			NIM_BOOL T4_;
			T4_ = (NIM_BOOL)0;
			T4_ = isImportedCppType_cgen_1286(etB);
			if (!(T4_)) goto LA5_;
			T4_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
			LA5_: ;
			if (!T4_) goto LA6_;
			result = getTypeDescAux_cgen_1306(m, t, check, kind);
		}
		goto LA2_;
		LA6_: ;
		{
			tyArray__qtqsWM5aXmcpMIVmvq3kAA T9_;
			nimZeroMem((void*)T9_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
			hashType_sighashes_462(t, 2, T9_);
			result = getTypeForward_cgen_3105(m, t, T9_);
			pushType_cgen_3034(m, t);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		tyArray__qtqsWM5aXmcpMIVmvq3kAA sig;
		nimZeroMem((void*)sig, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
		hashType_sighashes_462(t, 2, sig);
		{
			if (!(((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA13_;
			{
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
				T17_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T17_ = skipTypes_ast_3734((*etB).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_31);
				if (!((*T17_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA18_;
				internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_51), TM__MQdRN7fpbG7rPm4JpVVAhA_52);
			}
			LA18_: ;
			result = cacheGetType_cgen_1345((*m).forwTypeCache, sig);
			{
				if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA22_;
				result = getTypeName_cgen_1153(m, t, sig);
				{
					NIM_BOOL T26_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* payload;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
					T26_ = (NIM_BOOL)0;
					T26_ = isImportedType_cgen_1275(t);
					if (!!(T26_)) goto LA27_;
					X5BX5Deq__cgen_1859((&(*m).forwTypeCache), sig, result);
					T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T29_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_53));
					addForwardStructFormat_cgen_3076(m, T29_, result);
					payload = amp__ropes_140(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_54));
					T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T30_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_53));
					addForwardStructFormat_cgen_3076(m, T30_, payload);
				}
				LA27_: ;
			}
			LA22_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
				T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T33_ = cacheGetType_cgen_1345((*m).typeCache, sig);
				if (!(T33_ == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA34_;
				X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
				res = rawNewString(((NI) 80));
				res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_55));
				cgFormatValue_cgen_141((&res), result);
				res = resizeString(res, 13);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_56));
				cgFormatValue_cgen_141((&res), result);
				res = resizeString(res, 16);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_57));
				T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T36_ = rope_ropes_109(res);
				add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T36_);
			}
			LA34_: ;
		}
		goto LA11_;
		LA13_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			NimStringDesc* T39_;
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = getTypeForward_cgen_3105(m, t, sig);
			T39_ = (NimStringDesc*)0;
			T39_ = seqStar_cgen_3098(m);
			result = amp__ropes_140(T38_, T39_);
		}
		LA11_: ;
		pushType_cgen_3034(m, t);
	}
	break;
	default:
	{
		result = getTypeDescAux_cgen_1306(m, t, check, kind);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3518)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3527)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3536)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_59), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3558)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_61), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w, mapReturnType_cgen_1271)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w result;
	result = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
	result = mapType_cgen_1201(conf, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3585)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_63), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genProcParams_cgen_3472)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** rettype, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** params, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NIM_BOOL declareEnvironment, NIM_BOOL weakDep) {
	unsureAsgnRef((void**) (&(*params)), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
	{
		NIM_BOOL T3_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
		if (T3_) goto LA4_;
		T3_ = isInvalidReturnType_cgen_1327((*(*m).g).config, (*t).sons->data[((NI) 0)]);
		LA4_: ;
		if (!T3_) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		unsureAsgnRef((void**) (&(*rettype)), percent__cgen_3486(T7_, 0));
	}
	goto LA1_;
	LA5_: ;
	{
		unsureAsgnRef((void**) (&(*rettype)), getTypeDescAux_cgen_1306(m, (*t).sons->data[((NI) 0)], check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11)));
	}
	LA1_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197((*t).n);
		i_2 = ((NI) 1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA11;
				i = i_2;
				{
					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
					tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw T29_;
					tyArray__qTjAvTvKF9anytN1At69aJMQ T44_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
					tyObject_TType__facALICuu8zUj0hjvbTLFg* arr;
					NI j;
					{
						if (!!(((*(*(*t).n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA15_;
						internalErrorImpl_msgs_1431((*(*m).g).config, (*(*t).n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_34), TM__MQdRN7fpbG7rPm4JpVVAhA_35);
					}
					LA15_: ;
					param = (*(*(*t).n)._kind_6.sons->data[i])._kind_4.sym;
					{
						NIM_BOOL T19_;
						T19_ = (NIM_BOOL)0;
						T19_ = isCompileTimeOnly_types_3525((*param).typ);
						if (!T19_) goto LA20_;
						goto LA12;
					}
					LA20_: ;
					{
						tyArray__qTjAvTvKF9anytN1At69aJMQ T26_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
						if (!!(((*params) == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA24_;
						nimZeroMem((void*)T26_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T27_ = percent__cgen_3511(T26_, 0);
						add_ropes_159(params, T27_);
					}
					LA24_: ;
					T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T28_ = mangleParamName_cgen_632(m, param);
					T29_ = (tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw)0;
					T29_ = paramStorageLoc_cgen_3465(param);
					fillLoc_cgen_65((&(*param).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 4), (*(*t).n)._kind_6.sons->data[i], T28_, T29_);
					{
						NIM_BOOL T32_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
						tyArray__qTjAvTvKF9anytN1At69aJMQ T36_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
						T32_ = (NIM_BOOL)0;
						T32_ = ccgIntroducedPtr_ccgutils_153((*(*m).g).config, param, (*t).sons->data[((NI) 0)]);
						if (!T32_) goto LA33_;
						T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T35_ = getTypeDescWeak_cgen_3309(m, (*param).typ, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
						add_ropes_159(params, T35_);
						nimZeroMem((void*)T36_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T37_ = percent__cgen_3518(T36_, 0);
						add_ropes_159(params, T37_);
						(*param).loc.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15);
						(*param).loc.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0);
					}
					goto LA30_;
					LA33_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
						if (!weakDep) goto LA39_;
						T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T41_ = getTypeDescWeak_cgen_3309(m, (*param).typ, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
						add_ropes_159(params, T41_);
					}
					goto LA30_;
					LA39_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
						T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T43_ = getTypeDescAux_cgen_1306(m, (*param).typ, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
						add_ropes_159(params, T43_);
					}
					LA30_: ;
					nimZeroMem((void*)T44_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T45_ = percent__cgen_3527(T44_, 0);
					add_ropes_159(params, T45_);
					{
						tyArray__qTjAvTvKF9anytN1At69aJMQ T50_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
						if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 46))&63U)))!=0)) goto LA48_;
						nimZeroMem((void*)T50_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T51_ = percent__cgen_3536(T50_, 0);
						add_ropes_159(params, T51_);
					}
					LA48_: ;
					add_ropes_159(params, (*param).loc.r);
					arr = skipTypes_ast_3734((*param).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_60);
					{
						if (!((*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA54_;
						arr = lastSon_ast_3742(arr);
					}
					LA54_: ;
					j = ((NI) 0);
					{
						while (1) {
							tyArray__mrugoXXRZUEeG9bEXo9auBKw T62_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
							if (!((*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA57;
							{
								if (!((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA60_;
								(*param).loc.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0);
							}
							LA60_: ;
							nimZeroMem((void*)T62_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
							T62_[0] = (*param).loc.r;
							T62_[1] = rope_ropes_115(((NI64) (j)));
							T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T63_ = percent__cgen_3558(T62_, 2);
							add_ropes_159(params, T63_);
							j += ((NI) 1);
							arr = skipTypes_ast_3734((*arr).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_62);
						} LA57: ;
					}
				} LA12: ;
				i_2 += ((NI) 1);
			} LA11: ;
		}
	}
	{
		NIM_BOOL T66_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* arr_2;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T82_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
		T66_ = (NIM_BOOL)0;
		T66_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
		if (!(T66_)) goto LA67_;
		T66_ = isInvalidReturnType_cgen_1327((*(*m).g).config, (*t).sons->data[((NI) 0)]);
		LA67_: ;
		if (!T66_) goto LA68_;
		arr_2 = (*t).sons->data[((NI) 0)];
		{
			if (!!(((*params) == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA72_;
			add_ropes_162(params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		}
		LA72_: ;
		{
			tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T76_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
			T76_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
			T76_ = mapReturnType_cgen_1271((*(*m).g).config, (*t).sons->data[((NI) 0)]);
			if (!!((T76_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17)))) goto LA77_;
			T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T79_ = getTypeDescWeak_cgen_3309(m, arr_2, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
			add_ropes_159(params, T79_);
			add_ropes_162(params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
		}
		goto LA74_;
		LA77_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
			T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T81_ = getTypeDescAux_cgen_1306(m, arr_2, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
			add_ropes_159(params, T81_);
		}
		LA74_: ;
		nimZeroMem((void*)T82_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T83_ = percent__cgen_3585(T82_, 0);
		add_ropes_159(params, T83_);
	}
	LA68_: ;
	{
		NIM_BOOL T86_;
		T86_ = (NIM_BOOL)0;
		T86_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
		if (!(T86_)) goto LA87_;
		T86_ = declareEnvironment;
		LA87_: ;
		if (!T86_) goto LA88_;
		{
			if (!!(((*params) == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA92_;
			add_ropes_162(params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		}
		LA92_: ;
		add_ropes_162(params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_64));
	}
	LA88_: ;
	{
		if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA96_;
		{
			if (!!(((*params) == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA100_;
			add_ropes_162(params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		}
		LA100_: ;
		add_ropes_162(params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_65));
	}
	LA96_: ;
	{
		if (!((*params) == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA104_;
		add_ropes_162(params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_66));
	}
	goto LA102_;
	LA104_: ;
	{
		add_ropes_162(params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	}
	LA102_: ;
	unsureAsgnRef((void**) (&(*params)), amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68), (*params)));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6757)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_71), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genProcHeader_cgen_606)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, NIM_BOOL asPtr) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* rettype;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* params;
	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* asPtrStr;
	NimStringDesc* T21_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	rettype = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	params = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(((*prc).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 5))&15U)))!=0)) goto LA3_;
		{
			if (!(((*m).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 3))&7U)))!=0)) goto LA7_;
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_26));
		}
		goto LA5_;
		LA7_: ;
		{
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_27));
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T11_;
		NIM_BOOL T12_;
		T11_ = (NIM_BOOL)0;
		T12_ = (NIM_BOOL)0;
		T12_ = ((*(*prc).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5));
		if (T12_) goto LA13_;
		T12_ = asPtr;
		LA13_: ;
		T11_ = T12_;
		if (T11_) goto LA14_;
		T11_ = isNonReloadable_cgen_6718(m, prc);
		LA14_: ;
		if (!T11_) goto LA15_;
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_28));
	}
	goto LA1_;
	LA15_: ;
	{
		if (!!((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0))) goto LA18_;
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_29));
	}
	goto LA1_;
	LA18_: ;
	LA1_: ;
	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
	initIntSet_pureZcollectionsZintsets_238((&check));
	T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T20_ = mangleName_cgen_620(m, prc);
	fillLoc_cgen_65((&(*prc).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 7), (*(*prc).ast)._kind_6.sons->data[((NI) 0)], T20_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	genProcParams_cgen_3472(m, (*prc).typ, &rettype, &params, (&check), NIM_TRUE, NIM_FALSE);
	T21_ = (NimStringDesc*)0;
	{
		if (!asPtr) goto LA24_;
		T21_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_69));
	}
	goto LA22_;
	LA24_: ;
	{
		T21_ = ((NimStringDesc*) NIM_NIL);
	}
	LA22_: ;
	asPtrStr = rope_ropes_109(T21_);
	name = (*prc).loc.r;
	{
		NIM_BOOL T29_;
		T29_ = (NIM_BOOL)0;
		T29_ = isReloadable_cgen_6710(m, prc);
		if (!(T29_)) goto LA30_;
		T29_ = !(asPtr);
		LA30_: ;
		if (!T29_) goto LA31_;
		add_ropes_162(&name, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_70));
	}
	LA31_: ;
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T37_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
		if (!((*prc).constraint == 0)) goto LA35_;
		nimZeroMem((void*)T37_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T37_[0] = rope_ropes_109(CallingConvToStr_cgen_1344[((*(*prc).typ).callConv)- 0]);
		T37_[1] = asPtrStr;
		T37_[2] = rettype;
		T37_[3] = name;
		T37_[4] = params;
		T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T38_ = percent__cgen_6757(T37_, 5);
		add_ropes_159(&result, T38_);
	}
	goto LA33_;
	LA35_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* asPtrStr_2;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T47_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
			if (!asPtr) goto LA42_;
			T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T44_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_83));
			T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T45_ = amp__ropes_128(T44_, name);
			asPtrStr_2 = amp__ropes_140(T45_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		}
		goto LA40_;
		LA42_: ;
		{
			asPtrStr_2 = name;
		}
		LA40_: ;
		nimZeroMem((void*)T47_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T47_[0] = rettype;
		T47_[1] = asPtrStr_2;
		T47_[2] = params;
		result = runtimeFormat_ropes_271((*(*prc).constraint)._kind_3.strVal, T47_, 3);
	}
	LA33_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsResult_cgen_25680)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		{
			if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11))) goto LA5_;
			result = NIM_TRUE;
		}
		LA5_: ;
	}
	break;
	default:
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA10;
					i = i_2;
					{
						NIM_BOOL T13_;
						T13_ = (NIM_BOOL)0;
						T13_ = containsResult_cgen_25680((*n)._kind_6.sons->data[i]);
						if (!T13_) goto LA14_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA14_: ;
					i_2 += ((NI) 1);
				} LA10: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, easyResultAsgn_cgen_25709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	{
		NI i;
		i = ((NI) 0);
		{
			while (1) {
				NIM_BOOL T4_;
				NI T5_;
				T4_ = (NIM_BOOL)0;
				T5_ = (NI)0;
				T5_ = len_ast_3197(n);
				T4_ = (i < T5_);
				if (!(T4_)) goto LA6_;
				T4_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*(*n)._kind_6.sons->data[i]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*(*n)._kind_6.sons->data[i]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101) || (*(*n)._kind_6.sons->data[i]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) && (*(*n)._kind_6.sons->data[i]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
				LA6_: ;
				if (!T4_) goto LA3;
				i += ((NI) 1);
			} LA3: ;
		}
		{
			NI T9_;
			T9_ = (NI)0;
			T9_ = len_ast_3197(n);
			if (!(i < T9_)) goto LA10_;
			result = easyResultAsgn_cgen_25709((*n)._kind_6.sons->data[i]);
		}
		LA10_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		{
			NIM_BOOL T15_;
			NIM_BOOL T16_;
			NIM_BOOL T19_;
			T15_ = (NIM_BOOL)0;
			T16_ = (NIM_BOOL)0;
			T16_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
			if (!(T16_)) goto LA17_;
			T16_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
			LA17_: ;
			T15_ = T16_;
			if (!(T15_)) goto LA18_;
			T19_ = (NIM_BOOL)0;
			T19_ = containsResult_cgen_25680((*n)._kind_6.sons->data[((NI) 1)]);
			T15_ = !(T19_);
			LA18_: ;
			if (!T15_) goto LA20_;
			(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 15)) & 31);
			result = (*n)._kind_6.sons->data[((NI) 1)];
			goto BeforeRet_;
		}
		LA20_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		{
			NI T25_;
			T25_ = (NI)0;
			T25_ = len_ast_3197(n);
			if (!(((NI) 0) < T25_)) goto LA26_;
			result = easyResultAsgn_cgen_25709((*n)._kind_6.sons->data[((NI) 0)]);
			{
				if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA30_;
				(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 15)) & 31);
			}
			LA30_: ;
		}
		LA26_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, shallow_system_7444)(NimStringDesc** s) {
	TGenericSeq* s_2;
	s_2 = ((TGenericSeq*) ((*s)));
	{
		NimStringDesc* T5_;
		if (!(s_2 == ((TGenericSeq*) NIM_NIL))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = mnewString(((NI) 0));
		s_2 = ((TGenericSeq*) (T5_));
	}
	LA3_: ;
	{
		if (!((NI)((*s_2).reserved & ((NI) IL64(4611686018427387904))) == ((NI) 0))) goto LA8_;
		(*s_2).reserved = (NI)((*s_2).reserved | ((NI) (IL64(-9223372036854775807) - IL64(1))));
	}
	LA8_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, rawGet_cgen_825)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key) {
	NI result;
	NI h;
	NI T6_;
	NI T7_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = (NI)0;
	T6_ = hash_pureZhashes_279(key);
	T7_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(T6_ & T7_);
	{
		while (1) {
			NI T14_;
			if (!!((t.data->data[h].Field1 == ((NI) 0)))) goto LA9;
			{
				if (!eqStrings(t.data->data[h].Field0, key)) goto LA12_;
				result = h;
				goto BeforeRet_;
			}
			LA12_: ;
			T14_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZtables_34(h, T14_);
		} LA9: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault_cgen_804)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key, NI default_0) {
	NI result;
	NI indexX60gensym198_;
	result = (NI)0;
	indexX60gensym198_ = rawGet_cgen_825(t, key);
	{
		if (!(((NI) 0) <= indexX60gensym198_)) goto LA3_;
		result = t.data->data[indexX60gensym198_].Field1;
	}
	goto LA1_;
	LA3_: ;
	{
		result = default_0;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash_cgen_994)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, ctRawInsert_cgen_1065)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, tySequence__jwzrUFjG9akTIJTBBFvvqxw** data, NimStringDesc* key, NI val) {
	NI h;
	NI T1_;
	NI T2_;
	NimStringDesc* T6_;
	T1_ = (NI)0;
	T1_ = hash_pureZhashes_279(key);
	T2_ = (((*data) ? (*data)->Sup.len : 0)-1);
	h = (NI)(T1_ & T2_);
	{
		while (1) {
			NI T5_;
			if (!!(((*data)->data[h].Field1 == ((NI) 0)))) goto LA4;
			T5_ = (((*data) ? (*data)->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZtables_34(h, T5_);
		} LA4: ;
	}
	T6_ = (NimStringDesc*)0;
	T6_ = (*data)->data[h].Field0; (*data)->data[h].Field0 = copyStringRC1(key);
	if (T6_) nimGCunrefNoCycle(T6_);
	(*data)->data[h].Field1 = val;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge_cgen_1030)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg* t) {
	tySequence__jwzrUFjG9akTIJTBBFvvqxw* n;
	NI T1_;
	tySequence__jwzrUFjG9akTIJTBBFvvqxw* T12_;
	n = (tySequence__jwzrUFjG9akTIJTBBFvvqxw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__jwzrUFjG9akTIJTBBFvvqxw*) newSeq((&NTIseqLtupleLkey58string_val58intTT__jwzrUFjG9akTIJTBBFvvqxw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
		colontmp_ = T3_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA5;
				i = res;
				{
					NimStringDesc* T10_;
					NI T11_;
					if (!!(((*t).data->data[i].Field1 == ((NI) 0)))) goto LA8_;
					T10_ = (NimStringDesc*)0;
					T10_ = (*t).data->data[i].Field0;
					asgnRef((void**) (&(*t).data->data[i].Field0), NIM_NIL);
					T11_ = (NI)0;
					T11_ = (*t).data->data[i].Field1;
					(*t).data->data[i].Field1 = 0;
					ctRawInsert_cgen_1065((*t), (&n), T10_, T11_);
				}
				LA8_: ;
				res += ((NI) 1);
			} LA5: ;
		}
	}
	T12_ = (tySequence__jwzrUFjG9akTIJTBBFvvqxw*)0;
	T12_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T12_;
}
N_LIB_PRIVATE N_NIMCALL(void, inc_cgen_927)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg* t, NimStringDesc* key, NI val) {
	NI index;
	index = rawGet_cgen_825((*t), key);
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		(*t).data->data[index].Field1 += val;
		{
			NI mskX60gensym179_;
			NI T9_;
			if (!((*t).data->data[index].Field1 == ((NI) 0))) goto LA7_;
			T9_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
			mskX60gensym179_ = T9_;
			{
				if (!(((NI) 0) <= index)) goto LA12_;
				(*t).counter -= ((NI) 1);
				{
					{
						while (1) {
							NI jX60gensym179_;
							NI rX60gensym179_;
							jX60gensym179_ = index;
							rX60gensym179_ = jX60gensym179_;
							(*t).data->data[index].Field1 = ((NI) 0);
							asgnRef((void**) (&(*t).data->data[index].Field0), NIM_NIL);
							(*t).data->data[index].Field1 = 0;
							{
								while (1) {
									NI T23_;
									index = (NI)((NI)(index + ((NI) 1)) & mskX60gensym179_);
									{
										if (!((*t).data->data[index].Field1 == ((NI) 0))) goto LA21_;
										goto LA14;
									}
									LA21_: ;
									T23_ = (NI)0;
									T23_ = hash_pureZhashes_279((*t).data->data[index].Field0);
									rX60gensym179_ = (NI)(T23_ & mskX60gensym179_);
									{
										NIM_BOOL T26_;
										NIM_BOOL T27_;
										NIM_BOOL T28_;
										NIM_BOOL T31_;
										NIM_BOOL T34_;
										T26_ = (NIM_BOOL)0;
										T27_ = (NIM_BOOL)0;
										T28_ = (NIM_BOOL)0;
										T28_ = (rX60gensym179_ <= index);
										if (!(T28_)) goto LA29_;
										T28_ = (jX60gensym179_ < rX60gensym179_);
										LA29_: ;
										T27_ = T28_;
										if (T27_) goto LA30_;
										T31_ = (NIM_BOOL)0;
										T31_ = (jX60gensym179_ < rX60gensym179_);
										if (!(T31_)) goto LA32_;
										T31_ = (index < jX60gensym179_);
										LA32_: ;
										T27_ = T31_;
										LA30_: ;
										T26_ = T27_;
										if (T26_) goto LA33_;
										T34_ = (NIM_BOOL)0;
										T34_ = (index < jX60gensym179_);
										if (!(T34_)) goto LA35_;
										T34_ = (rX60gensym179_ <= index);
										LA35_: ;
										T26_ = T34_;
										LA33_: ;
										if (!!(T26_)) goto LA36_;
										goto LA17;
									}
									LA36_: ;
								}
							} LA17: ;
							asgnRef((void**) (&(*t).data->data[jX60gensym179_].Field0), (*t).data->data[index].Field0);
							(*t).data->data[jX60gensym179_].Field1 = (*t).data->data[index].Field1;
							unsureAsgnRef((void**)&(*t).data->data[index].Field0, NIM_NIL);
							(*t).data->data[index].Field1 = 0;
						}
					}
				} LA14: ;
			}
			LA12_: ;
		}
		LA7_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			if (!!((val == ((NI) 0)))) goto LA41_;
			{
				NI T45_;
				NI correctSizeX60gensym105_;
				T45_ = ((*t).data ? (*t).data->Sup.len : 0);
				if (!(T45_ == ((NI) 0))) goto LA46_;
				correctSizeX60gensym105_ = slotsNeeded_pureZcollectionsZtables_42(((NI) 32));
				(*t).counter = ((NI) 0);
				unsureAsgnRef((void**) (&(*t).data), (tySequence__jwzrUFjG9akTIJTBBFvvqxw*) newSeq((&NTIseqLtupleLkey58string_val58intTT__jwzrUFjG9akTIJTBBFvvqxw_), ((NI) (correctSizeX60gensym105_))));
			}
			LA46_: ;
			{
				NIM_BOOL T50_;
				T50_ = (NIM_BOOL)0;
				T50_ = mustRehash_cgen_994((*t));
				if (!T50_) goto LA51_;
				enlarge_cgen_1030(t);
			}
			LA51_: ;
			ctRawInsert_cgen_1065((*t), (&(*t).data), key, val);
			(*t).counter += ((NI) 1);
		}
		LA41_: ;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleLocalName_cgen_718)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = (*s).loc.r;
	{
		NimStringDesc* key;
		NI counter;
		if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
		key = mangle_ccgutils_112((*(*s).name).s);
		shallow_system_7444((&key));
		counter = getOrDefault_cgen_804((*p).sigConflicts, key, ((NI) 0));
		result = rope_ropes_109(key);
		{
			if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5))) goto LA7_;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
				if (!!((counter == ((NI) 0)))) goto LA11_;
				T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T13_ = rope_ropes_115(((NI64) ((NI)(counter + ((NI) 1)))));
				T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T14_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3), T13_);
				add_ropes_159(&result, T14_);
			}
			LA11_: ;
		}
		goto LA5_;
		LA7_: ;
		{
			NIM_BOOL T16_;
			NIM_BOOL T17_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
			T16_ = (NIM_BOOL)0;
			T17_ = (NIM_BOOL)0;
			T17_ = !((counter == ((NI) 0)));
			if (T17_) goto LA18_;
			T17_ = isKeyword_cgen_610((*s).name);
			LA18_: ;
			T16_ = T17_;
			if (T16_) goto LA19_;
			T16_ = contains_cgen_694((*(*(*(*p).module).g).config).cppDefines, key);
			LA19_: ;
			if (!T16_) goto LA20_;
			T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T22_ = rope_ropes_115(((NI64) ((NI)(counter + ((NI) 1)))));
			T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T23_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3), T22_);
			add_ropes_159(&result, T23_);
		}
		goto LA5_;
		LA20_: ;
		LA5_: ;
		inc_cgen_927((&(*p).sigConflicts), key, ((NI) 1));
		asgnRef((void**) (&(*s).loc.r), result);
		{
			if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5)))) goto LA26_;
			{
				NI T32_;
				if (!(*(*p).module).ndi.enabled) goto LA30_;
				asgnRef((void**) (&(*(*p).module).ndi.syms), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*(*p).module).ndi.syms), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
				T32_ = (*(*p).module).ndi.syms->Sup.len++;
				asgnRef((void**) (&(*(*p).module).ndi.syms->data[T32_]), s);
			}
			LA30_: ;
		}
		LA26_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3721)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_87), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, localVarDecl_cgen_11054)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	s = (*n)._kind_4.sym;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!((*s).loc.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = mangleLocalName_cgen_718(p, s);
		fillLoc_cgen_65((&(*s).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 2), n, T5_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
		{
			if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9))) goto LA8_;
			(*s).loc.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 2)) & 15);
		}
		LA8_: ;
	}
	LA3_: ;
	{
		NIM_BOOL T12_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		T12_ = (NIM_BOOL)0;
		T12_ = ((2622208 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
		if (!(T12_)) goto LA13_;
		T12_ = (((NI) 0) < (*s)._kind_2.alignment);
		LA13_: ;
		if (!T12_) goto LA14_;
		nimZeroMem((void*)T16_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T16_[0] = rope_ropes_115(((NI64) ((*s)._kind_2.alignment)));
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = percent__cgen_3721(T16_, 1);
		add_ropes_159(&result, T17_);
	}
	LA14_: ;
	T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T18_ = getTypeDesc_cgen_6635((*p).module, (*s).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
	add_ropes_159(&result, T18_);
	{
		if (!((*s).constraint == 0)) goto LA21_;
		{
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA25_;
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_88));
		}
		LA25_: ;
		{
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0)) goto LA29_;
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_89));
		}
		LA29_: ;
		{
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 46))&63U)))!=0)) goto LA33_;
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_90));
		}
		LA33_: ;
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
		add_ropes_159(&result, (*s).loc.r);
	}
	goto LA19_;
	LA21_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T36_;
		nimZeroMem((void*)T36_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T36_[0] = result;
		T36_[1] = (*s).loc.r;
		result = runtimeFormat_ropes_271((*(*s).constraint)._kind_3.strVal, T36_, 2);
	}
	LA19_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initLoc_cgen_60)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result, tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode, tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw s) {
	(*result).k = k;
	(*result).storage = s;
	unsureAsgnRef((void**) (&(*result).lode), lode);
	unsureAsgnRef((void**) (&(*result).r), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
	(*result).flags = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, initLocExprSingleUse_cgen_11482)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result) {
	initLoc_cgen_60(result, ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0), e, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((*(*e)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
		if (T5_) goto LA6_;
		T5_ = ((*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
		LA6_: ;
		T3_ = T5_;
		LA4_: ;
		if (!T3_) goto LA7_;
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = ((*(*e)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
			if (!(T11_)) goto LA12_;
			T11_ = (((*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA12_: ;
			if (!T11_) goto LA13_;
			(*result).flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 8)) & 15);
		}
		LA13_: ;
	}
	goto LA1_;
	LA7_: ;
	{
		(*result).flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 8)) & 15);
	}
	LA1_: ;
	expr_cgen_11455(p, e, result);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_424)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_92), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdLoc_cgen_417)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = a.r;
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
		if (!((a.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0))&15U)))!=0)) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = result;
		result = percent__cgen_424(T5_, 1);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, assignLocalVar_cgen_11094)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* nl;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* decl;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T8_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	{
		if (!(((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0)) goto LA3_;
		nl = ((NimStringDesc*) NIM_NIL);
	}
	goto LA1_;
	LA3_: ;
	{
		nl = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA1_: ;
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = localVarDecl_cgen_11054(p, n);
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = amp__ropes_140(T6_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
	decl = amp__ropes_140(T7_, nl);
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T8_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = indentLine_cgen_272(p, decl);
	add_ropes_159(T8_, T9_);
}
static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, t_cgen_79)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
	result = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	{
		if (!((*a.lode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
		result = (*(*a.lode)._kind_4.sym).typ;
	}
	goto LA1_;
	LA3_: ;
	{
		result = (*a.lode).typ;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isComplexValueType_cgen_10547)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	NIM_BOOL result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	t_2 = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_97);
	T1_ = (NIM_BOOL)0;
	T1_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27));
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
	if (!(T3_)) goto LA4_;
	T3_ = ((*t_2).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
	LA4_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, addrLoc_cgen_10307)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = a.r;
	{
		NIM_BOOL T3_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
		tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T6_;
		tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((a.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0))&15U)))!=0));
		if (!(T3_)) goto LA4_;
		T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T5_ = t_cgen_79(a);
		T6_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
		{
			if (!((*a.lode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA9_;
			T6_ = (*(*a.lode)._kind_4.sym).kind;
		}
		goto LA7_;
		LA9_: ;
		{
			T6_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
		}
		LA7_: ;
		T12_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
		T12_ = mapType_cgen_1201(conf, T5_, T6_);
		T3_ = !((T12_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17)));
		LA4_: ;
		if (!T3_) goto LA13_;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_102), result);
		result = amp__ropes_140(T15_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	}
	LA13_: ;
	return result;
}
static N_INLINE(NI, rawGet_cgen_8095)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash_modulegraphs_8963(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled_pureZcollectionsZtables_31(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqeq__modulegraphs_8959(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZtables_34(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getOrDefault_cgen_8086)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__xfZjiVhSEwIz5DDkzuPwog* Result) {
	NI hcX60gensym767_;
	NI indexX60gensym767_;
	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
	(*Result).Field1 = 0;
	hcX60gensym767_ = (NI)0;
	indexX60gensym767_ = rawGet_cgen_8095(t, key, (&hcX60gensym767_));
	{
		if (!(((NI) 0) <= indexX60gensym767_)) goto LA3_;
		unsureAsgnRef((void**) (&(*Result).Field0), t.data->data[indexX60gensym767_].Field2.Field0);
		(*Result).Field1 = t.data->data[indexX60gensym767_].Field2.Field1;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7794)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_110), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7799)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_111), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCFile_cgen_123)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	NimStringDesc* result;
	NimStringDesc* ext;
	NimStringDesc* T13_;
	NimStringDesc* T14_;
	result = (NimStringDesc*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T3_) goto LA4_;
		T3_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		ext = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_112));
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 4));
		if (T8_) goto LA9_;
		T8_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 33))&63U)))!=0);
		LA9_: ;
		if (!T8_) goto LA10_;
		ext = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_113));
	}
	goto LA1_;
	LA10_: ;
	{
		ext = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_114));
	}
	LA1_: ;
	T13_ = (NimStringDesc*)0;
	T13_ = withPackageName_options_4171((*(*m).g).config, (*m).cfilename);
	T14_ = (NimStringDesc*)0;
	T14_ = completeCfilePath_extccomp_713((*(*m).g).config, T13_, NIM_TRUE);
	result = noschangeFileExt(T14_, ext);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getModuleDllPath_cgen_125)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* T1_;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T2_;
	NimStringDesc* dir;
	NimStringDesc* name;
	NimStringDesc* ext;
	NimStringDesc* filename;
	tyArray__nHXaesL0DJZHyVS07ARPRA T3_;
	NimStringDesc* T4_;
	NimStringDesc* T5_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (NimStringDesc*)0;
	T1_ = getCFile_cgen_123(m);
	nimZeroMem((void*)(&T2_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	splitFile_pathutils_26(T1_, (&T2_));
	dir = (NimStringDesc*)0;
	dir = T2_.Field0;
	name = (NimStringDesc*)0;
	name = T2_.Field1;
	ext = (NimStringDesc*)0;
	ext = T2_.Field2;
	nimZeroMem((void*)T3_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
	T4_ = (NimStringDesc*)0;
	T4_ = rawNewString((name ? name->Sup.len : 0) + (ext ? ext->Sup.len : 0) + 0);
appendString(T4_, name);
appendString(T4_, ext);
	T3_[0] = T4_;
	filename = nsuFormatOpenArray(OS_platform_504[((*(*(*m).g).config).target.targetOS)- 1].Field2, T3_, 1);
	T5_ = (NimStringDesc*)0;
	T5_ = rawNewString((dir ? dir->Sup.len : 0) + (filename ? filename->Sup.len : 0) + 1);
appendString(T5_, dir);
appendString(T5_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_115));
appendString(T5_, filename);
	result = makeCString_msgs_50(T5_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getModuleDllPath_cgen_132)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NI module) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = getModuleDllPath_cgen_125((*(*m).g).modules->data[module]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7804)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_116), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, declareNimType_cgen_7788)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* name, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* str, NI module) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* nr;
	nr = rope_ropes_109(name);
	{
		NIM_BOOL T3_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42(m);
		if (!T3_) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T6_[0] = str;
		T6_[1] = nr;
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_7794(T6_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T7_);
		nimZeroMem((void*)T8_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T8_[0] = str;
		T8_[1] = getModuleDllPath_cgen_132(m, module);
		T8_[2] = nr;
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__cgen_7799(T8_, 3);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 14))- 0], T9_);
	}
	goto LA1_;
	LA4_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		nimZeroMem((void*)T11_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T11_[0] = str;
		T11_[1] = nr;
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = percent__cgen_7804(T11_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T12_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_8466)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_117), args, argsLen_0);
	return result;
}
static N_INLINE(NIM_BOOL, moduleOpenForCodegen_modulegraphs_9377)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI32 m) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		if (!((*(*g).config).symbolFiles == ((tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ) 0))) goto LA3_;
		result = NIM_TRUE;
	}
	goto LA1_;
	LA3_: ;
	{
		result = !(((41 &((NU8)1<<((NU)((*g).packed_0->data[m].status)&7U)))!=0));
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash_cgen_8759)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_cgen_9276)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ* t, tySequence__YT27F6szr8EQuTI39aUMYuA** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__xfZjiVhSEwIz5DDkzuPwog val, NI hc, NI h) {
	nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	asgnRef((void**) (&(*data)->data[h].Field2.Field0), val.Field0);
	(*data)->data[h].Field2.Field1 = val.Field1;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge_cgen_8945)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ* t) {
	tySequence__YT27F6szr8EQuTI39aUMYuA* n;
	NI T1_;
	tySequence__YT27F6szr8EQuTI39aUMYuA* T2_;
	n = (tySequence__YT27F6szr8EQuTI39aUMYuA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__YT27F6szr8EQuTI39aUMYuA*) newSeq((&NTIkeyvaluepairseq__YT27F6szr8EQuTI39aUMYuA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__YT27F6szr8EQuTI39aUMYuA*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T17_;
					tyTuple__xfZjiVhSEwIz5DDkzuPwog T18_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_pureZcollectionsZtables_31(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled_pureZcollectionsZtables_31((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry_pureZcollectionsZtables_34(j, T16_);
						} LA14: ;
					}
					nimCopyMem((void*)T17_, (NIM_CONST void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)(&T18_), sizeof(tyTuple__xfZjiVhSEwIz5DDkzuPwog));
					T18_.Field0 = n->data[i].Field2.Field0;
					T18_.Field1 = n->data[i].Field2.Field1;
					unsureAsgnRef((void**)&n->data[i].Field2.Field0, NIM_NIL);
					n->data[i].Field2.Field1 = 0;
					rawInsert_cgen_9276(t, (&(*t).data), T17_, T18_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC_cgen_9457)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled_pureZcollectionsZtables_31(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq__modulegraphs_8959(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZtables_34(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__cgen_8560)(tyObject_Table__8LfpO9aQ1o1cXrzKxTeuSYQ* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__xfZjiVhSEwIz5DDkzuPwog val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym774_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym774_ = slotsNeeded_pureZcollectionsZtables_42(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__YT27F6szr8EQuTI39aUMYuA*) newSeq((&NTIkeyvaluepairseq__YT27F6szr8EQuTI39aUMYuA_), ((NI) (correctSizeX60gensym774_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet_cgen_8095((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2.Field0), val.Field0);
		(*t).data->data[index].Field2.Field1 = val.Field1;
	}
	goto LA6_;
	LA8_: ;
	{
		{
			NI T13_;
			NI correctSizeX60gensym777_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym777_ = slotsNeeded_pureZcollectionsZtables_42(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__YT27F6szr8EQuTI39aUMYuA*) newSeq((&NTIkeyvaluepairseq__YT27F6szr8EQuTI39aUMYuA_), ((NI) (correctSizeX60gensym777_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash_cgen_8759((*t));
			if (!T18_) goto LA19_;
			enlarge_cgen_8945(t);
			index = rawGetKnownHC_cgen_9457((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert_cgen_9276(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfo2Name_cgen_7809)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* res;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* it;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	res = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_121));
	it = t;
	{
		while (1) {
			if (!!((it == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2;
			it = skipTypes_ast_3734(it, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			{
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m_2;
				if (!!(((*it).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA5_;
				m_2 = (*(*it).sym).owner;
				{
					while (1) {
						NIM_BOOL T9_;
						T9_ = (NIM_BOOL)0;
						T9_ = !((m_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
						if (!(T9_)) goto LA10_;
						T9_ = !(((*m_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
						LA10_: ;
						if (!T9_) goto LA8;
						m_2 = (*m_2).owner;
					} LA8: ;
				}
				{
					NIM_BOOL T13_;
					T13_ = (NIM_BOOL)0;
					T13_ = (m_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
					if (T13_) goto LA14_;
					T13_ = (((*m_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
					LA14_: ;
					if (!T13_) goto LA15_;
					res = resizeString(res, ((*(*(*it).sym).name).s ? (*(*(*it).sym).name).s->Sup.len : 0) + 0);
appendString(res, (*(*(*it).sym).name).s);
				}
				goto LA11_;
				LA15_: ;
				{
					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* p;
					NimStringDesc* T25_;
					p = (*m_2).owner;
					{
						NIM_BOOL T20_;
						NimStringDesc* T24_;
						T20_ = (NIM_BOOL)0;
						T20_ = !((p == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
						if (!(T20_)) goto LA21_;
						T20_ = ((*p).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24));
						LA21_: ;
						if (!T20_) goto LA22_;
						T24_ = (NimStringDesc*)0;
						T24_ = rawNewString(((*(*p).name).s ? (*(*p).name).s->Sup.len : 0) + 1);
appendString(T24_, (*(*p).name).s);
appendString(T24_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
						res = resizeString(res, (T24_ ? T24_->Sup.len : 0) + 0);
appendString(res, T24_);
					}
					LA22_: ;
					T25_ = (NimStringDesc*)0;
					T25_ = rawNewString(((*(*m_2).name).s ? (*(*m_2).name).s->Sup.len : 0) + 1);
appendString(T25_, (*(*m_2).name).s);
appendString(T25_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
					res = resizeString(res, (T25_ ? T25_->Sup.len : 0) + 0);
appendString(res, T25_);
					res = resizeString(res, ((*(*(*it).sym).name).s ? (*(*(*it).sym).name).s->Sup.len : 0) + 0);
appendString(res, (*(*(*it).sym).name).s);
				}
				LA11_: ;
			}
			goto LA3_;
			LA5_: ;
			{
				tyArray__qtqsWM5aXmcpMIVmvq3kAA T27_;
				NimStringDesc* T28_;
				nimZeroMem((void*)T27_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
				hashType_sighashes_462(it, 2, T27_);
				T28_ = (NimStringDesc*)0;
				T28_ = dollar__modulegraphs_8947(T27_);
				res = resizeString(res, (T28_ ? T28_->Sup.len : 0) + 0);
appendString(res, T28_);
			}
			LA3_: ;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_121));
			it = (*it).sons->data[((NI) 0)];
		} LA2: ;
	}
	result = makeCString_msgs_50(res);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7899)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_124), args, argsLen_0);
	return result;
}
static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody_modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = loadProcBody_icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
	}
	LA5_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isTrivialProc_cgen_7850)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	NIM_BOOL result;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
	NI T2_;
	result = (NIM_BOOL)0;
	T1_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T1_ = getBody_modulegraphs_11241(g, s);
	T2_ = (NI)0;
	T2_ = len_ast_3197(T1_);
	result = (T2_ == ((NI) 0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genHook_cgen_7857)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* theProc;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	theProc = getAttachedOp_modulegraphs_4011((*(*m).g).graph, t, op);
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((theProc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = isTrivialProc_cgen_7850((*(*m).g).graph, theProc);
		T3_ = !(T5_);
		LA4_: ;
		if (!T3_) goto LA6_;
		{
			NIM_BOOL T10_;
			NimStringDesc* T14_;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*theProc).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
			if (T10_) goto LA11_;
			T10_ = !(((*(*theProc).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 0)));
			LA11_: ;
			if (!T10_) goto LA12_;
			T14_ = (NimStringDesc*)0;
			T14_ = rawNewString(((*(*theProc).name).s ? (*(*theProc).name).s->Sup.len : 0) + 47);
appendString(T14_, (*(*theProc).name).s);
appendString(T14_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_125));
			liMessage_msgs_1118((*(*m).g).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_126, NIM_FALSE);
		}
		LA12_: ;
		genProc_cgen_403(m, theProc);
		result = (*theProc).loc.r;
	}
	goto LA1_;
	LA6_: ;
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_123));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7907)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_127), args, argsLen_0);
	return result;
}
static N_INLINE(NI, len_ast_4001)(tyObject_TType__facALICuu8zUj0hjvbTLFg* 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__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_9965)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_131), args, argsLen_0);
	return result;
}
static N_INLINE(void, addInt_stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
	addInt_stdZprivateZdigitsutils_167(result, ((NI64) (x)));
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToC_cgen_9742)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	NimStringDesc* result;
	NimStringDesc* s;
	result = (NimStringDesc*)0;
	s = typeToString_types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
	result = rawNewString(((NI) ((s ? s->Sup.len : 0))));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (s ? s->Sup.len : 0);
		i_2 = ((NI) 0);
		{
			while (1) {
				NIM_CHAR c;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				c = s->data[i];
				switch (((NU8)(c))) {
				case 97 ... 122:
				{
					result = addChar(result, c);
				}
				break;
				case 65 ... 90:
				{
					NIM_CHAR T6_;
					T6_ = (NIM_CHAR)0;
					T6_ = nsuToLowerAsciiChar(c);
					result = addChar(result, T6_);
				}
				break;
				case 32:
				{
				}
				break;
				case 44:
				{
					result = addChar(result, 95);
				}
				break;
				case 46:
				{
					result = addChar(result, 79);
				}
				break;
				case 91:
				case 40:
				case 123:
				{
					result = addChar(result, 76);
				}
				break;
				case 93:
				case 41:
				case 125:
				{
					result = addChar(result, 84);
				}
				break;
				default:
				{
					addInt_stdZprivateZdigitsutils_189((&result), ((NU8)(c)));
				}
				break;
				}
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
static N_INLINE(NI, rawGet_lineinfos_448)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash_pureZhashes_279(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled_pureZcollectionsZtables_31(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZtables_34(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI32, getOrDefault_cgen_10082)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key) {
	NI32 result;
	NI hcX60gensym787_;
	NI indexX60gensym787_;
	result = (NI32)0;
	hcX60gensym787_ = (NI)0;
	indexX60gensym787_ = rawGet_lineinfos_448(t, key, (&hcX60gensym787_));
	{
		if (!(((NI) 0) <= indexX60gensym787_)) goto LA3_;
		result = t.data->data[indexX60gensym787_].Field2;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, tiNameForHcr_cgen_6788)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
{	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42(m);
		if (!T3_) goto LA4_;
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_83));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = amp__ropes_128(T6_, name);
		result = amp__ropes_140(T7_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	}
	goto LA1_;
	LA4_: ;
	{
		result = name;
	}
	LA1_: ;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6812)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_134), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6818)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_135), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6832)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_139), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6837)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_141), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6842)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_142), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6847)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_143), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getModuleDllPath_cgen_136)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = getModuleDllPath_cgen_125((*(*m).g).modules->data[(*s).Sup.itemId.module]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6852)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_144), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTypeInfoAuxBase_cgen_6792)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* base, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NI nimtypeKind;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* nameHcr;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* size;
	tyArray__f7nG5LD47BH5K9c6mASit3g T12_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
	NI flags;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
	nimtypeKind = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isObjLackingTypeField_cgen_1311(typ);
		if (!T3_) goto LA4_;
		nimtypeKind = ((NI) 18);
	}
	goto LA1_;
	LA4_: ;
	{
		nimtypeKind = (*typ).kind;
	}
	LA1_: ;
	nameHcr = tiNameForHcr_cgen_6788(m, name);
	size = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 40))&63U)))!=0)) goto LA9_;
		size = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_133));
	}
	goto LA7_;
	LA9_: ;
	{
		size = getTypeDesc_cgen_6635(m, origType, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
	}
	LA7_: ;
	nimZeroMem((void*)T12_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
	T12_[0] = nameHcr;
	T12_[1] = size;
	T12_[2] = rope_ropes_115(((NI64) (nimtypeKind)));
	T12_[3] = base;
	T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T13_ = percent__cgen_6812(T12_, 4);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T13_);
	flags = ((NI) 0);
	{
		NIM_BOOL T16_;
		T16_ = (NIM_BOOL)0;
		T16_ = containsGarbageCollectedRef_types_612(typ);
		if (!!(T16_)) goto LA17_;
		flags = (NI)(flags | ((NI) 1));
	}
	LA17_: ;
	{
		NIM_BOOL T21_;
		T21_ = (NIM_BOOL)0;
		T21_ = canFormAcycle_types_762(typ);
		if (!!(T21_)) goto LA22_;
		flags = (NI)(flags | ((NI) 2));
	}
	LA22_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T28_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
		if (!!((flags == ((NI) 0)))) goto LA26_;
		nimZeroMem((void*)T28_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T28_[0] = nameHcr;
		T28_[1] = rope_ropes_115(((NI64) (flags)));
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = percent__cgen_6818(T28_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T29_);
	}
	LA26_: ;
	T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T30_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129));
	(void)(T30_);
	{
		NIM_BOOL T33_;
		NimStringDesc* typename_1;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T36_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T52_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T55_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
		T33_ = (NIM_BOOL)0;
		T33_ = isDefined_options_2277((*(*m).g).config, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_136));
		if (!T33_) goto LA34_;
		T36_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		{
			if (!!(((*origType).typeInst == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA39_;
			T36_ = (*origType).typeInst;
		}
		goto LA37_;
		LA39_: ;
		{
			T36_ = origType;
		}
		LA37_: ;
		typename_1 = typeToString_types_50(T36_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
		{
			NIM_BOOL T44_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T46_;
			NimStringDesc* T49_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T50_;
			NimStringDesc* T51_;
			T44_ = (NIM_BOOL)0;
			T44_ = eqStrings(typename_1, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_137));
			if (!(T44_)) goto LA45_;
			T46_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T46_ = skipTypes_ast_3734(origType, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			T44_ = !(((*T46_).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			LA45_: ;
			if (!T44_) goto LA47_;
			T49_ = (NimStringDesc*)0;
			T50_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T50_ = skipTypes_ast_3734(origType, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			T51_ = (NimStringDesc*)0;
			T51_ = dollar__msgs_624((*(*m).g).config, (*(*T50_).sym).info);
			T49_ = rawNewString((T51_ ? T51_->Sup.len : 0) + 21);
appendString(T49_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_138));
appendString(T49_, T51_);
			typename_1 = T49_;
		}
		LA47_: ;
		nimZeroMem((void*)T52_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T52_[0] = nameHcr;
		T52_[1] = makeCString_msgs_50(typename_1);
		T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T53_ = percent__cgen_6832(T52_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T53_);
		T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_140));
		(void)(T54_);
		nimZeroMem((void*)T55_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T55_[0] = nameHcr;
		T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T56_ = percent__cgen_6837(T55_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T56_);
	}
	LA34_: ;
	{
		NIM_BOOL T59_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T62_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T64_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
		T59_ = (NIM_BOOL)0;
		T59_ = hcrOn_cgen_42(m);
		if (!T59_) goto LA60_;
		nimZeroMem((void*)T62_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T62_[0] = name;
		T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T63_ = percent__cgen_6842(T62_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T63_);
		nimZeroMem((void*)T64_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T64_[0] = name;
		T64_[1] = getModuleDllPath_cgen_136(m, (*m).module);
		T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T65_ = percent__cgen_6847(T64_, 2);
		add_ropes_159(&(*m).hcrCreateTypeInfosProc, T65_);
	}
	goto LA57_;
	LA60_: ;
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T67_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
		nimZeroMem((void*)T67_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T67_[0] = name;
		T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T68_ = percent__cgen_6852(T67_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T68_);
	}
	LA57_: ;
}
static N_INLINE(NimStringDesc*, toFileLineCol_msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	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__MQdRN7fpbG7rPm4JpVVAhA_68));
		addInt_stdZprivateZdigitsutils_189((&result), info.Field1);
		{
			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
			result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			addInt_stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
		}
		LA7_: ;
		result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	}
	LA3_: ;
	return result;
}
static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId_ast_3150)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
	(*x).typeId_0 += ((NI) 1);
	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
	result.module = (*x).module;
	result.item = (*x).typeId_0;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, fakeClosureType_cgen_7330)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T4_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
	result = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = nextTypeId_ast_3150((*m).Sup.idgen);
	result = newType_ast_3895(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), T1_, owner);
	T2_ = nextTypeId_ast_3150((*m).Sup.idgen);
	T3_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T3_ = newType_ast_3895(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26), T2_, owner);
	rawAddSon_ast_4287(result, T3_, NIM_TRUE);
	T4_ = nextTypeId_ast_3150((*m).Sup.idgen);
	r = newType_ast_3895(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), T4_, owner);
	obj = createObj_lowerings_288((*(*m).g).graph, (*m).Sup.idgen, owner, (*owner).info, NIM_FALSE);
	rawAddSon_ast_4287(r, obj, NIM_TRUE);
	rawAddSon_ast_4287(result, r, NIM_TRUE);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6779)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_149), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getNimNode_cgen_6776)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T1_[0] = (*m).typeNodesName;
	T1_[1] = rope_ropes_115(((NI64) ((*m).typeNodes)));
	result = percent__cgen_6779(T1_, 2);
	(*m).typeNodes += ((NI) 1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6940)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_150), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6945)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_151), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6950)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_152), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTNimNodeArray_cgen_6936)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* size) {
	{
		NIM_BOOL T3_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42(m);
		if (!T3_) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T6_[0] = name;
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_6940(T6_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T7_);
		nimZeroMem((void*)T8_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T8_[0] = name;
		T8_[1] = size;
		T8_[2] = getModuleDllPath_cgen_136(m, (*m).module);
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__cgen_6945(T8_, 3);
		add_ropes_159(&(*m).hcrCreateTypeInfosProc, T9_);
	}
	goto LA1_;
	LA4_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		nimZeroMem((void*)T11_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T11_[0] = name;
		T11_[1] = size;
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = percent__cgen_6950(T11_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 14))- 0], T12_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6985)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_153), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7186)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_154), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6994)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_155), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7002)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_156), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7138)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_157), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTupleInfo_cgen_7154)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* expr;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T27_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_148));
	genTypeInfoAuxBase_cgen_6792(m, typ, typ, name, T1_, info);
	expr = getNimNode_cgen_6776(m);
	{
		NI T4_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		NI T9_;
		NimStringDesc* T10_;
		NI T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T20_;
		NI T21_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		T4_ = (NI)0;
		T4_ = len_ast_4001(typ);
		if (!(((NI) 0) < T4_)) goto LA5_;
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = getTempName_cgen_410(m);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = amp__ropes_140(T7_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
		T9_ = (NI)0;
		T9_ = len_ast_4001(typ);
		T10_ = (NimStringDesc*)0;
		T10_ = dollar__systemZdollars_3(T9_);
		tmp = amp__ropes_140(T8_, T10_);
		T11_ = (NI)0;
		T11_ = len_ast_4001(typ);
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = rope_ropes_115(((NI64) (T11_)));
		genTNimNodeArray_cgen_6936(m, tmp, T12_);
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_4001(typ);
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2;
					tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T16_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
					tyArray__f7nG5LD47BH5K9c6mASit3g T18_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
					if (!(i_2 < colontmp_)) goto LA15;
					i = i_2;
					a = (*typ).sons->data[i];
					tmp2 = getNimNode_cgen_6776(m);
					nimZeroMem((void*)T16_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
					T16_[0] = tmp;
					T16_[1] = rope_ropes_115(((NI64) (i)));
					T16_[2] = tmp2;
					T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T17_ = percent__cgen_6985(T16_, 3);
					add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T17_);
					nimZeroMem((void*)T18_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
					T18_[0] = tmp2;
					T18_[1] = getTypeDesc_cgen_6635(m, origType, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
					T18_[2] = rope_ropes_115(((NI64) (i)));
					T18_[3] = genTypeInfoV1_cgen_6772(m, a, info);
					T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T19_ = percent__cgen_7186(T18_, 4);
					add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T19_);
					i_2 += ((NI) 1);
				} LA15: ;
			}
		}
		nimZeroMem((void*)T20_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T20_[0] = expr;
		T21_ = (NI)0;
		T21_ = len_ast_4001(typ);
		T20_[1] = rope_ropes_115(((NI64) (T21_)));
		T20_[2] = tmp;
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = percent__cgen_6994(T20_, 3);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T22_);
	}
	goto LA2_;
	LA5_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T24_;
		NI T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		nimZeroMem((void*)T24_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T24_[0] = expr;
		T25_ = (NI)0;
		T25_ = len_ast_4001(typ);
		T24_[1] = rope_ropes_115(((NI64) (T25_)));
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = percent__cgen_7002(T24_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T26_);
	}
	LA2_: ;
	nimZeroMem((void*)T27_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T27_[0] = tiNameForHcr_cgen_6788(m, name);
	T27_[1] = expr;
	T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T28_ = percent__cgen_7138(T27_, 2);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T28_);
}
N_LIB_PRIVATE N_NIMCALL(void, genTypeInfoAux_cgen_6857)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* base;
	base = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		NI T4_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
		T3_ = (NIM_BOOL)0;
		T4_ = (NI)0;
		T4_ = len_ast_4001(typ);
		T3_ = (((NI) 0) < T4_);
		if (!(T3_)) goto LA5_;
		T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T6_ = lastSon_ast_3742(typ);
		T3_ = !((T6_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
		LA5_: ;
		if (!T3_) goto LA7_;
		x = lastSon_ast_3742(typ);
		{
			if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA11_;
			x = skipTypes_ast_3734(x, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
		}
		LA11_: ;
		{
			NIM_BOOL T15_;
			NIM_BOOL T16_;
			NIM_BOOL T19_;
			T15_ = (NIM_BOOL)0;
			T16_ = (NIM_BOOL)0;
			T16_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
			if (!(T16_)) goto LA17_;
			T16_ = ((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
			LA17_: ;
			T15_ = T16_;
			if (!(T15_)) goto LA18_;
			T19_ = (NIM_BOOL)0;
			T19_ = !(((*x).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			if (!(T19_)) goto LA20_;
			T19_ = ((1040 & (*(*x).sym).flags) == 16);
			LA20_: ;
			T15_ = T19_;
			LA18_: ;
			if (!T15_) goto LA21_;
			base = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_148));
		}
		goto LA13_;
		LA21_: ;
		{
			base = genTypeInfoV1_cgen_6772(m, x, info);
		}
		LA13_: ;
	}
	goto LA1_;
	LA7_: ;
	{
		base = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_148));
	}
	LA1_: ;
	genTypeInfoAuxBase_cgen_6792(m, typ, origType, name, base, info);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7681)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_160), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7688)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_161), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7693)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_162), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lodeTyp_cgen_86)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode_ast_3331(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
	asgnRef((void**) (&(*result).typ), t);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getTemp_cgen_7347)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result, NIM_BOOL needsInit) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T3_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
	(*p).labels += ((NI) 1);
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rope_ropes_115(((NI64) ((*p).labels)));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_164), T1_);
	unsureAsgnRef((void**) (&(*result).r), amp__ropes_140(T2_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3)));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T3_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
	res = rawNewString(((NI) 80));
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
	cgFormatValue_cgen_141((&res), T4_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
	cgFormatValue_cgen_141((&res), (*result).r);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA7_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA7_: ;
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = rope_ropes_109(res);
	T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T10_ = indentLine_cgen_272(p, T9_);
	add_ropes_159(T3_, T10_);
	(*result).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1);
	unsureAsgnRef((void**) (&(*result).lode), lodeTyp_cgen_86(t));
	(*result).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2);
	(*result).flags = 0;
	constructLoc_cgen_10918(p, result, !(needsInit));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7655)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_165), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_448)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_167), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, lenField_cgen_429)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (NimStringDesc*)0;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T4_) goto LA5_;
		T4_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA5_: ;
		if (!T4_) goto LA6_;
		T1_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_168));
	}
	goto LA2_;
	LA6_: ;
	{
		T1_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_169));
	}
	LA2_: ;
	result = rope_ropes_109(T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, lenExpr_cgen_440)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = rdLoc_cgen_417(a);
		result = amp__ropes_140(T5_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_166));
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T7_[0] = rdLoc_cgen_417(a);
		T7_[1] = lenField_cgen_429(p);
		result = percent__cgen_448(T7_, 2);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, cgFormatValue_cgen_151)(NimStringDesc** result, tyObject_Int128__9a9axPfb75jdWY25AamJewkA value) {
	addInt128_int495056_643(result, value);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7460)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_177), args, argsLen_0);
	return result;
}
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, parentObj_cgen_7448)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T3_) goto LA4_;
		T3_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA4_: ;
		if (!!(T3_)) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T7_[0] = accessor;
		result = percent__cgen_7460(T7_, 1);
	}
	goto LA1_;
	LA5_: ;
	{
		result = accessor;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mangleField_cgen_616)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = mangle_ccgutils_112((*name).s);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isKeyword_cgen_610(name);
		if (!T3_) goto LA4_;
		result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_37));
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleRecFieldName_cgen_3610)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!!(((192 & (*field).flags) == 0))) goto LA3_;
		result = (*field).loc.r;
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T6_;
		T6_ = (NimStringDesc*)0;
		T6_ = mangleField_cgen_616(m, (*field).name);
		result = rope_ropes_109(T6_);
	}
	LA1_: ;
	{
		if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA9_;
		internalErrorImpl_msgs_1431((*(*m).g).config, (*field).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_183), TM__MQdRN7fpbG7rPm4JpVVAhA_184);
	}
	LA9_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3683)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_187), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3688)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_188), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3701)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_189), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3710)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_192), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3730)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_90), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3741)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_193), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3750)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_194), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3755)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_195), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genRecordFieldsAux_cgen_3626)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* rectype, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NimStringDesc* unionPrefix) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
{	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T5_ = genRecordFieldsAux_cgen_3626(m, (*n)._kind_6.sons->data[i], rectype, check, unionPrefix);
					add_ropes_159(&result, T5_);
					i_2 += ((NI) 1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* unionBody;
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA9_;
			internalErrorImpl_msgs_1431((*(*m).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_181), TM__MQdRN7fpbG7rPm4JpVVAhA_182);
		}
		LA9_: ;
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = genRecordFieldsAux_cgen_3626(m, (*n)._kind_6.sons->data[((NI) 0)], rectype, check, unionPrefix);
		add_ropes_159(&result, T11_);
		unionBody = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len_ast_3197(n);
			i_4 = ((NI) 1);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA14;
					i_3 = i_4;
					switch ((*(*n)._kind_6.sons->data[i_3]).kind) {
					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* k;
						k = lastSon_ast_4831((*n)._kind_6.sons->data[i_3]);
						{
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* structName;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
							NimStringDesc* T23_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a;
							NimStringDesc* T24_;
							NimStringDesc* T25_;
							if (!!(((*k).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA18_;
							T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T20_ = mangleRecFieldName_cgen_3610(m, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
							T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T21_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3), T20_);
							T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T22_ = amp__ropes_140(T21_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
							T23_ = (NimStringDesc*)0;
							T23_ = dollar__systemZdollars_3(i_3);
							structName = amp__ropes_140(T22_, T23_);
							T24_ = (NimStringDesc*)0;
							T25_ = (NimStringDesc*)0;
							T25_ = dollar__ropes_250(structName);
							T24_ = rawNewString((unionPrefix ? unionPrefix->Sup.len : 0) + (T25_ ? T25_->Sup.len : 0) + 1);
appendString(T24_, unionPrefix);
appendString(T24_, T25_);
appendString(T24_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
							a = genRecordFieldsAux_cgen_3626(m, k, rectype, check, T24_);
							{
								tyArray__JiWwrsTRC6xqNlGcBthSVA T42_;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
								if (!!((a == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA28_;
								{
									if (!!((((*rectype).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0))) goto LA32_;
									add_ropes_162(&unionBody, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_185));
								}
								goto LA30_;
								LA32_: ;
								{
									{
										if (!((CC_extccomp_508[((*(*(*m).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 7))&7U)))!=0)) goto LA37_;
										add_ropes_162(&unionBody, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_186));
									}
									goto LA35_;
									LA37_: ;
									{
										tyArray__qTjAvTvKF9anytN1At69aJMQ T40_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
										nimZeroMem((void*)T40_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
										T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T41_ = percent__cgen_3683(T40_, 0);
										add_ropes_159(&unionBody, T41_);
									}
									LA35_: ;
								}
								LA30_: ;
								add_ropes_159(&unionBody, a);
								nimZeroMem((void*)T42_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
								T42_[0] = structName;
								T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T43_ = percent__cgen_3688(T42_, 1);
								add_ropes_159(&unionBody, T43_);
								{
									NIM_BOOL T46_;
									tyArray__qTjAvTvKF9anytN1At69aJMQ T50_;
									tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
									T46_ = (NIM_BOOL)0;
									T46_ = (((*rectype).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0);
									if (!(T46_)) goto LA47_;
									T46_ = !(((CC_extccomp_508[((*(*(*m).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 7))&7U)))!=0));
									LA47_: ;
									if (!T46_) goto LA48_;
									nimZeroMem((void*)T50_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
									T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
									T51_ = percent__cgen_3701(T50_, 0);
									add_ropes_159(&unionBody, T51_);
								}
								LA48_: ;
							}
							LA28_: ;
						}
						goto LA16_;
						LA18_: ;
						{
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
							T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T53_ = genRecordFieldsAux_cgen_3626(m, k, rectype, check, unionPrefix);
							add_ropes_159(&unionBody, T53_);
						}
						LA16_: ;
					}
					break;
					default:
					{
						internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_190), TM__MQdRN7fpbG7rPm4JpVVAhA_191);
					}
					break;
					}
					i_4 += ((NI) 1);
				} LA14: ;
			}
		}
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T59_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
			if (!!((unionBody == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA57_;
			nimZeroMem((void*)T59_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T59_[0] = unionBody;
			T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T60_ = percent__cgen_3710(T59_, 1);
			add_ropes_159(&result, T60_);
		}
		LA57_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* sname;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
		field = (*n)._kind_4.sym;
		{
			if (!((*(*field).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA64_;
			goto BeforeRet_;
		}
		LA64_: ;
		sname = mangleRecFieldName_cgen_3610(m, field);
		T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T66_ = amp__ropes_144(unionPrefix, sname);
		fillLoc_cgen_65((&(*field).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 5), n, T66_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T71_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
			if (!(((NI) 0) < (*field)._kind_2.alignment)) goto LA69_;
			nimZeroMem((void*)T71_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T71_[0] = rope_ropes_115(((NI64) ((*field)._kind_2.alignment)));
			T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T72_ = percent__cgen_3721(T71_, 1);
			add_ropes_159(&result, T72_);
		}
		LA69_: ;
		{
			NIM_BOOL T75_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* noAlias;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* fieldType;
			T75_ = (NIM_BOOL)0;
			T75_ = isImportedCppType_cgen_1286(rectype);
			if (!!(T75_)) goto LA76_;
			{
				tyArray__qTjAvTvKF9anytN1At69aJMQ T82_;
				if (!(((*field).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 46))&63U)))!=0)) goto LA80_;
				nimZeroMem((void*)T82_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				noAlias = percent__cgen_3730(T82_, 0);
			}
			goto LA78_;
			LA80_: ;
			{
				noAlias = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
			}
			LA78_: ;
			fieldType = skipTypes_ast_3734((*(*field).loc.lode).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
			{
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T88_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T89_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
				if (!((*fieldType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49))) goto LA86_;
				nimZeroMem((void*)T88_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T89_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T89_ = elemType_types_263(fieldType);
				T88_[0] = getTypeDescAux_cgen_1306(m, T89_, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
				T88_[1] = sname;
				T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T90_ = percent__cgen_3741(T88_, 2);
				add_ropes_159(&result, T90_);
			}
			goto LA84_;
			LA86_: ;
			{
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T94_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T95_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T96_;
				if (!((*fieldType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA92_;
				nimZeroMem((void*)T94_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T95_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T95_ = t_cgen_79((*field).loc);
				T94_[0] = getTypeDescWeak_cgen_3309(m, T95_, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
				T94_[1] = sname;
				T94_[2] = noAlias;
				T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T96_ = percent__cgen_3750(T94_, 3);
				add_ropes_159(&result, T96_);
			}
			goto LA84_;
			LA92_: ;
			{
				tyArray__f7nG5LD47BH5K9c6mASit3g T100_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T101_;
				NimStringDesc* T102_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T103_;
				if (!!(((*field)._kind_2.bitsize == ((NI) 0)))) goto LA98_;
				nimZeroMem((void*)T100_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
				T101_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T101_ = t_cgen_79((*field).loc);
				T100_[0] = getTypeDescAux_cgen_1306(m, T101_, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
				T100_[1] = sname;
				T102_ = (NimStringDesc*)0;
				T102_ = dollar__systemZdollars_3((*field)._kind_2.bitsize);
				T100_[2] = rope_ropes_109(T102_);
				T100_[3] = noAlias;
				T103_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T103_ = percent__cgen_3755(T100_, 4);
				add_ropes_159(&result, T103_);
			}
			goto LA84_;
			LA98_: ;
			{
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T105_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T106_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
				nimZeroMem((void*)T105_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T106_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T106_ = t_cgen_79((*field).loc);
				T105_[0] = getTypeDescAux_cgen_1306(m, T106_, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
				T105_[1] = sname;
				T105_[2] = noAlias;
				T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T107_ = percent__cgen_3750(T105_, 3);
				add_ropes_159(&result, T107_);
			}
			LA84_: ;
		}
		LA76_: ;
	}
	break;
	default:
	{
		internalErrorImpl_msgs_1431((*(*m).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_196), TM__MQdRN7fpbG7rPm4JpVVAhA_197);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getRecordFields_cgen_3764)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = genRecordFieldsAux_cgen_3626(m, (*typ).n, typ, check, ((NimStringDesc*) NIM_NIL));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fillObjectFields_cgen_3769)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
	initIntSet_pureZcollectionsZintsets_238((&check));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = getRecordFields_cgen_3764(m, typ, (&check));
	(void)(T1_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7386)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_200), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15293)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_201), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17583)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_203), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17555)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_204), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17560)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_205), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, intLiteral_cgen_11466)(NI64 i) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (IL64(-2147483648) < i);
		if (!(T3_)) goto LA4_;
		T3_ = (i <= IL64(2147483647));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = rope_ropes_115(i);
	}
	goto LA1_;
	LA5_: ;
	{
		tyArray__qTjAvTvKF9anytN1At69aJMQ T10_;
		if (!(i == IL64(-2147483648))) goto LA8_;
		nimZeroMem((void*)T10_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		result = percent__cgen_17583(T10_, 0);
	}
	goto LA1_;
	LA8_: ;
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T14_;
		if (!((IL64(-9223372036854775807) - IL64(1)) < i)) goto LA12_;
		nimZeroMem((void*)T14_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T14_[0] = rope_ropes_115(i);
		result = percent__cgen_17555(T14_, 1);
	}
	goto LA1_;
	LA12_: ;
	{
		tyArray__qTjAvTvKF9anytN1At69aJMQ T16_;
		nimZeroMem((void*)T16_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		result = percent__cgen_17560(T16_, 0);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17613)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_206), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17618)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_207), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, int64Literal_cgen_17548)(NI64 i) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
		if (!((IL64(-9223372036854775807) - IL64(1)) < i)) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = rope_ropes_115(i);
		result = percent__cgen_17555(T5_, 1);
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__qTjAvTvKF9anytN1At69aJMQ T7_;
		nimZeroMem((void*)T7_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		result = percent__cgen_17560(T7_, 0);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, uint64Literal_cgen_17565)(NU64 i) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (NimStringDesc*)0;
	T2_ = (NimStringDesc*)0;
	T2_ = dollar__systemZdollars_9(i);
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 3);
appendString(T1_, T2_);
appendString(T1_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_208));
	result = rope_ropes_109(T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17623)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_209), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17646)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_210), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17655)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_211), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genNilStringLiteral_cgen_587)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	res = rawNewString(((NI) 80));
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_213));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_214));
	cgFormatValue_cgen_141((&res), T1_);
	res = resizeString(res, 11);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_215));
	result = rope_ropes_109(res);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_494)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_218), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteralDataOnlyV1_cgen_490)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* s) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_217));
	(void)(T1_);
	result = getTempName_cgen_410(m);
	nimZeroMem((void*)T2_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
	T2_[0] = result;
	T2_[1] = makeCString_msgs_50(s);
	T2_[2] = rope_ropes_115(((NI64) ((s ? s->Sup.len : 0))));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = percent__cgen_494(T2_, 3);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T3_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, cgFormatValue_cgen_148)(NimStringDesc** result, NI64 value) {
	addInt_stdZprivateZdigitsutils_167(result, value);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteralV1_cgen_499)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!NIM_FALSE) goto LA3_;
		res = rawNewString(((NI) 80));
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_213));
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_214));
		cgFormatValue_cgen_141((&res), T5_);
		res = resizeString(res, 11);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_215));
		result = rope_ropes_109(res);
	}
	goto LA1_;
	LA3_: ;
	{
		NI id;
		id = nodeTableTestOrSet_treetab_198((&(*m).dataCache), n, ((NI) ((*m).labels)));
		{
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			if (!(id == ((NI) ((*m).labels)))) goto LA9_;
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_213));
			T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T11_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_214));
			cgFormatValue_cgen_141((&res_2), T11_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_216));
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = genStringLiteralDataOnlyV1_cgen_490(m, (*n)._kind_3.strVal);
			cgFormatValue_cgen_141((&res_2), T12_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			result = rope_ropes_109(res_2);
		}
		goto LA7_;
		LA9_: ;
		{
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_213));
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_214));
			cgFormatValue_cgen_141((&res_3), T14_);
			res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_216));
			cgFormatValue_cgen_141((&res_3), (*m).tmpBase);
			cgFormatValue_cgen_148((&res_3), ((NI64) (id)));
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			result = rope_ropes_109(res_3);
		}
		LA7_: ;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_539)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_219), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genStringLiteralDataOnlyV2_cgen_534)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* s, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result, NIM_BOOL isConst) {
	tyArray__f7nG5LD47BH5K9c6mASit3g T1_;
	NimStringDesc* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
	nimZeroMem((void*)T1_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
	T1_[0] = result;
	T1_[1] = rope_ropes_115(((NI64) ((s ? s->Sup.len : 0))));
	T1_[2] = makeCString_msgs_50(s);
	T2_ = (NimStringDesc*)0;
	{
		if (!isConst) goto LA5_;
		T2_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_220));
	}
	goto LA3_;
	LA5_: ;
	{
		T2_ = ((NimStringDesc*) NIM_NIL);
	}
	LA3_: ;
	T1_[3] = rope_ropes_109(T2_);
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T8_ = percent__cgen_539(T1_, 4);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T8_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_560)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_223), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteralV2_cgen_553)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI id;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	id = nodeTableTestOrSet_treetab_198((&(*m).dataCache), n, ((NI) ((*m).labels)));
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* pureLit;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyArray__f7nG5LD47BH5K9c6mASit3g T7_;
		NimStringDesc* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		if (!(id == ((NI) ((*m).labels)))) goto LA3_;
		pureLit = getTempName_cgen_410(m);
		genStringLiteralDataOnlyV2_cgen_534(m, (*n)._kind_3.strVal, pureLit, isConst);
		result = getTempName_cgen_410(m);
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_221));
		(void)(T5_);
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_222));
		(void)(T6_);
		nimZeroMem((void*)T7_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
		T7_[0] = result;
		T7_[1] = rope_ropes_115(((NI64) (((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0))));
		T7_[2] = pureLit;
		T8_ = (NimStringDesc*)0;
		{
			if (!isConst) goto LA11_;
			T8_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_220));
		}
		goto LA9_;
		LA11_: ;
		{
			T8_ = ((NimStringDesc*) NIM_NIL);
		}
		LA9_: ;
		T7_[3] = rope_ropes_109(T8_);
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = percent__cgen_560(T7_, 4);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T14_);
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__f7nG5LD47BH5K9c6mASit3g T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		NimStringDesc* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		result = getTempName_cgen_410(m);
		nimZeroMem((void*)T16_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
		T16_[0] = result;
		T16_[1] = rope_ropes_115(((NI64) (((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0))));
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = rope_ropes_115(((NI64) (id)));
		T16_[2] = amp__ropes_128((*m).tmpBase, T17_);
		T18_ = (NimStringDesc*)0;
		{
			if (!isConst) goto LA21_;
			T18_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_220));
		}
		goto LA19_;
		LA21_: ;
		{
			T18_ = ((NimStringDesc*) NIM_NIL);
		}
		LA19_: ;
		T16_[3] = rope_ropes_109(T18_);
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = percent__cgen_560(T16_, 4);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T24_);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteral_cgen_600)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (NI)0;
	T1_ = detectStrVersion_cgen_464(m);
	switch (T1_) {
	case ((NI) 0):
	case ((NI) 1):
	{
		result = genStringLiteralV1_cgen_499(m, n);
	}
	break;
	case ((NI) 2):
	{
		result = genStringLiteralV2_cgen_553(m, n, NIM_TRUE);
	}
	break;
	default:
	{
		liMessage_msgs_1118((*(*m).g).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_224), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_225, NIM_FALSE);
	}
	break;
	}
	return result;
}
static N_INLINE(NIM_BOOL, signbit_cgen_17683)(NF32 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(NimStringDesc*, toStrMaxPrecision_cgen_17677)(NF32 f) {
	NimStringDesc* result;
	tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA T1_;
	result = (NimStringDesc*)0;
	T1_ = (tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA)0;
	T1_ = classify_pureZmath_147(((NF) (f)));
	switch (T1_) {
	case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 4):
	{
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = signbit_cgen_17683(f);
			if (!T5_) goto LA6_;
			result = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_227));
		}
		goto LA3_;
		LA6_: ;
		{
			result = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_228));
		}
		LA3_: ;
	}
	break;
	case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 3):
	{
		result = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_229));
	}
	break;
	case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 2):
	{
		result = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_230));
	}
	break;
	case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 5):
	{
		result = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_231));
	}
	break;
	case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 6):
	{
		result = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_232));
	}
	break;
	default:
	{
		addFloatRoundtrip_system_6844((&result), f);
		result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_233));
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genLiteral_cgen_17603)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* ty) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
		k = (tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag)0;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
			if (!!((ty == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA4_;
			T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T6_ = skipTypes_ast_3734(ty, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
			k = (*T6_).kind;
		}
		goto LA2_;
		LA4_: ;
		{
			switch ((*n).kind) {
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
			{
				k = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2);
			}
			break;
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
			{
				k = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44);
			}
			break;
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
			{
				k = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35);
			}
			break;
			default:
			{
				k = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5);
			}
			break;
			}
		}
		LA2_: ;
		switch (k) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
		{
			result = intLiteral_cgen_11466((*n)._kind_1.intVal);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
		{
			{
				tyArray__qTjAvTvKF9anytN1At69aJMQ T18_;
				if (!!(((*n)._kind_1.intVal == IL64(0)))) goto LA16_;
				nimZeroMem((void*)T18_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				result = percent__cgen_17613(T18_, 0);
			}
			goto LA14_;
			LA16_: ;
			{
				tyArray__qTjAvTvKF9anytN1At69aJMQ T20_;
				nimZeroMem((void*)T20_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				result = percent__cgen_17618(T20_, 0);
			}
			LA14_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
		{
			result = int64Literal_cgen_17548((*n)._kind_1.intVal);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
		{
			result = uint64Literal_cgen_17565(((NU64) ((*n)._kind_1.intVal)));
		}
		break;
		default:
		{
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T24_;
			nimZeroMem((void*)T24_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T24_[0] = getTypeDesc_cgen_6635((*p).module, ty, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T24_[1] = intLiteral_cgen_11466((*n)._kind_1.intVal);
			result = percent__cgen_17623(T24_, 2);
		}
		break;
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k_2;
		{
			if (!(ty == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA28_;
			k_2 = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26);
		}
		goto LA26_;
		LA28_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
			T31_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T31_ = skipTypes_ast_3734(ty, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
			k_2 = (*T31_).kind;
		}
		LA26_: ;
		{
			NIM_BOOL T34_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T36_;
			NI id;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
			T34_ = (NIM_BOOL)0;
			T34_ = (k_2 == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
			if (!(T34_)) goto LA35_;
			T36_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T36_ = skipTypes_ast_3734(ty, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
			T34_ = ((*T36_).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
			LA35_: ;
			if (!T34_) goto LA37_;
			id = nodeTableTestOrSet_treetab_198((&(*(*p).module).dataCache), n, ((NI) ((*(*p).module).labels)));
			T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = rope_ropes_115(((NI64) (id)));
			result = amp__ropes_128((*(*p).module).tmpBase, T39_);
			{
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T44_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
				if (!(id == ((NI) ((*(*p).module).labels)))) goto LA42_;
				(*(*p).module).labels += ((NI) 1);
				nimZeroMem((void*)T44_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T44_[0] = getTypeDesc_cgen_6635((*p).module, ty, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				T44_[1] = result;
				T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T45_ = percent__cgen_17646(T44_, 2);
				add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T45_);
			}
			LA42_: ;
		}
		goto LA32_;
		LA37_: ;
		{
			if (!(k_2 == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || k_2 == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || k_2 == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA47_;
			result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_123));
		}
		goto LA32_;
		LA47_: ;
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T50_;
			nimZeroMem((void*)T50_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T50_[0] = getTypeDesc_cgen_6635((*p).module, ty, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			result = percent__cgen_17655(T50_, 1);
		}
		LA32_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k_3;
		{
			if (!(ty == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA54_;
			k_3 = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28);
		}
		goto LA52_;
		LA54_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T57_;
			T57_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T57_ = skipTypes_ast_3734(ty, TM__MQdRN7fpbG7rPm4JpVVAhA_212);
			k_3 = (*T57_).kind;
		}
		LA52_: ;
		switch (k_3) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
		{
			result = genNilStringLiteral_cgen_587((*p).module, (*n).info);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
		{
			{
				NIM_BOOL T62_;
				T62_ = (NIM_BOOL)0;
				T62_ = (((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0) == ((NI) 0));
				if (!(T62_)) goto LA63_;
				T62_ = !((((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0));
				LA63_: ;
				if (!T62_) goto LA64_;
				result = genNilStringLiteral_cgen_587((*p).module, (*n).info);
			}
			goto LA60_;
			LA64_: ;
			{
				result = genStringLiteral_cgen_600((*p).module, n);
			}
			LA60_: ;
		}
		break;
		default:
		{
			result = makeCString_msgs_50((*n)._kind_3.strVal);
		}
		break;
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		{
			NimStringDesc* T73_;
			if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA71_;
			T73_ = (NimStringDesc*)0;
			T73_ = toStrMaxPrecision_cgen_17677(((NF32) ((*n)._kind_2.floatVal)));
			result = rope_ropes_109(T73_);
		}
		goto LA69_;
		LA71_: ;
		{
			NimStringDesc* T75_;
			T75_ = (NimStringDesc*)0;
			T75_ = toStrMaxPrecision_astalgo_920((*n)._kind_2.floatVal);
			result = rope_ropes_109(T75_);
		}
		LA69_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		NimStringDesc* T77_;
		T77_ = (NimStringDesc*)0;
		T77_ = toStrMaxPrecision_cgen_17677(((NF32) ((*n)._kind_2.floatVal)));
		result = rope_ropes_109(T77_);
	}
	break;
	default:
	{
		NimStringDesc* T79_;
		T79_ = (NimStringDesc*)0;
		T79_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 12);
appendString(T79_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_234));
appendString(T79_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendChar(T79_, 41);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T79_, TM__MQdRN7fpbG7rPm4JpVVAhA_235);
		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genLiteral_cgen_11468)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = genLiteral_cgen_17603(p, n, (*n).typ);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15303)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_237), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genCaseRange_cgen_7344)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch) {
	{
		NI j;
		NI colontmp_;
		NI T2_;
		NI i;
		j = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len_ast_3197(branch);
		colontmp_ = (NI)(T2_ - ((NI) 1));
		i = ((NI) 0);
		{
			while (1) {
				if (!(i < colontmp_)) goto LA4;
				j = i;
				{
					if (!((*(*branch)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T13_;
						tyArray__mrugoXXRZUEeG9bEXo9auBKw T14_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
						if (!((CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 0))&7U)))!=0)) goto LA11_;
						T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T13_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T14_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
						T14_[0] = genLiteral_cgen_11468(p, (*(*branch)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)]);
						T14_[1] = genLiteral_cgen_11468(p, (*(*branch)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]);
						T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T15_ = percent__cgen_15293(T14_, 2);
						T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T16_ = indentLine_cgen_272(p, T15_);
						add_ropes_159(T13_, T16_);
					}
					goto LA9_;
					LA11_: ;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
						v = copyNode_ast_4335((*(*branch)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)]);
						{
							while (1) {
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T20_;
								tyArray__JiWwrsTRC6xqNlGcBthSVA T21_;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
								if (!((*v)._kind_1.intVal <= (*(*(*branch)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)])._kind_1.intVal)) goto LA19;
								T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
								T20_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
								nimZeroMem((void*)T21_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
								T21_[0] = genLiteral_cgen_11468(p, v);
								T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T22_ = percent__cgen_15303(T21_, 1);
								T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T23_ = indentLine_cgen_272(p, T22_);
								add_ropes_159(T20_, T23_);
								(*v)._kind_1.intVal += ((NI) 1);
							} LA19: ;
						}
					}
					LA9_: ;
				}
				goto LA5_;
				LA7_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T25_;
					tyArray__JiWwrsTRC6xqNlGcBthSVA T26_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
					T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T25_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T26_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T26_[0] = genLiteral_cgen_11468(p, (*branch)._kind_6.sons->data[j]);
					T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T27_ = percent__cgen_15303(T26_, 1);
					T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T28_ = indentLine_cgen_272(p, T27_);
					add_ropes_159(T25_, T28_);
				}
				LA5_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7412)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_238), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7420)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_239), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7425)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_240), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7443)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_242), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTraverseProc_cgen_7352)(tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg c, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
{	{
		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA8;
					i = i_2;
					genTraverseProc_cgen_7352(c, accessor, (*n)._kind_6.sons->data[i], typ);
					i_2 += ((NI) 1);
				} LA8: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T23_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T24_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T44_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T45_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
			internalErrorImpl_msgs_1431((*(*(*c.p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_178), TM__MQdRN7fpbG7rPm4JpVVAhA_179);
		}
		LA12_: ;
		p = c.p;
		disc = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		{
			if (!((*disc).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA16_;
			fillObjectFields_cgen_3769((*c.p).module, typ);
		}
		LA16_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
			T20_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T20_ = t_cgen_79((*disc).loc);
			if (!(T20_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA21_;
			internalErrorImpl_msgs_1431((*(*(*c.p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_198), TM__MQdRN7fpbG7rPm4JpVVAhA_199);
		}
		LA21_: ;
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T23_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T24_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T24_[0] = accessor;
		T24_[1] = (*disc).loc.r;
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = percent__cgen_7386(T24_, 2);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = indentLine_cgen_272(p, T25_);
		add_ropes_159(T23_, T26_);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len_ast_3197(n);
			i_4 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T39_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T40_;
					tyArray__qTjAvTvKF9anytN1At69aJMQ T41_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
					if (!(i_4 < colontmp__2)) goto LA29;
					i_3 = i_4;
					branch = (*n)._kind_6.sons->data[i_3];
					{
						if (!((*branch).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA32_;
						genCaseRange_cgen_7344(c.p, branch);
					}
					goto LA30_;
					LA32_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T35_;
						tyArray__qTjAvTvKF9anytN1At69aJMQ T36_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
						T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T35_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T36_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T37_ = percent__cgen_7412(T36_, 0);
						T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T38_ = indentLine_cgen_272(p, T37_);
						add_ropes_159(T35_, T38_);
					}
					LA30_: ;
					T39_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T39_ = lastSon_ast_4831(branch);
					genTraverseProc_cgen_7352(c, accessor, T39_, typ);
					T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T40_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T41_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T42_ = percent__cgen_7420(T41_, 0);
					T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T43_ = indentLine_cgen_272(p, T42_);
					add_ropes_159(T40_, T43_);
					i_4 += ((NI) 1);
				} LA29: ;
			}
		}
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T44_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T45_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T46_ = percent__cgen_7425(T45_, 0);
		T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T47_ = indentLine_cgen_272(p, T46_);
		add_ropes_159(T44_, T47_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T62_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T64_;
		field = (*n)._kind_4.sym;
		{
			if (!((*(*field).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA51_;
			goto BeforeRet_;
		}
		LA51_: ;
		{
			if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA55_;
			fillObjectFields_cgen_3769((*c.p).module, typ);
		}
		LA55_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
			T59_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T59_ = t_cgen_79((*field).loc);
			if (!(T59_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA60_;
			internalErrorImpl_msgs_1431((*(*(*c.p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_198), TM__MQdRN7fpbG7rPm4JpVVAhA_241);
		}
		LA60_: ;
		nimZeroMem((void*)T62_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T62_[0] = accessor;
		T62_[1] = (*field).loc.r;
		T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T63_ = percent__cgen_7443(T62_, 2);
		T64_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T64_ = t_cgen_79((*field).loc);
		genTraverseProc_cgen_7340(c, T63_, T64_);
	}
	break;
	default:
	{
		internalErrorImpl_msgs_1431((*(*(*c.p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_198), TM__MQdRN7fpbG7rPm4JpVVAhA_243);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genTraverseProc_cgen_7340)(tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg c, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p;
{	{
		if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	p = c.p;
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
		T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T6_ = lastSon_ast_3742(typ);
		genTraverseProc_cgen_7340(c, accessor, T6_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA arraySize;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA i;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* oldCode;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		NI oldLen;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T17_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		arraySize = lengthOrd_types_1661((*(*(*c.p).module).g).config, (*typ).sons->data[((NI) 0)]);
		nimZeroMem((void*)(&i), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		T8_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T8_ = getSysType_magicsys_60((*(*(*c.p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
		getTemp_cgen_7347(p, T8_, (&i), NIM_FALSE);
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T9_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		oldCode = (*T9_);
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_170));
		cgFormatValue_cgen_141((&res), i.r);
		res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_171));
		cgFormatValue_cgen_141((&res), i.r);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
		cgFormatValue_cgen_151((&res), arraySize);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		cgFormatValue_cgen_141((&res), i.r);
		res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_174));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA13_: ;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rope_ropes_109(res);
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = indentLine_cgen_272(p, T15_);
		add_ropes_159(T10_, T16_);
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T17_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		oldLen = len_ropes_10((*T17_));
		res_2 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_2), accessor);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
		cgFormatValue_cgen_141((&res_2), i.r);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = rope_ropes_109(res_2);
		genTraverseProc_cgen_7340(c, T18_, (*typ).sons->data[((NI) 1)]);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T21_;
			NI T22_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T25_;
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T21_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			T22_ = (NI)0;
			T22_ = len_ropes_10((*T21_));
			if (!(T22_ == oldLen)) goto LA23_;
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T25_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			unsureAsgnRef((void**) (&(*T25_)), oldCode);
		}
		goto LA19_;
		LA23_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T27_;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T28_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T27_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T28_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = percent__cgen_7509(T28_, 0);
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = indentLine_cgen_272(p, T29_);
			add_ropes_159(T27_, T30_);
		}
		LA19_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	{
		{
			NI i_2;
			NI colontmp_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_4001(typ);
			i_3 = ((NI) 0);
			{
				while (1) {
					tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
					if (!(i_3 < colontmp_)) goto LA34;
					i_2 = i_3;
					x = (*typ).sons->data[i_2];
					{
						if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA37_;
						x = skipTypes_ast_3734(x, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
					}
					LA37_: ;
					T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T39_ = parentObj_cgen_7448(accessor, (*c.p).module);
					genTraverseProc_cgen_7340(c, T39_, x);
					i_3 += ((NI) 1);
				} LA34: ;
			}
		}
		{
			if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA42_;
			genTraverseProc_cgen_7352(c, accessor, (*typ).n, typ);
		}
		LA42_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
		typ_2 = typ;
		{
			NI i_4;
			NI colontmp__2;
			NI i_5;
			i_4 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len_ast_4001(typ_2);
			i_5 = ((NI) 0);
			{
				while (1) {
					NimStringDesc* res_3;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
					if (!(i_5 < colontmp__2)) goto LA47;
					i_4 = i_5;
					res_3 = rawNewString(((NI) 80));
					cgFormatValue_cgen_141((&res_3), accessor);
					res_3 = resizeString(res_3, 6);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_244));
					cgFormatValue_cgen_148((&res_3), ((NI64) (i_4)));
					T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T48_ = rope_ropes_109(res_3);
					genTraverseProc_cgen_7340(c, T48_, (*typ_2).sons->data[i_4]);
					i_5 += ((NI) 1);
				} LA47: ;
			}
		}
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T50_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
		T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T50_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_4 = rawNewString(((NI) 80));
		T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T51_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_245));
		cgFormatValue_cgen_141((&res_4), T51_);
		res_4 = resizeString(res_4, 8);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
		cgFormatValue_cgen_141((&res_4), accessor);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		cgFormatValue_cgen_145((&res_4), c.visitorFrmt);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA54_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA54_: ;
		T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T56_ = rope_ropes_109(res_4);
		T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T57_ = indentLine_cgen_272(p, T56_);
		add_ropes_159(T50_, T57_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T63_;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
			if (!!((((*(*(*(*c.p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0))) goto LA61_;
			T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T63_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_5 = rawNewString(((NI) 80));
			T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T64_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_245));
			cgFormatValue_cgen_141((&res_5), T64_);
			res_5 = resizeString(res_5, 8);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			cgFormatValue_cgen_141((&res_5), accessor);
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_145((&res_5), c.visitorFrmt);
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA67_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA67_: ;
			T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T69_ = rope_ropes_109(res_5);
			T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T70_ = indentLine_cgen_272(p, T69_);
			add_ropes_159(T63_, T70_);
		}
		goto LA59_;
		LA61_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T72_;
			NIM_BOOL T73_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T76_;
			NimStringDesc* res_6;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T77_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
			T72_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T72_ = lastSon_ast_3742(typ);
			T73_ = (NIM_BOOL)0;
			T73_ = containsGarbageCollectedRef_types_612(T72_);
			if (!T73_) goto LA74_;
			T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T76_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_6 = rawNewString(((NI) 80));
			T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T77_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_247));
			cgFormatValue_cgen_141((&res_6), T77_);
			res_6 = resizeString(res_6, 8);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			cgFormatValue_cgen_141((&res_6), accessor);
			res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_145((&res_6), c.visitorFrmt);
			res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA80_;
				res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA80_: ;
			T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T82_ = rope_ropes_109(res_6);
			T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T83_ = indentLine_cgen_272(p, T82_);
			add_ropes_159(T76_, T83_);
		}
		goto LA59_;
		LA74_: ;
		LA59_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T89_;
			NimStringDesc* res_7;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T95_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T96_;
			if (!!((((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0))) goto LA87_;
			T89_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T89_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_7 = rawNewString(((NI) 80));
			T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T90_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_245));
			cgFormatValue_cgen_141((&res_7), T90_);
			res_7 = resizeString(res_7, 8);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			cgFormatValue_cgen_141((&res_7), accessor);
			res_7 = resizeString(res_7, 2);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_145((&res_7), c.visitorFrmt);
			res_7 = resizeString(res_7, 2);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA93_;
				res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA93_: ;
			T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T95_ = rope_ropes_109(res_7);
			T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T96_ = indentLine_cgen_272(p, T95_);
			add_ropes_159(T89_, T96_);
		}
		LA87_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T102_;
			NimStringDesc* res_8;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T103_;
			NimStringDesc* res_9;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T104_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T109_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T110_;
			if (!((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA100_;
			T102_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T102_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_8 = rawNewString(((NI) 80));
			T103_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T103_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_245));
			cgFormatValue_cgen_141((&res_8), T103_);
			res_8 = resizeString(res_8, 8);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			res_9 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_9), accessor);
			res_9 = resizeString(res_9, 6);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_248));
			T104_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T104_ = rope_ropes_109(res_9);
			cgFormatValue_cgen_141((&res_8), T104_);
			res_8 = resizeString(res_8, 2);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_145((&res_8), c.visitorFrmt);
			res_8 = resizeString(res_8, 2);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA107_;
				res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA107_: ;
			T109_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T109_ = rope_ropes_109(res_8);
			T110_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T110_ = indentLine_cgen_272(p, T109_);
			add_ropes_159(T102_, T110_);
		}
		LA100_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7661)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_249), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, dataField_cgen_453)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_250));
	}
	goto LA1_;
	LA3_: ;
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_251));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTraverseProcSeq_cgen_7465)(tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg c, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA i;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* oldCode;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T2_;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T3_;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T4_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	NI oldLen;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T7_;
	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T8_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	p = c.p;
	nimZeroMem((void*)(&i), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = getSysType_magicsys_60((*(*(*c.p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
	getTemp_cgen_7347(p, T1_, (&i), NIM_FALSE);
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T2_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	oldCode = (*T2_);
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	a.r = accessor;
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T3_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T4_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T4_[0] = i.r;
	T4_[1] = lenExpr_cgen_440(c.p, a);
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T5_ = percent__cgen_7655(T4_, 2);
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = indentLine_cgen_272(p, T5_);
	add_ropes_159(T3_, T6_);
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T7_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	oldLen = len_ropes_10((*T7_));
	nimZeroMem((void*)T8_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
	T8_[0] = accessor;
	T8_[1] = i.r;
	T8_[2] = dataField_cgen_453(c.p);
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = percent__cgen_7661(T8_, 3);
	genTraverseProc_cgen_7340(c, T9_, (*typ).sons->data[((NI) 0)]);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T12_;
		NI T13_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T16_;
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T12_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T13_ = (NI)0;
		T13_ = len_ropes_10((*T12_));
		if (!(T13_ == oldLen)) goto LA14_;
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T16_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		unsureAsgnRef((void**) (&(*T16_)), oldCode);
	}
	goto LA10_;
	LA14_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T18_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T18_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T19_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = percent__cgen_7509(T19_, 0);
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = indentLine_cgen_272(p, T20_);
		add_ropes_159(T18_, T21_);
	}
	LA10_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7720)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_254), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7726)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_255), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7731)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_256), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7736)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_257), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTraverseProc_cgen_7671)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* origTyp, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg c;
	tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	NIM_BOOL hcrOn;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* markerName;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* header;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T7_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* t;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T8_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T9_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T12_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T13_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* generatedProc;
	tyArray__f7nG5LD47BH5K9c6mASit3g T30_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T31_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T32_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T33_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T34_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&c), sizeof(tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg));
	p = newProc_cgendata_278(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), m);
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = getTypeName_cgen_1153(m, origTyp, sig);
	result = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_158), T1_);
	hcrOn = hcrOn_cgen_42(m);
	typ = skipTypes_ast_3734(origTyp, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	{
		if (!hcrOn) goto LA4_;
		markerName = amp__ropes_140(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_70));
	}
	goto LA2_;
	LA4_: ;
	{
		markerName = result;
	}
	LA2_: ;
	nimZeroMem((void*)T7_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T7_[0] = markerName;
	header = percent__cgen_7681(T7_, 1);
	t = getTypeDesc_cgen_6635(m, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T8_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
	nimZeroMem((void*)T9_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T9_[0] = t;
	T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T10_ = percent__cgen_7688(T9_, 1);
	T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T11_ = indentLine_cgen_272(p, T10_);
	add_ropes_159(T8_, T11_);
	T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T12_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
	nimZeroMem((void*)T13_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T13_[0] = t;
	T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T14_ = percent__cgen_7693(T13_, 1);
	T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T15_ = indentLine_cgen_272(p, T14_);
	add_ropes_159(T12_, T15_);
	c.p = p;
	c.visitorFrmt = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_163));
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA18_;
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_252));
		genTraverseProcSeq_cgen_7465(c, T20_, typ);
	}
	goto LA16_;
	LA18_: ;
	{
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
			T24_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T24_ = skipTypes_ast_3734((*typ).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_31);
			if (!((*T24_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA25_;
			T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T27_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_252));
			genTraverseProc_cgen_7340(c, T27_, (*typ).sons->data[((NI) 0)]);
		}
		goto LA22_;
		LA25_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_253));
			genTraverseProc_cgen_7340(c, T29_, (*typ).sons->data[((NI) 0)]);
		}
		LA22_: ;
	}
	LA16_: ;
	nimZeroMem((void*)T30_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
	T30_[0] = header;
	T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T31_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
	T30_[1] = (*T31_);
	T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T32_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
	T30_[2] = (*T32_);
	T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T33_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	T30_[3] = (*T33_);
	generatedProc = percent__cgen_7720(T30_, 4);
	nimZeroMem((void*)T34_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T34_[0] = header;
	T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T35_ = percent__cgen_7726(T34_, 1);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 8))- 0], T35_);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], generatedProc);
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T40_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T42_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		if (!hcrOn) goto LA38_;
		nimZeroMem((void*)T40_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T40_[0] = result;
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = percent__cgen_7731(T40_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 8))- 0], T41_);
		nimZeroMem((void*)T42_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T42_[0] = result;
		T42_[1] = markerName;
		T42_[2] = getModuleDllPath_cgen_125(m);
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = percent__cgen_7736(T42_, 3);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T43_);
	}
	LA38_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_10236)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_258), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrayInfo_cgen_7324)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = genTypeInfoV1_cgen_6772(m, (*typ).sons->data[((NI) 1)], info);
	genTypeInfoAuxBase_cgen_6792(m, typ, typ, name, T1_, info);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7319)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_259), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope_cgen_6922)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (NimStringDesc*)0;
	T1_ = dollar__int495056_53(arg);
	result = rope_ropes_109(T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genSetInfo_cgen_7305)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T1_;
	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	genTypeInfoAux_cgen_6857(m, typ, typ, name, info);
	tmp = getNimNode_cgen_6776(m);
	nimZeroMem((void*)T1_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
	T1_[0] = tmp;
	T2_ = firstOrd_types_1353((*(*m).g).config, typ);
	T1_[1] = rope_cgen_6922(T2_);
	T1_[2] = tiNameForHcr_cgen_6788(m, name);
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = percent__cgen_7319(T1_, 3);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T3_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7255)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_261), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7262)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_262), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7270)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_263), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7278)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_264), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7286)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_265), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7291)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_266), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genEnumInfo_cgen_7209)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* nodePtrs;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	NI T3_;
	NimStringDesc* T4_;
	NI T5_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* enumNames;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* specialCases;
	NI firstNimNode;
	NIM_BOOL hasHoles;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* enumArray;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* counter;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T30_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T32_;
	NI T33_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
	tyArray__dNfZYyzVYdaWfURv4pxodA T35_;
	NI T36_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
	tyArray__f7nG5LD47BH5K9c6mASit3g T38_;
	NI T39_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
	genTypeInfoAux_cgen_6857(m, typ, typ, name, info);
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = getTempName_cgen_410(m);
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = amp__ropes_140(T1_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
	T3_ = (NI)0;
	T3_ = len_ast_3197((*typ).n);
	T4_ = (NimStringDesc*)0;
	T4_ = dollar__systemZdollars_3(T3_);
	nodePtrs = amp__ropes_140(T2_, T4_);
	T5_ = (NI)0;
	T5_ = len_ast_3197((*typ).n);
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = rope_ropes_115(((NI64) (T5_)));
	genTNimNodeArray_cgen_6936(m, nodePtrs, T6_);
	enumNames = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	specialCases = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	firstNimNode = (*m).typeNodes;
	hasHoles = NIM_FALSE;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197((*typ).n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* elemNode;
				if (!(i_2 < colontmp_)) goto LA9;
				i = i_2;
				field = (*(*(*typ).n)._kind_6.sons->data[i])._kind_4.sym;
				elemNode = getNimNode_cgen_6776(m);
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
					if (!((*field).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA12_;
					T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T14_ = makeCString_msgs_50((*(*field).name).s);
					add_ropes_159(&enumNames, T14_);
				}
				goto LA10_;
				LA12_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
					T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T16_ = makeCString_msgs_50((*(*field).ast)._kind_3.strVal);
					add_ropes_159(&enumNames, T16_);
				}
				LA10_: ;
				{
					NI T19_;
					T19_ = (NI)0;
					T19_ = len_ast_3197((*typ).n);
					if (!(i < (NI)(T19_ - ((NI) 1)))) goto LA20_;
					add_ropes_162(&enumNames, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_260));
				}
				LA20_: ;
				{
					NIM_BOOL T24_;
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T28_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
					T24_ = (NIM_BOOL)0;
					T24_ = !(((*field).position == i));
					if (T24_) goto LA25_;
					T24_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5))&63U)))!=0);
					LA25_: ;
					if (!T24_) goto LA26_;
					nimZeroMem((void*)T28_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T28_[0] = elemNode;
					T28_[1] = rope_ropes_115(((NI64) ((*field).position)));
					T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T29_ = percent__cgen_7255(T28_, 2);
					add_ropes_159(&specialCases, T29_);
					hasHoles = NIM_TRUE;
				}
				LA26_: ;
				i_2 += ((NI) 1);
			} LA9: ;
		}
	}
	enumArray = getTempName_cgen_410(m);
	counter = getTempName_cgen_410(m);
	nimZeroMem((void*)T30_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T30_[0] = counter;
	T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T31_ = percent__cgen_7262(T30_, 1);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 14))- 0], T31_);
	nimZeroMem((void*)T32_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
	T32_[0] = enumArray;
	T33_ = (NI)0;
	T33_ = len_ast_3197((*typ).n);
	T32_[1] = rope_ropes_115(((NI64) (T33_)));
	T32_[2] = enumNames;
	T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T34_ = percent__cgen_7270(T32_, 3);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 14))- 0], T34_);
	nimZeroMem((void*)T35_, sizeof(tyArray__dNfZYyzVYdaWfURv4pxodA));
	T35_[0] = counter;
	T36_ = (NI)0;
	T36_ = len_ast_3197((*typ).n);
	T35_[1] = rope_ropes_115(((NI64) (T36_)));
	T35_[2] = (*m).typeNodesName;
	T35_[3] = rope_ropes_115(((NI64) (firstNimNode)));
	T35_[4] = enumArray;
	T35_[5] = nodePtrs;
	T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T37_ = percent__cgen_7278(T35_, 6);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T37_);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], specialCases);
	nimZeroMem((void*)T38_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
	T38_[0] = getNimNode_cgen_6776(m);
	T39_ = (NI)0;
	T39_ = len_ast_3197((*typ).n);
	T38_[1] = rope_ropes_115(((NI64) (T39_)));
	T38_[2] = nodePtrs;
	T38_[3] = tiNameForHcr_cgen_6788(m, name);
	T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T40_ = percent__cgen_7286(T38_, 4);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T40_);
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T45_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
		if (!hasHoles) goto LA43_;
		nimZeroMem((void*)T45_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T45_[0] = tiNameForHcr_cgen_6788(m, name);
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T46_ = percent__cgen_7291(T45_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T46_);
	}
	LA43_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6917)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_271), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, discriminatorTableName_cgen_6902)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* objtype, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* d) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* objtype_2;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T8_;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA T9_;
	NimStringDesc* T10_;
	NimStringDesc* T11_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	objtype_2 = skipTypes_ast_3734(objtype, TM__MQdRN7fpbG7rPm4JpVVAhA_268);
	{
		while (1) {
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
			T3_ = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
			T3_ = lookupInRecord_astalgo_84((*objtype_2).n, (*d).name);
			if (!(T3_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA2;
			objtype_2 = skipTypes_ast_3734((*objtype_2).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_268);
		} LA2: ;
	}
	{
		if (!((*objtype_2).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA6_;
		internalErrorImpl_msgs_1431((*(*m).g).config, (*d).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_269), TM__MQdRN7fpbG7rPm4JpVVAhA_270);
	}
	LA6_: ;
	nimZeroMem((void*)T8_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	nimZeroMem((void*)T9_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	hashType_sighashes_462(objtype_2, 2, T9_);
	T10_ = (NimStringDesc*)0;
	T10_ = dollar__modulegraphs_8947(T9_);
	T8_[0] = rope_ropes_109(T10_);
	T11_ = (NimStringDesc*)0;
	T11_ = mangle_ccgutils_112((*(*d).name).s);
	T8_[1] = rope_ropes_109(T11_);
	result = percent__cgen_6917(T8_, 2);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7030)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_274), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6931)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_275), args, argsLen_0);
	return result;
}
static N_INLINE(NIM_BOOL, isEmptyType_ast_4778)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
	if (T1_) goto LA2_;
	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7101)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_281), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genObjectFields_cgen_6955)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* expr, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
{	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		{
			NI T4_;
			T4_ = (NI)0;
			T4_ = len_ast_3197(n);
			if (!(T4_ == ((NI) 1))) goto LA5_;
			genObjectFields_cgen_6955(m, typ, origType, (*n)._kind_6.sons->data[((NI) 0)], expr, info);
		}
		goto LA2_;
		LA5_: ;
		{
			NI T8_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			NI T13_;
			NimStringDesc* T14_;
			NI T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T22_;
			NI T23_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			T8_ = (NI)0;
			T8_ = len_ast_3197(n);
			if (!(((NI) 0) < T8_)) goto LA9_;
			T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T11_ = getTempName_cgen_410(m);
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = amp__ropes_140(T11_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
			T13_ = (NI)0;
			T13_ = len_ast_3197(n);
			T14_ = (NimStringDesc*)0;
			T14_ = dollar__systemZdollars_3(T13_);
			tmp = amp__ropes_140(T12_, T14_);
			T15_ = (NI)0;
			T15_ = len_ast_3197(n);
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = rope_ropes_115(((NI64) (T15_)));
			genTNimNodeArray_cgen_6936(m, tmp, T16_);
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len_ast_3197(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2;
						tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T20_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
						if (!(i_2 < colontmp_)) goto LA19;
						i = i_2;
						tmp2 = getNimNode_cgen_6776(m);
						nimZeroMem((void*)T20_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
						T20_[0] = tmp;
						T20_[1] = rope_ropes_115(((NI64) (i)));
						T20_[2] = tmp2;
						T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T21_ = percent__cgen_6985(T20_, 3);
						add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T21_);
						genObjectFields_cgen_6955(m, typ, origType, (*n)._kind_6.sons->data[i], tmp2, info);
						i_2 += ((NI) 1);
					} LA19: ;
				}
			}
			nimZeroMem((void*)T22_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T22_[0] = expr;
			T23_ = (NI)0;
			T23_ = len_ast_3197(n);
			T22_[1] = rope_ropes_115(((NI64) (T23_)));
			T22_[2] = tmp;
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = percent__cgen_6994(T22_, 3);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T24_);
		}
		goto LA2_;
		LA9_: ;
		{
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T26_;
			NI T27_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
			nimZeroMem((void*)T26_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T26_[0] = expr;
			T27_ = (NI)0;
			T27_ = len_ast_3197(n);
			T26_[1] = rope_ropes_115(((NI64) (T27_)));
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T28_ = percent__cgen_7002(T26_, 2);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T28_);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp_2;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA L;
		tyArray__YcHYlgE5mhtkt9a3rnoucVg T39_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T41_;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T42_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		field = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		tmp_2 = discriminatorTableName_cgen_6902(m, typ, field);
		L = lengthOrd_types_1661((*(*m).g).config, (*field).typ);
		{
			if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA32_;
			fillObjectFields_cgen_3769(m, typ);
		}
		LA32_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T36_;
			T36_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T36_ = t_cgen_79((*field).loc);
			if (!(T36_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA37_;
			internalErrorImpl_msgs_1431((*(*m).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_272), TM__MQdRN7fpbG7rPm4JpVVAhA_273);
		}
		LA37_: ;
		nimZeroMem((void*)T39_, sizeof(tyArray__YcHYlgE5mhtkt9a3rnoucVg));
		T39_[0] = expr;
		T39_[1] = getTypeDesc_cgen_6635(m, origType, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T39_[2] = (*field).loc.r;
		T39_[3] = genTypeInfoV1_cgen_6772(m, (*field).typ, info);
		T39_[4] = makeCString_msgs_50((*(*field).name).s);
		T39_[5] = tmp_2;
		T39_[6] = rope_cgen_6922(L);
		T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T40_ = percent__cgen_7030(T39_, 7);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T40_);
		nimZeroMem((void*)T41_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T41_[0] = tmp_2;
		T42_ = plus__int495056_794(L, IL64(1));
		T41_[1] = rope_cgen_6922(T42_);
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = percent__cgen_6931(T41_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T43_);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len_ast_3197(n);
			i_4 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2_2;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
					if (!(i_4 < colontmp__2)) goto LA46;
					i_3 = i_4;
					b = (*n)._kind_6.sons->data[i_3];
					tmp2_2 = getNimNode_cgen_6776(m);
					T47_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T47_ = lastSon_ast_4831(b);
					genObjectFields_cgen_6955(m, typ, origType, T47_, tmp2_2, info);
					switch ((*b).kind) {
					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
					{
						{
							NI T51_;
							T51_ = (NI)0;
							T51_ = len_ast_3197(b);
							if (!(T51_ < ((NI) 2))) goto LA52_;
							internalErrorImpl_msgs_1431((*(*m).g).config, (*b).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_276), TM__MQdRN7fpbG7rPm4JpVVAhA_277);
						}
						LA52_: ;
						{
							NI j;
							NI colontmp__3;
							NI T55_;
							NI i_5;
							j = (NI)0;
							colontmp__3 = (NI)0;
							T55_ = (NI)0;
							T55_ = len_ast_3197(b);
							colontmp__3 = (NI)(T55_ - ((NI) 1));
							i_5 = ((NI) 0);
							{
								while (1) {
									if (!(i_5 < colontmp__3)) goto LA57;
									j = i_5;
									{
										NI x;
										tyObject_Int128__9a9axPfb75jdWY25AamJewkA T62_;
										NI y;
										tyObject_Int128__9a9axPfb75jdWY25AamJewkA T63_;
										if (!((*(*b)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA60_;
										T62_ = getOrdValue_types_161((*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)], Max_int495056_27);
										x = toInt_int495056_170(T62_);
										T63_ = getOrdValue_types_161((*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)], Max_int495056_27);
										y = toInt_int495056_170(T63_);
										{
											while (1) {
												tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T66_;
												tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
												if (!(x <= y)) goto LA65;
												nimZeroMem((void*)T66_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
												T66_[0] = tmp_2;
												T66_[1] = rope_ropes_115(((NI64) (x)));
												T66_[2] = tmp2_2;
												T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
												T67_ = percent__cgen_6985(T66_, 3);
												add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T67_);
												x += ((NI) 1);
											} LA65: ;
										}
									}
									goto LA58_;
									LA60_: ;
									{
										tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T69_;
										tyObject_Int128__9a9axPfb75jdWY25AamJewkA T70_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
										nimZeroMem((void*)T69_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
										T69_[0] = tmp_2;
										T70_ = getOrdValue_types_161((*b)._kind_6.sons->data[j], Max_int495056_27);
										T69_[1] = rope_cgen_6922(T70_);
										T69_[2] = tmp2_2;
										T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T71_ = percent__cgen_6985(T69_, 3);
										add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T71_);
									}
									LA58_: ;
									i_5 += ((NI) 1);
								} LA57: ;
							}
						}
					}
					break;
					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
					{
						tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T73_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
						nimZeroMem((void*)T73_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
						T73_[0] = tmp_2;
						T73_[1] = rope_cgen_6922(L);
						T73_[2] = tmp2_2;
						T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T74_ = percent__cgen_6985(T73_, 3);
						add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T74_);
					}
					break;
					default:
					{
						internalErrorImpl_msgs_1431((*(*m).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_278), TM__MQdRN7fpbG7rPm4JpVVAhA_279);
					}
					break;
					}
					i_4 += ((NI) 1);
				} LA46: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field_2;
		field_2 = (*n)._kind_4.sym;
		{
			NIM_BOOL T79_;
			T79_ = (NIM_BOOL)0;
			T79_ = isEmptyType_ast_4778((*field_2).typ);
			if (!T79_) goto LA80_;
			goto BeforeRet_;
		}
		LA80_: ;
		{
			tyArray__duFhZXIIlrbrM62cWjNekg T95_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T96_;
			if (!((*field_2)._kind_2.bitsize == ((NI) 0))) goto LA84_;
			{
				if (!((*field_2).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA88_;
				fillObjectFields_cgen_3769(m, typ);
			}
			LA88_: ;
			{
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T92_;
				T92_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T92_ = t_cgen_79((*field_2).loc);
				if (!(T92_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA93_;
				internalErrorImpl_msgs_1431((*(*m).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_272), TM__MQdRN7fpbG7rPm4JpVVAhA_280);
			}
			LA93_: ;
			nimZeroMem((void*)T95_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
			T95_[0] = expr;
			T95_[1] = getTypeDesc_cgen_6635(m, origType, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
			T95_[2] = (*field_2).loc.r;
			T95_[3] = genTypeInfoV1_cgen_6772(m, (*field_2).typ, info);
			T95_[4] = makeCString_msgs_50((*(*field_2).name).s);
			T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T96_ = percent__cgen_7101(T95_, 5);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T96_);
		}
		LA84_: ;
	}
	break;
	default:
	{
		internalErrorImpl_msgs_1431((*(*m).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_272), TM__MQdRN7fpbG7rPm4JpVVAhA_282);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genObjectInfo_cgen_7115)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T20_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	{
		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA3_;
		{
			NIM_BOOL T7_;
			NimStringDesc* T11_;
			NimStringDesc* T12_;
			T7_ = (NIM_BOOL)0;
			T7_ = !(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			if (!(T7_)) goto LA8_;
			T7_ = ((1040 & (*(*typ).sym).flags) == 16);
			LA8_: ;
			if (!T7_) goto LA9_;
			T11_ = (NimStringDesc*)0;
			T12_ = (NimStringDesc*)0;
			T12_ = typeToString_types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
			T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + 51);
appendString(T11_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_119));
appendString(T11_, T12_);
			liMessage_msgs_1118((*(*m).g).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_267, NIM_FALSE);
		}
		LA9_: ;
		genTypeInfoAux_cgen_6857(m, typ, origType, name, info);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_148));
		genTypeInfoAuxBase_cgen_6792(m, typ, origType, name, T14_, info);
	}
	LA1_: ;
	tmp = getNimNode_cgen_6776(m);
	{
		NIM_BOOL T17_;
		T17_ = (NIM_BOOL)0;
		T17_ = isImportedType_cgen_1275(typ);
		if (!!(T17_)) goto LA18_;
		genObjectFields_cgen_6955(m, typ, origType, (*typ).n, tmp, info);
	}
	LA18_: ;
	nimZeroMem((void*)T20_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T20_[0] = tiNameForHcr_cgen_6788(m, name);
	T20_[1] = tmp;
	T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T21_ = percent__cgen_7138(T20_, 2);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T21_);
	t = (*typ).sons->data[((NI) 0)];
	{
		while (1) {
			if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA23;
			t = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5)) & 63);
			t = (*t).sons->data[((NI) 0)];
		} LA23: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, openArrayToTuple_cgen_9717)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* p;
	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T3_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
	result = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = nextTypeId_ast_3150((*m).Sup.idgen);
	result = newType_ast_3895(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), T1_, (*t).owner);
	T2_ = nextTypeId_ast_3150((*m).Sup.idgen);
	p = newType_ast_3895(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), T2_, (*t).owner);
	T3_ = nextTypeId_ast_3150((*m).Sup.idgen);
	a = newType_ast_3895(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49), T3_, (*t).owner);
	T4_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T4_ = lastSon_ast_3742(t);
	add_concepts_23(a, T4_);
	add_concepts_23(p, a);
	add_concepts_23(result, p);
	T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T5_ = getSysType_magicsys_60((*(*m).g).graph, (*(*t).owner).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
	add_concepts_23(result, T5_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7783)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_284), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genDeepCopyProc_cgen_7779)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result) {
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	genProc_cgen_403(m, s);
	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T1_[0] = result;
	T1_[1] = (*s).loc.r;
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = percent__cgen_7783(T1_, 2);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T2_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_10276)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_285), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfoV1_cgen_6772)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* origType;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
	NimStringDesc* prefixTI;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA sig;
	tyTuple__xfZjiVhSEwIz5DDkzuPwog marker;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T23_;
	NimStringDesc* T24_;
	NimStringDesc* T25_;
	NI32 old;
	NimStringDesc* T26_;
	NI32 owner;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T36_;
	tyTuple__xfZjiVhSEwIz5DDkzuPwog T50_;
	NimStringDesc* T51_;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T117_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T118_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T119_;
{	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	origType = t;
	t_2 = skipTypes_ast_3734(origType, TM__MQdRN7fpbG7rPm4JpVVAhA_128);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42(m);
		if (!T3_) goto LA4_;
		prefixTI = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	}
	goto LA1_;
	LA4_: ;
	{
		prefixTI = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_102));
	}
	LA1_: ;
	nimZeroMem((void*)sig, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	hashType_sighashes_462(origType, 2, sig);
	result = getOrDefault_cgen_1415((*m).typeInfoMarker, sig);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		if (!!((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA9_;
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rope_ropes_109(prefixTI);
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = amp__ropes_128(T11_, result);
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		result = amp__ropes_128(T12_, T13_);
		goto BeforeRet_;
	}
	LA9_: ;
	nimZeroMem((void*)(&marker), sizeof(tyTuple__xfZjiVhSEwIz5DDkzuPwog));
	getOrDefault_cgen_8086((*(*m).g).typeInfoMarker, sig, (&marker));
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		if (!!((marker.Field0 == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA16_;
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129));
		(void)(T18_);
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_130));
		(void)(T19_);
		declareNimType_cgen_7788(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129), marker.Field0, ((NI) (marker.Field1)));
		X5BX5Deq__cgen_1859((&(*m).typeInfoMarker), sig, marker.Field0);
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rope_ropes_109(prefixTI);
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = amp__ropes_128(T20_, marker.Field0);
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		result = amp__ropes_128(T21_, T22_);
		goto BeforeRet_;
	}
	LA16_: ;
	nimZeroMem((void*)T23_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T24_ = (NimStringDesc*)0;
	T24_ = typeToC_cgen_9742(t_2);
	T23_[0] = rope_ropes_109(T24_);
	T25_ = (NimStringDesc*)0;
	T25_ = dollar__modulegraphs_8947(sig);
	T23_[1] = rope_ropes_109(T25_);
	result = percent__cgen_9965(T23_, 2);
	X5BX5Deq__cgen_1859((&(*m).typeInfoMarker), sig, result);
	T26_ = (NimStringDesc*)0;
	T26_ = dollar__ropes_250(result);
	old = getOrDefault_cgen_10082((*(*(*m).g).graph).emittedTypeInfo, T26_);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		if (!!((old == ((NI32) 0)))) goto LA29_;
		T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129));
		(void)(T31_);
		T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_130));
		(void)(T32_);
		declareNimType_cgen_7788(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129), result, ((NI) (old)));
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = rope_ropes_109(prefixTI);
		T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T34_ = amp__ropes_128(T33_, result);
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		result = amp__ropes_128(T34_, T35_);
		goto BeforeRet_;
	}
	LA29_: ;
	T36_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T36_ = skipTypes_ast_3734(t_2, TM__MQdRN7fpbG7rPm4JpVVAhA_118);
	owner = (*T36_).Sup.itemId.module;
	{
		NIM_BOOL T39_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
		T39_ = (NIM_BOOL)0;
		T39_ = !((((NI) (owner)) == (*(*m).module).position));
		if (!(T39_)) goto LA40_;
		T39_ = moduleOpenForCodegen_modulegraphs_9377((*(*m).g).graph, owner);
		LA40_: ;
		if (!T39_) goto LA41_;
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = genTypeInfoV1_cgen_6772((*(*m).g).modules->data[owner], origType, info);
		(void)(T43_);
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T44_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129));
		(void)(T44_);
		T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T45_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_130));
		(void)(T45_);
		declareNimType_cgen_7788(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129), result, ((NI) (owner)));
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T46_ = rope_ropes_109(prefixTI);
		T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T47_ = amp__ropes_128(T46_, result);
		T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T48_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		result = amp__ropes_128(T47_, T48_);
		goto BeforeRet_;
	}
	goto LA37_;
	LA41_: ;
	{
		owner = ((NI32) ((*(*m).module).position));
	}
	LA37_: ;
	nimZeroMem((void*)(&T50_), sizeof(tyTuple__xfZjiVhSEwIz5DDkzuPwog));
	T50_.Field0 = result;
	T50_.Field1 = owner;
	X5BX5Deq__cgen_8560((&(*(*m).g).typeInfoMarker), sig, T50_);
	T51_ = (NimStringDesc*)0;
	T51_ = dollar__ropes_250(result);
	rememberEmittedTypeInfo_modulegraphs_9389((*(*m).g).graph, owner, T51_);
	switch ((*t_2).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_132));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
		T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_132));
		genTypeInfoAuxBase_cgen_6792(m, t_2, t_2, result, T54_, info);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
	{
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
			if (!!(((*t_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA58_;
			T60_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T60_ = lastSon_ast_3742(t_2);
			result = genTypeInfoV1_cgen_6772(m, T60_, info);
		}
		goto LA56_;
		LA58_: ;
		{
			NimStringDesc* T62_;
			T62_ = (NimStringDesc*)0;
			T62_ = rawNewString((reprEnum((NI)(*t_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 15);
appendString(T62_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_145));
appendString(T62_, reprEnum((NI)(*t_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T62_, 41);
			internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, T62_, TM__MQdRN7fpbG7rPm4JpVVAhA_146);
		}
		LA56_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T68_;
		{
			NimStringDesc* argX60gensym798_;
			if (!!((((*t_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0))) goto LA66_;
			argX60gensym798_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_147);
			internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, argX60gensym798_, TM__MQdRN7fpbG7rPm4JpVVAhA_147);
		}
		LA66_: ;
		T68_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T68_ = lastSon_ast_3742(t_2);
		result = genTypeInfoV1_cgen_6772(m, T68_, info);
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
			if (!!(((*t_2).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA72_;
			T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T74_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_132));
			genTypeInfoAuxBase_cgen_6792(m, t_2, t_2, result, T74_, info);
		}
		goto LA70_;
		LA72_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
			x = fakeClosureType_cgen_7330(m, (*t_2).owner);
			genTupleInfo_cgen_7154(m, x, x, result, info);
		}
		LA70_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		genTypeInfoAux_cgen_6857(m, t_2, t_2, result, info);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* markerProc;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T81_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
			if (!((1856 &((NU16)1<<((NU)((*(*(*m).g).config).selectedGC)&15U)))!=0)) goto LA79_;
			markerProc = genTraverseProc_cgen_7671(m, origType, sig);
			nimZeroMem((void*)T81_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T81_[0] = tiNameForHcr_cgen_6788(m, result);
			T81_[1] = markerProc;
			T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T82_ = percent__cgen_10236(T81_, 2);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T82_);
		}
		LA79_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	{
		genTypeInfoAux_cgen_6857(m, t_2, t_2, result, info);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* markerProc_2;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T88_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T89_;
			if (!((1856 &((NU16)1<<((NU)((*(*(*m).g).config).selectedGC)&15U)))!=0)) goto LA86_;
			markerProc_2 = genTraverseProc_cgen_7671(m, origType, sig);
			nimZeroMem((void*)T88_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T88_[0] = tiNameForHcr_cgen_6788(m, result);
			T88_[1] = markerProc_2;
			T89_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T89_ = percent__cgen_10236(T88_, 2);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T89_);
		}
		LA86_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
	{
		genTypeInfoAux_cgen_6857(m, t_2, t_2, result, info);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		genArrayInfo_cgen_7324(m, t_2, result, info);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		genSetInfo_cgen_7305(m, t_2, result, info);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
	{
		genEnumInfo_cgen_7209(m, t_2, result, info);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	{
		genObjectInfo_cgen_7115(m, t_2, origType, result, info);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		genTupleInfo_cgen_7154(m, t_2, origType, result, info);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* x_2;
		x_2 = openArrayToTuple_cgen_9717(m, t_2);
		genTupleInfo_cgen_7154(m, x_2, origType, result, info);
	}
	break;
	default:
	{
		NimStringDesc* T98_;
		T98_ = (NimStringDesc*)0;
		T98_ = rawNewString((reprEnum((NI)(*t_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 15);
appendString(T98_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_145));
appendString(T98_, reprEnum((NI)(*t_2).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T98_, 41);
		internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, T98_, TM__MQdRN7fpbG7rPm4JpVVAhA_283);
	}
	break;
	}
	op = getAttachedOp_modulegraphs_4011((*(*m).g).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4));
	{
		if (!(op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA101_;
		op = getAttachedOp_modulegraphs_4011((*(*m).g).graph, origType, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4));
	}
	LA101_: ;
	{
		if (!!((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA105_;
		genDeepCopyProc_cgen_7779(m, op, result);
	}
	LA105_: ;
	{
		NIM_BOOL T109_;
		NIM_BOOL T110_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* v2info;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T115_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T116_;
		T109_ = (NIM_BOOL)0;
		T110_ = (NIM_BOOL)0;
		T110_ = (((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0);
		if (!(T110_)) goto LA111_;
		T110_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
		LA111_: ;
		T109_ = T110_;
		if (!(T109_)) goto LA112_;
		T109_ = !((((*(*t_2).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
		LA112_: ;
		if (!T109_) goto LA113_;
		v2info = genTypeInfoV2_cgen_7928(m, origType, info);
		nimZeroMem((void*)T115_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T115_[0] = v2info;
		T115_[1] = result;
		T116_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T116_ = percent__cgen_10276(T115_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T116_);
	}
	LA113_: ;
	T117_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T117_ = rope_ropes_109(prefixTI);
	T118_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T118_ = amp__ropes_128(T117_, result);
	T119_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T119_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	result = amp__ropes_128(T118_, T119_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTypeInfoV2Impl_cgen_7876)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* origType, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* typeName_1;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T15_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* destroyImpl;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* traceImpl;
	NI flags;
	tyArray__dNfZYyzVYdaWfURv4pxodA T22_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
	typeName_1 = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA3_;
		{
			NIM_BOOL T7_;
			NimStringDesc* T11_;
			NimStringDesc* T12_;
			T7_ = (NIM_BOOL)0;
			T7_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			if (!(T7_)) goto LA8_;
			T7_ = ((1040 & (*(*t).sym).flags) == 16);
			LA8_: ;
			if (!T7_) goto LA9_;
			T11_ = (NimStringDesc*)0;
			T12_ = (NimStringDesc*)0;
			T12_ = typeToString_types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
			T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + 51);
appendString(T11_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_119));
appendString(T11_, T12_);
			liMessage_msgs_1118((*(*m).g).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_120, NIM_FALSE);
		}
		LA9_: ;
		typeName_1 = genTypeInfo2Name_cgen_7809(m, t);
	}
	goto LA1_;
	LA3_: ;
	{
		typeName_1 = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_123));
	}
	LA1_: ;
	T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T14_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_109));
	(void)(T14_);
	nimZeroMem((void*)T15_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T15_[0] = name;
	T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T16_ = percent__cgen_7899(T15_, 1);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T16_);
	destroyImpl = genHook_cgen_7857(m, t, info, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
	traceImpl = genHook_cgen_7857(m, t, info, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3));
	flags = ((NI) 0);
	{
		NIM_BOOL T19_;
		T19_ = (NIM_BOOL)0;
		T19_ = canFormAcycle_types_762(t);
		if (!!(T19_)) goto LA20_;
		flags = (NI)(flags | ((NI) 1));
	}
	LA20_: ;
	nimZeroMem((void*)T22_, sizeof(tyArray__dNfZYyzVYdaWfURv4pxodA));
	T22_[0] = name;
	T22_[1] = destroyImpl;
	T22_[2] = getTypeDesc_cgen_6635(m, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	T22_[3] = typeName_1;
	T22_[4] = traceImpl;
	T22_[5] = rope_ropes_115(((NI64) (flags)));
	T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T23_ = percent__cgen_7907(T22_, 6);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T23_);
	{
		NIM_BOOL T26_;
		NIM_BOOL T27_;
		NIM_BOOL T28_;
		NI T30_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		T26_ = (NIM_BOOL)0;
		T27_ = (NIM_BOOL)0;
		T28_ = (NIM_BOOL)0;
		T28_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
		if (!(T28_)) goto LA29_;
		T30_ = (NI)0;
		T30_ = len_ast_4001(t);
		T28_ = (((NI) 0) < T30_);
		LA29_: ;
		T27_ = T28_;
		if (!(T27_)) goto LA31_;
		T27_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
		LA31_: ;
		T26_ = T27_;
		if (!(T26_)) goto LA32_;
		T26_ = (((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 51))&63U)))!=0);
		LA32_: ;
		if (!T26_) goto LA33_;
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = genTypeInfoV1_cgen_6772(m, t, info);
		(void)(T35_);
	}
	LA33_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfoV2_cgen_7928)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* origType;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
	NimStringDesc* prefixTI;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA sig;
	tyTuple__xfZjiVhSEwIz5DDkzuPwog marker;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T22_;
	NimStringDesc* T23_;
	NI32 owner;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
	tyTuple__xfZjiVhSEwIz5DDkzuPwog T36_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
{	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	origType = t;
	t_2 = skipTypes_ast_3734(origType, TM__MQdRN7fpbG7rPm4JpVVAhA_108);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42(m);
		if (!T3_) goto LA4_;
		prefixTI = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	}
	goto LA1_;
	LA4_: ;
	{
		prefixTI = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_102));
	}
	LA1_: ;
	nimZeroMem((void*)sig, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	hashType_sighashes_462(origType, 2, sig);
	result = getOrDefault_cgen_1415((*m).typeInfoMarkerV2, sig);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		if (!!((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA9_;
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rope_ropes_109(prefixTI);
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = amp__ropes_128(T11_, result);
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		result = amp__ropes_128(T12_, T13_);
		goto BeforeRet_;
	}
	LA9_: ;
	nimZeroMem((void*)(&marker), sizeof(tyTuple__xfZjiVhSEwIz5DDkzuPwog));
	getOrDefault_cgen_8086((*(*m).g).typeInfoMarkerV2, sig, (&marker));
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		if (!!((marker.Field0 == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA16_;
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_109));
		(void)(T18_);
		declareNimType_cgen_7788(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_109), marker.Field0, ((NI) (marker.Field1)));
		X5BX5Deq__cgen_1859((&(*m).typeInfoMarkerV2), sig, marker.Field0);
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rope_ropes_109(prefixTI);
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = amp__ropes_128(T19_, marker.Field0);
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		result = amp__ropes_128(T20_, T21_);
		goto BeforeRet_;
	}
	LA16_: ;
	nimZeroMem((void*)T22_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T23_ = (NimStringDesc*)0;
	T23_ = dollar__modulegraphs_8947(sig);
	T22_[0] = rope_ropes_109(T23_);
	result = percent__cgen_8466(T22_, 1);
	X5BX5Deq__cgen_1859((&(*m).typeInfoMarkerV2), sig, result);
	T24_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T24_ = skipTypes_ast_3734(t_2, TM__MQdRN7fpbG7rPm4JpVVAhA_118);
	owner = (*T24_).Sup.itemId.module;
	{
		NIM_BOOL T27_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		T27_ = (NIM_BOOL)0;
		T27_ = !((((NI) (owner)) == (*(*m).module).position));
		if (!(T27_)) goto LA28_;
		T27_ = moduleOpenForCodegen_modulegraphs_9377((*(*m).g).graph, owner);
		LA28_: ;
		if (!T27_) goto LA29_;
		T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = genTypeInfoV2_cgen_7928((*(*m).g).modules->data[owner], origType, info);
		(void)(T31_);
		T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_109));
		(void)(T32_);
		declareNimType_cgen_7788(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_109), result, ((NI) (owner)));
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = rope_ropes_109(prefixTI);
		T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T34_ = amp__ropes_128(T33_, result);
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		result = amp__ropes_128(T34_, T35_);
		goto BeforeRet_;
	}
	LA29_: ;
	nimZeroMem((void*)(&T36_), sizeof(tyTuple__xfZjiVhSEwIz5DDkzuPwog));
	T36_.Field0 = result;
	T36_.Field1 = owner;
	X5BX5Deq__cgen_8560((&(*(*m).g).typeInfoMarkerV2), sig, T36_);
	genTypeInfoV2Impl_cgen_7876(m, t_2, origType, result, info);
	T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T37_ = rope_ropes_109(prefixTI);
	T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T38_ = amp__ropes_128(T37_, result);
	T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T39_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	result = amp__ropes_128(T38_, T39_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17744)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_287), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, bitSetToWord_cgen_17707)(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* s, NI size) {
	NU64 result;
	result = (NU64)0;
	result = 0ULL;
	{
		NI j;
		NI i;
		j = (NI)0;
		i = ((NI) 0);
		{
			while (1) {
				if (!(i < size)) goto LA3;
				j = i;
				{
					NI T6_;
					T6_ = (s ? s->Sup.len : 0);
					if (!(j < T6_)) goto LA7_;
					result = (NU64)(result | (NU64)((NU64)(((NU64) (s->data[j]))) << (NU64)((NI)(j * ((NI) 8)))));
				}
				LA7_: ;
				i += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genRawSetData_cgen_17723)(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* cs, NI size) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NimStringDesc* res;
		if (!(((NI) 8) < size)) goto LA3_;
		res = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_290));
		{
			NI i;
			NI i_2;
			i = (NI)0;
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < size)) goto LA7;
					i = i_2;
					res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_291));
					res = addChar(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_292)->data[(NU8)((NU8)(cs->data[i]) / (NU8)(((NU8) 16)))]);
					res = addChar(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_292)->data[(NU8)((NU8)(cs->data[i]) % (NU8)(((NU8) 16)))]);
					{
						if (!(i < (NI)(size - ((NI) 1)))) goto LA10_;
						{
							if (!((NI)(i % ((NI) 8)) == ((NI) 7))) goto LA14_;
							res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_293));
						}
						goto LA12_;
						LA14_: ;
						{
							res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
						}
						LA12_: ;
					}
					goto LA8_;
					LA10_: ;
					{
						res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_294));
					}
					LA8_: ;
					i_2 += ((NI) 1);
				} LA7: ;
			}
		}
		result = rope_ropes_109(res);
	}
	goto LA1_;
	LA3_: ;
	{
		NU64 T19_;
		T19_ = (NU64)0;
		T19_ = bitSetToWord_cgen_17707(cs, size);
		result = intLiteral_cgen_11466(((NI64) (T19_)));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24968)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_296), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25174)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_306), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getSeqPayloadType_cgen_3440)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
	initIntSet_pureZcollectionsZintsets_238((&check));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = getTypeDescWeak_cgen_3309(m, t, (&check), ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	result = amp__ropes_140(T1_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_54));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstSeqV2_cgen_25064)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL isConst) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* data;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* payload;
	NimStringDesc* res;
	NimStringDesc* T12_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
	NI T23_;
	NI T28_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T34_;
	NI T35_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	base = (*T1_).sons->data[((NI) 0)];
	data = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_295));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				{
					tyArray__qTjAvTvKF9anytN1At69aJMQ T9_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
					if (!(((NI) 0) < i)) goto LA7_;
					nimZeroMem((void*)T9_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T10_ = percent__cgen_24968(T9_, 0);
					add_ropes_159(&data, T10_);
				}
				LA7_: ;
				T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T11_ = genBracedInit_cgen_13763(p, (*n)._kind_6.sons->data[i], isConst, base);
				add_ropes_159(&data, T11_);
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	add_ropes_162(&data, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	payload = getTempName_cgen_410((*p).module);
	res = rawNewString(((NI) 80));
	res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_28));
	T12_ = (NimStringDesc*)0;
	{
		if (!isConst) goto LA15_;
		T12_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_220));
	}
	goto LA13_;
	LA15_: ;
	{
		T12_ = ((NimStringDesc*) NIM_NIL);
	}
	LA13_: ;
	cgFormatValue_cgen_145((&res), T12_);
	res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_298));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA20_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA20_: ;
	res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_299));
	T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T22_ = getTypeDesc_cgen_6635((*p).module, base, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	cgFormatValue_cgen_141((&res), T22_);
	res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_300));
	T23_ = (NI)0;
	T23_ = len_ast_3197(n);
	cgFormatValue_cgen_148((&res), ((NI64) (T23_)));
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_301));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA26_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA26_: ;
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_302));
	cgFormatValue_cgen_141((&res), payload);
	res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_303));
	T28_ = (NI)0;
	T28_ = len_ast_3197(n);
	cgFormatValue_cgen_148((&res), ((NI64) (T28_)));
	res = resizeString(res, 20);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_304));
	cgFormatValue_cgen_141((&res), data);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_305));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA31_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA31_: ;
	T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T33_ = rope_ropes_109(res);
	add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T33_);
	nimZeroMem((void*)T34_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
	T35_ = (NI)0;
	T35_ = len_ast_3197(n);
	T34_[0] = rope_ropes_115(((NI64) (T35_)));
	T34_[1] = getSeqPayloadType_cgen_3440((*p).module, t);
	T34_[2] = payload;
	result = percent__cgen_25174(T34_, 3);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24949)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_307), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25059)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_312), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstSeq_cgen_24940)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL isConst) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* data;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T1_;
	NI T2_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
	NimStringDesc* res;
	NimStringDesc* T19_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
	NI T35_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T45_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)T1_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T2_ = (NI)0;
	T2_ = len_ast_3197(n);
	T1_[0] = rope_ropes_115(((NI64) (T2_)));
	data = percent__cgen_24949(T1_, 1);
	T3_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T3_ = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	base = (*T3_).sons->data[((NI) 0)];
	{
		NI T6_;
		T6_ = (NI)0;
		T6_ = len_ast_3197(n);
		if (!(((NI) 0) < T6_)) goto LA7_;
		add_ropes_162(&data, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_308));
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
					if (!(i_2 < colontmp_)) goto LA11;
					i = i_2;
					{
						tyArray__qTjAvTvKF9anytN1At69aJMQ T16_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
						if (!(((NI) 0) < i)) goto LA14_;
						nimZeroMem((void*)T16_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T17_ = percent__cgen_24968(T16_, 0);
						add_ropes_159(&data, T17_);
					}
					LA14_: ;
					T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T18_ = genBracedInit_cgen_13763(p, (*n)._kind_6.sons->data[i], isConst, base);
					add_ropes_159(&data, T18_);
					i_2 += ((NI) 1);
				} LA11: ;
			}
		}
		add_ropes_162(&data, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	}
	LA7_: ;
	add_ropes_162(&data, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	result = getTempName_cgen_410((*p).module);
	res = rawNewString(((NI) 80));
	res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_28));
	T19_ = (NimStringDesc*)0;
	{
		if (!isConst) goto LA22_;
		T19_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_309));
	}
	goto LA20_;
	LA22_: ;
	{
		T19_ = ((NimStringDesc*) NIM_NIL);
	}
	LA20_: ;
	cgFormatValue_cgen_145((&res), T19_);
	res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_298));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA27_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA27_: ;
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
	T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T29_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_217));
	cgFormatValue_cgen_141((&res), T29_);
	res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_311));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA32_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA32_: ;
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
	T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T34_ = getTypeDesc_cgen_6635((*p).module, base, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	cgFormatValue_cgen_141((&res), T34_);
	res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_300));
	T35_ = (NI)0;
	T35_ = len_ast_3197(n);
	cgFormatValue_cgen_148((&res), ((NI64) (T35_)));
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_301));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA38_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA38_: ;
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_302));
	cgFormatValue_cgen_141((&res), result);
	res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
	cgFormatValue_cgen_141((&res), data);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA42_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA42_: ;
	T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T44_ = rope_ropes_109(res);
	add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T44_);
	nimZeroMem((void*)T45_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T45_[0] = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	T45_[1] = result;
	result = percent__cgen_25059(T45_, 2);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25219)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_313), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initLocExpr_cgen_11478)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result) {
	initLoc_cgen_60(result, ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0), e, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	expr_cgen_11455(p, e, result);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25226)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_314), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5922)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_315), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5927)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_316), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getClosureType_cgen_6648)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TClosureTypeKind__cLHRMz1vnpSK0uePy2qbWw kind) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* rettype;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* desc;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
	initIntSet_pureZcollectionsZintsets_238((&check));
	result = getTempName_cgen_410(m);
	rettype = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	desc = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	genProcParams_cgen_3472(m, t, &rettype, &desc, (&check), !((kind == ((tyEnum_TClosureTypeKind__cLHRMz1vnpSK0uePy2qbWw) 0))), NIM_FALSE);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isImportedType_cgen_1275(t);
		if (!!(T3_)) goto LA4_;
		{
			NIM_BOOL T8_;
			tyArray__f7nG5LD47BH5K9c6mASit3g T12_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			T8_ = (NIM_BOOL)0;
			T8_ = !(((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
			if (T8_) goto LA9_;
			T8_ = !((kind == ((tyEnum_TClosureTypeKind__cLHRMz1vnpSK0uePy2qbWw) 2)));
			LA9_: ;
			if (!T8_) goto LA10_;
			nimZeroMem((void*)T12_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
			T12_[0] = rope_ropes_109(CallingConvToStr_cgen_1344[((*t).callConv)- 0]);
			T12_[1] = rettype;
			T12_[2] = result;
			T12_[3] = desc;
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = percent__cgen_5922(T12_, 4);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T13_);
		}
		goto LA6_;
		LA10_: ;
		{
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			nimZeroMem((void*)T15_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T15_[0] = result;
			T15_[1] = rettype;
			T15_[2] = desc;
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = percent__cgen_5927(T15_, 3);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T16_);
		}
		LA6_: ;
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstSimpleList_cgen_24896)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				it = (*n)._kind_6.sons->data[i];
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_293));
				}
				LA6_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA10_;
					T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T12_ = genBracedInit_cgen_13763(p, (*it)._kind_6.sons->data[((NI) 1)], isConst, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
					add_ropes_159(&result, T12_);
				}
				goto LA8_;
				LA10_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
					T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T14_ = genBracedInit_cgen_13763(p, it, isConst, (*it).typ);
					add_ropes_159(&result, T14_);
				}
				LA8_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_294));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstTuple_cgen_24917)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst, tyObject_TType__facALICuu8zUj0hjvbTLFg* tup) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				it = (*n)._kind_6.sons->data[i];
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_293));
				}
				LA6_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA10_;
					T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T12_ = genBracedInit_cgen_13763(p, (*it)._kind_6.sons->data[((NI) 1)], isConst, (*tup).sons->data[i]);
					add_ropes_159(&result, T12_);
				}
				goto LA8_;
				LA10_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
					T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T14_ = genBracedInit_cgen_13763(p, it, isConst, (*tup).sons->data[i]);
					add_ropes_159(&result, T14_);
				}
				LA8_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_294));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25314)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_320), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, caseObjDefaultBranch_cgen_24725)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_Int128__9a9axPfb75jdWY25AamJewkA branch) {
	NI result;
{	result = (NI)0;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(obj);
		i_2 = ((NI) 1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					NI j;
					NI colontmp__2;
					NI T5_;
					NI res;
					j = (NI)0;
					colontmp__2 = (NI)0;
					T5_ = (NI)0;
					T5_ = len_ast_3197((*obj)._kind_6.sons->data[i]);
					colontmp__2 = (NI)(T5_ - ((NI) 2));
					res = ((NI) 0);
					{
						while (1) {
							if (!(res <= colontmp__2)) goto LA7;
							j = res;
							{
								tyObject_Int128__9a9axPfb75jdWY25AamJewkA x;
								tyObject_Int128__9a9axPfb75jdWY25AamJewkA y;
								if (!((*(*(*obj)._kind_6.sons->data[i])._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA10_;
								x = getOrdValue_types_161((*(*(*obj)._kind_6.sons->data[i])._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)], Max_int495056_27);
								y = getOrdValue_types_161((*(*(*obj)._kind_6.sons->data[i])._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)], Max_int495056_27);
								{
									NIM_BOOL T14_;
									T14_ = (NIM_BOOL)0;
									T14_ = lteq__int495056_309(x, branch);
									if (!(T14_)) goto LA15_;
									T14_ = lteq__int495056_309(branch, y);
									LA15_: ;
									if (!T14_) goto LA16_;
									result = i;
									goto BeforeRet_;
								}
								LA16_: ;
							}
							goto LA8_;
							LA10_: ;
							{
								tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_;
								NIM_BOOL T20_;
								T19_ = getOrdValue_types_161((*(*obj)._kind_6.sons->data[i])._kind_6.sons->data[j], Max_int495056_27);
								T20_ = (NIM_BOOL)0;
								T20_ = eqeq__int495056_313(T19_, branch);
								if (!T20_) goto LA21_;
								result = i;
								goto BeforeRet_;
							}
							goto LA8_;
							LA21_: ;
							LA8_: ;
							res += ((NI) 1);
						} LA7: ;
					}
				}
				{
					NI T25_;
					T25_ = (NI)0;
					T25_ = len_ast_3197((*obj)._kind_6.sons->data[i]);
					if (!(T25_ == ((NI) 1))) goto LA26_;
					result = i;
					goto BeforeRet_;
				}
				LA26_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getDefaultValue_cgen_24681)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	t = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_322);
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_323));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_132));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_324));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_325));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		{
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA8_;
			result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_326));
		}
		goto LA6_;
		LA8_: ;
		{
			result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_325));
		}
		LA6_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		{
			if (!!(((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA14_;
			result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_325));
		}
		goto LA12_;
		LA14_: ;
		{
			result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_327));
		}
		LA12_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	{
		NI count;
		count = ((NI) 0);
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		getNullValueAuxT_cgen_17534(p, t, t, (*t).n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), &result, (&count), NIM_TRUE, info);
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_295));
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_4001(t);
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
					if (!(i_2 < colontmp_)) goto LA21;
					i = i_2;
					{
						if (!(((NI) 0) < i)) goto LA24_;
						add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
					}
					LA24_: ;
					T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T26_ = getDefaultValue_cgen_24681(p, (*t).sons->data[i], info);
					add_ropes_159(&result, T26_);
					i_2 += ((NI) 1);
				} LA21: ;
			}
		}
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_295));
		{
			NI i_3;
			NI colontmp__2;
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T29_;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			T29_ = lengthOrd_types_1661((*(*(*p).module).g).config, (*t).sons->data[((NI) 0)]);
			colontmp__2 = toInt_int495056_170(T29_);
			i_4 = ((NI) 0);
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
					if (!(i_4 < colontmp__2)) goto LA31;
					i_3 = i_4;
					{
						if (!(((NI) 0) < i_3)) goto LA34_;
						add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
					}
					LA34_: ;
					T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T36_ = getDefaultValue_cgen_24681(p, (*t).sons->data[((NI) 1)], info);
					add_ropes_159(&result, T36_);
					i_4 += ((NI) 1);
				} LA31: ;
			}
		}
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_328));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		{
			tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T41_;
			T41_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
			T41_ = mapSetType_cgen_1197((*(*(*p).module).g).config, t);
			if (!(T41_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17))) goto LA42_;
			result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_329));
		}
		goto LA39_;
		LA42_: ;
		{
			result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_132));
		}
		LA39_: ;
	}
	break;
	default:
	{
		NimStringDesc* T46_;
		T46_ = (NimStringDesc*)0;
		T46_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 32);
appendString(T46_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_330));
appendString(T46_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
		liMessage_msgs_1118((*(*(*p).module).g).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T46_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__MQdRN7fpbG7rPm4JpVVAhA_331, NIM_FALSE);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux_cgen_24769)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constOrNil, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result, NI* count, NIM_BOOL isConst, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
{	switch ((*obj).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** it;
			tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
			NI i;
			NI L;
			NI T3_;
			it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
			colontmp_ = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
			colontmp_ = (*obj)._kind_6.sons;
			i = ((NI) 0);
			T3_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L = T3_;
			{
				while (1) {
					if (!(i < L)) goto LA5;
					it = &colontmp_->data[i];
					getNullValueAux_cgen_24769(p, t, (*it), constOrNil, result, count, isConst, info);
					i += ((NI) 1);
				} LA5: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA branch;
		NI selectedBranch;
		NI countB;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
		getNullValueAux_cgen_24769(p, t, (*obj)._kind_6.sons->data[((NI) 0)], constOrNil, result, count, isConst, info);
		{
			if (!(((NI) 0) < (*count))) goto LA9_;
			add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		}
		LA9_: ;
		branch = Zero_int495056_7;
		{
			if (!!((constOrNil == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA13_;
			{
				NI i_2;
				NI colontmp__2;
				NI i_3;
				i_2 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len_ast_3197(constOrNil);
				i_3 = ((NI) 1);
				{
					while (1) {
						if (!(i_3 < colontmp__2)) goto LA17;
						i_2 = i_3;
						{
							if (!((*(*constOrNil)._kind_6.sons->data[i_2]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA20_;
							{
								if (!((*(*(*(*(*constOrNil)._kind_6.sons->data[i_2])._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).id == (*(*(*(*obj)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).id)) goto LA24_;
								branch = getOrdValue_types_161((*(*constOrNil)._kind_6.sons->data[i_2])._kind_6.sons->data[((NI) 1)], Max_int495056_27);
								goto LA15;
							}
							LA24_: ;
						}
						goto LA18_;
						LA20_: ;
						{
							if (!(i_2 == (*(*(*obj)._kind_6.sons->data[((NI) 0)])._kind_4.sym).position)) goto LA27_;
							branch = getOrdValue_types_161((*constOrNil)._kind_6.sons->data[i_2], Max_int495056_27);
							goto LA15;
						}
						goto LA18_;
						LA27_: ;
						LA18_: ;
						i_3 += ((NI) 1);
					} LA17: ;
				}
			} LA15: ;
		}
		LA13_: ;
		selectedBranch = caseObjDefaultBranch_cgen_24725(obj, branch);
		add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		countB = ((NI) 0);
		b = lastSon_ast_4831((*obj)._kind_6.sons->data[selectedBranch]);
		{
			NIM_BOOL T31_;
			NI T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			NimStringDesc* T39_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
			T31_ = (NIM_BOOL)0;
			T31_ = ((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138));
			if (!(T31_)) goto LA32_;
			T33_ = (NI)0;
			T33_ = len_ast_3197(b);
			T31_ = (((NI) 0) < T33_);
			LA32_: ;
			if (!T31_) goto LA34_;
			T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T36_ = mangleRecFieldName_cgen_3610((*p).module, (*(*obj)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
			T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T37_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_321), T36_);
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = amp__ropes_140(T37_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
			T39_ = (NimStringDesc*)0;
			T39_ = dollar__systemZdollars_3(selectedBranch);
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = amp__ropes_140(T38_, T39_);
			T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T41_ = amp__ropes_140(T40_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_303));
			add_ropes_159(result, T41_);
			getNullValueAux_cgen_24769(p, t, b, constOrNil, result, (&countB), isConst, info);
			add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
		}
		goto LA29_;
		LA34_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
			if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA43_;
			T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T45_ = mangleRecFieldName_cgen_3610((*p).module, (*b)._kind_4.sym);
			T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T46_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122), T45_);
			T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T47_ = amp__ropes_140(T46_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			add_ropes_159(result, T47_);
			getNullValueAux_cgen_24769(p, t, b, constOrNil, result, (&countB), isConst, info);
		}
		goto LA29_;
		LA43_: ;
		LA29_: ;
		add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T73_;
		{
			if (!(((NI) 0) < (*count))) goto LA51_;
			add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		}
		LA51_: ;
		(*count) += ((NI) 1);
		field = (*obj)._kind_4.sym;
		{
			if (!!((constOrNil == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA55_;
			{
				NI i_4;
				NI colontmp__3;
				NI i_5;
				i_4 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = len_ast_3197(constOrNil);
				i_5 = ((NI) 1);
				{
					while (1) {
						if (!(i_5 < colontmp__3)) goto LA59;
						i_4 = i_5;
						{
							if (!((*(*constOrNil)._kind_6.sons->data[i_4]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA62_;
							{
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
								if (!((*(*(*(*(*constOrNil)._kind_6.sons->data[i_4])._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).id == (*(*field).name).id)) goto LA66_;
								T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T68_ = genBracedInit_cgen_13763(p, (*(*constOrNil)._kind_6.sons->data[i_4])._kind_6.sons->data[((NI) 1)], isConst, (*field).typ);
								add_ropes_159(result, T68_);
								goto BeforeRet_;
							}
							LA66_: ;
						}
						goto LA60_;
						LA62_: ;
						{
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
							if (!(i_4 == (*field).position)) goto LA70_;
							T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T72_ = genBracedInit_cgen_13763(p, (*constOrNil)._kind_6.sons->data[i_4], isConst, (*field).typ);
							add_ropes_159(result, T72_);
							goto BeforeRet_;
						}
						goto LA60_;
						LA70_: ;
						LA60_: ;
						i_5 += ((NI) 1);
					} LA59: ;
				}
			}
		}
		LA55_: ;
		T73_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T73_ = getDefaultValue_cgen_24681(p, (*field).typ, info);
		add_ropes_159(result, T73_);
	}
	break;
	default:
	{
		NimStringDesc* T75_;
		NimStringDesc* T76_;
		T75_ = (NimStringDesc*)0;
		T76_ = (NimStringDesc*)0;
		T76_ = dollar__renderer_2107(obj);
		T75_ = rawNewString((T76_ ? T76_->Sup.len : 0) + 32);
appendString(T75_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_330));
appendString(T75_, T76_);
		liMessage_msgs_1118((*(*(*p).module).g).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T75_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_332, NIM_FALSE);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getNullValueAuxT_cgen_17534)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* orig, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constOrNil, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result, NI* count, NIM_BOOL isConst, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* oldRes;
	NI oldcount;
	base = (*t).sons->data[((NI) 0)];
	oldRes = (*result);
	oldcount = (*count);
	{
		if (!!((base == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
		add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		base = skipTypes_ast_3734(base, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
		getNullValueAuxT_cgen_17534(p, orig, base, (*base).n, constOrNil, result, count, isConst, info);
		add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T6_;
		T6_ = (NIM_BOOL)0;
		T6_ = isObjLackingTypeField_cgen_1311(t);
		if (!!(T6_)) goto LA7_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA11_;
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = genTypeInfoV2_cgen_7928((*p).module, orig, (*obj).info);
			add_ropes_159(result, T13_);
		}
		goto LA9_;
		LA11_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = genTypeInfoV1_cgen_6772((*p).module, orig, (*obj).info);
			add_ropes_159(result, T15_);
		}
		LA9_: ;
		(*count) += ((NI) 1);
	}
	goto LA1_;
	LA7_: ;
	LA1_: ;
	getNullValueAux_cgen_24769(p, t, obj, constOrNil, result, count, isConst, info);
	{
		if (!(oldcount == (*count))) goto LA18_;
		unsureAsgnRef((void**) (&(*result)), oldRes);
	}
	LA18_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24891)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_333), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genConstObjConstr_cgen_24880)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	NI count;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	t = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	count = ((NI) 0);
	{
		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA3_;
		getNullValueAuxT_cgen_17534(p, t, t, (*t).n, n, &result, (&count), isConst, (*n).info);
	}
	LA3_: ;
	nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T5_[0] = result;
	result = percent__cgen_24891(T5_, 1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_576)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_334), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genStringLiteralV2Const_cgen_569)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI id;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* pureLit;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T9_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	id = nodeTableTestOrSet_treetab_198((&(*m).dataCache), n, ((NI) ((*m).labels)));
	pureLit = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		if (!(id == ((NI) ((*m).labels)))) goto LA3_;
		pureLit = getTempName_cgen_410(m);
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_221));
		(void)(T5_);
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_222));
		(void)(T6_);
		genStringLiteralDataOnlyV2_cgen_534(m, (*n)._kind_3.strVal, pureLit, isConst);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rope_ropes_115(((NI64) (id)));
		pureLit = amp__ropes_128((*m).tmpBase, T8_);
	}
	LA1_: ;
	nimZeroMem((void*)T9_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T9_[0] = rope_ropes_115(((NI64) (((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0))));
	T9_[1] = pureLit;
	result = percent__cgen_576(T9_, 2);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genBracedInit_cgen_13763)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isConst, tyObject_TType__facALICuu8zUj0hjvbTLFg* optionalType) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
	{
		result = genBracedInit_cgen_13763(p, (*n)._kind_6.sons->data[((NI) 1)], isConst, (*n).typ);
	}
	break;
	default:
	{
		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag ty;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
		ty = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
		typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
		{
			if (!(optionalType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA5_;
			{
				if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA9_;
				ty = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28);
			}
			goto LA7_;
			LA9_: ;
			{
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_288), TM__MQdRN7fpbG7rPm4JpVVAhA_289);
			}
			LA7_: ;
		}
		goto LA3_;
		LA5_: ;
		{
			typ = skipTypes_ast_3734(optionalType, TM__MQdRN7fpbG7rPm4JpVVAhA_94);
			ty = (*typ).kind;
		}
		LA3_: ;
		switch (ty) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
		{
			tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* cs;
			NI64 T14_;
			cs = toBitSet_nimsets_103((*(*(*p).module).g).config, n);
			T14_ = (NI64)0;
			T14_ = getSize_types_3333((*(*(*p).module).g).config, (*n).typ);
			result = genRawSetData_cgen_17723(cs, ((NI) (T14_)));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
		{
			{
				if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA18_;
				result = genConstSeqV2_cgen_25064(p, n, typ, isConst);
			}
			goto LA16_;
			LA18_: ;
			{
				result = genConstSeq_cgen_24940(p, n, typ, isConst);
			}
			LA16_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
		{
			{
				NIM_BOOL T24_;
				NIM_BOOL T25_;
				NI T27_;
				T24_ = (NIM_BOOL)0;
				T25_ = (NIM_BOOL)0;
				T25_ = ((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
				if (!(T25_)) goto LA26_;
				T27_ = (NI)0;
				T27_ = safeLen_ast_3190(n);
				T25_ = (((NI) 1) < T27_);
				LA26_: ;
				T24_ = T25_;
				if (!(T24_)) goto LA28_;
				T24_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
				LA28_: ;
				if (!T24_) goto LA29_;
				{
					tyArray__qTjAvTvKF9anytN1At69aJMQ T35_;
					if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA33_;
					nimZeroMem((void*)T35_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					result = percent__cgen_25219(T35_, 0);
				}
				goto LA31_;
				LA33_: ;
				{
					tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d;
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T37_;
					nimZeroMem((void*)(&d), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
					initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&d));
					nimZeroMem((void*)T37_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T37_[0] = getClosureType_cgen_6648((*p).module, typ, ((tyEnum_TClosureTypeKind__cLHRMz1vnpSK0uePy2qbWw) 1));
					T37_[1] = rdLoc_cgen_417(d);
					result = percent__cgen_25226(T37_, 2);
				}
				LA31_: ;
			}
			goto LA22_;
			LA29_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d_2;
				nimZeroMem((void*)(&d_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, n, (&d_2));
				result = rdLoc_cgen_417(d_2);
			}
			LA22_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
		{
			result = genConstSimpleList_cgen_24896(p, n, isConst);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
		{
			result = genConstTuple_cgen_24917(p, n, isConst, typ);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* data;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* payload;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* ctype;
			NI arrLen;
			NimStringDesc* res;
			NimStringDesc* T46_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T57_;
			{
				if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41)))) goto LA44_;
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_317), TM__MQdRN7fpbG7rPm4JpVVAhA_318);
			}
			LA44_: ;
			data = genConstSimpleList_cgen_24896(p, n, isConst);
			payload = getTempName_cgen_410((*p).module);
			ctype = getTypeDesc_cgen_6635((*p).module, (*typ).sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			arrLen = len_ast_3197(n);
			res = rawNewString(((NI) 80));
			res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_28));
			T46_ = (NimStringDesc*)0;
			{
				if (!isConst) goto LA49_;
				T46_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_220));
			}
			goto LA47_;
			LA49_: ;
			{
				T46_ = ((NimStringDesc*) NIM_NIL);
			}
			LA47_: ;
			cgFormatValue_cgen_145((&res), T46_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
			cgFormatValue_cgen_141((&res), ctype);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
			cgFormatValue_cgen_141((&res), payload);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
			cgFormatValue_cgen_148((&res), ((NI64) (arrLen)));
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_319));
			cgFormatValue_cgen_141((&res), data);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA54_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA54_: ;
			T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T56_ = rope_ropes_109(res);
			add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T56_);
			nimZeroMem((void*)T57_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T57_[0] = ctype;
			T57_[1] = payload;
			T57_[2] = rope_ropes_115(((NI64) (arrLen)));
			result = percent__cgen_25314(T57_, 3);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
		{
			result = genConstObjConstr_cgen_24880(p, n, isConst);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
		{
			{
				NIM_BOOL T62_;
				NIM_BOOL T63_;
				T62_ = (NIM_BOOL)0;
				T63_ = (NIM_BOOL)0;
				T63_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
				if (!(T63_)) goto LA64_;
				T63_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
				LA64_: ;
				T62_ = T63_;
				if (!(T62_)) goto LA65_;
				T62_ = (ty == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
				LA65_: ;
				if (!T62_) goto LA66_;
				result = genStringLiteralV2Const_cgen_569((*p).module, n, isConst);
			}
			goto LA60_;
			LA66_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d_3;
				nimZeroMem((void*)(&d_3), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, n, (&d_3));
				result = rdLoc_cgen_417(d_3);
			}
			LA60_: ;
		}
		break;
		default:
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d_4;
			nimZeroMem((void*)(&d_4), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, n, (&d_4));
			result = rdLoc_cgen_417(d_4);
		}
		break;
		}
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawConstExpr_cgen_10369)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	NI id;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	t = (*n).typ;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T1_);
	id = nodeTableTestOrSet_treetab_198((&(*(*p).module).dataCache), n, ((NI) ((*(*p).module).labels)));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = rope_ropes_115(((NI64) (id)));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = amp__ropes_128((*(*p).module).tmpBase, T2_);
	fillLoc_cgen_65(d, ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 8), n, T3_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1));
	{
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		if (!(id == ((NI) ((*(*p).module).labels)))) goto LA6_;
		(*(*p).module).labels += ((NI) 1);
		nimZeroMem((void*)T8_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T8_[0] = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		T8_[1] = (*d).r;
		T8_[2] = genBracedInit_cgen_13763(p, n, NIM_TRUE, t);
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__cgen_17744(T8_, 3);
		add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T9_);
	}
	LA6_: ;
}
static N_INLINE(NIM_BOOL, usesWriteBarrier_options_3996)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 8) <= (*conf).selectedGC);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genRefAssign_cgen_10543)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src) {
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = (dest.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
		if (!(T4_)) goto LA5_;
		T4_ = !(((*(*(*(*p).module).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 10)));
		LA5_: ;
		T3_ = T4_;
		if (T3_) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = usesWriteBarrier_options_3996((*(*(*p).module).g).config);
		T3_ = !(T7_);
		LA6_: ;
		if (!T3_) goto LA8_;
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rdLoc_cgen_417(dest);
		cgFormatValue_cgen_141((&res), T11_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res), T12_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA15_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA15_: ;
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = rope_ropes_109(res);
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = indentLine_cgen_272(p, T17_);
		add_ropes_159(T10_, T18_);
	}
	goto LA1_;
	LA8_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T22_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
		if (!(dest.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3))) goto LA20_;
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T22_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_338));
		cgFormatValue_cgen_141((&res_2), T23_);
		res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_339));
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
		cgFormatValue_cgen_141((&res_2), T24_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res_2), T25_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA28_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA28_: ;
		T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T30_ = rope_ropes_109(res_2);
		T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = indentLine_cgen_272(p, T30_);
		add_ropes_159(T22_, T31_);
	}
	goto LA1_;
	LA20_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T33_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T33_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T34_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_340));
		cgFormatValue_cgen_141((&res_3), T34_);
		res_3 = resizeString(res_3, 10);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_339));
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
		cgFormatValue_cgen_141((&res_3), T35_);
		res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T36_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res_3), T36_);
		res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA39_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA39_: ;
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = rope_ropes_109(res_3);
		T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T42_ = indentLine_cgen_272(p, T41_);
		add_ropes_159(T33_, T42_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genGenericAsgn_cgen_17954)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src, tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw flags) {
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rdLoc_cgen_417(dest);
		cgFormatValue_cgen_141((&res), T6_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA10_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA10_: ;
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = rope_ropes_109(res);
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = indentLine_cgen_272(p, T12_);
		add_ropes_159(T5_, T13_);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T15_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
		T15_ = (NIM_BOOL)0;
		T15_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw) 0))&7U)))!=0));
		if (T15_) goto LA16_;
		T17_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T17_ = t_cgen_79(dest);
		T18_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T18_ = skipTypes_ast_3734(T17_, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
		T15_ = (((*T18_).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 6))&63U)))!=0);
		LA16_: ;
		if (!T15_) goto LA19_;
		{
			NIM_BOOL T23_;
			NIM_BOOL T24_;
			NIM_BOOL T27_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T30_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			T23_ = (NIM_BOOL)0;
			T24_ = (NIM_BOOL)0;
			T24_ = (dest.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
			if (!(T24_)) goto LA25_;
			T24_ = !(((*(*(*(*p).module).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 10)));
			LA25_: ;
			T23_ = T24_;
			if (T23_) goto LA26_;
			T27_ = (NIM_BOOL)0;
			T27_ = usesWriteBarrier_options_3996((*(*(*p).module).g).config);
			T23_ = !(T27_);
			LA26_: ;
			if (!T23_) goto LA28_;
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T30_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_335));
			cgFormatValue_cgen_141((&res_2), T31_);
			res_2 = resizeString(res_2, 8);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T32_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
			cgFormatValue_cgen_141((&res_2), T32_);
			res_2 = resizeString(res_2, 19);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_341));
			T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T33_ = addrLoc_cgen_10307((*(*(*p).module).g).config, src);
			cgFormatValue_cgen_141((&res_2), T33_);
			res_2 = resizeString(res_2, 9);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
			T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T34_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_2), T34_);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA37_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA37_: ;
			T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = rope_ropes_109(res_2);
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = indentLine_cgen_272(p, T39_);
			add_ropes_159(T30_, T40_);
		}
		goto LA21_;
		LA28_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T42_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T46_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
			T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T42_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T43_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_342));
			cgFormatValue_cgen_141((&res_3), T43_);
			res_3 = resizeString(res_3, 8);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T44_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
			cgFormatValue_cgen_141((&res_3), T44_);
			res_3 = resizeString(res_3, 9);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_343));
			T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T45_ = addrLoc_cgen_10307((*(*(*p).module).g).config, src);
			cgFormatValue_cgen_141((&res_3), T45_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T46_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T46_ = t_cgen_79(dest);
			T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T47_ = genTypeInfoV1_cgen_6772((*p).module, T46_, (*dest.lode).info);
			cgFormatValue_cgen_141((&res_3), T47_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA50_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA50_: ;
			T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T52_ = rope_ropes_109(res_3);
			T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T53_ = indentLine_cgen_272(p, T52_);
			add_ropes_159(T42_, T53_);
		}
		LA21_: ;
	}
	goto LA1_;
	LA19_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T55_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
		T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T55_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_4 = rawNewString(((NI) 80));
		T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T56_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_344));
		cgFormatValue_cgen_141((&res_4), T56_);
		res_4 = resizeString(res_4, 8);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
		T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T57_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
		cgFormatValue_cgen_141((&res_4), T57_);
		res_4 = resizeString(res_4, 9);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_343));
		T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T58_ = addrLoc_cgen_10307((*(*(*p).module).g).config, src);
		cgFormatValue_cgen_141((&res_4), T58_);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T59_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T59_ = t_cgen_79(dest);
		T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T60_ = genTypeInfoV1_cgen_6772((*p).module, T59_, (*dest.lode).info);
		cgFormatValue_cgen_141((&res_4), T60_);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA63_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA63_: ;
		T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T65_ = rope_ropes_109(res_4);
		T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T66_ = indentLine_cgen_272(p, T65_);
		add_ropes_159(T55_, T66_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canMove_cgen_17767)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA3_;
		{
			NIM_BOOL T7_;
			NIM_BOOL T8_;
			NI T10_;
			T7_ = (NIM_BOOL)0;
			T8_ = (NIM_BOOL)0;
			T8_ = isDeepConstExpr_trees_171(n, NIM_FALSE);
			T7_ = !(T8_);
			if (T7_) goto LA9_;
			T10_ = (NI)0;
			T10_ = len_ast_3197(n);
			T7_ = (T10_ == ((NI) 0));
			LA9_: ;
			if (!T7_) goto LA11_;
			{
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
				T15_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T15_ = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
				if (!((*T15_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA16_;
				result = NIM_TRUE;
				goto BeforeRet_;
			}
			LA16_: ;
		}
		LA11_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T19_;
		T19_ = (NIM_BOOL)0;
		T19_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
		if (!(T19_)) goto LA20_;
		T19_ = (((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0) == ((NI) 0));
		LA20_: ;
		if (!T19_) goto LA21_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	goto LA1_;
	LA21_: ;
	LA1_: ;
	result = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, optAsgnLoc_cgen_17858)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* field, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* Result) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	(*Result).k = 0;
	(*Result).storage = 0;
	unsureAsgnRef((void**)&(*Result).lode, NIM_NIL);
	unsureAsgnRef((void**)&(*Result).r, NIM_NIL);
	(*Result).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 5);
	(*Result).storage = a.storage;
	unsureAsgnRef((void**) (&(*Result).lode), lodeTyp_cgen_86(t));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rdLoc_cgen_417(a);
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = amp__ropes_140(T1_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
	unsureAsgnRef((void**) (&(*Result).r), amp__ropes_128(T2_, field));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17905)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_354), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genOptAsgnTuple_cgen_17870)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src, tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw flags) {
	tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw newflags;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
	{
		if (!(src.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1))) goto LA3_;
		newflags = (flags | 1);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
		T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T6_ = t_cgen_79(dest);
		if (!(((*T6_).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 6))&63U)))!=0)) goto LA7_;
		newflags = (flags & ~ 1);
	}
	goto LA1_;
	LA7_: ;
	{
		newflags = flags;
	}
	LA1_: ;
	T10_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T10_ = t_cgen_79(dest);
	t = skipTypes_ast_3734(T10_, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_4001(t);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* field;
				tyArray__JiWwrsTRC6xqNlGcBthSVA T14_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T15_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T16_;
				if (!(i_2 < colontmp_)) goto LA13;
				i = i_2;
				t_2 = (*t).sons->data[i];
				nimZeroMem((void*)T14_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T14_[0] = rope_ropes_115(((NI64) (i)));
				field = percent__cgen_17905(T14_, 1);
				nimZeroMem((void*)(&T15_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				optAsgnLoc_cgen_17858(dest, t_2, field, (&T15_));
				nimZeroMem((void*)(&T16_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				optAsgnLoc_cgen_17858(src, t_2, field, (&T16_));
				genAssignment_cgen_10373(p, T15_, T16_, newflags);
				i_2 += ((NI) 1);
			} LA13: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(NI, asgnComplexity_cgen_17846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
		switch ((*n).kind) {
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
		{
			result = ((NI) 1);
		}
		break;
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
		{
			result = ((NI) 100);
		}
		break;
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
		{
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
				t = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				{
					NI i;
					NI colontmp_;
					NI i_2;
					i = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = safeLen_ast_3190(n);
					i_2 = ((NI) 0);
					{
						while (1) {
							NI T12_;
							if (!(i_2 < colontmp_)) goto LA11;
							i = i_2;
							t = (*n)._kind_6.sons->data[i];
							T12_ = (NI)0;
							T12_ = asgnComplexity_cgen_17846(t);
							result += T12_;
							i_2 += ((NI) 1);
						} LA11: ;
					}
				}
			}
		}
		break;
		default:
		{
		}
		break;
		}
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genOptAsgnObject_cgen_17920)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src, tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw flags, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw newflags;
{	{
		if (!(t == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(src.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1))) goto LA7_;
		newflags = (flags | 1);
	}
	goto LA5_;
	LA7_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
		T10_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T10_ = t_cgen_79(dest);
		if (!(((*T10_).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 6))&63U)))!=0)) goto LA11_;
		newflags = (flags & ~ 1);
	}
	goto LA5_;
	LA11_: ;
	{
		newflags = flags;
	}
	LA5_: ;
	switch ((*t).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T19_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T20_;
		field = (*t)._kind_4.sym;
		{
			if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA17_;
			fillObjectFields_cgen_3769((*p).module, typ);
		}
		LA17_: ;
		nimZeroMem((void*)(&T19_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		optAsgnLoc_cgen_17858(dest, (*field).typ, (*field).loc.r, (&T19_));
		nimZeroMem((void*)(&T20_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		optAsgnLoc_cgen_17858(src, (*field).typ, (*field).loc.r, (&T20_));
		genAssignment_cgen_10373(p, T19_, T20_, newflags);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
			child = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen_ast_3190(t);
				i_2 = ((NI) 0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA25;
						i = i_2;
						child = (*t)._kind_6.sons->data[i];
						genOptAsgnObject_cgen_17920(p, dest, src, newflags, child, typ);
						i_2 += ((NI) 1);
					} LA25: ;
				}
			}
		}
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, reifiedOpenArray_cgen_11733)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
	result = (NIM_BOOL)0;
	x = n;
	{
		while (1) {
			if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA2;
			x = (*x)._kind_6.sons->data[((NI) 0)];
		} LA2: ;
	}
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T5_)) goto LA6_;
		T5_ = ((*(*x)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		LA6_: ;
		if (!T5_) goto LA7_;
		result = NIM_FALSE;
	}
	goto LA3_;
	LA7_: ;
	{
		result = NIM_TRUE;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, byRefLoc_cgen_10323)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = a.r;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
		tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T7_;
		tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T13_;
		NIM_BOOL T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((a.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0))&15U)))!=0));
		if (!(T4_)) goto LA5_;
		T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T6_ = t_cgen_79(a);
		T7_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
		{
			if (!((*a.lode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA10_;
			T7_ = (*(*a.lode)._kind_4.sym).kind;
		}
		goto LA8_;
		LA10_: ;
		{
			T7_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
		}
		LA8_: ;
		T13_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
		T13_ = mapType_cgen_1201((*(*(*p).module).g).config, T6_, T7_);
		T4_ = !((T13_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17)));
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA14_;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T15_) goto LA16_;
		T15_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA16_: ;
		T3_ = !(T15_);
		LA14_: ;
		if (!T3_) goto LA17_;
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_102), result);
		result = amp__ropes_140(T19_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	}
	LA17_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genOpenArrayConv_cgen_18032)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(a);
	T2_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T2_ = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
	switch ((*T2_).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		{
			NIM_BOOL T6_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T9_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			T6_ = (NIM_BOOL)0;
			T6_ = reifiedOpenArray_cgen_11733(a.lode);
			if (!T6_) goto LA7_;
			T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T9_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T10_ = rdLoc_cgen_417(d);
			cgFormatValue_cgen_141((&res), T10_);
			res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_357));
			T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T11_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res), T11_);
			res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_358));
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = rdLoc_cgen_417(d);
			cgFormatValue_cgen_141((&res), T12_);
			res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_359));
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res), T13_);
			res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_360));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA16_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA16_: ;
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = rope_ropes_109(res);
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = indentLine_cgen_272(p, T18_);
			add_ropes_159(T9_, T19_);
		}
		goto LA4_;
		LA7_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T21_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T21_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T22_ = rdLoc_cgen_417(d);
			cgFormatValue_cgen_141((&res_2), T22_);
			res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_357));
			T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T23_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res_2), T23_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = rdLoc_cgen_417(d);
			cgFormatValue_cgen_141((&res_2), T24_);
			res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_359));
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T25_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res_2), T25_);
			res_2 = resizeString(res_2, 6);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_361));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA28_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA28_: ;
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = rope_ropes_109(res_2);
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = indentLine_cgen_272(p, T30_);
			add_ropes_159(T21_, T31_);
		}
		LA4_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T33_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T33_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T34_ = rdLoc_cgen_417(d);
		cgFormatValue_cgen_141((&res_3), T34_);
		res_3 = resizeString(res_3, 10);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_357));
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_3), T35_);
		T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T36_ = dataField_cgen_453(p);
		cgFormatValue_cgen_141((&res_3), T36_);
		res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T37_ = rdLoc_cgen_417(d);
		cgFormatValue_cgen_141((&res_3), T37_);
		res_3 = resizeString(res_3, 10);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_359));
		T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T38_ = lenExpr_cgen_440(p, a);
		cgFormatValue_cgen_141((&res_3), T38_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA41_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA41_: ;
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = rope_ropes_109(res_3);
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T44_ = indentLine_cgen_272(p, T43_);
		add_ropes_159(T33_, T44_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T46_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T50_;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T51_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T46_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_4 = rawNewString(((NI) 80));
		T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T47_ = rdLoc_cgen_417(d);
		cgFormatValue_cgen_141((&res_4), T47_);
		res_4 = resizeString(res_4, 10);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_357));
		T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T48_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_4), T48_);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T49_ = rdLoc_cgen_417(d);
		cgFormatValue_cgen_141((&res_4), T49_);
		res_4 = resizeString(res_4, 10);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_359));
		T50_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T50_ = t_cgen_79(a);
		T51_ = lengthOrd_types_1661((*(*(*p).module).g).config, T50_);
		T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T52_ = rope_cgen_6922(T51_);
		cgFormatValue_cgen_141((&res_4), T52_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA55_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA55_: ;
		T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T57_ = rope_ropes_109(res_4);
		T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T58_ = indentLine_cgen_272(p, T57_);
		add_ropes_159(T46_, T58_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* etyp;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T76_;
		NimStringDesc* res_6;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T77_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T80_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T86_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T87_;
		T60_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T60_ = t_cgen_79(a);
		etyp = skipTypes_ast_3734(T60_, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		{
			NIM_BOOL T63_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T67_;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
			T63_ = (NIM_BOOL)0;
			T63_ = ((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
			if (!(T63_)) goto LA64_;
			T63_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
			LA64_: ;
			if (!T63_) goto LA65_;
			T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T67_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_5 = rawNewString(((NI) 80));
			T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T68_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_362));
			cgFormatValue_cgen_141((&res_5), T68_);
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T69_ = byRefLoc_cgen_10323(p, a);
			cgFormatValue_cgen_141((&res_5), T69_);
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA72_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA72_: ;
			T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T74_ = rope_ropes_109(res_5);
			T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T75_ = indentLine_cgen_272(p, T74_);
			add_ropes_159(T67_, T75_);
		}
		LA65_: ;
		T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T76_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_6 = rawNewString(((NI) 80));
		T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T77_ = rdLoc_cgen_417(d);
		cgFormatValue_cgen_141((&res_6), T77_);
		res_6 = resizeString(res_6, 10);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_357));
		T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T78_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_6), T78_);
		T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T79_ = dataField_cgen_453(p);
		cgFormatValue_cgen_141((&res_6), T79_);
		res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		T80_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T80_ = rdLoc_cgen_417(d);
		cgFormatValue_cgen_141((&res_6), T80_);
		res_6 = resizeString(res_6, 10);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_359));
		T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T81_ = lenExpr_cgen_440(p, a);
		cgFormatValue_cgen_141((&res_6), T81_);
		res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA84_;
			res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA84_: ;
		T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T86_ = rope_ropes_109(res_6);
		T87_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T87_ = indentLine_cgen_272(p, T86_);
		add_ropes_159(T76_, T87_);
	}
	break;
	default:
	{
		NimStringDesc* T89_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T90_;
		T89_ = (NimStringDesc*)0;
		T90_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T90_ = t_cgen_79(a);
		T89_ = rawNewString((reprEnum((NI)(*T90_).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*T90_).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 14);
appendString(T89_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_363));
appendString(T89_, reprEnum((NI)(*T90_).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*a.lode).info, T89_, TM__MQdRN7fpbG7rPm4JpVVAhA_364);
	}
	break;
	}
}
static N_INLINE(NI, toLinenumber_msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NI result;
	result = (NI)0;
	result = ((NI) (info.line));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, safeLineNm_cgen_323)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NI result;
	result = (NI)0;
	result = toLinenumber_msgs_609(info);
	{
		if (!(result < ((NI) 0))) goto LA3_;
		result = ((NI) 0);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genAssignment_cgen_10373)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src, tySet_tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw flags) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
{	{
		NIM_BOOL T3_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T9_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		T3_ = (NIM_BOOL)0;
		T4_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T4_ = t_cgen_79(src);
		T3_ = !((T4_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
		if (!(T3_)) goto LA5_;
		T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T6_ = t_cgen_79(src);
		T3_ = ((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
		LA5_: ;
		if (!T3_) goto LA7_;
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T9_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = rdLoc_cgen_417(dest);
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res), T11_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA14_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA14_: ;
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = rope_ropes_109(res);
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = indentLine_cgen_272(p, T16_);
		add_ropes_159(T9_, T17_);
		goto BeforeRet_;
	}
	LA7_: ;
	T18_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T18_ = t_cgen_79(dest);
	ty = skipTypes_ast_3734(T18_, TM__MQdRN7fpbG7rPm4JpVVAhA_337);
	switch ((*ty).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	{
		genRefAssign_cgen_10543(p, dest, src);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		{
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA23_;
			genGenericAsgn_cgen_17954(p, dest, src, flags);
		}
		goto LA21_;
		LA23_: ;
		{
			NIM_BOOL T26_;
			NIM_BOOL T27_;
			T26_ = (NIM_BOOL)0;
			T27_ = (NIM_BOOL)0;
			T27_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw) 0))&7U)))!=0));
			if (!(T27_)) goto LA28_;
			T27_ = !((src.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1)));
			LA28_: ;
			T26_ = T27_;
			if (T26_) goto LA29_;
			T26_ = canMove_cgen_17767(p, src.lode, dest);
			LA29_: ;
			if (!T26_) goto LA30_;
			genRefAssign_cgen_10543(p, dest, src);
		}
		goto LA21_;
		LA30_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T33_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
			T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T33_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T34_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_345));
			cgFormatValue_cgen_141((&res_2), T34_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T35_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
			cgFormatValue_cgen_141((&res_2), T35_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T36_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_2), T36_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T37_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T37_ = t_cgen_79(dest);
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = genTypeInfoV1_cgen_6772((*p).module, T37_, (*dest.lode).info);
			cgFormatValue_cgen_141((&res_2), T38_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA41_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA41_: ;
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T43_ = rope_ropes_109(res_2);
			T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T44_ = indentLine_cgen_272(p, T43_);
			add_ropes_159(T33_, T44_);
		}
		LA21_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		{
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA48_;
			genGenericAsgn_cgen_17954(p, dest, src, flags);
		}
		goto LA46_;
		LA48_: ;
		{
			NIM_BOOL T51_;
			NIM_BOOL T52_;
			T51_ = (NIM_BOOL)0;
			T52_ = (NIM_BOOL)0;
			T52_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TAssignmentFlag__Kd9aFyBNhxSsWFh1Km9a2hMw) 0))&7U)))!=0));
			if (!(T52_)) goto LA53_;
			T52_ = !((src.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1)));
			LA53_: ;
			T51_ = T52_;
			if (T51_) goto LA54_;
			T51_ = canMove_cgen_17767(p, src.lode, dest);
			LA54_: ;
			if (!T51_) goto LA55_;
			genRefAssign_cgen_10543(p, dest, src);
		}
		goto LA46_;
		LA55_: ;
		{
			{
				NIM_BOOL T60_;
				NIM_BOOL T61_;
				NIM_BOOL T64_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T67_;
				NimStringDesc* res_3;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T76_;
				T60_ = (NIM_BOOL)0;
				T61_ = (NIM_BOOL)0;
				T61_ = (dest.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
				if (!(T61_)) goto LA62_;
				T61_ = !(((*(*(*(*p).module).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 10)));
				LA62_: ;
				T60_ = T61_;
				if (T60_) goto LA63_;
				T64_ = (NIM_BOOL)0;
				T64_ = usesWriteBarrier_options_3996((*(*(*p).module).g).config);
				T60_ = !(T64_);
				LA63_: ;
				if (!T60_) goto LA65_;
				T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T67_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_3 = rawNewString(((NI) 80));
				T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T68_ = rdLoc_cgen_417(dest);
				cgFormatValue_cgen_141((&res_3), T68_);
				res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
				T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T69_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_346));
				cgFormatValue_cgen_141((&res_3), T69_);
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T70_ = rdLoc_cgen_417(src);
				cgFormatValue_cgen_141((&res_3), T70_);
				res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA73_;
					res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA73_: ;
				T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T75_ = rope_ropes_109(res_3);
				T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T76_ = indentLine_cgen_272(p, T75_);
				add_ropes_159(T67_, T76_);
			}
			goto LA58_;
			LA65_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T80_;
				NimStringDesc* res_4;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T92_;
				NimStringDesc* res_5;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T93_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T94_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T95_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T100_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T101_;
				if (!(dest.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3))) goto LA78_;
				nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				getTemp_cgen_7347(p, ty, (&tmp), NIM_FALSE);
				T80_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T80_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_4 = rawNewString(((NI) 80));
				T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T81_ = rdLoc_cgen_417(tmp);
				cgFormatValue_cgen_141((&res_4), T81_);
				res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
				T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T82_ = rdLoc_cgen_417(dest);
				cgFormatValue_cgen_141((&res_4), T82_);
				res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
				T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T83_ = rdLoc_cgen_417(dest);
				cgFormatValue_cgen_141((&res_4), T83_);
				res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
				T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T84_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_347));
				cgFormatValue_cgen_141((&res_4), T84_);
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T85_ = rdLoc_cgen_417(src);
				cgFormatValue_cgen_141((&res_4), T85_);
				res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA88_;
					res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA88_: ;
				T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T90_ = rope_ropes_109(res_4);
				T91_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T91_ = indentLine_cgen_272(p, T90_);
				add_ropes_159(T80_, T91_);
				T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T92_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_5 = rawNewString(((NI) 80));
				res_5 = resizeString(res_5, 4);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				T93_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T93_ = rdLoc_cgen_417(tmp);
				cgFormatValue_cgen_141((&res_5), T93_);
				res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
				T94_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T94_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_350));
				cgFormatValue_cgen_141((&res_5), T94_);
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T95_ = rdLoc_cgen_417(tmp);
				cgFormatValue_cgen_141((&res_5), T95_);
				res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA98_;
					res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA98_: ;
				T100_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T100_ = rope_ropes_109(res_5);
				T101_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T101_ = indentLine_cgen_272(p, T100_);
				add_ropes_159(T92_, T101_);
			}
			goto LA58_;
			LA78_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T103_;
				NimStringDesc* res_6;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T104_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T105_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T106_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T112_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
				T103_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T103_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_6 = rawNewString(((NI) 80));
				T104_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T104_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_340));
				cgFormatValue_cgen_141((&res_6), T104_);
				res_6 = resizeString(res_6, 10);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_339));
				T105_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T105_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
				cgFormatValue_cgen_141((&res_6), T105_);
				res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				T106_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T106_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_346));
				cgFormatValue_cgen_141((&res_6), T106_);
				res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T107_ = rdLoc_cgen_417(src);
				cgFormatValue_cgen_141((&res_6), T107_);
				res_6 = resizeString(res_6, 3);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA110_;
					res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA110_: ;
				T112_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T112_ = rope_ropes_109(res_6);
				T113_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T113_ = indentLine_cgen_272(p, T112_);
				add_ropes_159(T103_, T113_);
			}
			LA58_: ;
		}
		LA46_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T117_;
			NIM_BOOL T118_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T121_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T122_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T123_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T124_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T125_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T126_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T127_;
			NimStringDesc* res_7;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T128_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T129_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T134_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T135_;
			T117_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T117_ = t_cgen_79(dest);
			T118_ = (NIM_BOOL)0;
			T118_ = containsGarbageCollectedRef_types_612(T117_);
			if (!T118_) goto LA119_;
			nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			T121_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T121_ = t_cgen_79(dest);
			T122_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T122_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_351));
			nimZeroMem((void*)(&T123_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			optAsgnLoc_cgen_17858(dest, T121_, T122_, (&T123_));
			nimCopyMem((void*)(&a), (NIM_CONST void*)(&T123_), sizeof(a));
			nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			T124_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T124_ = t_cgen_79(dest);
			T125_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T125_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_351));
			nimZeroMem((void*)(&T126_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			optAsgnLoc_cgen_17858(src, T124_, T125_, (&T126_));
			nimCopyMem((void*)(&b), (NIM_CONST void*)(&T126_), sizeof(b));
			genRefAssign_cgen_10543(p, a, b);
			T127_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T127_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_7 = rawNewString(((NI) 80));
			T128_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T128_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_7), T128_);
			res_7 = resizeString(res_7, 9);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_352));
			T129_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T129_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_7), T129_);
			res_7 = resizeString(res_7, 7);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_353));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA132_;
				res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA132_: ;
			T134_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T134_ = rope_ropes_109(res_7);
			T135_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T135_ = indentLine_cgen_272(p, T134_);
			add_ropes_159(T127_, T135_);
		}
		goto LA115_;
		LA119_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T137_;
			NimStringDesc* res_8;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T138_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T139_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T144_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T145_;
			T137_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T137_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_8 = rawNewString(((NI) 80));
			T138_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T138_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_8), T138_);
			res_8 = resizeString(res_8, 3);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			T139_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T139_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_8), T139_);
			res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA142_;
				res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA142_: ;
			T144_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T144_ = rope_ropes_109(res_8);
			T145_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T145_ = indentLine_cgen_272(p, T144_);
			add_ropes_159(T137_, T145_);
		}
		LA115_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T149_;
			NIM_BOOL T150_;
			T149_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T149_ = t_cgen_79(dest);
			T150_ = (NIM_BOOL)0;
			T150_ = containsGarbageCollectedRef_types_612(T149_);
			if (!T150_) goto LA151_;
			{
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T155_;
				NI T156_;
				T155_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T155_ = t_cgen_79(dest);
				T156_ = (NI)0;
				T156_ = len_ast_4001(T155_);
				if (!(T156_ <= ((NI) 4))) goto LA157_;
				genOptAsgnTuple_cgen_17870(p, dest, src, flags);
			}
			goto LA153_;
			LA157_: ;
			{
				genGenericAsgn_cgen_17954(p, dest, src, flags);
			}
			LA153_: ;
		}
		goto LA147_;
		LA151_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T161_;
			NimStringDesc* res_9;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T162_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T163_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T168_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T169_;
			T161_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T161_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_9 = rawNewString(((NI) 80));
			T162_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T162_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_9), T162_);
			res_9 = resizeString(res_9, 3);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			T163_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T163_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_9), T163_);
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA166_;
				res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA166_: ;
			T168_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T168_ = rope_ropes_109(res_9);
			T169_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T169_ = indentLine_cgen_272(p, T168_);
			add_ropes_159(T161_, T169_);
		}
		LA147_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	{
		{
			NIM_BOOL T173_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T176_;
			NimStringDesc* res_10;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T177_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T178_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T183_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T184_;
			T173_ = (NIM_BOOL)0;
			T173_ = isImportedCppType_cgen_1286(ty);
			if (!T173_) goto LA174_;
			T176_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T176_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_10 = rawNewString(((NI) 80));
			T177_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T177_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_10), T177_);
			res_10 = resizeString(res_10, 3);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			T178_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T178_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_10), T178_);
			res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA181_;
				res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA181_: ;
			T183_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T183_ = rope_ropes_109(res_10);
			T184_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T184_ = indentLine_cgen_272(p, T183_);
			add_ropes_159(T176_, T184_);
		}
		goto LA171_;
		LA174_: ;
		{
			NIM_BOOL T186_;
			T186_ = (NIM_BOOL)0;
			T186_ = isObjLackingTypeField_cgen_1311(ty);
			if (!!(T186_)) goto LA187_;
			genGenericAsgn_cgen_17954(p, dest, src, flags);
		}
		goto LA171_;
		LA187_: ;
		{
			NIM_BOOL T190_;
			T190_ = (NIM_BOOL)0;
			T190_ = containsGarbageCollectedRef_types_612(ty);
			if (!T190_) goto LA191_;
			{
				NIM_BOOL T195_;
				NI T197_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T200_;
				T195_ = (NIM_BOOL)0;
				T195_ = ((*ty).sons->data[((NI) 0)] == 0);
				if (!(T195_)) goto LA196_;
				T197_ = (NI)0;
				T197_ = asgnComplexity_cgen_17846((*ty).n);
				T195_ = (T197_ <= ((NI) 4));
				LA196_: ;
				if (!T195_) goto LA198_;
				T200_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T200_ = getTypeDesc_cgen_6635((*p).module, ty, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				(void)(T200_);
				{
					NimStringDesc* argX60gensym3415_;
					if (!!(!(((*ty).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))) goto LA203_;
					argX60gensym3415_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_355);
					internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, argX60gensym3415_, TM__MQdRN7fpbG7rPm4JpVVAhA_355);
				}
				LA203_: ;
				genOptAsgnObject_cgen_17920(p, dest, src, flags, (*ty).n, ty);
			}
			goto LA193_;
			LA198_: ;
			{
				genGenericAsgn_cgen_17954(p, dest, src, flags);
			}
			LA193_: ;
		}
		goto LA171_;
		LA191_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T207_;
			NimStringDesc* res_11;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T208_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T209_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T214_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T215_;
			T207_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T207_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_11 = rawNewString(((NI) 80));
			T208_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T208_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_11), T208_);
			res_11 = resizeString(res_11, 3);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			T209_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T209_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_11), T209_);
			res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA212_;
				res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA212_: ;
			T214_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T214_ = rope_ropes_109(res_11);
			T215_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T215_ = indentLine_cgen_272(p, T214_);
			add_ropes_159(T207_, T215_);
		}
		LA171_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		{
			NIM_BOOL T219_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T220_;
			T219_ = (NIM_BOOL)0;
			T220_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T220_ = t_cgen_79(dest);
			T219_ = containsGarbageCollectedRef_types_612(T220_);
			if (!(T219_)) goto LA221_;
			T219_ = !(((176 &((NU16)1<<((NU)((*(*(*(*p).module).g).config).selectedGC)&15U)))!=0));
			LA221_: ;
			if (!T219_) goto LA222_;
			genGenericAsgn_cgen_17954(p, dest, src, flags);
		}
		goto LA217_;
		LA222_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T225_;
			NimStringDesc* res_12;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T226_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T227_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T228_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T229_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T230_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T235_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T236_;
			T225_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T225_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_12 = rawNewString(((NI) 80));
			T226_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T226_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_335));
			cgFormatValue_cgen_141((&res_12), T226_);
			res_12 = resizeString(res_12, 8);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			T227_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T227_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_12), T227_);
			res_12 = resizeString(res_12, 19);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_341));
			T228_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T228_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_12), T228_);
			res_12 = resizeString(res_12, 9);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
			T229_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T229_ = t_cgen_79(dest);
			T230_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T230_ = getTypeDesc_cgen_6635((*p).module, T229_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res_12), T230_);
			res_12 = resizeString(res_12, 3);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA233_;
				res_12 = resizeString(res_12, 1);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA233_: ;
			T235_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T235_ = rope_ropes_109(res_12);
			T236_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T236_ = indentLine_cgen_272(p, T235_);
			add_ropes_159(T225_, T236_);
		}
		LA217_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		{
			NIM_BOOL T240_;
			T240_ = (NIM_BOOL)0;
			T240_ = reifiedOpenArray_cgen_11733(dest.lode);
			if (!T240_) goto LA241_;
			genOpenArrayConv_cgen_18032(p, dest, src);
		}
		goto LA238_;
		LA241_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T244_;
			NIM_BOOL T245_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T248_;
			NimStringDesc* res_13;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T249_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T250_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T251_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T252_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T253_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T254_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T259_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T260_;
			T244_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T244_ = t_cgen_79(dest);
			T245_ = (NIM_BOOL)0;
			T245_ = containsGarbageCollectedRef_types_612(T244_);
			if (!T245_) goto LA246_;
			T248_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T248_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_13 = rawNewString(((NI) 80));
			T249_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T249_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_365));
			cgFormatValue_cgen_141((&res_13), T249_);
			res_13 = resizeString(res_13, 8);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			T250_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T250_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
			cgFormatValue_cgen_141((&res_13), T250_);
			res_13 = resizeString(res_13, 9);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_343));
			T251_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T251_ = addrLoc_cgen_10307((*(*(*p).module).g).config, src);
			cgFormatValue_cgen_141((&res_13), T251_);
			res_13 = resizeString(res_13, 2);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T252_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T252_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
			cgFormatValue_cgen_141((&res_13), T252_);
			res_13 = resizeString(res_13, 7);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_366));
			T253_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T253_ = t_cgen_79(dest);
			T254_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T254_ = genTypeInfoV1_cgen_6772((*p).module, T253_, (*dest.lode).info);
			cgFormatValue_cgen_141((&res_13), T254_);
			res_13 = resizeString(res_13, 2);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA257_;
				res_13 = resizeString(res_13, 1);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA257_: ;
			T259_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T259_ = rope_ropes_109(res_13);
			T260_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T260_ = indentLine_cgen_272(p, T259_);
			add_ropes_159(T248_, T260_);
		}
		goto LA238_;
		LA246_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T262_;
			NimStringDesc* res_14;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T263_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T264_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T269_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T270_;
			T262_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T262_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_14 = rawNewString(((NI) 80));
			T263_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T263_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_14), T263_);
			res_14 = resizeString(res_14, 3);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			T264_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T264_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_14), T264_);
			res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA267_;
				res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA267_: ;
			T269_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T269_ = rope_ropes_109(res_14);
			T270_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T270_ = indentLine_cgen_272(p, T269_);
			add_ropes_159(T262_, T270_);
		}
		LA238_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		{
			tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T274_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T277_;
			NimStringDesc* res_15;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T278_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T279_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T280_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T281_;
			NI64 T282_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T287_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T288_;
			T274_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
			T274_ = mapSetType_cgen_1197((*(*(*p).module).g).config, ty);
			if (!(T274_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17))) goto LA275_;
			T277_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T277_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_15 = rawNewString(((NI) 80));
			T278_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T278_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_335));
			cgFormatValue_cgen_141((&res_15), T278_);
			res_15 = resizeString(res_15, 8);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			T279_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T279_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_15), T279_);
			res_15 = resizeString(res_15, 19);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_341));
			T280_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T280_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_15), T280_);
			res_15 = resizeString(res_15, 2);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T281_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T281_ = t_cgen_79(dest);
			T282_ = (NI64)0;
			T282_ = getSize_types_3333((*(*(*p).module).g).config, T281_);
			cgFormatValue_cgen_148((&res_15), T282_);
			res_15 = resizeString(res_15, 2);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA285_;
				res_15 = resizeString(res_15, 1);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA285_: ;
			T287_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T287_ = rope_ropes_109(res_15);
			T288_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T288_ = indentLine_cgen_272(p, T287_);
			add_ropes_159(T277_, T288_);
		}
		goto LA272_;
		LA275_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T290_;
			NimStringDesc* res_16;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T291_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T292_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T297_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T298_;
			T290_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T290_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_16 = rawNewString(((NI) 80));
			T291_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T291_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_16), T291_);
			res_16 = resizeString(res_16, 3);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			T292_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T292_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_16), T292_);
			res_16 = resizeString(res_16, 1);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA295_;
				res_16 = resizeString(res_16, 1);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA295_: ;
			T297_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T297_ = rope_ropes_109(res_16);
			T298_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T298_ = indentLine_cgen_272(p, T297_);
			add_ropes_159(T290_, T298_);
		}
		LA272_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T300_;
		NimStringDesc* res_17;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T301_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T302_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T307_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T308_;
		T300_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T300_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_17 = rawNewString(((NI) 80));
		T301_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T301_ = rdLoc_cgen_417(dest);
		cgFormatValue_cgen_141((&res_17), T301_);
		res_17 = resizeString(res_17, 3);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
		T302_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T302_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res_17), T302_);
		res_17 = resizeString(res_17, 1);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA305_;
			res_17 = resizeString(res_17, 1);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA305_: ;
		T307_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T307_ = rope_ropes_109(res_17);
		T308_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T308_ = indentLine_cgen_272(p, T307_);
		add_ropes_159(T300_, T308_);
	}
	break;
	default:
	{
		NimStringDesc* T310_;
		T310_ = (NimStringDesc*)0;
		T310_ = rawNewString((reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 15);
appendString(T310_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_367));
appendString(T310_, reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, T310_, TM__MQdRN7fpbG7rPm4JpVVAhA_368);
	}
	break;
	}
	{
		NIM_BOOL T313_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T317_;
		NimStringDesc* res_18;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T318_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T319_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T320_;
		NI64 T321_;
		NimStringDesc* T322_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T323_;
		NI T324_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T329_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T330_;
		T313_ = (NIM_BOOL)0;
		T313_ = (((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 24))&31U)))!=0);
		if (!(T313_)) goto LA314_;
		T313_ = ((9 &((NU8)1<<((NU)(dest.storage)&7U)))!=0);
		LA314_: ;
		if (!T313_) goto LA315_;
		T317_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T317_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_18 = rawNewString(((NI) 80));
		T318_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T318_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_369));
		cgFormatValue_cgen_141((&res_18), T318_);
		res_18 = resizeString(res_18, 8);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
		T319_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T319_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
		cgFormatValue_cgen_141((&res_18), T319_);
		res_18 = resizeString(res_18, 2);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T320_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T320_ = t_cgen_79(dest);
		T321_ = (NI64)0;
		T321_ = getSize_types_3333((*(*(*p).module).g).config, T320_);
		cgFormatValue_cgen_148((&res_18), T321_);
		res_18 = resizeString(res_18, 2);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T322_ = (NimStringDesc*)0;
		T322_ = toFullPath_msgs_538((*(*(*p).module).g).config, (*p).currLineInfo.fileIndex);
		T323_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T323_ = makeCString_msgs_50(T322_);
		cgFormatValue_cgen_141((&res_18), T323_);
		res_18 = resizeString(res_18, 2);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T324_ = (NI)0;
		T324_ = safeLineNm_cgen_323((*p).currLineInfo);
		cgFormatValue_cgen_148((&res_18), ((NI64) (T324_)));
		res_18 = resizeString(res_18, 2);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA327_;
			res_18 = resizeString(res_18, 1);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA327_: ;
		T329_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T329_ = rope_ropes_109(res_18);
		T330_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T330_ = indentLine_cgen_272(p, T329_);
		add_ropes_159(T317_, T330_);
	}
	LA315_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genObjectInit_cgen_10384)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg section, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a, tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw mode) {
	tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw T1_;
	T1_ = (tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw)0;
	T1_ = analyseObjectWithTypeField_types_585(t);
	switch (T1_) {
	case ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 0):
	{
	}
	break;
	case ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 1):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
		r = rdLoc_cgen_417((*a));
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T8_;
			if (!(mode == ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 1))) goto LA6_;
			nimZeroMem((void*)T8_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T8_[0] = r;
			r = percent__cgen_424(T8_, 1);
		}
		LA6_: ;
		s = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T11_) goto LA12_;
			T11_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA12_: ;
			if (!!(T11_)) goto LA13_;
			{
				while (1) {
					NIM_BOOL T17_;
					T17_ = (NIM_BOOL)0;
					T17_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
					if (!(T17_)) goto LA18_;
					T17_ = !(((*s).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
					LA18_: ;
					if (!T17_) goto LA16;
					add_ropes_162(&r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_105));
					s = skipTypes_ast_3734((*s).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_106);
				} LA16: ;
			}
		}
		LA13_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T23_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA21_;
			T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T23_ = s_cgendata_225(p, section);
			res = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res), r);
			res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_107));
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = genTypeInfoV2_cgen_7928((*p).module, t, (*(*a).lode).info);
			cgFormatValue_cgen_141((&res), T24_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA27_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA27_: ;
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = rope_ropes_109(res);
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = indentLine_cgen_272(p, T29_);
			add_ropes_159(T23_, T30_);
		}
		goto LA19_;
		LA21_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T32_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
			T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T32_ = s_cgendata_225(p, section);
			res_2 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_2), r);
			res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_107));
			T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T33_ = genTypeInfoV1_cgen_6772((*p).module, t, (*(*a).lode).info);
			cgFormatValue_cgen_141((&res_2), T33_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA36_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA36_: ;
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = rope_ropes_109(res_2);
			T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = indentLine_cgen_272(p, T38_);
			add_ropes_159(T32_, T39_);
		}
		LA19_: ;
	}
	break;
	case ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2):
	{
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA43_;
			nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			{
				tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T50_;
				NimStringDesc* res_3;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
				tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T54_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
				if (!(mode == ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 1))) goto LA47_;
				objType = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_286);
				T49_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T49_ = newNodeIT_ast_3377(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*(*a).lode).info, objType);
				rawConstExpr_cgen_10369(p, T49_, (&tmp));
				T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T50_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_3 = rawNewString(((NI) 80));
				T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T51_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_335));
				cgFormatValue_cgen_141((&res_3), T51_);
				res_3 = resizeString(res_3, 8);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
				T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T52_ = rdLoc_cgen_417((*a));
				cgFormatValue_cgen_141((&res_3), T52_);
				res_3 = resizeString(res_3, 20);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_336));
				T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T53_ = rdLoc_cgen_417(tmp);
				cgFormatValue_cgen_141((&res_3), T53_);
				res_3 = resizeString(res_3, 9);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
				T54_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
				{
					if (!((*(*a).lode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA57_;
					T54_ = (*(*(*a).lode)._kind_4.sym).kind;
				}
				goto LA55_;
				LA57_: ;
				{
					T54_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
				}
				LA55_: ;
				T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T60_ = getTypeDesc_cgen_6635((*p).module, objType, T54_);
				cgFormatValue_cgen_141((&res_3), T60_);
				res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA63_;
					res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA63_: ;
				T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T65_ = rope_ropes_109(res_3);
				T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T66_ = indentLine_cgen_272(p, T65_);
				add_ropes_159(T50_, T66_);
			}
			goto LA45_;
			LA47_: ;
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T68_;
				T68_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T68_ = newNodeIT_ast_3377(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*(*a).lode).info, t);
				rawConstExpr_cgen_10369(p, T68_, (&tmp));
				genAssignment_cgen_10373(p, (*a), tmp, 0);
			}
			LA45_: ;
		}
		goto LA41_;
		LA43_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T75_;
			NimStringDesc* res_4;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T76_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T77_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
			{
				if (!(mode == ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 0))) goto LA72_;
				r_2 = addrLoc_cgen_10307((*(*(*p).module).g).config, (*a));
			}
			goto LA70_;
			LA72_: ;
			{
				r_2 = rdLoc_cgen_417((*a));
			}
			LA70_: ;
			T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T75_ = s_cgendata_225(p, section);
			res_4 = rawNewString(((NI) 80));
			T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T76_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_370));
			cgFormatValue_cgen_141((&res_4), T76_);
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			cgFormatValue_cgen_141((&res_4), r_2);
			res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T77_ = genTypeInfoV1_cgen_6772((*p).module, t, (*(*a).lode).info);
			cgFormatValue_cgen_141((&res_4), T77_);
			res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA80_;
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA80_: ;
			T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T82_ = rope_ropes_109(res_4);
			T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T83_ = indentLine_cgen_272(p, T82_);
			add_ropes_159(T75_, T83_);
		}
		LA41_: ;
	}
	break;
	}
	{
		NIM_BOOL T86_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r_3;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* s_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T106_;
		NimStringDesc* res_5;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T107_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T114_;
		T86_ = (NIM_BOOL)0;
		T86_ = isException_types_3997(t);
		if (!T86_) goto LA87_;
		r_3 = rdLoc_cgen_417((*a));
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T93_;
			if (!(mode == ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 1))) goto LA91_;
			nimZeroMem((void*)T93_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T93_[0] = r_3;
			r_3 = percent__cgen_424(T93_, 1);
		}
		LA91_: ;
		s_2 = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		{
			NIM_BOOL T96_;
			T96_ = (NIM_BOOL)0;
			T96_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T96_) goto LA97_;
			T96_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA97_: ;
			if (!!(T96_)) goto LA98_;
			{
				while (1) {
					NIM_BOOL T102_;
					NIM_BOOL T103_;
					T102_ = (NIM_BOOL)0;
					T103_ = (NIM_BOOL)0;
					T103_ = ((*s_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
					if (!(T103_)) goto LA104_;
					T103_ = !(((*s_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
					LA104_: ;
					T102_ = T103_;
					if (!(T102_)) goto LA105_;
					T102_ = !(((*(*s_2).sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267)));
					LA105_: ;
					if (!T102_) goto LA101;
					add_ropes_162(&r_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_105));
					s_2 = skipTypes_ast_3734((*s_2).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_106);
				} LA101: ;
			}
		}
		LA98_: ;
		T106_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T106_ = s_cgendata_225(p, section);
		res_5 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_5), r_3);
		res_5 = resizeString(res_5, 8);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_371));
		T107_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T107_ = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T108_ = makeCString_msgs_50((*(*(*T107_).sym).name).s);
		cgFormatValue_cgen_141((&res_5), T108_);
		res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA111_;
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA111_: ;
		T113_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T113_ = rope_ropes_109(res_5);
		T114_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T114_ = indentLine_cgen_272(p, T113_);
		add_ropes_159(T106_, T114_);
	}
	LA87_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, constructLoc_cgen_10918)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* loc, NIM_BOOL isTemp) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	typ = t_cgen_79((*loc));
	{
		NIM_BOOL T3_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T8_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
		if (!(T3_)) goto LA4_;
		T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T5_ = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_94);
		T3_ = ((*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
		LA4_: ;
		if (!T3_) goto LA6_;
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T8_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = rdLoc_cgen_417((*loc));
		cgFormatValue_cgen_141((&res), T9_);
		res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_95));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = rdLoc_cgen_417((*loc));
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 13);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_96));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA13_: ;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rope_ropes_109(res);
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = indentLine_cgen_272(p, T15_);
		add_ropes_159(T8_, T16_);
	}
	goto LA1_;
	LA6_: ;
	{
		NIM_BOOL T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T21_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		T18_ = (NIM_BOOL)0;
		T18_ = isComplexValueType_cgen_10547(typ);
		if (!!(T18_)) goto LA19_;
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T21_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = rdLoc_cgen_417((*loc));
		cgFormatValue_cgen_141((&res_2), T22_);
		res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_98));
		T23_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
		{
			if (!((*(*loc).lode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA26_;
			T23_ = (*(*(*loc).lode)._kind_4.sym).kind;
		}
		goto LA24_;
		LA26_: ;
		{
			T23_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
		}
		LA24_: ;
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = getTypeDesc_cgen_6635((*p).module, typ, T23_);
		cgFormatValue_cgen_141((&res_2), T29_);
		res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_99));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA32_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA32_: ;
		T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T34_ = rope_ropes_109(res_2);
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = indentLine_cgen_272(p, T34_);
		add_ropes_159(T21_, T35_);
	}
	goto LA1_;
	LA19_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
		{
			NIM_BOOL T39_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T41_;
			T39_ = (NIM_BOOL)0;
			T39_ = !(isTemp);
			if (T39_) goto LA40_;
			T41_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T41_ = t_cgen_79((*loc));
			T39_ = containsGarbageCollectedRef_types_612(T41_);
			LA40_: ;
			if (!T39_) goto LA42_;
			{
				NIM_BOOL T46_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T49_;
				NimStringDesc* res_3;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
				tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T52_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
				T46_ = (NIM_BOOL)0;
				T46_ = isImportedCppType_cgen_1286(typ);
				if (!!(T46_)) goto LA47_;
				T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T49_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_3 = rawNewString(((NI) 80));
				T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T50_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_100));
				cgFormatValue_cgen_141((&res_3), T50_);
				res_3 = resizeString(res_3, 8);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
				T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T51_ = addrLoc_cgen_10307((*(*(*p).module).g).config, (*loc));
				cgFormatValue_cgen_141((&res_3), T51_);
				res_3 = resizeString(res_3, 9);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
				T52_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
				{
					if (!((*(*loc).lode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA55_;
					T52_ = (*(*(*loc).lode)._kind_4.sym).kind;
				}
				goto LA53_;
				LA55_: ;
				{
					T52_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
				}
				LA53_: ;
				T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T58_ = getTypeDesc_cgen_6635((*p).module, typ, T52_);
				cgFormatValue_cgen_141((&res_3), T58_);
				res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA61_;
					res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA61_: ;
				T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T63_ = rope_ropes_109(res_3);
				T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T64_ = indentLine_cgen_272(p, T63_);
				add_ropes_159(T49_, T64_);
			}
			LA47_: ;
		}
		LA42_: ;
		T65_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T65_ = t_cgen_79((*loc));
		genObjectInit_cgen_10384(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2), T65_, loc, ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 0));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initLocalVar_cgen_10982)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, NIM_BOOL immediateAsgn) {
	{
		if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0))) goto LA3_;
		{
			if (!!(immediateAsgn)) goto LA7_;
			constructLoc_cgen_10918(p, (&(*v).loc), NIM_FALSE);
		}
		LA7_: ;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_1763)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_373), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fillResult_cgen_1760)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param) {
	tyArray__qTjAvTvKF9anytN1At69aJMQ T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	nimZeroMem((void*)T1_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = percent__cgen_1763(T1_, 0);
	fillLoc_cgen_65((&(*(*param)._kind_4.sym).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 4), param, T2_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
	t = (*(*param)._kind_4.sym).typ;
	{
		NIM_BOOL T5_;
		tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T6_;
		T5_ = (NIM_BOOL)0;
		T6_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
		T6_ = mapReturnType_cgen_1271(conf, t);
		T5_ = !((T6_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17)));
		if (!(T5_)) goto LA7_;
		T5_ = isInvalidReturnType_cgen_1327(conf, t);
		LA7_: ;
		if (!T5_) goto LA8_;
		(*(*param)._kind_4.sym).loc.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15);
		(*(*param)._kind_4.sym).loc.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0);
	}
	LA8_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, scopeMangledParam_cgen_1111)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param) {
	NimStringDesc* key;
	key = mangle_ccgutils_112((*(*param).name).s);
	shallow_system_7444((&key));
	inc_cgen_927((&(*p).sigConflicts), key, ((NI) 1));
}
N_LIB_PRIVATE N_NIMCALL(void, assignParam_cgen_11412)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* retType) {
	scopeMangledParam_cgen_1111(p, s);
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg, allPathsAsgnResult_cgen_25764)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg result;
{	result = (tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg)0;
	result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
			it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen_ast_3190(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA5;
						i = i_2;
						it = (*n)._kind_6.sons->data[i];
						result = allPathsAsgnResult_cgen_25764(it);
						{
							if (!!((result == ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0)))) goto LA8_;
							goto BeforeRet_;
						}
						LA8_: ;
						i_2 += ((NI) 1);
					} LA5: ;
				}
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
			if (!(T13_)) goto LA14_;
			T13_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
			LA14_: ;
			if (!T13_) goto LA15_;
			{
				NIM_BOOL T19_;
				T19_ = (NIM_BOOL)0;
				T19_ = containsResult_cgen_25680((*n)._kind_6.sons->data[((NI) 1)]);
				if (!!(T19_)) goto LA20_;
				result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1);
			}
			goto LA17_;
			LA20_: ;
			{
				result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
			}
			LA17_: ;
		}
		goto LA11_;
		LA15_: ;
		{
			NIM_BOOL T24_;
			T24_ = (NIM_BOOL)0;
			T24_ = containsResult_cgen_25680(n);
			if (!T24_) goto LA25_;
			result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
		}
		goto LA11_;
		LA25_: ;
		LA11_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		{
			NI T30_;
			T30_ = (NI)0;
			T30_ = len_ast_3197(n);
			if (!(((NI) 0) < T30_)) goto LA31_;
			{
				NIM_BOOL T35_;
				T35_ = (NIM_BOOL)0;
				T35_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
				if (!(T35_)) goto LA36_;
				T35_ = !((result == ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1)));
				LA36_: ;
				if (!T35_) goto LA37_;
				result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
			}
			goto LA33_;
			LA37_: ;
			{
				result = allPathsAsgnResult_cgen_25764((*n)._kind_6.sons->data[((NI) 0)]);
			}
			LA33_: ;
		}
		LA31_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		NIM_BOOL exhaustive;
		exhaustive = NIM_FALSE;
		result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1);
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_2;
			it_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = safeLen_ast_3190(n);
				i_4 = ((NI) 0);
				{
					while (1) {
						tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg aX60gensym5942_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T57_;
						if (!(i_4 < colontmp__2)) goto LA44;
						i_3 = i_4;
						it_2 = (*n)._kind_6.sons->data[i_3];
						{
							NIM_BOOL T47_;
							NI T48_;
							T47_ = (NIM_BOOL)0;
							T48_ = (NI)0;
							T48_ = len_ast_3197(it_2);
							T47_ = (T48_ == ((NI) 2));
							if (!(T47_)) goto LA49_;
							T47_ = containsResult_cgen_25680((*it_2)._kind_6.sons->data[((NI) 0)]);
							LA49_: ;
							if (!T47_) goto LA50_;
							result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
							goto BeforeRet_;
						}
						LA50_: ;
						{
							NI T54_;
							T54_ = (NI)0;
							T54_ = len_ast_3197(it_2);
							if (!(T54_ == ((NI) 1))) goto LA55_;
							exhaustive = NIM_TRUE;
						}
						LA55_: ;
						T57_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T57_ = lastSon_ast_4831(it_2);
						aX60gensym5942_ = allPathsAsgnResult_cgen_25764(T57_);
						switch (aX60gensym5942_) {
						case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2):
						{
							result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
							goto BeforeRet_;
						}
						break;
						case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1):
						{
						}
						break;
						case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0):
						{
							result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
						}
						break;
						}
						i_4 += ((NI) 1);
					} LA44: ;
				}
			}
		}
		{
			if (!!(exhaustive)) goto LA63_;
			result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
		}
		LA63_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
	{
		NIM_BOOL exhaustive_2;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T71_;
		{
			NIM_BOOL T68_;
			T68_ = (NIM_BOOL)0;
			T68_ = containsResult_cgen_25680((*n)._kind_6.sons->data[((NI) 0)]);
			if (!T68_) goto LA69_;
			result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
			goto BeforeRet_;
		}
		LA69_: ;
		result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1);
		T71_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T71_ = skipTypes_ast_3734((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_374);
		exhaustive_2 = !(((*T71_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T71_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*T71_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
		{
			NI i_5;
			NI colontmp__3;
			NI i_6;
			i_5 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len_ast_3197(n);
			i_6 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_3;
					tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg aX60gensym5947_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T75_;
					if (!(i_6 < colontmp__3)) goto LA74;
					i_5 = i_6;
					it_3 = (*n)._kind_6.sons->data[i_5];
					T75_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T75_ = lastSon_ast_4831(it_3);
					aX60gensym5947_ = allPathsAsgnResult_cgen_25764(T75_);
					switch (aX60gensym5947_) {
					case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2):
					{
						result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
						goto BeforeRet_;
					}
					break;
					case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1):
					{
					}
					break;
					case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0):
					{
						result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
					}
					break;
					}
					{
						if (!((*it_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA81_;
						exhaustive_2 = NIM_TRUE;
					}
					LA81_: ;
					i_6 += ((NI) 1);
				} LA74: ;
			}
		}
		{
			if (!!(exhaustive_2)) goto LA85_;
			result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
		}
		LA85_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
	{
		result = allPathsAsgnResult_cgen_25764((*n)._kind_6.sons->data[((NI) 0)]);
		{
			if (!(result == ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0))) goto LA90_;
			result = allPathsAsgnResult_cgen_25764((*n)._kind_6.sons->data[((NI) 1)]);
			{
				if (!(result == ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1))) goto LA94_;
				result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
			}
			LA94_: ;
		}
		LA90_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	{
		result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
	{
		result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		{
			if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11))) goto LA101_;
			result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
		}
		LA101_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
	{
		tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg aX60gensym5950_;
		result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1);
		aX60gensym5950_ = allPathsAsgnResult_cgen_25764((*n)._kind_6.sons->data[((NI) 0)]);
		switch (aX60gensym5950_) {
		case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2):
		{
			result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
			goto BeforeRet_;
		}
		break;
		case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1):
		{
		}
		break;
		case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0):
		{
			result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
		}
		break;
		}
		{
			NI i_7;
			NI colontmp__4;
			NI i_8;
			i_7 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = len_ast_3197(n);
			i_8 = ((NI) 1);
			{
				while (1) {
					if (!(i_8 < colontmp__4)) goto LA109;
					i_7 = i_8;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T114_;
						if (!((*(*n)._kind_6.sons->data[i_7]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA112_;
						T114_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T114_ = lastSon_ast_4831((*n)._kind_6.sons->data[i_7]);
						result = allPathsAsgnResult_cgen_25764(T114_);
					}
					goto LA110_;
					LA112_: ;
					{
						tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg aX60gensym5954_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T116_;
						T116_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T116_ = lastSon_ast_4831((*n)._kind_6.sons->data[i_7]);
						aX60gensym5954_ = allPathsAsgnResult_cgen_25764(T116_);
						switch (aX60gensym5954_) {
						case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2):
						{
							result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
							goto BeforeRet_;
						}
						break;
						case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1):
						{
						}
						break;
						case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0):
						{
							result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
						}
						break;
						}
					}
					LA110_: ;
					i_8 += ((NI) 1);
				} LA109: ;
			}
		}
	}
	break;
	default:
	{
		{
			NI i_9;
			NI colontmp__5;
			NI i_10;
			i_9 = (NI)0;
			colontmp__5 = (NI)0;
			colontmp__5 = safeLen_ast_3190(n);
			i_10 = ((NI) 0);
			{
				while (1) {
					tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg aX60gensym5956_;
					if (!(i_10 < colontmp__5)) goto LA123;
					i_9 = i_10;
					aX60gensym5956_ = allPathsAsgnResult_cgen_25764((*n)._kind_6.sons->data[i_9]);
					switch (aX60gensym5956_) {
					case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2):
					{
						result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 2);
						goto BeforeRet_;
					}
					break;
					case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1):
					{
					}
					break;
					case ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0):
					{
						result = ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 0);
					}
					break;
					}
					i_10 += ((NI) 1);
				} LA123: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, specializeResetN_cgen_10571)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
{	{
		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA8;
					i = i_2;
					specializeResetN_cgen_10571(p, accessor, (*n)._kind_6.sons->data[i], typ);
					i_2 += ((NI) 1);
				} LA8: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T23_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T24_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T44_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T45_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T48_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T50_;
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_378), TM__MQdRN7fpbG7rPm4JpVVAhA_379);
		}
		LA12_: ;
		disc = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		{
			if (!((*disc).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA16_;
			fillObjectFields_cgen_3769((*p).module, typ);
		}
		LA16_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
			T20_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T20_ = t_cgen_79((*disc).loc);
			if (!(T20_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA21_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_381), TM__MQdRN7fpbG7rPm4JpVVAhA_382);
		}
		LA21_: ;
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T23_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T24_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T24_[0] = accessor;
		T24_[1] = (*disc).loc.r;
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = percent__cgen_7386(T24_, 2);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = indentLine_cgen_272(p, T25_);
		add_ropes_159(T23_, T26_);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len_ast_3197(n);
			i_4 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T39_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T40_;
					tyArray__qTjAvTvKF9anytN1At69aJMQ T41_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
					if (!(i_4 < colontmp__2)) goto LA29;
					i_3 = i_4;
					branch = (*n)._kind_6.sons->data[i_3];
					{
						if (!((*branch).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA32_;
						genCaseRange_cgen_7344(p, branch);
					}
					goto LA30_;
					LA32_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T35_;
						tyArray__qTjAvTvKF9anytN1At69aJMQ T36_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
						T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T35_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T36_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T37_ = percent__cgen_7412(T36_, 0);
						T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T38_ = indentLine_cgen_272(p, T37_);
						add_ropes_159(T35_, T38_);
					}
					LA30_: ;
					T39_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T39_ = lastSon_ast_4831(branch);
					specializeResetN_cgen_10571(p, accessor, T39_, typ);
					T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T40_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T41_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T42_ = percent__cgen_7420(T41_, 0);
					T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T43_ = indentLine_cgen_272(p, T42_);
					add_ropes_159(T40_, T43_);
					i_4 += ((NI) 1);
				} LA29: ;
			}
		}
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T44_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T45_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T46_ = percent__cgen_7425(T45_, 0);
		T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T47_ = indentLine_cgen_272(p, T46_);
		add_ropes_159(T44_, T47_);
		nimZeroMem((void*)T48_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T48_[0] = accessor;
		T48_[1] = (*disc).loc.r;
		T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T49_ = percent__cgen_7443(T48_, 2);
		T50_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T50_ = t_cgen_79((*disc).loc);
		specializeResetT_cgen_10567(p, T49_, T50_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T65_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T67_;
		field = (*n)._kind_4.sym;
		{
			if (!((*(*field).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA54_;
			goto BeforeRet_;
		}
		LA54_: ;
		{
			if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA58_;
			fillObjectFields_cgen_3769((*p).module, typ);
		}
		LA58_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T62_;
			T62_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T62_ = t_cgen_79((*field).loc);
			if (!(T62_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA63_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_381), TM__MQdRN7fpbG7rPm4JpVVAhA_383);
		}
		LA63_: ;
		nimZeroMem((void*)T65_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T65_[0] = accessor;
		T65_[1] = (*field).loc.r;
		T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T66_ = percent__cgen_7443(T65_, 2);
		T67_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T67_ = t_cgen_79((*field).loc);
		specializeResetT_cgen_10567(p, T66_, T67_);
	}
	break;
	default:
	{
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_381), TM__MQdRN7fpbG7rPm4JpVVAhA_384);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, specializeResetT_cgen_10567)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* accessor, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
{	{
		if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
		T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T6_ = lastSon_ast_3742(typ);
		specializeResetT_cgen_10567(p, accessor, T6_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA arraySize;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA i;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T9_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T17_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		arraySize = lengthOrd_types_1661((*(*(*p).module).g).config, (*typ).sons->data[((NI) 0)]);
		nimZeroMem((void*)(&i), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		T8_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T8_ = getSysType_magicsys_60((*(*(*p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
		getTemp_cgen_7347(p, T8_, (&i), NIM_FALSE);
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T9_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_170));
		cgFormatValue_cgen_141((&res), i.r);
		res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_171));
		cgFormatValue_cgen_141((&res), i.r);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
		cgFormatValue_cgen_151((&res), arraySize);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		cgFormatValue_cgen_141((&res), i.r);
		res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_174));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA12_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA12_: ;
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = rope_ropes_109(res);
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = indentLine_cgen_272(p, T14_);
		add_ropes_159(T9_, T15_);
		res_2 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_2), accessor);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
		cgFormatValue_cgen_141((&res_2), i.r);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = rope_ropes_109(res_2);
		specializeResetT_cgen_10567(p, T16_, (*typ).sons->data[((NI) 1)]);
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T17_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T18_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = percent__cgen_7509(T18_, 0);
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = indentLine_cgen_272(p, T19_);
		add_ropes_159(T17_, T20_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	{
		{
			NI i_2;
			NI colontmp_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_4001(typ);
			i_3 = ((NI) 0);
			{
				while (1) {
					tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
					if (!(i_3 < colontmp_)) goto LA24;
					i_2 = i_3;
					x = (*typ).sons->data[i_2];
					{
						if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA27_;
						x = skipTypes_ast_3734(x, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
					}
					LA27_: ;
					T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T29_ = parentObj_cgen_7448(accessor, (*p).module);
					specializeResetT_cgen_10567(p, T29_, x);
					i_3 += ((NI) 1);
				} LA24: ;
			}
		}
		{
			if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA32_;
			specializeResetN_cgen_10571(p, accessor, (*typ).n, typ);
		}
		LA32_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
		typ_2 = typ;
		{
			NI i_4;
			NI colontmp__2;
			NI i_5;
			i_4 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len_ast_4001(typ_2);
			i_5 = ((NI) 0);
			{
				while (1) {
					NimStringDesc* res_3;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
					if (!(i_5 < colontmp__2)) goto LA37;
					i_4 = i_5;
					res_3 = rawNewString(((NI) 80));
					cgFormatValue_cgen_141((&res_3), accessor);
					res_3 = resizeString(res_3, 6);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_244));
					cgFormatValue_cgen_148((&res_3), ((NI64) (i_4)));
					T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T38_ = rope_ropes_109(res_3);
					specializeResetT_cgen_10567(p, T38_, (*typ_2).sons->data[i_4]);
					i_5 += ((NI) 1);
				} LA37: ;
			}
		}
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T40_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
		T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T40_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_4 = rawNewString(((NI) 80));
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_340));
		cgFormatValue_cgen_141((&res_4), T41_);
		res_4 = resizeString(res_4, 10);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_385));
		cgFormatValue_cgen_141((&res_4), accessor);
		res_4 = resizeString(res_4, 11);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_386));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA44_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA44_: ;
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T46_ = rope_ropes_109(res_4);
		T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T47_ = indentLine_cgen_272(p, T46_);
		add_ropes_159(T40_, T47_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T53_;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T61_;
			NimStringDesc* res_6;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
			if (!((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA51_;
			T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T53_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_5 = rawNewString(((NI) 80));
			T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T54_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_340));
			cgFormatValue_cgen_141((&res_5), T54_);
			res_5 = resizeString(res_5, 10);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_385));
			cgFormatValue_cgen_141((&res_5), accessor);
			res_5 = resizeString(res_5, 17);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_387));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA57_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA57_: ;
			T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T59_ = rope_ropes_109(res_5);
			T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T60_ = indentLine_cgen_272(p, T59_);
			add_ropes_159(T53_, T60_);
			T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T61_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_6 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_6), accessor);
			res_6 = resizeString(res_6, 17);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_388));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA64_;
				res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA64_: ;
			T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T66_ = rope_ropes_109(res_6);
			T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T67_ = indentLine_cgen_272(p, T66_);
			add_ropes_159(T61_, T67_);
		}
		goto LA49_;
		LA51_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T69_;
			NimStringDesc* res_7;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
			T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T69_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_7 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_7), accessor);
			res_7 = resizeString(res_7, 11);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_389));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA72_;
				res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA72_: ;
			T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T74_ = rope_ropes_109(res_7);
			T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T75_ = indentLine_cgen_272(p, T74_);
			add_ropes_159(T69_, T75_);
		}
		LA49_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T77_;
		NimStringDesc* res_8;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
		T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T77_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_8 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_8), accessor);
		res_8 = resizeString(res_8, 5);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_377));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA80_;
			res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA80_: ;
		T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T82_ = rope_ropes_109(res_8);
		T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T83_ = indentLine_cgen_272(p, T82_);
		add_ropes_159(T77_, T83_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T85_;
		NimStringDesc* res_9;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
		T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T85_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_9 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_9), accessor);
		res_9 = resizeString(res_9, 11);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_389));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA88_;
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA88_: ;
		T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T90_ = rope_ropes_109(res_9);
		T91_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T91_ = indentLine_cgen_272(p, T90_);
		add_ropes_159(T85_, T91_);
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, specializeReset_cgen_10825)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rdLoc_cgen_417(a);
	T2_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T2_ = t_cgen_79(a);
	specializeResetT_cgen_10567(p, T1_, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, resetLoc_cgen_10828)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* loc) {
	NIM_BOOL containsGcRef;
	NIM_BOOL T1_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
{	T1_ = (NIM_BOOL)0;
	T1_ = !((((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0));
	if (!(T1_)) goto LA2_;
	T3_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T3_ = t_cgen_79((*loc));
	T1_ = containsGarbageCollectedRef_types_612(T3_);
	LA2_: ;
	containsGcRef = T1_;
	T4_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T4_ = t_cgen_79((*loc));
	typ = skipTypes_ast_3734(T4_, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = isImportedCppType_cgen_1286(typ);
		if (!T7_) goto LA8_;
		goto BeforeRet_;
	}
	LA8_: ;
	{
		NIM_BOOL T12_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* atyp;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
		T12_ = (NIM_BOOL)0;
		T12_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
		if (!(T12_)) goto LA13_;
		T12_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
		LA13_: ;
		if (!T12_) goto LA14_;
		T16_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T16_ = t_cgen_79((*loc));
		atyp = skipTypes_ast_3734(T16_, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T21_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			if (!((*atyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*atyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA19_;
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T21_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T22_ = rdLoc_cgen_417((*loc));
			cgFormatValue_cgen_141((&res), T22_);
			res = resizeString(res, 11);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_375));
			T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T23_ = rdLoc_cgen_417((*loc));
			cgFormatValue_cgen_141((&res), T23_);
			res = resizeString(res, 14);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_376));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA26_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA26_: ;
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T28_ = rope_ropes_109(res);
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = indentLine_cgen_272(p, T28_);
			add_ropes_159(T21_, T29_);
		}
		goto LA17_;
		LA19_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T31_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T31_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T32_ = rdLoc_cgen_417((*loc));
			cgFormatValue_cgen_141((&res_2), T32_);
			res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_95));
			T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T33_ = rdLoc_cgen_417((*loc));
			cgFormatValue_cgen_141((&res_2), T33_);
			res_2 = resizeString(res_2, 13);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_96));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA36_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA36_: ;
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = rope_ropes_109(res_2);
			T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = indentLine_cgen_272(p, T38_);
			add_ropes_159(T31_, T39_);
		}
		LA17_: ;
	}
	goto LA10_;
	LA14_: ;
	{
		NIM_BOOL T41_;
		T41_ = (NIM_BOOL)0;
		T41_ = isComplexValueType_cgen_10547(typ);
		if (!!(T41_)) goto LA42_;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA nilLoc;
			if (!containsGcRef) goto LA46_;
			nimZeroMem((void*)(&nilLoc), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLoc_cgen_60((&nilLoc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1), (*loc).lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
			nilLoc.r = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_123));
			genRefAssign_cgen_10543(p, (*loc), nilLoc);
		}
		goto LA44_;
		LA46_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T49_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
			T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T49_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T50_ = rdLoc_cgen_417((*loc));
			cgFormatValue_cgen_141((&res_3), T50_);
			res_3 = resizeString(res_3, 5);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_377));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA53_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA53_: ;
			T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T55_ = rope_ropes_109(res_3);
			T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T56_ = indentLine_cgen_272(p, T55_);
			add_ropes_159(T49_, T56_);
		}
		LA44_: ;
	}
	goto LA10_;
	LA42_: ;
	{
		{
			NIM_BOOL T60_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T64_;
			T60_ = (NIM_BOOL)0;
			T60_ = !(((*loc).storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2)));
			if (!(T60_)) goto LA61_;
			T60_ = containsGcRef;
			LA61_: ;
			if (!T60_) goto LA62_;
			specializeReset_cgen_10825(p, (*loc));
			T64_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T64_ = t_cgen_79((*loc));
			genObjectInit_cgen_10384(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2), T64_, loc, ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 0));
		}
		goto LA58_;
		LA62_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T66_;
			NimStringDesc* res_4;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T69_;
			tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T70_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T76_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
			T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T66_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_4 = rawNewString(((NI) 80));
			T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T67_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_100));
			cgFormatValue_cgen_141((&res_4), T67_);
			res_4 = resizeString(res_4, 8);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T68_ = addrLoc_cgen_10307((*(*(*p).module).g).config, (*loc));
			cgFormatValue_cgen_141((&res_4), T68_);
			res_4 = resizeString(res_4, 9);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
			T69_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T69_ = t_cgen_79((*loc));
			T70_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
			{
				if (!((*(*loc).lode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA73_;
				T70_ = (*(*(*loc).lode)._kind_4.sym).kind;
			}
			goto LA71_;
			LA73_: ;
			{
				T70_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
			}
			LA71_: ;
			T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T76_ = getTypeDesc_cgen_6635((*p).module, T69_, T70_);
			cgFormatValue_cgen_141((&res_4), T76_);
			res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA79_;
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA79_: ;
			T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T81_ = rope_ropes_109(res_4);
			T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T82_ = indentLine_cgen_272(p, T81_);
			add_ropes_159(T66_, T82_);
			T83_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T83_ = t_cgen_79((*loc));
			genObjectInit_cgen_10384(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2), T83_, loc, ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 0));
		}
		LA58_: ;
	}
	LA10_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, closureSetup_cgen_25633)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ls;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* env;
{	{
		if (!!((((*(*prc).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 12))&63U)))!=0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	ls = lastSon_ast_4831((*(*prc).ast)._kind_6.sons->data[((NI) 3)]);
	{
		if (!!(((*ls).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA7_;
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*prc).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_390), TM__MQdRN7fpbG7rPm4JpVVAhA_391);
	}
	LA7_: ;
	env = (*ls)._kind_4.sym;
	assignLocalVar_cgen_11094(p, ls);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T13_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		if (!((*(*(*(*p).module).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 10))) goto LA11_;
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T13_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_340));
		cgFormatValue_cgen_141((&res), T14_);
		res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_339));
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = addrLoc_cgen_10307((*(*(*p).module).g).config, (*env).loc);
		cgFormatValue_cgen_141((&res), T15_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_392));
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = getTypeDesc_cgen_6635((*p).module, (*env).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T16_);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_393));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA19_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA19_: ;
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = rope_ropes_109(res);
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = indentLine_cgen_272(p, T21_);
		add_ropes_159(T13_, T22_);
	}
	goto LA9_;
	LA11_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T24_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T24_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = rdLoc_cgen_417((*env).loc);
		cgFormatValue_cgen_141((&res_2), T25_);
		res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_98));
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = getTypeDesc_cgen_6635((*p).module, (*env).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res_2), T26_);
		res_2 = resizeString(res_2, 8);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_394));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA29_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA29_: ;
		T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = rope_ropes_109(res_2);
		T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = indentLine_cgen_272(p, T31_);
		add_ropes_159(T24_, T32_);
	}
	LA9_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genProcBody_cgen_25917)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procBody) {
	genStmts_cgen_11452(p, procBody);
	{
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		if (!((48 & (*p).flags) == 16)) goto LA3_;
		(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 5)) & 7);
		res = rawNewString(((NI) 80));
		res = resizeString(res, 18);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_395));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA7_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA7_: ;
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = rope_ropes_109(res);
		add_ropes_159(&(*p).blocks->data[((NI) 0)].sections[(((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0))- 0], T9_);
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_396));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_397));
		cgFormatValue_cgen_141((&res_2), T10_);
		res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA13_: ;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rope_ropes_109(res_2);
		add_ropes_159(&(*p).blocks->data[((NI) 0)].sections[(((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1))- 0], T15_);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_338)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_399), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genCLineDir_cgen_326)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** r, NimStringDesc* filename, NI line, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	{
		NIM_BOOL T3_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
		NimStringDesc* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0);
		if (!(T3_)) goto LA4_;
		T3_ = (((NI) 0) < line);
		LA4_: ;
		if (!T3_) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T8_ = (NimStringDesc*)0;
		T8_ = makeSingleLineCString_ccgutils_108(filename);
		T7_[0] = rope_ropes_109(T8_);
		T7_[1] = rope_ropes_115(((NI64) (line)));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__cgen_338(T7_, 2);
		add_ropes_159(r, T9_);
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCLineDir_cgen_343)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** r, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NimStringDesc* T1_;
	NI T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = toFullPath_msgs_538(conf, info.fileIndex);
	T2_ = (NI)0;
	T2_ = safeLineNm_cgen_323(info);
	genCLineDir_cgen_326(r, T1_, T2_, conf);
}
static N_INLINE(NIM_BOOL, isNoReturn_cgen_25969)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0);
	if (!(T1_)) goto LA2_;
	T1_ = !(((*(*(*m).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3)));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, initFrame_cgen_17448)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* procname, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* filename) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	NimStringDesc* res_2;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NI T3_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T3_ = (NI)0;
		T3_ = len_ropes_10((*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 2))- 0]);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		res = rawNewString(((NI) 80));
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
		cgFormatValue_cgen_145((&res), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_404));
		res = resizeString(res, 125);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_405));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_406));
		cgFormatValue_cgen_141((&res), T6_);
		res = resizeString(res, 11);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_407));
		cgFormatValue_cgen_145((&res), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_404));
		res = resizeString(res, 232);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_408));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_406));
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 20);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_409));
		cgFormatValue_cgen_145((&res), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_404));
		res = resizeString(res, 70);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_410));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rope_ropes_109(res);
		add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 2))- 0], T8_);
	}
	LA4_: ;
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_406));
	(void)(T9_);
	res_2 = rawNewString(((NI) 80));
	res_2 = resizeString(res_2, 8);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_411));
	cgFormatValue_cgen_141((&res_2), procname);
	res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
	cgFormatValue_cgen_141((&res_2), filename);
	res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA12_;
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA12_: ;
	result = rope_ropes_109(res_2);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26172)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_413), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, deinitFrame_cgen_17518)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	res = rawNewString(((NI) 80));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_414));
	cgFormatValue_cgen_141((&res), T1_);
	res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA4_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA4_: ;
	result = rope_ropes_109(res);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26181)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_415), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26186)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_416), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25912)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_417), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getProcTypeCast_cgen_25901)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79((*prc).loc);
	result = getTypeDesc_cgen_6635(m, T1_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* rettype;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* params;
		tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T6_;
		if (!((*(*prc).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA4_;
		rettype = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		params = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
		initIntSet_pureZcollectionsZintsets_238((&check));
		genProcParams_cgen_3472(m, (*prc).typ, &rettype, &params, (&check), NIM_TRUE, NIM_FALSE);
		nimZeroMem((void*)T6_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T6_[0] = rettype;
		T6_[1] = params;
		result = percent__cgen_25912(T6_, 2);
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genProcAux_cgen_25981)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
	tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* header;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* returnStmt;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procBody;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* generatedProc;
	p = newProc_cgendata_278(prc, m);
	header = genProcHeader_cgen_606(m, prc, NIM_FALSE);
	returnStmt = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	procBody = transformBody_transf_16((*(*m).g).graph, (*m).Sup.idgen, prc, NIM_FALSE);
	{
		if (!(((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 42))&63U)))!=0)) goto LA3_;
		procBody = injectDestructorCalls_injectdestructors_10100((*(*m).g).graph, (*m).Sup.idgen, prc, procBody);
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resNode;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res;
		T7_ = (NIM_BOOL)0;
		T7_ = !((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0));
		if (!(T7_)) goto LA8_;
		T7_ = !(((*(*prc).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
		LA8_: ;
		if (!T7_) goto LA9_;
		{
			NI T13_;
			T13_ = (NI)0;
			T13_ = len_ast_3197((*prc).ast);
			if (!(T13_ <= ((NI) 7))) goto LA14_;
			internalErrorImpl_msgs_1431((*(*m).g).config, (*prc).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_84), TM__MQdRN7fpbG7rPm4JpVVAhA_85);
		}
		LA14_: ;
		resNode = (*(*prc).ast)._kind_6.sons->data[((NI) 7)];
		res = (*resNode)._kind_4.sym;
		{
			NIM_BOOL T18_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
			T18_ = (NIM_BOOL)0;
			T18_ = isInvalidReturnType_cgen_1327((*(*m).g).config, (*(*prc).typ).sons->data[((NI) 0)]);
			if (!!(T18_)) goto LA19_;
			{
				if (!(((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA23_;
				(*res).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14)) & 63);
			}
			LA23_: ;
			{
				NIM_BOOL T27_;
				NIM_BOOL T28_;
				NIM_BOOL T30_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* decl;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T35_;
				NimStringDesc* res_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
				T27_ = (NIM_BOOL)0;
				T28_ = (NIM_BOOL)0;
				T28_ = (((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0);
				if (!(T28_)) goto LA29_;
				T30_ = (NIM_BOOL)0;
				T30_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
				if (T30_) goto LA31_;
				T30_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
				LA31_: ;
				T28_ = T30_;
				LA29_: ;
				T27_ = T28_;
				if (!(T27_)) goto LA32_;
				val = easyResultAsgn_cgen_25709(procBody);
				T27_ = !((val == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
				LA32_: ;
				if (!T27_) goto LA33_;
				decl = localVarDecl_cgen_11054(p, resNode);
				nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExprSingleUse_cgen_11482(p, val, (&a));
				T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T35_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_2 = rawNewString(((NI) 80));
				cgFormatValue_cgen_141((&res_2), decl);
				res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
				T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T36_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res_2), T36_);
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA39_;
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA39_: ;
				T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T41_ = rope_ropes_109(res_2);
				T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T42_ = indentLine_cgen_272(p, T41_);
				add_ropes_159(T35_, T42_);
			}
			goto LA25_;
			LA33_: ;
			{
				assignLocalVar_cgen_11094(p, resNode);
				initLocalVar_cgen_10982(p, res, NIM_FALSE);
			}
			LA25_: ;
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 8);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_372));
			T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T44_ = rdLoc_cgen_417((*res).loc);
			cgFormatValue_cgen_141((&res_3), T44_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA47_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA47_: ;
			returnStmt = rope_ropes_109(res_3);
		}
		goto LA16_;
		LA19_: ;
		{
			fillResult_cgen_1760((*(*(*p).module).g).config, resNode);
			assignParam_cgen_11412(p, res, (*(*prc).typ).sons->data[((NI) 0)]);
			{
				if (!(((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA52_;
			}
			goto LA50_;
			LA52_: ;
			{
				tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg T55_;
				T55_ = (tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg)0;
				T55_ = allPathsAsgnResult_cgen_25764(procBody);
				if (!(T55_ == ((tyEnum_InitResultEnum__9c9csRan2YP9boKbiUR9cP6PNg) 1))) goto LA56_;
			}
			goto LA50_;
			LA56_: ;
			{
				resetLoc_cgen_10828(p, (&(*res).loc));
			}
			LA50_: ;
			{
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T61_;
				T61_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T61_ = skipTypes_ast_3734((*res).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
				if (!((*T61_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA62_;
				(*res).loc.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0);
			}
			LA62_: ;
		}
		LA16_: ;
	}
	LA9_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197((*(*prc).typ).n);
		i_2 = ((NI) 1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA66;
				i = i_2;
				{
					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
					param = (*(*(*(*prc).typ).n)._kind_6.sons->data[i])._kind_4.sym;
					{
						NIM_BOOL T70_;
						T70_ = (NIM_BOOL)0;
						T70_ = isCompileTimeOnly_types_3525((*param).typ);
						if (!T70_) goto LA71_;
						goto LA67;
					}
					LA71_: ;
					assignParam_cgen_11412(p, param, (*(*prc).typ).sons->data[((NI) 0)]);
				} LA67: ;
				i_2 += ((NI) 1);
			} LA66: ;
		}
	}
	closureSetup_cgen_25633(p, prc);
	genProcBody_cgen_25917(p, procBody);
	generatedProc = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	genCLineDir_cgen_343(&generatedProc, (*prc).info, (*(*m).g).config);
	{
		NIM_BOOL T75_;
		T75_ = (NIM_BOOL)0;
		T75_ = isNoReturn_cgen_25969((*p).module, prc);
		if (!T75_) goto LA76_;
		{
			if (!((CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 6))&7U)))!=0)) goto LA80_;
			header = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_400), header);
		}
		LA80_: ;
	}
	LA76_: ;
	{
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T94_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T95_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T96_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T97_;
		if (!(((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA84_;
		{
			if (!((CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 6))&7U)))!=0)) goto LA88_;
			header = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_401), header);
		}
		LA88_: ;
		res_4 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_4), header);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA92_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA92_: ;
		T94_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T94_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		cgFormatValue_cgen_141((&res_4), (*T94_));
		T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T95_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
		cgFormatValue_cgen_141((&res_4), (*T95_));
		T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T96_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		cgFormatValue_cgen_141((&res_4), (*T96_));
		res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_403));
		T97_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T97_ = rope_ropes_109(res_4);
		add_ropes_159(&generatedProc, T97_);
	}
	goto LA82_;
	LA84_: ;
	{
		NimStringDesc* res_5;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T111_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T136_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T137_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T149_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T150_;
		{
			NIM_BOOL T101_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T105_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T106_;
			T101_ = (NIM_BOOL)0;
			T101_ = hcrOn_cgen_42(m);
			if (!(T101_)) goto LA102_;
			T101_ = isReloadable_cgen_6710(m, prc);
			LA102_: ;
			if (!T101_) goto LA103_;
			nimZeroMem((void*)T105_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T105_[0] = header;
			T106_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T106_ = percent__cgen_7726(T105_, 1);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 8))- 0], T106_);
		}
		LA103_: ;
		res_5 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_5), header);
		res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA109_;
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA109_: ;
		T111_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T111_ = rope_ropes_109(res_5);
		add_ropes_159(&generatedProc, T111_);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T116_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* procname;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T117_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T118_;
			if (!(((*prc).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0)) goto LA114_;
			T116_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T116_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
			add_ropes_159(&generatedProc, (*T116_));
			procname = makeCString_msgs_50((*(*prc).name).s);
			T117_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T117_ = quotedFilename_msgs_1464((*(*(*p).module).g).config, (*prc).info);
			T118_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T118_ = initFrame_cgen_17448(p, procname, T117_);
			add_ropes_159(&generatedProc, T118_);
		}
		goto LA112_;
		LA114_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T120_;
			T120_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T120_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
			add_ropes_159(&generatedProc, (*T120_));
		}
		LA112_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T125_;
			NimStringDesc* res_6;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T126_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T131_;
			if (!(((*prc).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 21))&31U)))!=0)) goto LA123_;
			T125_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T125_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
			res_6 = rawNewString(((NI) 80));
			res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
			T126_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T126_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_412));
			cgFormatValue_cgen_141((&res_6), T126_);
			res_6 = resizeString(res_6, 3);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA129_;
				res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA129_: ;
			T131_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T131_ = rope_ropes_109(res_6);
			add_ropes_159(T125_, T131_);
		}
		LA123_: ;
		{
			if (!(((*p).flags &((NU8)1<<((NU)(((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 0))&7U)))!=0)) goto LA134_;
			add_ropes_162(&generatedProc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		}
		LA134_: ;
		T136_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T136_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
		add_ropes_159(&generatedProc, (*T136_));
		T137_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T137_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		add_ropes_159(&generatedProc, (*T137_));
		{
			tyArray__qTjAvTvKF9anytN1At69aJMQ T142_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T143_;
			if (!(((*p).flags &((NU8)1<<((NU)(((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 0))&7U)))!=0)) goto LA140_;
			nimZeroMem((void*)T142_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T143_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T143_ = percent__cgen_26172(T142_, 0);
			add_ropes_159(&generatedProc, T143_);
		}
		LA140_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T148_;
			if (!(((*prc).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0)) goto LA146_;
			T148_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T148_ = deinitFrame_cgen_17518(p);
			add_ropes_159(&generatedProc, T148_);
		}
		LA146_: ;
		add_ropes_159(&generatedProc, returnStmt);
		nimZeroMem((void*)T149_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T150_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T150_ = percent__cgen_26181(T149_, 0);
		add_ropes_159(&generatedProc, T150_);
	}
	LA82_: ;
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], generatedProc);
	{
		NIM_BOOL T153_;
		tyArray__f7nG5LD47BH5K9c6mASit3g T156_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T157_;
		T153_ = (NIM_BOOL)0;
		T153_ = isReloadable_cgen_6710(m, prc);
		if (!T153_) goto LA154_;
		nimZeroMem((void*)T156_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
		T156_[0] = (*prc).loc.r;
		T156_[1] = amp__ropes_140((*prc).loc.r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_70));
		T156_[2] = getProcTypeCast_cgen_25901(m, prc);
		T156_[3] = getModuleDllPath_cgen_136(m, prc);
		T157_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T157_ = percent__cgen_26186(T156_, 4);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T157_);
	}
	LA154_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGetProcAddr_cgen_25333)(tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* lib) {
	NIM_BOOL result;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	result = (NIM_BOOL)0;
	n = (*lib).path;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
	if (!(T2_)) goto LA3_;
	T2_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
	LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25367)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_418), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, loadDynamicLib_cgen_25349)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* lib) {
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		if (!!((*lib).generated)) goto LA3_;
		(*lib).generated = NIM_TRUE;
		tmp = getTempName_cgen_410(m);
		asgnRef((void**) (&(*lib).name), tmp);
		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = tmp;
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = percent__cgen_25367(T5_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T6_);
		{
			tySequence__sM4lkSb7zS6F7OVMvW9cffQ* s;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* loadlib;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
			if (!((*(*lib).path).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*lib).path).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA9_;
			s = NIM_NIL;
			libCandidates_pureZdynlib_37((*(*lib).path)._kind_3.strVal, (&s));
			liMessage_msgs_1118((*(*m).g).config, unknownLineInfo_lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 91), (*(*lib).path)._kind_3.strVal, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__MQdRN7fpbG7rPm4JpVVAhA_419, NIM_FALSE);
			loadlib = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
			{
				NI i;
				NI colontmp_;
				NI T12_;
				NI res;
				i = (NI)0;
				colontmp_ = (NI)0;
				T12_ = ((s ? s->Sup.len : 0)-1);
				colontmp_ = T12_;
				res = ((NI) 0);
				{
					while (1) {
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
						NimStringDesc* res_2;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
						if (!(res <= colontmp_)) goto LA14;
						i = res;
						(*m).labels += ((NI) 1);
						{
							if (!(((NI) 0) < i)) goto LA17_;
							add_ropes_162(&loadlib, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_420));
						}
						LA17_: ;
						n = newStrNode_ast_3812(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), s->data[i]);
						(*n).info = (*(*lib).path).info;
						res_2 = rawNewString(((NI) 80));
						res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
						cgFormatValue_cgen_141((&res_2), tmp);
						res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
						T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T19_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_421));
						cgFormatValue_cgen_141((&res_2), T19_);
						res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
						T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T20_ = genStringLiteral_cgen_600(m, n);
						cgFormatValue_cgen_141((&res_2), T20_);
						res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_422));
						{
							if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA23_;
							res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA23_: ;
						T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T25_ = rope_ropes_109(res_2);
						add_ropes_159(&loadlib, T25_);
						res += ((NI) 1);
					} LA14: ;
				}
			}
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 6);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_423));
			cgFormatValue_cgen_141((&res_3), loadlib);
			res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_424));
			T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T26_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_425));
			cgFormatValue_cgen_141((&res_3), T26_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T27_ = genStringLiteral_cgen_600(m, (*lib).path);
			cgFormatValue_cgen_141((&res_3), T27_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA30_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA30_: ;
			T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T32_ = rope_ropes_109(res_3);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T32_);
		}
		goto LA7_;
		LA9_: ;
		{
			tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest;
			NimStringDesc* res_4;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T41_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T42_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T43_;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
			p = newProc_cgendata_278(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), m);
			(*p).options &= ~(((NU32)1) << ((((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17)) & 31));
			(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 6)) & 7);
			nimZeroMem((void*)(&dest), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLoc_cgen_60((&dest), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1), (*lib).path, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
			dest.r = getTempName_cgen_410(m);
			res_4 = rawNewString(((NI) 80));
			T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T34_ = getTypeDesc_cgen_6635(m, (*(*lib).path).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
			cgFormatValue_cgen_141((&res_4), T34_);
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
			T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T35_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_4), T35_);
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA38_;
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA38_: ;
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = rope_ropes_109(res_4);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T40_);
			expr_cgen_11455(p, (*lib).path, (&dest));
			T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T41_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], (*T41_));
			T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T42_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], (*T42_));
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T43_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], (*T43_));
			res_5 = rawNewString(((NI) 80));
			res_5 = resizeString(res_5, 6);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_423));
			cgFormatValue_cgen_141((&res_5), tmp);
			res_5 = resizeString(res_5, 3);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T44_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_421));
			cgFormatValue_cgen_141((&res_5), T44_);
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T45_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_5), T45_);
			res_5 = resizeString(res_5, 4);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_426));
			T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T46_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_425));
			cgFormatValue_cgen_141((&res_5), T46_);
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T47_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_5), T47_);
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA50_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA50_: ;
			T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T52_ = rope_ropes_109(res_5);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T52_);
		}
		LA7_: ;
	}
	LA3_: ;
	{
		if (!((*lib).name == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA55_;
		internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_427), TM__MQdRN7fpbG7rPm4JpVVAhA_428);
	}
	LA55_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleDynLibProc_cgen_3773)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 18))&63U)))!=0)) goto LA3_;
		result = rope_ropes_109((*(*sym).name).s);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym5857_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		xX60gensym5857_ = sym;
		T6_ = (NimStringDesc*)0;
		T6_ = dollar__systemZdollars_3((NI)((NI)((NU64)(((NI) ((*xX60gensym5857_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym5857_).Sup.itemId.item))));
		T7_ = (NimStringDesc*)0;
		T7_ = nsuFormatSingleElem(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_429), T6_);
		result = rope_ropes_109(T7_);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25498)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_430), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25539)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_435), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, symInDynamicLib_cgen_25474)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* lib;
	NIM_BOOL isCall;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* extname;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T47_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
	lib = (*sym).annex;
	isCall = isGetProcAddr_cgen_25333(lib);
	extname = (*sym).loc.r;
	{
		if (!!(isCall)) goto LA3_;
		loadDynamicLib_cgen_25349(m, lib);
	}
	LA3_: ;
	tmp = mangleDynLibProc_cgen_3773(sym);
	asgnRef((void**) (&(*sym).loc.r), tmp);
	asgnRef((void**) (&(*(*sym).typ).sym), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	(*m).labels += ((NI) 2);
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* params;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* load;
		tyArray__f7nG5LD47BH5K9c6mASit3g T15_;
		NimStringDesc* T16_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* last;
		NimStringDesc* idx;
		if (!isCall) goto LA7_;
		n = (*lib).path;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478((*m).initProc, (*n)._kind_6.sons->data[((NI) 0)], (&a));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = rdLoc_cgen_417(a);
		params = amp__ropes_140(T9_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		{
			NI i;
			NI colontmp_;
			NI T11_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			T11_ = (NI)0;
			T11_ = len_ast_3197(n);
			colontmp_ = (NI)(T11_ - ((NI) 1));
			i_2 = ((NI) 1);
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
					if (!(i_2 < colontmp_)) goto LA13;
					i = i_2;
					initLocExpr_cgen_11478((*m).initProc, (*n)._kind_6.sons->data[i], (&a));
					T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T14_ = rdLoc_cgen_417(a);
					add_ropes_159(&params, T14_);
					add_ropes_162(&params, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
					i_2 += ((NI) 1);
				} LA13: ;
			}
		}
		nimZeroMem((void*)T15_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
		T15_[0] = tmp;
		T15_[1] = getTypeDesc_cgen_6635(m, (*sym).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T15_[2] = params;
		T16_ = (NimStringDesc*)0;
		T16_ = dollar__ropes_250(extname);
		T15_[3] = makeCString_msgs_50(T16_);
		load = percent__cgen_25498(T15_, 4);
		last = lastSon_ast_4831(n);
		{
			if (!((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA19_;
			last = (*last)._kind_6.sons->data[((NI) 1)];
		}
		LA19_: ;
		{
			NimStringDesc* argX60gensym5862_;
			if (!!(((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)))) goto LA23_;
			argX60gensym5862_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_431);
			internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, argX60gensym5862_, TM__MQdRN7fpbG7rPm4JpVVAhA_431);
		}
		LA23_: ;
		idx = (*last)._kind_3.strVal;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T29_;
			if (!((idx ? idx->Sup.len : 0) == ((NI) 0))) goto LA27_;
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T29_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			add_ropes_159(T29_, load);
		}
		goto LA25_;
		LA27_: ;
		{
			NIM_BOOL T31_;
			T31_ = (NIM_BOOL)0;
			T31_ = ((idx ? idx->Sup.len : 0) == ((NI) 1));
			if (!(T31_)) goto LA32_;
			T31_ = (((NU8)(idx->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(idx->data[((NI) 0)])) <= ((NU8)(57)));
			LA32_: ;
			if (!T31_) goto LA33_;
			add_ropes_159(&(*m).extensionLoaders[(((NU8)(idx->data[((NI) 0)])))- 48], load);
		}
		goto LA25_;
		LA33_: ;
		{
			NimStringDesc* T36_;
			T36_ = (NimStringDesc*)0;
			T36_ = rawNewString((idx ? idx->Sup.len : 0) + 13);
appendString(T36_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_432));
appendString(T36_, idx);
			internalErrorImpl_msgs_1431((*(*m).g).config, (*sym).info, T36_, TM__MQdRN7fpbG7rPm4JpVVAhA_433);
		}
		LA25_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
		NimStringDesc* T40_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
		res = rawNewString(((NI) 80));
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
		cgFormatValue_cgen_141((&res), tmp);
		res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_98));
		T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T38_ = getTypeDesc_cgen_6635(m, (*sym).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		cgFormatValue_cgen_141((&res), T38_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
		T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T39_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_434));
		cgFormatValue_cgen_141((&res), T39_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		cgFormatValue_cgen_141((&res), (*lib).name);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T40_ = (NimStringDesc*)0;
		T40_ = dollar__ropes_250(extname);
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = makeCString_msgs_50(T40_);
		cgFormatValue_cgen_141((&res), T41_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA44_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA44_: ;
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T46_ = rope_ropes_109(res);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T46_);
	}
	LA5_: ;
	nimZeroMem((void*)T47_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T47_[0] = (*sym).loc.r;
	T48_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T48_ = t_cgen_79((*sym).loc);
	T47_[1] = getTypeDesc_cgen_6635(m, T48_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
	T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T49_ = percent__cgen_25539(T47_, 2);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T49_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26407)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_436), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, symInDynamicLibPartial_cgen_25585)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	asgnRef((void**) (&(*sym).loc.r), mangleDynLibProc_cgen_3773(sym));
	asgnRef((void**) (&(*(*sym).typ).sym), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23688)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_437), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genProcNoForward_cgen_26332)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
{	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!(((*prc).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 7))&15U)))!=0)) goto LA3_;
		fillProcLoc_cgen_11423(m, (*(*prc).ast)._kind_6.sons->data[((NI) 0)]);
		useHeader_cgen_105(m, prc);
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = cgsym_cgen_120(m, (*(*prc).name).s);
		(void)(T5_);
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(((*prc).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0)) goto LA8_;
		fillProcLoc_cgen_11423(m, (*(*prc).ast)._kind_6.sons->data[((NI) 0)]);
		genProcPrototype_cgen_11459(m, prc);
	}
	goto LA6_;
	LA8_: ;
	{
		if (!((*(*prc).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5))) goto LA11_;
		{
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6091_;
			NIM_BOOL T15_;
			tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m2;
			xX60gensym6091_ = prc;
			T15_ = (NIM_BOOL)0;
			T15_ = containsOrIncl_astalgo_402((&(*m).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6091_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6091_).Sup.itemId.item))));
			if (!!(T15_)) goto LA16_;
			{
				if (!!(((*(*(*m).g).config).symbolFiles == ((tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ) 0)))) goto LA20_;
				m2 = m;
			}
			goto LA18_;
			LA20_: ;
			{
				m2 = findPendingModule_cgen_55(m, prc);
			}
			LA18_: ;
			fillProcLoc_cgen_11423(m2, (*(*prc).ast)._kind_6.sons->data[((NI) 0)]);
			genProcPrototype_cgen_11459(m, prc);
			genProcAux_cgen_25981(m, prc);
		}
		LA16_: ;
	}
	goto LA6_;
	LA11_: ;
	{
		tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* q;
		if (!(((*prc).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 4))&15U)))!=0)) goto LA24_;
		q = findPendingModule_cgen_55(m, prc);
		fillProcLoc_cgen_11423(q, (*(*prc).ast)._kind_6.sons->data[((NI) 0)]);
		genProcPrototype_cgen_11459(m, prc);
		{
			NIM_BOOL T28_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6098_;
			NIM_BOOL T30_;
			T28_ = (NIM_BOOL)0;
			T28_ = !((q == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)));
			if (!(T28_)) goto LA29_;
			xX60gensym6098_ = prc;
			T30_ = (NIM_BOOL)0;
			T30_ = containsOrIncl_astalgo_402((&(*q).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6098_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6098_).Sup.itemId.item))));
			T28_ = !(T30_);
			LA29_: ;
			if (!T28_) goto LA31_;
			symInDynamicLib_cgen_25474(q, prc);
			{
				NIM_BOOL T35_;
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T38_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T39_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
				T35_ = (NIM_BOOL)0;
				T35_ = isReloadable_cgen_6710(q, prc);
				if (!T35_) goto LA36_;
				nimZeroMem((void*)T38_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T38_[0] = (*prc).loc.r;
				T39_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T39_ = t_cgen_79((*prc).loc);
				T38_[1] = getTypeDesc_cgen_6635(q, T39_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				T38_[2] = getModuleDllPath_cgen_136(m, (*q).module);
				T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T40_ = percent__cgen_26407(T38_, 3);
				add_ropes_159(&(*q).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T40_);
			}
			LA36_: ;
		}
		goto LA26_;
		LA31_: ;
		{
			symInDynamicLibPartial_cgen_25585(m, prc);
		}
		LA26_: ;
	}
	goto LA6_;
	LA24_: ;
	{
		tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* q_2;
		if (!!((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0))) goto LA43_;
		q_2 = findPendingModule_cgen_55(m, prc);
		fillProcLoc_cgen_11423(q_2, (*(*prc).ast)._kind_6.sons->data[((NI) 0)]);
		{
			NIM_BOOL T47_;
			NIM_BOOL T48_;
			NIM_BOOL T49_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6103_;
			NIM_BOOL T51_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6106_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6107_;
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T56_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
			T47_ = (NIM_BOOL)0;
			T48_ = (NIM_BOOL)0;
			T49_ = (NIM_BOOL)0;
			T49_ = isReloadable_cgen_6710(m, prc);
			if (!(T49_)) goto LA50_;
			xX60gensym6103_ = prc;
			T51_ = (NIM_BOOL)0;
			T51_ = contains_astalgo_3496((&(*m).declaredProtos), (NI)((NI)((NU64)(((NI) ((*xX60gensym6103_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6103_).Sup.itemId.item))));
			T49_ = !(T51_);
			LA50_: ;
			T48_ = T49_;
			if (!(T48_)) goto LA52_;
			T48_ = !((q_2 == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)));
			LA52_: ;
			T47_ = T48_;
			if (!(T47_)) goto LA53_;
			xX60gensym6106_ = (*q_2).module;
			xX60gensym6107_ = (*m).module;
			T47_ = !(((NI)((NI)((NU64)(((NI) ((*xX60gensym6106_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6106_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym6107_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6107_).Sup.itemId.item)))));
			LA53_: ;
			if (!T47_) goto LA54_;
			nimZeroMem((void*)T56_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T56_[0] = (*prc).loc.r;
			T56_[1] = getProcTypeCast_cgen_25901(m, prc);
			T56_[2] = getModuleDllPath_cgen_136(m, prc);
			T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T57_ = percent__cgen_23688(T56_, 3);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T57_);
		}
		LA54_: ;
		genProcPrototype_cgen_11459(m, prc);
		{
			NIM_BOOL T60_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6110_;
			NIM_BOOL T62_;
			T60_ = (NIM_BOOL)0;
			T60_ = !((q_2 == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)));
			if (!(T60_)) goto LA61_;
			xX60gensym6110_ = prc;
			T62_ = (NIM_BOOL)0;
			T62_ = containsOrIncl_astalgo_402((&(*q_2).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6110_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6110_).Sup.itemId.item))));
			T60_ = !(T62_);
			LA61_: ;
			if (!T60_) goto LA63_;
			{
				NIM_BOOL T67_;
				T67_ = (NIM_BOOL)0;
				T67_ = isReloadable_cgen_6710(m, prc);
				if (!T67_) goto LA68_;
				genProcPrototype_cgen_11459(q_2, prc);
			}
			LA68_: ;
			genProcAux_cgen_25981(q_2, prc);
		}
		LA63_: ;
	}
	goto LA6_;
	LA43_: ;
	{
		fillProcLoc_cgen_11423(m, (*(*prc).ast)._kind_6.sons->data[((NI) 0)]);
		useHeader_cgen_105(m, prc);
		{
			if (!!((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0))) goto LA73_;
			genProcPrototype_cgen_11459(m, prc);
		}
		LA73_: ;
	}
	LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genProc_cgen_403)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
{	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0);
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = isActivated_cgen_26595(prc);
		T3_ = !(T5_);
		LA4_: ;
		if (!T3_) goto LA6_;
		goto BeforeRet_;
	}
	LA6_: ;
	{
		if (!(((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0)) goto LA10_;
		addForwardedProc_cgen_48(m, prc);
		fillProcLoc_cgen_11423(m, (*(*prc).ast)._kind_6.sons->data[((NI) 0)]);
	}
	goto LA8_;
	LA10_: ;
	{
		genProcNoForward_cgen_26332(m, prc);
		{
			NIM_BOOL T15_;
			NIM_BOOL T16_;
			T15_ = (NIM_BOOL)0;
			T16_ = (NIM_BOOL)0;
			T16_ = ((262272 & (*prc).flags) == 128);
			if (!(T16_)) goto LA17_;
			T16_ = !(((*(*m).g).generatedHeader == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)));
			LA17_: ;
			T15_ = T16_;
			if (!(T15_)) goto LA18_;
			T15_ = !((((*prc).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0));
			LA18_: ;
			if (!T15_) goto LA19_;
			genProcPrototype_cgen_11459((*(*m).g).generatedHeader, prc);
			{
				if (!((*(*prc).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5))) goto LA23_;
				{
					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6125_;
					NIM_BOOL T27_;
					xX60gensym6125_ = prc;
					T27_ = (NIM_BOOL)0;
					T27_ = containsOrIncl_astalgo_402((&(*(*(*m).g).generatedHeader).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6125_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6125_).Sup.itemId.item))));
					if (!!(T27_)) goto LA28_;
					genProcAux_cgen_25981((*(*m).g).generatedHeader, prc);
				}
				LA28_: ;
			}
			LA23_: ;
		}
		LA19_: ;
	}
	LA8_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, treatGlobalDifferentlyForHCR_cgen_11246)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = hcrOn_cgen_42(m);
	if (!(T2_)) goto LA3_;
	T2_ = ((67108872 & (*s).flags) == 8);
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = ((72 & (*s).loc.flags) == 0);
	LA4_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, emulatedThreadVars_cgen_401)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((75497472 & ~ (*conf).globalOptions)==0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11195)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_442), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, declareThreadVar_cgen_11145)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL isExtern) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = emulatedThreadVars_cgen_401((*(*m).g).config);
		if (!T3_) goto LA4_;
		{
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1109_;
			NIM_BOOL T8_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
			NI T12_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T13_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			xX60gensym1109_ = s;
			T8_ = (NIM_BOOL)0;
			T8_ = containsOrIncl_astalgo_402((&(*(*m).g).nimtvDeclared), (NI)((NI)((NU64)(((NI) ((*xX60gensym1109_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1109_).Sup.itemId.item))));
			if (!!(T8_)) goto LA9_;
			T11_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T11_ = t_cgen_79((*s).loc);
			asgnRef((void**) (&(*(*m).g).nimtvDeps), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*(*m).g).nimtvDeps), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
			T12_ = (*(*m).g).nimtvDeps->Sup.len++;
			asgnRef((void**) (&(*(*m).g).nimtvDeps->data[T12_]), T11_);
			nimZeroMem((void*)T13_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T14_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T14_ = t_cgen_79((*s).loc);
			T13_[0] = getTypeDesc_cgen_6635(m, T14_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T13_[1] = (*s).loc.r;
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = percent__cgen_3088(T13_, 2);
			add_ropes_159(&(*(*m).g).nimtv, T15_);
		}
		LA9_: ;
	}
	goto LA1_;
	LA4_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T36_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T38_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
		{
			if (!isExtern) goto LA19_;
			add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_438));
		}
		goto LA17_;
		LA19_: ;
		{
			if (!(((*s).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 5))&15U)))!=0)) goto LA22_;
			add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_439));
		}
		goto LA17_;
		LA22_: ;
		{
			add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_29));
		}
		LA17_: ;
		{
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
			if (!(((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 23))&63U)))!=0)) goto LA27_;
			sym = (*(*s).typ).sym;
			{
				NIM_BOOL T31_;
				T31_ = (NIM_BOOL)0;
				T31_ = !((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
				if (!(T31_)) goto LA32_;
				T31_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 27))&63U)))!=0);
				LA32_: ;
				if (!T31_) goto LA33_;
				add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_440));
			}
			goto LA29_;
			LA33_: ;
			{
				add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_441));
			}
			LA29_: ;
		}
		LA27_: ;
		T36_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T36_ = t_cgen_79((*s).loc);
		T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T37_ = getTypeDesc_cgen_6635(m, T36_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T37_);
		nimZeroMem((void*)T38_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T38_[0] = (*s).loc.r;
		T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T39_ = percent__cgen_11195(T38_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T39_);
	}
	LA1_: ;
}
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, procSec_cgendata_274)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg s) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	result = &(*p).blocks->data[((NI) 0)].sections[(s)- 0];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24237)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_443), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genVarPrototype_cgen_11446)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
{	sym = (*n)._kind_4.sym;
	useHeader_cgen_105(m, sym);
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = mangleName_cgen_620(m, sym);
	fillLoc_cgen_65((&(*sym).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 3), n, T1_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = treatGlobalDifferentlyForHCR_cgen_11246(m, sym);
		if (!T4_) goto LA5_;
		(*sym).loc.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15);
	}
	LA5_: ;
	{
		NIM_BOOL T9_;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6127_;
		T9_ = (NIM_BOOL)0;
		T9_ = (((*sym).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0);
		if (T9_) goto LA10_;
		xX60gensym6127_ = sym;
		T9_ = contains_astalgo_3496((&(*m).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6127_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6127_).Sup.itemId.item))));
		LA10_: ;
		if (!T9_) goto LA11_;
		goto BeforeRet_;
	}
	LA11_: ;
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6129_;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6130_;
		xX60gensym6129_ = (*sym).owner;
		xX60gensym6130_ = (*m).module;
		if (!!(((NI)((NI)((NU64)(((NI) ((*xX60gensym6129_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6129_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym6130_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6130_).Sup.itemId.item)))))) goto LA15_;
		{
			if (!(((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0)) goto LA19_;
			declareThreadVar_cgen_11145(m, sym, NIM_TRUE);
		}
		goto LA17_;
		LA19_: ;
		{
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6135_;
			NimStringDesc* T30_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T60_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
			xX60gensym6135_ = sym;
			incl_pureZcollectionsZintsets_55((&(*m).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6135_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6135_).Sup.itemId.item))));
			{
				NIM_BOOL T24_;
				tyArray__JiWwrsTRC6xqNlGcBthSVA T28_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
				T24_ = (NIM_BOOL)0;
				T24_ = ((2622208 &((NU32)1<<((NU)((*sym).kind)&31U)))!=0);
				if (!(T24_)) goto LA25_;
				T24_ = (((NI) 0) < (*sym)._kind_2.alignment);
				LA25_: ;
				if (!T24_) goto LA26_;
				nimZeroMem((void*)T28_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T28_[0] = rope_ropes_115(((NI64) ((*sym)._kind_2.alignment)));
				T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T29_ = percent__cgen_3721(T28_, 1);
				add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T29_);
			}
			LA26_: ;
			T30_ = (NimStringDesc*)0;
			{
				NIM_BOOL T33_;
				T33_ = (NIM_BOOL)0;
				T33_ = hcrOn_cgen_42(m);
				if (!T33_) goto LA34_;
				T30_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_28));
			}
			goto LA31_;
			LA34_: ;
			{
				T30_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_438));
			}
			LA31_: ;
			add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T30_);
			T37_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T37_ = t_cgen_79((*sym).loc);
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = getTypeDesc_cgen_6635(m, T37_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T38_);
			{
				NIM_BOOL T41_;
				T41_ = (NIM_BOOL)0;
				T41_ = hcrOn_cgen_42(m);
				if (!T41_) goto LA42_;
				add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
			}
			LA42_: ;
			{
				if (!(((*sym).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 4))&15U)))!=0)) goto LA46_;
				add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
			}
			LA46_: ;
			{
				if (!(((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA50_;
				add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_88));
			}
			LA50_: ;
			{
				if (!(((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0)) goto LA54_;
				add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_89));
			}
			LA54_: ;
			{
				if (!(((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 46))&63U)))!=0)) goto LA58_;
				add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_90));
			}
			LA58_: ;
			nimZeroMem((void*)T60_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T60_[0] = (*sym).loc.r;
			T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T61_ = percent__cgen_11195(T60_, 1);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T61_);
			{
				NIM_BOOL T64_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T67_;
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T68_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T69_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
				T64_ = (NIM_BOOL)0;
				T64_ = hcrOn_cgen_42(m);
				if (!T64_) goto LA65_;
				T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T67_ = procSec_cgendata_274((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
				nimZeroMem((void*)T68_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T68_[0] = (*sym).loc.r;
				T69_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T69_ = t_cgen_79((*sym).loc);
				T68_[1] = getTypeDesc_cgen_6635(m, T69_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
				T68_[2] = getModuleDllPath_cgen_136(m, sym);
				T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T70_ = percent__cgen_24237(T68_, 3);
				add_ropes_159(T67_, T70_);
			}
			LA65_: ;
		}
		LA17_: ;
	}
	LA15_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addActualSuffixForHCR_cgen_12284)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** res, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T7_;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1329_;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1330_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = (((*sym).flags & IL64(274877907008)) == 0);
		if (!(T4_)) goto LA5_;
		T4_ = ((*sym).loc.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 7));
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = ((*(*sym).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5));
		if (T7_) goto LA8_;
		xX60gensym1329_ = (*sym).owner;
		xX60gensym1330_ = module;
		T7_ = ((NI)((NI)((NU64)(((NI) ((*xX60gensym1329_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1329_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym1330_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1330_).Sup.itemId.item))));
		LA8_: ;
		T3_ = T7_;
		LA6_: ;
		if (!T3_) goto LA9_;
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_70));
		unsureAsgnRef((void**) (&(*res)), amp__ropes_128((*res), T11_));
	}
	LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, cgsym_cgen_120)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* name) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	sym = getCompilerProc_magicsys_145((*(*m).g).graph, name);
	{
		if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
		switch ((*sym).kind) {
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
		{
			genProc_cgen_403(m, sym);
		}
		break;
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
			T7_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T7_ = newSymNode_ast_3715(sym);
			genVarPrototype_cgen_11446(m, T7_);
		}
		break;
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
			T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T9_ = getTypeDesc_cgen_6635(m, (*sym).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			(void)(T9_);
		}
		break;
		default:
		{
			NimStringDesc* T11_;
			T11_ = (NimStringDesc*)0;
			T11_ = rawNewString((name ? name->Sup.len : 0) + (reprEnum((NI)(*sym).kind, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)) ? reprEnum((NI)(*sym).kind, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))->Sup.len : 0) + 9);
appendString(T11_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_444));
appendString(T11_, name);
appendString(T11_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_445));
appendString(T11_, reprEnum((NI)(*sym).kind, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
			internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, T11_, TM__MQdRN7fpbG7rPm4JpVVAhA_446);
		}
		break;
		}
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T13_;
		T13_ = (NimStringDesc*)0;
		T13_ = rawNewString((name ? name->Sup.len : 0) + 21);
appendString(T13_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_447));
appendString(T13_, name);
		liMessage_msgs_1118((*(*m).g).config, unknownLineInfo_lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__MQdRN7fpbG7rPm4JpVVAhA_448, NIM_FALSE);
	}
	LA1_: ;
	result = (*sym).loc.r;
	{
		NIM_BOOL T16_;
		NIM_BOOL T17_;
		T16_ = (NIM_BOOL)0;
		T17_ = (NIM_BOOL)0;
		T17_ = hcrOn_cgen_42(m);
		if (!(T17_)) goto LA18_;
		T17_ = !((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
		LA18_: ;
		T16_ = T17_;
		if (!(T16_)) goto LA19_;
		T16_ = ((61440 &((NU32)1<<((NU)((*sym).kind)&31U)))!=0);
		LA19_: ;
		if (!T16_) goto LA20_;
		addActualSuffixForHCR_cgen_12284(&result, (*m).module, sym);
	}
	LA20_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getSimpleTypeDesc_cgen_1794)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
	{
		result = typeNameOrLiteral_cgen_1777(m, typ, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_24));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = detectStrVersion_cgen_464(m);
		switch (T3_) {
		case ((NI) 2):
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
			T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T5_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_221));
			(void)(T5_);
			T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T6_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_222));
			(void)(T6_);
			result = typeNameOrLiteral_cgen_1777(m, typ, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_222));
		}
		break;
		default:
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
			T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T8_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_214));
			(void)(T8_);
			result = typeNameOrLiteral_cgen_1777(m, typ, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_449));
		}
		break;
		}
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	{
		result = typeNameOrLiteral_cgen_1777(m, typ, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_450));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		result = typeNameOrLiteral_cgen_1777(m, typ, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_451));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
	{
		result = typeNameOrLiteral_cgen_1777(m, typ, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_452));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
	{
		result = typeNameOrLiteral_cgen_1777(m, typ, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_24));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		result = typeNameOrLiteral_cgen_1777(m, typ, NumericalTypeToStr_cgen_1798[((*typ).kind)- 31]);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
	{
		result = getSimpleTypeDesc_cgen_1794(m, (*typ).sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
	{
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
			if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
			T20_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T20_ = lastSon_ast_3742(typ);
			result = getSimpleTypeDesc_cgen_1794(m, T20_);
		}
		goto LA16_;
		LA18_: ;
		{
			internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_467), TM__MQdRN7fpbG7rPm4JpVVAhA_468);
		}
		LA16_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
		T23_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T23_ = lastSon_ast_3742(typ);
		result = getSimpleTypeDesc_cgen_1794(m, T23_);
	}
	break;
	default:
	{
		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	break;
	}
	{
		NIM_BOOL T27_;
		tyArray__qtqsWM5aXmcpMIVmvq3kAA sig;
		T27_ = (NIM_BOOL)0;
		T27_ = !((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
		if (!(T27_)) goto LA28_;
		T27_ = isImportedType_cgen_1275(typ);
		LA28_: ;
		if (!T27_) goto LA29_;
		nimZeroMem((void*)sig, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
		hashType_sighashes_462(typ, 2, sig);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
			T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T33_ = cacheGetType_cgen_1345((*m).typeCache, sig);
			if (!(T33_ == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA34_;
			X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
		}
		LA34_: ;
	}
	LA29_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypePre_cgen_3053)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyArray__qtqsWM5aXmcpMIVmvq3kAA sig) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_23));
	}
	goto LA1_;
	LA3_: ;
	{
		result = getSimpleTypeDesc_cgen_1794(m, typ);
		{
			if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA8_;
			result = cacheGetType_cgen_1345((*m).typeCache, sig);
		}
		LA8_: ;
	}
	LA1_: ;
	return result;
}
static N_INLINE(void, popSafePoint)(void) {
	excHandler_system_2565 = (*excHandler_system_2565).prev;
}
static N_INLINE(NI, slotsNeeded_pureZcollectionsZsets_49)(NI count) {
	NI result;
	result = (NI)0;
	result = nextPowerOfTwo_pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
	return result;
}
static N_INLINE(NI, rawGet_cgen_4232)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash_modulegraphs_8963(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled_pureZcollectionsZsets_38(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqeq__modulegraphs_8959(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZsets_41(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash_cgen_4494)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
static N_INLINE(NI, rawGetKnownHC_cgen_4937)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled_pureZcollectionsZsets_38(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq__modulegraphs_8959(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZsets_41(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert_cgen_5299)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s, tySequence__WPcy3bORPBFlmk2KIq2pbQ** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc, NI h) {
	{
		NI T3_;
		NI correctSizeX60gensym387_;
		T3_ = ((*data) ? (*data)->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym387_ = slotsNeeded_pureZcollectionsZsets_49(((NI) 64));
		(*s).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*s).data), (tySequence__WPcy3bORPBFlmk2KIq2pbQ*) newSeq((&NTIkeyvaluepairseq__WPcy3bORPBFlmk2KIq2pbQ_), ((NI) (correctSizeX60gensym387_))));
	}
	LA4_: ;
	nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge_cgen_4686)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s) {
	tySequence__WPcy3bORPBFlmk2KIq2pbQ* n;
	NI T1_;
	tySequence__WPcy3bORPBFlmk2KIq2pbQ* T2_;
	n = (tySequence__WPcy3bORPBFlmk2KIq2pbQ*)0;
	T1_ = ((*s).data ? (*s).data->Sup.len : 0);
	n = (tySequence__WPcy3bORPBFlmk2KIq2pbQ*) newSeq((&NTIkeyvaluepairseq__WPcy3bORPBFlmk2KIq2pbQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__WPcy3bORPBFlmk2KIq2pbQ*)0;
	T2_ = (*s).data;
	unsureAsgnRef((void**) (&(*s).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled_pureZcollectionsZsets_38(n->data[i].Field0);
					if (!T9_) goto LA10_;
					T12_ = (NI)0;
					T12_ = rawGetKnownHC_cgen_4937((*s), n->data[i].Field1, n->data[i].Field0);
					j = (NI)(((NI) -1) - T12_);
					rawInsert_cgen_5299(s, (&(*s).data), n->data[i].Field1, n->data[i].Field0, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl_cgen_4144)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	NIM_BOOL result;
	NI hc;
	NI index;
	result = (NIM_BOOL)0;
	{
		NI T3_;
		NI correctSizeX60gensym378_;
		T3_ = ((*s).data ? (*s).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym378_ = slotsNeeded_pureZcollectionsZsets_49(((NI) 64));
		(*s).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*s).data), (tySequence__WPcy3bORPBFlmk2KIq2pbQ*) newSeq((&NTIkeyvaluepairseq__WPcy3bORPBFlmk2KIq2pbQ_), ((NI) (correctSizeX60gensym378_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet_cgen_4232((*s), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		result = NIM_TRUE;
	}
	goto LA6_;
	LA8_: ;
	{
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = mustRehash_cgen_4494((*s));
			if (!T13_) goto LA14_;
			enlarge_cgen_4686(s);
			index = rawGetKnownHC_cgen_4937((*s), key, hc);
		}
		LA14_: ;
		rawInsert_cgen_5299(s, (&(*s).data), key, hc, (NI)(((NI) -1) - index));
		(*s).counter += ((NI) 1);
	}
	LA6_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_1755)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_471), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addAbiCheck_cgen_1744)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name) {
	{
		NIM_BOOL T3_;
		NI64 size;
		NimStringDesc* msg;
		NimStringDesc* msg2;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = isDefined_options_2277((*(*m).g).config, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_469));
		if (!(T3_)) goto LA4_;
		size = getSize_types_3333((*(*m).g).config, t);
		T3_ = !((size == IL64(-3)));
		LA4_: ;
		if (!T3_) goto LA5_;
		msg = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_470));
		addTypeHeader_types_216((&msg), (*(*m).g).config, t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7), NIM_TRUE);
		msg2 = ((NimStringDesc*) NIM_NIL);
		addQuoted_pureZos_449((&msg2), msg);
		nimZeroMem((void*)T7_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T7_[0] = name;
		T7_[1] = rope_ropes_115(size);
		T7_[2] = rope_ropes_109(msg2);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__cgen_1755(T7_, 3);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 7))- 0], T8_);
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_4083)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_473), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getOpenArrayDesc_cgen_4019)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA sig;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)sig, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	hashType_sighashes_462(t, 2, sig);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!(kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3))) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = getTypeDescWeak_cgen_3309(m, (*t).sons->data[((NI) 0)], check, kind);
		result = amp__ropes_140(T5_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
	}
	goto LA1_;
	LA3_: ;
	{
		result = cacheGetType_cgen_1345((*m).typeCache, sig);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* elemType;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA9_;
			result = getTypeName_cgen_1153(m, t, sig);
			X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
			elemType = getTypeDescWeak_cgen_3309(m, (*t).sons->data[((NI) 0)], check, kind);
			nimZeroMem((void*)T11_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T11_[0] = result;
			T11_[1] = elemType;
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = percent__cgen_4083(T11_, 2);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T12_);
		}
		LA9_: ;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5846)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_474), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5851)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_475), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5856)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_476), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_5865)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_477), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6150)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_482), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6204)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_483), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, scanCppGenericSlot_cgen_3959)(NimStringDesc* pat, NI* cursor, NI* outIdx, NI* outStars) {
	NIM_BOOL result;
	NI begin;
{	result = (NIM_BOOL)0;
	(*cursor) += ((NI) 1);
	begin = (*cursor);
	{
		while (1) {
			if (!((NU8)(pat->data[(*cursor)]) == (NU8)(42))) goto LA2;
			(*cursor) += ((NI) 1);
		} LA2: ;
	}
	{
		if (!(((NU8)(pat->data[(*cursor)])) >= ((NU8)(48)) && ((NU8)(pat->data[(*cursor)])) <= ((NU8)(57)))) goto LA5_;
		(*outIdx) = (NI)(((NU8)(pat->data[(*cursor)])) - ((NI) 48));
		(*outStars) = (NI)((*cursor) - begin);
		(*cursor) += ((NI) 1);
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	goto LA3_;
	LA5_: ;
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, resolveStarsInCppType_cgen_3988)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NI idx, NI stars) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
	result = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len_ast_4001(typ);
		if (!(T3_ <= idx)) goto LA4_;
		{
			if (!NIM_TRUE) goto LA8_;
			failedAssertImpl_systemZassertions_56(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_484));
		}
		LA8_: ;
	}
	LA4_: ;
	result = (*typ).sons->data[idx];
	{
		NI i;
		NI res;
		i = (NI)0;
		res = ((NI) 1);
		{
			while (1) {
				if (!(res <= stars)) goto LA12;
				i = res;
				{
					NIM_BOOL T15_;
					NI T17_;
					T15_ = (NIM_BOOL)0;
					T15_ = !((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
					if (!(T15_)) goto LA16_;
					T17_ = (NI)0;
					T17_ = len_ast_4001(result);
					T15_ = (((NI) 0) < T17_);
					LA16_: ;
					if (!T15_) goto LA18_;
					{
						if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA22_;
						result = (*result).sons->data[((NI) 1)];
					}
					goto LA20_;
					LA22_: ;
					{
						result = elemType_types_263(result);
					}
					LA20_: ;
				}
				LA18_: ;
				res += ((NI) 1);
			} LA12: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3906)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_493), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3916)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_494), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getRecordDesc_cgen_3775)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NIM_BOOL hasField;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* desc;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	hasField = NIM_FALSE;
	{
		if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0)) goto LA3_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
			if (!((CC_extccomp_508[((*(*(*m).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 7))&7U)))!=0)) goto LA7_;
			T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T9_ = structOrUnion_cgen_3066(typ);
			result = amp__ropes_140(T9_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_489));
		}
		goto LA5_;
		LA7_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
			T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T11_ = structOrUnion_cgen_3066(typ);
			result = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_490), T11_);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		result = structOrUnion_cgen_3066(typ);
	}
	LA1_: ;
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
	add_ropes_159(&result, name);
	{
		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA15_;
		{
			if (!((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_;
			{
				NIM_BOOL T23_;
				NIM_BOOL T24_;
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
				T23_ = (NIM_BOOL)0;
				T24_ = (NIM_BOOL)0;
				T24_ = !(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
				if (!(T24_)) goto LA25_;
				T24_ = (((*(*typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
				LA25_: ;
				T23_ = T24_;
				if (T23_) goto LA26_;
				T23_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0);
				LA26_: ;
				if (!T23_) goto LA27_;
				res = rawNewString(((NI) 80));
				res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
				{
					if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA31_;
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA31_: ;
				T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T33_ = rope_ropes_109(res);
				add_ropes_159(&result, T33_);
			}
			goto LA21_;
			LA27_: ;
			{
				{
					NimStringDesc* res_2;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
					if (!(((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA37_;
					res_2 = rawNewString(((NI) 80));
					res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
					{
						if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA41_;
						res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA41_: ;
					T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T43_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_109));
					cgFormatValue_cgen_141((&res_2), T43_);
					res_2 = resizeString(res_2, 9);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_491));
					{
						if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA46_;
						res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA46_: ;
					T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T48_ = rope_ropes_109(res_2);
					add_ropes_159(&result, T48_);
				}
				goto LA35_;
				LA37_: ;
				{
					NimStringDesc* res_3;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
					res_3 = rawNewString(((NI) 80));
					res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
					{
						if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA52_;
						res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA52_: ;
					T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T54_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129));
					cgFormatValue_cgen_141((&res_3), T54_);
					res_3 = resizeString(res_3, 9);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_491));
					{
						if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA57_;
						res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA57_: ;
					T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T59_ = rope_ropes_109(res_3);
					add_ropes_159(&result, T59_);
				}
				LA35_: ;
				hasField = NIM_TRUE;
			}
			LA21_: ;
		}
		goto LA17_;
		LA19_: ;
		{
			NIM_BOOL T61_;
			NimStringDesc* res_4;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
			T61_ = (NIM_BOOL)0;
			T61_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T61_) goto LA62_;
			T61_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA62_: ;
			if (!T61_) goto LA63_;
			res_4 = rawNewString(((NI) 80));
			res_4 = resizeString(res_4, 10);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_492));
			T65_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T65_ = skipTypes_ast_3734((*typ).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T66_ = getTypeDescAux_cgen_1306(m, T65_, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
			cgFormatValue_cgen_141((&res_4), T66_);
			res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
			{
				if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA69_;
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA69_: ;
			T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T71_ = rope_ropes_109(res_4);
			add_ropes_159(&result, T71_);
			{
				NIM_BOOL T74_;
				T74_ = (NIM_BOOL)0;
				T74_ = isException_types_3997(typ);
				if (!(T74_)) goto LA75_;
				T74_ = ((*(*(*m).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 2));
				LA75_: ;
				if (!T74_) goto LA76_;
			}
			LA76_: ;
			hasField = NIM_TRUE;
		}
		goto LA17_;
		LA63_: ;
		{
			NimStringDesc* res_5;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T89_;
			res_5 = rawNewString(((NI) 80));
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
			{
				if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA81_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA81_: ;
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
			T83_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T83_ = skipTypes_ast_3734((*typ).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T84_ = getTypeDescAux_cgen_1306(m, T83_, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
			cgFormatValue_cgen_141((&res_5), T84_);
			res_5 = resizeString(res_5, 5);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_311));
			{
				if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA87_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA87_: ;
			T89_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T89_ = rope_ropes_109(res_5);
			add_ropes_159(&result, T89_);
			hasField = NIM_TRUE;
		}
		LA17_: ;
	}
	goto LA13_;
	LA15_: ;
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T91_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
		nimZeroMem((void*)T91_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T91_[0] = name;
		T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T92_ = percent__cgen_3906(T91_, 1);
		add_ropes_159(&result, T92_);
	}
	LA13_: ;
	desc = getRecordFields_cgen_3764(m, typ, check);
	{
		NIM_BOOL T95_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T99_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T100_;
		T95_ = (NIM_BOOL)0;
		T95_ = (desc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
		if (!(T95_)) goto LA96_;
		T95_ = !(hasField);
		LA96_: ;
		if (!T95_) goto LA97_;
		nimZeroMem((void*)T99_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T100_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T100_ = percent__cgen_3916(T99_, 0);
		add_ropes_159(&result, T100_);
	}
	goto LA93_;
	LA97_: ;
	{
		add_ropes_159(&result, desc);
	}
	LA93_: ;
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_495));
	{
		NIM_BOOL T104_;
		T104_ = (NIM_BOOL)0;
		T104_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0);
		if (!(T104_)) goto LA105_;
		T104_ = !(((CC_extccomp_508[((*(*(*m).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 7))&7U)))!=0));
		LA105_: ;
		if (!T104_) goto LA106_;
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_496));
	}
	LA106_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6295)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_497), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6301)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_498), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3935)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_499), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_3950)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_500), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTupleDesc_cgen_3929)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* desc;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T1_[0] = structOrUnion_cgen_3066(typ);
	T1_[1] = name;
	result = percent__cgen_3935(T1_, 2);
	desc = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_4001(typ);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T5_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				nimZeroMem((void*)T5_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T5_[0] = getTypeDescAux_cgen_1306(m, (*typ).sons->data[i], check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
				T5_[1] = rope_ropes_115(((NI64) (i)));
				T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T6_ = percent__cgen_3950(T5_, 2);
				add_ropes_159(&desc, T6_);
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	{
		if (!(desc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA9_;
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_501));
	}
	goto LA7_;
	LA9_: ;
	{
		add_ropes_159(&result, desc);
	}
	LA7_: ;
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_495));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6594)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_502), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_6599)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_503), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeDescAux_cgen_1306)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* origTyp, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA sig;
	TSafePoint TM__MQdRN7fpbG7rPm4JpVVAhA_22;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym499_;
{	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	t = skipTypes_ast_3734(origTyp, TM__MQdRN7fpbG7rPm4JpVVAhA_17);
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym371_;
		NIM_BOOL T3_;
		xX60gensym371_ = t;
		T3_ = (NIM_BOOL)0;
		T3_ = containsOrIncl_astalgo_402(check, (NI)((NI)((NU64)(((NI) ((*xX60gensym371_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym371_).Sup.itemId.item))));
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			NimStringDesc* T12_;
			NimStringDesc* T13_;
			T8_ = (NIM_BOOL)0;
			T8_ = isImportedCppType_cgen_1286(origTyp);
			if (T8_) goto LA9_;
			T8_ = isImportedCppType_cgen_1286(t);
			LA9_: ;
			if (!!(T8_)) goto LA10_;
			T12_ = (NimStringDesc*)0;
			T13_ = (NimStringDesc*)0;
			T13_ = typeToString_types_50(origTyp, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
			T12_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 28);
appendString(T12_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_19));
appendString(T12_, T13_);
			internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, T12_, TM__MQdRN7fpbG7rPm4JpVVAhA_20);
		}
		LA10_: ;
	}
	LA4_: ;
	{
		if (!!(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA16_;
		useHeader_cgen_105(m, (*t).sym);
	}
	LA16_: ;
	{
		NIM_BOOL T20_;
		T20_ = (NIM_BOOL)0;
		T20_ = !((t == origTyp));
		if (!(T20_)) goto LA21_;
		T20_ = !(((*origTyp).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
		LA21_: ;
		if (!T20_) goto LA22_;
		useHeader_cgen_105(m, (*origTyp).sym);
	}
	LA22_: ;
	nimZeroMem((void*)sig, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	hashType_sighashes_462(origTyp, 2, sig);
	pushSafePoint(&TM__MQdRN7fpbG7rPm4JpVVAhA_22);
	TM__MQdRN7fpbG7rPm4JpVVAhA_22.status = setjmp(TM__MQdRN7fpbG7rPm4JpVVAhA_22.context);
	if (TM__MQdRN7fpbG7rPm4JpVVAhA_22.status == 0) {
	result = getTypePre_cgen_3053(m, t, sig);
	{
		NIM_BOOL T26_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym390_;
		T26_ = (NIM_BOOL)0;
		T26_ = !((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
		if (!(T26_)) goto LA27_;
		T26_ = !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27)));
		LA27_: ;
		if (!T26_) goto LA28_;
		xX60gensym390_ = t;
		excl_reorder_264(check, (NI)((NI)((NU64)(((NI) ((*xX60gensym390_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym390_).Sup.itemId.item))));
		popSafePoint();
		{
			NIM_BOOL T32_;
			NIM_BOOL T34_;
			T32_ = (NIM_BOOL)0;
			T32_ = isImportedType_cgen_1275(t);
			if (!(T32_)) goto LA33_;
			T34_ = (NIM_BOOL)0;
			T34_ = containsOrIncl_cgen_4144((&(*m).typeABICache), sig);
			T32_ = !(T34_);
			LA33_: ;
			if (!T32_) goto LA35_;
			addAbiCheck_cgen_1744(m, t, result);
		}
		LA35_: ;
		goto BeforeRet_;
	}
	LA28_: ;
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
	{
		NimStringDesc* star;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* et;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* etB;
		{
			NIM_BOOL T40_;
			NIM_BOOL T41_;
			NIM_BOOL T44_;
			T40_ = (NIM_BOOL)0;
			T41_ = (NIM_BOOL)0;
			T41_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
			if (!(T41_)) goto LA42_;
			T41_ = !((((*origTyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0));
			LA42_: ;
			T40_ = T41_;
			if (!(T40_)) goto LA43_;
			T44_ = (NIM_BOOL)0;
			T44_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T44_) goto LA45_;
			T44_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA45_: ;
			T40_ = T44_;
			LA43_: ;
			if (!T40_) goto LA46_;
			star = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_472));
		}
		goto LA38_;
		LA46_: ;
		{
			star = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
		}
		LA38_: ;
		T49_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T49_ = skipTypes_ast_3734(origTyp, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		et = lastSon_ast_3742(T49_);
		etB = skipTypes_ast_3734(et, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		{
			NIM_BOOL T52_;
			tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T53_;
			NIM_BOOL T55_;
			T52_ = (NIM_BOOL)0;
			T53_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
			T53_ = mapType_cgen_1201((*(*m).g).config, t, kind);
			T52_ = (T53_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 18));
			if (!(T52_)) goto LA54_;
			T55_ = (NIM_BOOL)0;
			T55_ = !(((*etB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27)));
			if (T55_) goto LA56_;
			T55_ = (kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			LA56_: ;
			T52_ = T55_;
			LA54_: ;
			if (!T52_) goto LA57_;
			{
				if (!((*etB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA61_;
				et = getSysType_magicsys_60((*(*m).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41));
			}
			goto LA59_;
			LA61_: ;
			{
				et = elemType_types_263(etB);
			}
			LA59_: ;
			etB = skipTypes_ast_3734(et, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
			star->data[((NI) 0)] = 42;
		}
		LA57_: ;
		switch ((*etB).kind) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
		{
			{
				NIM_BOOL T67_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
				T67_ = (NIM_BOOL)0;
				T67_ = isImportedCppType_cgen_1286(etB);
				if (!(T67_)) goto LA68_;
				T67_ = ((*et).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
				LA68_: ;
				if (!T67_) goto LA69_;
				T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T71_ = getTypeDescAux_cgen_1306(m, et, check, kind);
				result = amp__ropes_140(T71_, star);
			}
			goto LA65_;
			LA69_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name;
				tyArray__qtqsWM5aXmcpMIVmvq3kAA T73_;
				nimZeroMem((void*)T73_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
				hashType_sighashes_462(et, 2, T73_);
				name = getTypeForward_cgen_3105(m, et, T73_);
				result = amp__ropes_140(name, star);
				X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
			}
			LA65_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
		{
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
				if (!(((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA77_;
				T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T79_ = getTypeDescWeak_cgen_3309(m, et, check, kind);
				result = amp__ropes_140(T79_, star);
				X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
			}
			goto LA75_;
			LA77_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name_2;
				tyArray__qtqsWM5aXmcpMIVmvq3kAA T81_;
				NimStringDesc* T82_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
				nimZeroMem((void*)T81_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
				hashType_sighashes_462(et, 2, T81_);
				name_2 = getTypeForward_cgen_3105(m, et, T81_);
				T82_ = (NimStringDesc*)0;
				T82_ = seqStar_cgen_3098(m);
				T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T83_ = amp__ropes_140(name_2, T82_);
				result = amp__ropes_140(T83_, star);
				X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
				pushType_cgen_3034(m, et);
			}
			LA75_: ;
		}
		break;
		default:
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
			T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T85_ = getTypeDescAux_cgen_1306(m, et, check, kind);
			result = amp__ropes_140(T85_, star);
			X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
		}
		break;
		}
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		result = getOpenArrayDesc_cgen_4019(m, t, check, kind);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
	{
		result = cacheGetType_cgen_1345((*m).typeCache, sig);
		{
			if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA90_;
			result = getTypeName_cgen_1153(m, origTyp, sig);
			{
				NIM_BOOL T94_;
				NIM_BOOL T96_;
				NI size;
				T94_ = (NIM_BOOL)0;
				T94_ = isImportedCppType_cgen_1286(t);
				if (T94_) goto LA95_;
				T96_ = (NIM_BOOL)0;
				T96_ = (((*(*t).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0);
				if (!(T96_)) goto LA97_;
				T96_ = ((*(*t).sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
				LA97_: ;
				T94_ = T96_;
				LA95_: ;
				if (!!(T94_)) goto LA98_;
				X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
				size = (NI)0;
				{
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T102_;
					NIM_BOOL T103_;
					tyArray__JiWwrsTRC6xqNlGcBthSVA T106_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
					T102_ = firstOrd_types_1353((*(*m).g).config, t);
					T103_ = (NIM_BOOL)0;
					T103_ = lt__int495056_721(T102_, IL64(0));
					if (!T103_) goto LA104_;
					nimZeroMem((void*)T106_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T106_[0] = result;
					T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T107_ = percent__cgen_5846(T106_, 1);
					add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T107_);
					size = ((NI) 4);
				}
				goto LA100_;
				LA104_: ;
				{
					NI64 T109_;
					T109_ = (NI64)0;
					T109_ = getSize_types_3333((*(*m).g).config, t);
					size = ((NI) (T109_));
					switch (size) {
					case ((NI) 1):
					{
						tyArray__JiWwrsTRC6xqNlGcBthSVA T111_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T112_;
						nimZeroMem((void*)T111_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T111_[0] = result;
						T112_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T112_ = percent__cgen_5851(T111_, 1);
						add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T112_);
					}
					break;
					case ((NI) 2):
					{
						tyArray__JiWwrsTRC6xqNlGcBthSVA T114_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T115_;
						nimZeroMem((void*)T114_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T114_[0] = result;
						T115_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T115_ = percent__cgen_5856(T114_, 1);
						add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T115_);
					}
					break;
					case ((NI) 4):
					{
						tyArray__JiWwrsTRC6xqNlGcBthSVA T117_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T118_;
						nimZeroMem((void*)T117_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T117_[0] = result;
						T118_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T118_ = percent__cgen_5846(T117_, 1);
						add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T118_);
					}
					break;
					case ((NI) 8):
					{
						tyArray__JiWwrsTRC6xqNlGcBthSVA T120_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T121_;
						nimZeroMem((void*)T120_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T120_[0] = result;
						T121_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T121_ = percent__cgen_5865(T120_, 1);
						add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T121_);
					}
					break;
					default:
					{
						internalErrorImpl_msgs_1431((*(*m).g).config, (*(*t).sym).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_478), TM__MQdRN7fpbG7rPm4JpVVAhA_479);
					}
					break;
					}
				}
				LA100_: ;
			}
			LA98_: ;
		}
		LA90_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* rettype;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* desc;
		result = getTypeName_cgen_1153(m, origTyp, sig);
		X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
		rettype = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		desc = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		genProcParams_cgen_3472(m, t, &rettype, &desc, check, NIM_TRUE, NIM_TRUE);
		{
			NIM_BOOL T126_;
			T126_ = (NIM_BOOL)0;
			T126_ = isImportedType_cgen_1275(t);
			if (!!(T126_)) goto LA127_;
			{
				tyArray__f7nG5LD47BH5K9c6mASit3g T133_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T134_;
				if (!!(((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA131_;
				nimZeroMem((void*)T133_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
				T133_[0] = rope_ropes_109(CallingConvToStr_cgen_1344[((*t).callConv)- 0]);
				T133_[1] = rettype;
				T133_[2] = result;
				T133_[3] = desc;
				T134_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T134_ = percent__cgen_5922(T133_, 4);
				add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T134_);
			}
			goto LA129_;
			LA131_: ;
			{
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T136_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T137_;
				nimZeroMem((void*)T136_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T136_[0] = result;
				T136_[1] = rettype;
				T136_[2] = desc;
				T137_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T137_ = percent__cgen_5927(T136_, 3);
				add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T137_);
			}
			LA129_: ;
		}
		LA127_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		{
			if (!(((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA141_;
			result = getTypeDescWeak_cgen_3309(m, t, check, kind);
		}
		goto LA139_;
		LA141_: ;
		{
			NimStringDesc* T154_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T155_;
			NimStringDesc* T208_;
			result = cacheGetType_cgen_1345((*m).forwTypeCache, sig);
			{
				if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA146_;
				result = getTypeName_cgen_1153(m, origTyp, sig);
				{
					NIM_BOOL T150_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T153_;
					T150_ = (NIM_BOOL)0;
					T150_ = isImportedType_cgen_1275(t);
					if (!!(T150_)) goto LA151_;
					T153_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T153_ = structOrUnion_cgen_3066(t);
					addForwardStructFormat_cgen_3076(m, T153_, result);
				}
				LA151_: ;
				X5BX5Deq__cgen_1859((&(*m).forwTypeCache), sig, result);
			}
			LA146_: ;
			T154_ = (NimStringDesc*)0;
			T154_ = seqStar_cgen_3098(m);
			T155_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T155_ = amp__ropes_140(result, T154_);
			X5BX5Deq__cgen_1859((&(*m).typeCache), sig, T155_);
			{
				NIM_BOOL T158_;
				T158_ = (NIM_BOOL)0;
				T158_ = isImportedType_cgen_1275(t);
				if (!!(T158_)) goto LA159_;
				{
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T163_;
					T163_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T163_ = skipTypes_ast_3734((*t).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_31);
					if (!!(((*T163_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3)))) goto LA164_;
					{
						NIM_BOOL T168_;
						NimStringDesc* res;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T172_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T177_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T186_;
						T168_ = (NIM_BOOL)0;
						T168_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
						if (T168_) goto LA169_;
						T168_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
						LA169_: ;
						if (!T168_) goto LA170_;
						res = rawNewString(((NI) 80));
						res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_55));
						cgFormatValue_cgen_141((&res), result);
						res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_480));
						T172_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T172_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_217));
						cgFormatValue_cgen_141((&res), T172_);
						res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
						{
							if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA175_;
							res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA175_: ;
						res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
						T177_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T177_ = getTypeDescAux_cgen_1306(m, (*t).sons->data[((NI) 0)], check, kind);
						cgFormatValue_cgen_141((&res), T177_);
						res = resizeString(res, 21);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_481));
						{
							if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA180_;
							res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA180_: ;
						res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_305));
						{
							if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA184_;
							res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA184_: ;
						T186_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T186_ = rope_ropes_109(res);
						add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 5))- 0], T186_);
					}
					goto LA166_;
					LA170_: ;
					{
						NimStringDesc* res_2;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T192_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T197_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T206_;
						res_2 = rawNewString(((NI) 80));
						res_2 = resizeString(res_2, 7);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_55));
						cgFormatValue_cgen_141((&res_2), result);
						res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_402));
						{
							if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA190_;
							res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA190_: ;
						res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
						T192_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T192_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_217));
						cgFormatValue_cgen_141((&res_2), T192_);
						res_2 = resizeString(res_2, 5);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_311));
						{
							if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA195_;
							res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA195_: ;
						res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
						T197_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T197_ = getTypeDescAux_cgen_1306(m, (*t).sons->data[((NI) 0)], check, kind);
						cgFormatValue_cgen_141((&res_2), T197_);
						res_2 = resizeString(res_2, 21);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_481));
						{
							if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA200_;
							res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA200_: ;
						res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_305));
						{
							if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA204_;
							res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA204_: ;
						T206_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T206_ = rope_ropes_109(res_2);
						add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 5))- 0], T206_);
					}
					LA166_: ;
				}
				goto LA161_;
				LA164_: ;
				{
					result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_217));
				}
				LA161_: ;
			}
			LA159_: ;
			T208_ = (NimStringDesc*)0;
			T208_ = seqStar_cgen_3098(m);
			add_ropes_162(&result, T208_);
		}
		LA139_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
	{
		result = getTypeName_cgen_1153(m, origTyp, sig);
		X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
		{
			NIM_BOOL T212_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* foo;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T215_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T216_;
			T212_ = (NIM_BOOL)0;
			T212_ = isImportedType_cgen_1275(t);
			if (!!(T212_)) goto LA213_;
			foo = getTypeDescAux_cgen_1306(m, (*t).sons->data[((NI) 0)], check, kind);
			nimZeroMem((void*)T215_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T215_[0] = foo;
			T215_[1] = result;
			T216_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T216_ = percent__cgen_6150(T215_, 2);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T216_);
		}
		LA213_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		NI64 n;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T218_;
		T218_ = lengthOrd_types_1661((*(*m).g).config, t);
		n = toInt64_int495056_88(T218_);
		{
			if (!(n <= IL64(0))) goto LA221_;
			n = IL64(1);
		}
		LA221_: ;
		result = getTypeName_cgen_1153(m, origTyp, sig);
		X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
		{
			NIM_BOOL T225_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* foo_2;
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T228_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T229_;
			T225_ = (NIM_BOOL)0;
			T225_ = isImportedType_cgen_1275(t);
			if (!!(T225_)) goto LA226_;
			foo_2 = getTypeDescAux_cgen_1306(m, (*t).sons->data[((NI) 1)], check, kind);
			nimZeroMem((void*)T228_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T228_[0] = foo_2;
			T228_[1] = result;
			T228_[2] = rope_ropes_115(n);
			T229_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T229_ = percent__cgen_6204(T228_, 3);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T229_);
		}
		LA226_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		{
			NIM_BOOL T233_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* cppName;
			NI i;
			NI chunkStart;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T300_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* typedefName;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T301_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T302_;
			NimStringDesc* T303_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T304_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T305_;
			T233_ = (NIM_BOOL)0;
			T233_ = isImportedCppType_cgen_1286(t);
			if (!(T233_)) goto LA234_;
			T233_ = ((*origTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
			LA234_: ;
			if (!T233_) goto LA235_;
			cppName = getTypeName_cgen_1153(m, t, sig);
			i = ((NI) 0);
			chunkStart = ((NI) 0);
			{
				while (1) {
					if (!(i < ((*cppName).data ? (*cppName).data->Sup.len : 0))) goto LA238;
					{
						NI chunkEnd;
						NI idx;
						NI stars;
						if (!((NU8)((*cppName).data->data[i]) == (NU8)(39))) goto LA241_;
						chunkEnd = (NI)(i - ((NI) 1));
						idx = (NI)0;
						stars = (NI)0;
						{
							NIM_BOOL T245_;
							NimStringDesc* T248_;
							tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInSlot;
							T245_ = (NIM_BOOL)0;
							T245_ = scanCppGenericSlot_cgen_3959((*cppName).data, (&i), (&idx), (&stars));
							if (!T245_) goto LA246_;
							T248_ = (NimStringDesc*)0;
							T248_ = substr_system_7754((*cppName).data, chunkStart, chunkEnd);
							add_ropes_162(&result, T248_);
							chunkStart = i;
							typeInSlot = resolveStarsInCppType_cgen_3988(origTyp, (NI)(idx + ((NI) 1)), stars);
							{
								NIM_BOOL T251_;
								tyArray__qTjAvTvKF9anytN1At69aJMQ T255_;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T256_;
								T251_ = (NIM_BOOL)0;
								T251_ = (typeInSlot == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
								if (T251_) goto LA252_;
								T251_ = ((*typeInSlot).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
								LA252_: ;
								if (!T251_) goto LA253_;
								nimZeroMem((void*)T255_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
								T256_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T256_ = percent__cgen_3486(T255_, 0);
								add_ropes_159(&result, T256_);
							}
							goto LA249_;
							LA253_: ;
							{
								NimStringDesc* T264_;
								if (!((*typeInSlot).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA258_;
								{
									NimStringDesc* argX60gensym465_;
									if (!!(!(((*typeInSlot).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))) goto LA262_;
									argX60gensym465_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_485);
									internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, argX60gensym465_, TM__MQdRN7fpbG7rPm4JpVVAhA_485);
								}
								LA262_: ;
								T264_ = (NimStringDesc*)0;
								T264_ = renderTree_renderer_46((*typeInSlot).n, 0);
								add_ropes_162(&result, T264_);
							}
							goto LA249_;
							LA258_: ;
							{
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T266_;
								T266_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T266_ = getTypeDescAux_cgen_1306(m, typeInSlot, check, kind);
								add_ropes_159(&result, T266_);
							}
							LA249_: ;
						}
						LA246_: ;
					}
					goto LA239_;
					LA241_: ;
					{
						i += ((NI) 1);
					}
					LA239_: ;
				} LA238: ;
			}
			{
				NimStringDesc* T272_;
				if (!!((chunkStart == ((NI) 0)))) goto LA270_;
				T272_ = (NimStringDesc*)0;
				T272_ = substr_system_7766((*cppName).data, chunkStart);
				add_ropes_162(&result, T272_);
			}
			goto LA268_;
			LA270_: ;
			{
				result = amp__ropes_140(cppName, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_486));
				{
					NI i_2;
					NI colontmp_;
					NI T275_;
					NI i_3;
					i_2 = (NI)0;
					colontmp_ = (NI)0;
					T275_ = (NI)0;
					T275_ = len_ast_4001(origTyp);
					colontmp_ = (NI)(T275_ - ((NI) 1));
					i_3 = ((NI) 1);
					{
						while (1) {
							if (!(i_3 < colontmp_)) goto LA277;
							i_2 = i_3;
							{
								if (!(((NI) 1) < i_2)) goto LA280_;
								add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_487));
							}
							LA280_: ;
							{
								NIM_BOOL T284_;
								tyArray__qTjAvTvKF9anytN1At69aJMQ T288_;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T289_;
								T284_ = (NIM_BOOL)0;
								T284_ = ((*origTyp).sons->data[i_2] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
								if (T284_) goto LA285_;
								T284_ = ((*(*origTyp).sons->data[i_2]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
								LA285_: ;
								if (!T284_) goto LA286_;
								nimZeroMem((void*)T288_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
								T289_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T289_ = percent__cgen_3486(T288_, 0);
								add_ropes_159(&result, T289_);
							}
							goto LA282_;
							LA286_: ;
							{
								NimStringDesc* T297_;
								if (!((*(*origTyp).sons->data[i_2]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA291_;
								{
									NimStringDesc* argX60gensym477_;
									if (!!(!(((*(*origTyp).sons->data[i_2]).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))) goto LA295_;
									argX60gensym477_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_485);
									internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, argX60gensym477_, TM__MQdRN7fpbG7rPm4JpVVAhA_485);
								}
								LA295_: ;
								T297_ = (NimStringDesc*)0;
								T297_ = renderTree_renderer_46((*(*origTyp).sons->data[i_2]).n, 0);
								add_ropes_162(&result, T297_);
							}
							goto LA282_;
							LA291_: ;
							{
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T299_;
								T299_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T299_ = getTypeDescAux_cgen_1306(m, (*origTyp).sons->data[i_2], check, kind);
								add_ropes_159(&result, T299_);
							}
							LA282_: ;
							i_3 += ((NI) 1);
						} LA277: ;
					}
				}
				add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_488));
			}
			LA268_: ;
			T300_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T300_ = getRecordDesc_cgen_3775(m, t, result, check);
			(void)(T300_);
			nimZeroMem((void*)T301_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T302_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T302_ = percent__cgen_6295(T301_, 0);
			T303_ = (NimStringDesc*)0;
			T303_ = dollar__modulegraphs_8947(sig);
			typedefName = amp__ropes_140(T302_, T303_);
			nimZeroMem((void*)T304_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T304_[0] = result;
			T304_[1] = typedefName;
			T305_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T305_ = percent__cgen_6301(T304_, 2);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T305_);
			X5BX5Deq__cgen_1859((&(*m).typeCache), sig, typedefName);
			result = typedefName;
		}
		goto LA231_;
		LA235_: ;
		{
			result = cacheGetType_cgen_1345((*m).forwTypeCache, sig);
			{
				if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA309_;
				result = getTypeName_cgen_1153(m, origTyp, sig);
				X5BX5Deq__cgen_1859((&(*m).forwTypeCache), sig, result);
				{
					NIM_BOOL T313_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T316_;
					T313_ = (NIM_BOOL)0;
					T313_ = isImportedType_cgen_1275(t);
					if (!!(T313_)) goto LA314_;
					T316_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T316_ = structOrUnion_cgen_3066(t);
					addForwardStructFormat_cgen_3076(m, T316_, result);
				}
				LA314_: ;
			}
			LA309_: ;
			X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
			{
				NIM_BOOL T319_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* recdesc;
				T319_ = (NIM_BOOL)0;
				T319_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
				if (!(T319_)) goto LA320_;
				T319_ = ((1040 & (*(*t).sym).flags) == 16);
				LA320_: ;
				if (!!(T319_)) goto LA321_;
				{
					if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA325_;
					recdesc = getRecordDesc_cgen_3775(m, t, result, check);
				}
				goto LA323_;
				LA325_: ;
				{
					recdesc = getTupleDesc_cgen_3929(m, t, result, check);
				}
				LA323_: ;
				{
					NIM_BOOL T330_;
					T330_ = (NIM_BOOL)0;
					T330_ = isImportedType_cgen_1275(t);
					if (!!(T330_)) goto LA331_;
					add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], recdesc);
				}
				goto LA328_;
				LA331_: ;
				{
					if (!!((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 40))&63U)))!=0))) goto LA334_;
				}
				goto LA328_;
				LA334_: ;
				LA328_: ;
			}
			LA321_: ;
		}
		LA231_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		NimStringDesc* T337_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T338_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T339_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T340_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T341_;
		tyArray__qtqsWM5aXmcpMIVmvq3kAA T342_;
		NimStringDesc* T343_;
		T337_ = (NimStringDesc*)0;
		T337_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 1);
appendString(T337_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T337_, 95);
		T338_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T338_ = lastSon_ast_3742(t);
		T339_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T339_ = typeName_cgen_1135(T338_);
		T340_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T340_ = amp__ropes_144(T337_, T339_);
		T341_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T341_ = lastSon_ast_3742(t);
		nimZeroMem((void*)T342_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
		hashType_sighashes_462(T341_, 2, T342_);
		T343_ = (NimStringDesc*)0;
		T343_ = dollar__modulegraphs_8947(T342_);
		result = amp__ropes_140(T340_, T343_);
		X5BX5Deq__cgen_1859((&(*m).typeCache), sig, result);
		{
			NIM_BOOL T346_;
			NI s;
			NI64 T349_;
			T346_ = (NIM_BOOL)0;
			T346_ = isImportedType_cgen_1275(t);
			if (!!(T346_)) goto LA347_;
			T349_ = (NI64)0;
			T349_ = getSize_types_3333((*(*m).g).config, t);
			s = ((NI) (T349_));
			switch (s) {
			case ((NI) 1):
			case ((NI) 2):
			case ((NI) 4):
			case ((NI) 8):
			{
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T351_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T352_;
				nimZeroMem((void*)T351_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T351_[0] = result;
				T351_[1] = rope_ropes_115(((NI64) ((NI)(s * ((NI) 8)))));
				T352_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T352_ = percent__cgen_6594(T351_, 2);
				add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T352_);
			}
			break;
			default:
			{
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T354_;
				NI64 T355_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T356_;
				nimZeroMem((void*)T354_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T354_[0] = result;
				T355_ = (NI64)0;
				T355_ = getSize_types_3333((*(*m).g).config, t);
				T354_[1] = rope_ropes_115(T355_);
				T356_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T356_ = percent__cgen_6599(T354_, 2);
				add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T356_);
			}
			break;
			}
		}
		LA347_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T358_;
		T358_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T358_ = lastSon_ast_3742(t);
		result = getTypeDescAux_cgen_1306(m, T358_, check, kind);
	}
	break;
	default:
	{
		NimStringDesc* T360_;
		T360_ = (NimStringDesc*)0;
		T360_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 16);
appendString(T360_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_504));
appendString(T360_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T360_, 41);
		internalErrorImpl_msgs_1431((*(*m).g).config, unknownLineInfo_lineinfos_280, T360_, TM__MQdRN7fpbG7rPm4JpVVAhA_505);
		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	break;
	}
	xX60gensym499_ = t;
	excl_reorder_264(check, (NI)((NI)((NU64)(((NI) ((*xX60gensym499_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym499_).Sup.itemId.item))));
	popSafePoint();
	}
	else {
		popSafePoint();
	}
	{
		{
			NIM_BOOL T365_;
			NIM_BOOL T367_;
			T365_ = (NIM_BOOL)0;
			T365_ = isImportedType_cgen_1275(t);
			if (!(T365_)) goto LA366_;
			T367_ = (NIM_BOOL)0;
			T367_ = containsOrIncl_cgen_4144((&(*m).typeABICache), sig);
			T365_ = !(T367_);
			LA366_: ;
			if (!T365_) goto LA368_;
			addAbiCheck_cgen_1744(m, t, result);
		}
		LA368_: ;
		if (TM__MQdRN7fpbG7rPm4JpVVAhA_22.status != 0) nimLeaveFinally();
	}
	if (TM__MQdRN7fpbG7rPm4JpVVAhA_22.status != 0) reraiseException();
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTypeDesc_cgen_6635)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
	initIntSet_pureZcollectionsZintsets_238((&check));
	result = getTypeDescAux_cgen_1306(m, typ, (&check), kind);
	return result;
}
static N_INLINE(NIM_BOOL, requiresExternC_cgen_26191)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
	NIM_BOOL T8_;
	NIM_BOOL T9_;
	NIM_BOOL T10_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
	if (!(T3_)) goto LA4_;
	T5_ = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
	T5_ = getModule_astalgo_216(sym);
	T3_ = !((((*T5_).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0));
	LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA6_;
	T2_ = !(((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2)));
	LA6_: ;
	T1_ = T2_;
	if (T1_) goto LA7_;
	T8_ = (NIM_BOOL)0;
	T9_ = (NIM_BOOL)0;
	T10_ = (NIM_BOOL)0;
	T10_ = (((*sym).flags & IL64(4295229696)) == 0);
	if (!(T10_)) goto LA11_;
	T10_ = !((((*sym).flags & 192) == 0));
	LA11_: ;
	T9_ = T10_;
	if (!(T9_)) goto LA12_;
	T9_ = ((*sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
	LA12_: ;
	T8_ = T9_;
	if (!(T8_)) goto LA13_;
	T8_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
	LA13_: ;
	T1_ = T8_;
	LA7_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genProcPrototype_cgen_11459)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
{	useHeader_cgen_105(m, sym);
	{
		if (!(((*sym).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(((*sym).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 4))&15U)))!=0)) goto LA7_;
		{
			NIM_BOOL T11_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6065_;
			NIM_BOOL T13_;
			NimStringDesc* res;
			NimStringDesc* T16_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			T11_ = (NIM_BOOL)0;
			T11_ = !((((NI) ((*sym).Sup.itemId.module)) == (*(*m).module).position));
			if (!(T11_)) goto LA12_;
			xX60gensym6065_ = sym;
			T13_ = (NIM_BOOL)0;
			T13_ = containsOrIncl_astalgo_402((&(*m).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6065_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6065_).Sup.itemId.item))));
			T11_ = !(T13_);
			LA12_: ;
			if (!T11_) goto LA14_;
			res = rawNewString(((NI) 80));
			T16_ = (NimStringDesc*)0;
			{
				NIM_BOOL T19_;
				T19_ = (NIM_BOOL)0;
				T19_ = isReloadable_cgen_6710(m, sym);
				if (!T19_) goto LA20_;
				T16_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_14));
			}
			goto LA17_;
			LA20_: ;
			{
				T16_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_15));
			}
			LA17_: ;
			cgFormatValue_cgen_145((&res), T16_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
			T23_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T23_ = t_cgen_79((*sym).loc);
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = getTypeDesc_cgen_6635(m, T23_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res), T24_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T25_ = mangleDynLibProc_cgen_3773(sym);
			cgFormatValue_cgen_141((&res), T25_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA28_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA28_: ;
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = rope_ropes_109(res);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T30_);
			{
				NIM_BOOL T33_;
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T36_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
				T33_ = (NIM_BOOL)0;
				T33_ = isReloadable_cgen_6710(m, sym);
				if (!T33_) goto LA34_;
				nimZeroMem((void*)T36_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T36_[0] = mangleDynLibProc_cgen_3773(sym);
				T37_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T37_ = t_cgen_79((*sym).loc);
				T36_[1] = getTypeDesc_cgen_6635(m, T37_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				T36_[2] = getModuleDllPath_cgen_136(m, sym);
				T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T38_ = percent__cgen_23688(T36_, 3);
				add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T38_);
			}
			LA34_: ;
		}
		LA14_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6074_;
		NIM_BOOL T40_;
		NIM_BOOL asPtr;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* header;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
		xX60gensym6074_ = sym;
		T40_ = (NIM_BOOL)0;
		T40_ = containsOrIncl_astalgo_402((&(*m).declaredProtos), (NI)((NI)((NU64)(((NI) ((*xX60gensym6074_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6074_).Sup.itemId.item))));
		if (!!(T40_)) goto LA41_;
		asPtr = isReloadable_cgen_6710(m, sym);
		header = genProcHeader_cgen_606(m, sym, asPtr);
		{
			if (!!(asPtr)) goto LA45_;
			{
				NIM_BOOL T49_;
				T49_ = (NIM_BOOL)0;
				T49_ = isNoReturn_cgen_25969(m, sym);
				if (!(T49_)) goto LA50_;
				T49_ = ((CC_extccomp_508[((*(*(*m).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 6))&7U)))!=0);
				LA50_: ;
				if (!T49_) goto LA51_;
				header = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_400), header);
			}
			LA51_: ;
			{
				NIM_BOOL T55_;
				T55_ = (NIM_BOOL)0;
				T55_ = !(((*(*sym).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5)));
				if (!(T55_)) goto LA56_;
				T55_ = requiresExternC_cgen_26191(m, sym);
				LA56_: ;
				if (!T55_) goto LA57_;
				header = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_506), header);
			}
			LA57_: ;
			{
				NIM_BOOL T61_;
				T61_ = (NIM_BOOL)0;
				T61_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
				if (!(T61_)) goto LA62_;
				T61_ = ((CC_extccomp_508[((*(*(*m).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 7))&7U)))!=0);
				LA62_: ;
				if (!T61_) goto LA63_;
				add_ropes_162(&header, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_507));
			}
			LA63_: ;
			{
				NIM_BOOL T67_;
				T67_ = (NIM_BOOL)0;
				T67_ = isNoReturn_cgen_25969(m, sym);
				if (!(T67_)) goto LA68_;
				T67_ = ((CC_extccomp_508[((*(*(*m).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 7))&7U)))!=0);
				LA68_: ;
				if (!T67_) goto LA69_;
				add_ropes_162(&header, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_508));
			}
			LA69_: ;
		}
		LA45_: ;
		res_2 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_2), header);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_509));
		T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T71_ = rope_ropes_109(res_2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 8))- 0], T71_);
	}
	goto LA5_;
	LA41_: ;
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, putLocIntoDest_cgen_11462)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA s) {
	{
		if (!!(((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0)))) goto LA3_;
		{
			if (!(((*d).flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 2))&15U)))!=0)) goto LA7_;
			genAssignment_cgen_10373(p, (*d), s, 0);
		}
		goto LA5_;
		LA7_: ;
		{
			genAssignment_cgen_10373(p, (*d), s, 1);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		genericAssign((void*)(&(*d)), (void*)(&s), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSimpleConst_cgen_89)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	NIM_BOOL result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	t = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
	T1_ = (NIM_BOOL)0;
	T1_ = !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24)));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
	if (!(T3_)) goto LA4_;
	T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
	LA4_: ;
	T1_ = !(T3_);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, putIntoDest_cgen_18621)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r, tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw s) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		if (!!(((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0)))) goto LA3_;
		initLoc_cgen_60((&a), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), n, s);
		a.r = r;
		{
			if (!(((*d).flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 2))&15U)))!=0)) goto LA7_;
			genAssignment_cgen_10373(p, (*d), a, 0);
		}
		goto LA5_;
		LA7_: ;
		{
			genAssignment_cgen_10373(p, (*d), a, 1);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6);
		unsureAsgnRef((void**) (&(*d).lode), n);
		unsureAsgnRef((void**) (&(*d).r), r);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, genConstSetup_cgen_24196)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	NIM_BOOL result;
	tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m;
	result = (NIM_BOOL)0;
	m = (*p).module;
	useHeader_cgen_105(m, sym);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!((*sym).loc.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = mangleName_cgen_620((*p).module, sym);
		fillLoc_cgen_65((&(*sym).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 8), (*sym).ast, T5_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1));
	}
	LA3_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = hcrOn_cgen_42(m);
		if (!T8_) goto LA9_;
		(*sym).loc.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15);
	}
	LA9_: ;
	result = !((((*sym).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24232)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_514), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24242)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_515), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genConstHeader_cgen_24213)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* q, tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
{	{
		if (!((*sym).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = genConstSetup_cgen_24196(p, sym);
			if (!!(T7_)) goto LA8_;
			goto BeforeRet_;
		}
		LA8_: ;
	}
	LA3_: ;
	{
		NIM_BOOL T12_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T15_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T18_;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T19_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		T12_ = (NIM_BOOL)0;
		T12_ = hcrOn_cgen_42(m);
		if (!T12_) goto LA13_;
		nimZeroMem((void*)T15_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T16_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T16_ = t_cgen_79((*sym).loc);
		T15_[0] = getTypeDesc_cgen_6635(m, T16_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T15_[1] = (*sym).loc.r;
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = percent__cgen_24232(T15_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T17_);
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T18_ = procSec_cgendata_274((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		nimZeroMem((void*)T19_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T19_[0] = (*sym).loc.r;
		T20_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T20_ = t_cgen_79((*sym).loc);
		T19_[1] = getTypeDesc_cgen_6635(m, T20_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T19_[2] = getModuleDllPath_cgen_136(q, sym);
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = percent__cgen_24237(T19_, 3);
		add_ropes_159(T18_, T21_);
	}
	goto LA10_;
	LA13_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* headerDecl;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T23_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
		nimZeroMem((void*)T23_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T24_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T24_ = t_cgen_79((*sym).loc);
		T23_[0] = getTypeDesc_cgen_6635(m, T24_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T23_[1] = (*sym).loc.r;
		headerDecl = percent__cgen_24242(T23_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], headerDecl);
		{
			NIM_BOOL T27_;
			T27_ = (NIM_BOOL)0;
			T27_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 7))&63U)))!=0);
			if (!(T27_)) goto LA28_;
			T27_ = !(((*(*(*p).module).g).generatedHeader == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)));
			LA28_: ;
			if (!T27_) goto LA29_;
			add_ropes_159(&(*(*(*(*p).module).g).generatedHeader).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], headerDecl);
		}
		LA29_: ;
	}
	LA10_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24261)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_517), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24270)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_518), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genConstDefinition_cgen_24256)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* q, tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* actualConstName;
	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T7_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42(q);
		if (!T3_) goto LA4_;
		actualConstName = amp__ropes_140((*sym).loc.r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_516));
	}
	goto LA1_;
	LA4_: ;
	{
		actualConstName = (*sym).loc.r;
	}
	LA1_: ;
	nimZeroMem((void*)T7_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
	T7_[0] = getTypeDesc_cgen_6635(q, (*sym).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	T7_[1] = actualConstName;
	T7_[2] = genBracedInit_cgen_13763((*q).initProc, (*sym).ast, NIM_TRUE, (*sym).typ);
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T8_ = percent__cgen_24261(T7_, 3);
	add_ropes_159(&(*q).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T8_);
	{
		NIM_BOOL T11_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T14_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T17_;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T20_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
		T11_ = (NIM_BOOL)0;
		T11_ = hcrOn_cgen_42(q);
		if (!T11_) goto LA12_;
		nimZeroMem((void*)T14_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T15_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T15_ = t_cgen_79((*sym).loc);
		T14_[0] = getTypeDesc_cgen_6635(q, T15_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T14_[1] = (*sym).loc.r;
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = percent__cgen_24232(T14_, 2);
		add_ropes_159(&(*q).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T16_);
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T17_ = procSec_cgendata_274((*q).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		nimZeroMem((void*)T18_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T18_[0] = getModuleDllPath_cgen_136(q, sym);
		T18_[1] = (*sym).loc.r;
		T18_[2] = rdLoc_cgen_417((*sym).loc);
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = percent__cgen_24270(T18_, 3);
		add_ropes_159(T17_, T19_);
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T20_ = procSec_cgendata_274((*q).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = cgsym_cgen_120(q, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_335));
		cgFormatValue_cgen_141((&res), T21_);
		res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
		cgFormatValue_cgen_141((&res), (*sym).loc.r);
		res = resizeString(res, 20);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_336));
		cgFormatValue_cgen_141((&res), actualConstName);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = rdLoc_cgen_417((*sym).loc);
		cgFormatValue_cgen_141((&res), T22_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
		{
			if (!!((((*(*(*q).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA25_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA25_: ;
		T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T27_ = rope_ropes_109(res);
		add_ropes_159(T20_, T27_);
	}
	LA12_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, requestConstImpl_cgen_11449)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	{
		NIM_BOOL T3_;
		tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m;
		tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* q;
		T3_ = (NIM_BOOL)0;
		T3_ = genConstSetup_cgen_24196(p, sym);
		if (!T3_) goto LA4_;
		m = (*p).module;
		q = findPendingModule_cgen_55(m, sym);
		{
			NIM_BOOL T8_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6114_;
			NIM_BOOL T10_;
			T8_ = (NIM_BOOL)0;
			T8_ = !((q == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)));
			if (!(T8_)) goto LA9_;
			xX60gensym6114_ = sym;
			T10_ = (NIM_BOOL)0;
			T10_ = containsOrIncl_astalgo_402((&(*q).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6114_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6114_).Sup.itemId.item))));
			T8_ = !(T10_);
			LA9_: ;
			if (!T8_) goto LA11_;
			genConstDefinition_cgen_24256(q, p, sym);
		}
		LA11_: ;
		{
			NIM_BOOL T15_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6118_;
			NIM_BOOL T17_;
			T15_ = (NIM_BOOL)0;
			T15_ = !((q == m));
			if (!(T15_)) goto LA16_;
			xX60gensym6118_ = sym;
			T17_ = (NIM_BOOL)0;
			T17_ = containsOrIncl_astalgo_402((&(*m).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6118_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6118_).Sup.itemId.item))));
			T15_ = !(T17_);
			LA16_: ;
			if (!T15_) goto LA18_;
			genConstHeader_cgen_24213(m, q, p, sym);
		}
		LA18_: ;
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genComplexConst_cgen_23936)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	requestConstImpl_cgen_11449(p, sym);
	putLocIntoDest_cgen_11462(p, d, (*sym).loc);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13758)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_522), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genGotoVar_cgen_13751)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value) {
	{
		if (!!(((*value).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*value).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15)))) goto LA3_;
		liMessage_msgs_1118((*(*(*p).module).g).config, (*value).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_519), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_520, NIM_FALSE);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T6_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T6_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T7_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T7_[0] = rope_ropes_115((*value)._kind_1.intVal);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__cgen_13758(T7_, 1);
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = indentLine_cgen_272(p, T8_);
		add_ropes_159(T6_, T9_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn_cgen_45)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = hcrOn_options_567((*(*(*p).module).g).config);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, potentialValueInit_cgen_13768)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = (((*v).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 4))&15U)))!=0);
		if (T4_) goto LA5_;
		T4_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0);
		LA5_: ;
		T3_ = T4_;
		if (T3_) goto LA6_;
		T3_ = hcrOn_cgen_45(p);
		LA6_: ;
		if (!T3_) goto LA7_;
		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	goto LA1_;
	LA7_: ;
	{
		NIM_BOOL T10_;
		NIM_BOOL T11_;
		NIM_BOOL T12_;
		NIM_BOOL T13_;
		NIM_BOOL T16_;
		NIM_BOOL T20_;
		T10_ = (NIM_BOOL)0;
		T11_ = (NIM_BOOL)0;
		T12_ = (NIM_BOOL)0;
		T13_ = (NIM_BOOL)0;
		T13_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
		if (!(T13_)) goto LA14_;
		T13_ = !((value == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
		LA14_: ;
		T12_ = T13_;
		if (!(T12_)) goto LA15_;
		T16_ = (NIM_BOOL)0;
		T16_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T16_) goto LA17_;
		T16_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA17_: ;
		T12_ = isDeepConstExpr_trees_171(value, T16_);
		LA15_: ;
		T11_ = T12_;
		if (!(T11_)) goto LA18_;
		T11_ = ((*p).withinLoop == ((NI) 0));
		LA18_: ;
		T10_ = T11_;
		if (!(T10_)) goto LA19_;
		T20_ = (NIM_BOOL)0;
		T20_ = containsGarbageCollectedRef_types_612((*v).typ);
		T10_ = !(T20_);
		LA19_: ;
		if (!T10_) goto LA21_;
		result = genBracedInit_cgen_13763(p, value, NIM_FALSE, (*v).typ);
	}
	goto LA1_;
	LA21_: ;
	{
		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25580)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_524), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, varInDynamicLib_cgen_11243)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* lib;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* extname;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	NimStringDesc* T3_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T10_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
	lib = (*sym).annex;
	extname = (*sym).loc.r;
	loadDynamicLib_cgen_25349(m, lib);
	(*sym).loc.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15);
	tmp = mangleDynLibProc_cgen_3773(sym);
	asgnRef((void**) (&(*sym).loc.r), tmp);
	(*m).labels += ((NI) 2);
	res = rawNewString(((NI) 80));
	cgFormatValue_cgen_141((&res), tmp);
	res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_98));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = getTypeDesc_cgen_6635(m, (*sym).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
	cgFormatValue_cgen_141((&res), T1_);
	res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_523));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_434));
	cgFormatValue_cgen_141((&res), T2_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	cgFormatValue_cgen_141((&res), (*lib).name);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
	T3_ = (NimStringDesc*)0;
	T3_ = dollar__ropes_250(extname);
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = makeCString_msgs_50(T3_);
	cgFormatValue_cgen_141((&res), T4_);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
	{
		if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA7_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA7_: ;
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = rope_ropes_109(res);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T9_);
	nimZeroMem((void*)T10_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T10_[0] = (*sym).loc.r;
	T11_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T11_ = t_cgen_79((*sym).loc);
	T10_[1] = getTypeDesc_cgen_6635(m, T11_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
	T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T12_ = percent__cgen_25580(T10_, 2);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T12_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11395)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_530), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, assignGlobalVar_cgen_11266)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* value) {
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
{	s = (*n)._kind_4.sym;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!((*s).loc.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = mangleName_cgen_620((*p).module, s);
		fillLoc_cgen_65((&(*s).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 3), n, T5_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
		{
			NIM_BOOL T8_;
			T8_ = (NIM_BOOL)0;
			T8_ = treatGlobalDifferentlyForHCR_cgen_11246((*p).module, s);
			if (!T8_) goto LA9_;
			(*s).loc.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15);
		}
		LA9_: ;
	}
	LA3_: ;
	{
		tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* q;
		if (!(((*s).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 4))&15U)))!=0)) goto LA13_;
		q = findPendingModule_cgen_55((*p).module, s);
		{
			NIM_BOOL T17_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1127_;
			NIM_BOOL T19_;
			T17_ = (NIM_BOOL)0;
			T17_ = !((q == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)));
			if (!(T17_)) goto LA18_;
			xX60gensym1127_ = s;
			T19_ = (NIM_BOOL)0;
			T19_ = containsOrIncl_astalgo_402((&(*q).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym1127_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1127_).Sup.itemId.item))));
			T17_ = !(T19_);
			LA18_: ;
			if (!T17_) goto LA20_;
			varInDynamicLib_cgen_11243(q, s);
		}
		goto LA15_;
		LA20_: ;
		{
			asgnRef((void**) (&(*s).loc.r), mangleDynLibProc_cgen_3773(s));
		}
		LA15_: ;
		{
			if (!!((value == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA25_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_525), TM__MQdRN7fpbG7rPm4JpVVAhA_526);
		}
		LA25_: ;
		goto BeforeRet_;
	}
	LA13_: ;
	useHeader_cgen_105((*p).module, s);
	{
		if (!(((*s).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0)) goto LA29_;
		goto BeforeRet_;
	}
	LA29_: ;
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1133_;
		NIM_BOOL T33_;
		xX60gensym1133_ = s;
		T33_ = (NIM_BOOL)0;
		T33_ = containsOrIncl_astalgo_402((&(*(*p).module).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym1133_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1133_).Sup.itemId.item))));
		if (!!(T33_)) goto LA34_;
		{
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0)) goto LA38_;
			declareThreadVar_cgen_11145((*p).module, s, (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
			{
				if (!!((value == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA42_;
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_527), TM__MQdRN7fpbG7rPm4JpVVAhA_528);
			}
			LA42_: ;
		}
		goto LA36_;
		LA38_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* decl;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* td;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
			decl = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
			T45_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T45_ = t_cgen_79((*s).loc);
			td = getTypeDesc_cgen_6635((*p).module, T45_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
			{
				if (!((*s).constraint == 0)) goto LA48_;
				{
					NIM_BOOL T52_;
					tyArray__JiWwrsTRC6xqNlGcBthSVA T56_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
					T52_ = (NIM_BOOL)0;
					T52_ = ((2622208 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
					if (!(T52_)) goto LA53_;
					T52_ = (((NI) 0) < (*s)._kind_2.alignment);
					LA53_: ;
					if (!T52_) goto LA54_;
					nimZeroMem((void*)T56_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T56_[0] = rope_ropes_115(((NI64) ((*s)._kind_2.alignment)));
					T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T57_ = percent__cgen_3721(T56_, 1);
					add_ropes_159(&decl, T57_);
				}
				LA54_: ;
				{
					NIM_BOOL T60_;
					T60_ = (NIM_BOOL)0;
					T60_ = hcrOn_cgen_45(p);
					if (!T60_) goto LA61_;
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_28));
				}
				goto LA58_;
				LA61_: ;
				{
					if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA64_;
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_438));
				}
				goto LA58_;
				LA64_: ;
				{
					if (!(((*s).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 5))&15U)))!=0)) goto LA67_;
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_439));
				}
				goto LA58_;
				LA67_: ;
				{
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_29));
				}
				LA58_: ;
				{
					NIM_BOOL T72_;
					T72_ = (NIM_BOOL)0;
					T72_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
					if (!(T72_)) goto LA73_;
					T72_ = !((value == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
					LA73_: ;
					if (!T72_) goto LA74_;
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_529));
				}
				LA74_: ;
				add_ropes_159(&decl, td);
				{
					NIM_BOOL T78_;
					T78_ = (NIM_BOOL)0;
					T78_ = hcrOn_cgen_45(p);
					if (!T78_) goto LA79_;
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
				}
				LA79_: ;
				{
					if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA83_;
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_88));
				}
				LA83_: ;
				{
					if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0)) goto LA87_;
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_89));
				}
				LA87_: ;
				{
					if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 46))&63U)))!=0)) goto LA91_;
					add_ropes_162(&decl, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_90));
				}
				LA91_: ;
				{
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T97_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T98_;
					if (!!((value == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA95_;
					nimZeroMem((void*)T97_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T97_[0] = (*s).loc.r;
					T97_[1] = value;
					T98_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T98_ = percent__cgen_11395(T97_, 2);
					add_ropes_159(&decl, T98_);
				}
				goto LA93_;
				LA95_: ;
				{
					tyArray__JiWwrsTRC6xqNlGcBthSVA T100_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T101_;
					nimZeroMem((void*)T100_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T100_[0] = (*s).loc.r;
					T101_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T101_ = percent__cgen_11195(T100_, 1);
					add_ropes_159(&decl, T101_);
				}
				LA93_: ;
			}
			goto LA46_;
			LA48_: ;
			{
				{
					NimStringDesc* T107_;
					tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T108_;
					if (!!((value == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA105_;
					T107_ = (NimStringDesc*)0;
					T107_ = rawNewString(((*(*s).constraint)._kind_3.strVal ? (*(*s).constraint)._kind_3.strVal->Sup.len : 0) + 8);
appendString(T107_, (*(*s).constraint)._kind_3.strVal);
appendString(T107_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_531));
					nimZeroMem((void*)T108_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
					T108_[0] = td;
					T108_[1] = (*s).loc.r;
					T108_[2] = value;
					decl = runtimeFormat_ropes_271(T107_, T108_, 3);
				}
				goto LA103_;
				LA105_: ;
				{
					NimStringDesc* T110_;
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T111_;
					T110_ = (NimStringDesc*)0;
					T110_ = rawNewString(((*(*s).constraint)._kind_3.strVal ? (*(*s).constraint)._kind_3.strVal->Sup.len : 0) + 3);
appendString(T110_, (*(*s).constraint)._kind_3.strVal);
appendString(T110_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_532));
					nimZeroMem((void*)T111_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T111_[0] = td;
					T111_[1] = (*s).loc.r;
					decl = runtimeFormat_ropes_271(T110_, T111_, 2);
				}
				LA103_: ;
			}
			LA46_: ;
			add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], decl);
		}
		LA36_: ;
	}
	LA34_: ;
	{
		NIM_BOOL T114_;
		T114_ = (NIM_BOOL)0;
		T114_ = (((NI) 0) < (*p).withinLoop);
		if (!(T114_)) goto LA115_;
		T114_ = (value == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
		LA115_: ;
		if (!T114_) goto LA116_;
		resetLoc_cgen_10828(p, (&(*s).loc));
	}
	LA116_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11127)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_533), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, accessThreadLocalVar_cgen_398)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	{
		NIM_BOOL T3_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T7_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		T3_ = (NIM_BOOL)0;
		T3_ = emulatedThreadVars_cgen_401((*(*(*p).module).g).config);
		if (!(T3_)) goto LA4_;
		T3_ = !((((*p).flags &((NU8)1<<((NU)(((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 1))&7U)))!=0));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 1)) & 7);
		(*(*p).module).flags |= ((NU8)1)<<((((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 1)) & 7);
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T7_ = procSec_cgendata_274(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		nimZeroMem((void*)T8_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__cgen_11127(T8_, 0);
		add_ropes_159(T7_, T9_);
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T10_ = procSec_cgendata_274(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 27);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_534));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_535));
		cgFormatValue_cgen_141((&res), T11_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA14_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA14_: ;
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = rope_ropes_109(res);
		add_ropes_159(T10_, T16_);
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7762)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_537), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7768)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_538), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_7774)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_539), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTraverseProcForGlobal_cgen_7750)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg c;
	tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* sLoc;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* header;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T9_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* generatedProc;
	tyArray__f7nG5LD47BH5K9c6mASit3g T11_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T12_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T13_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T14_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T15_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79((*s).loc);
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = genTypeInfoV1_cgen_6772(m, T1_, info);
	(void)(T2_);
	nimZeroMem((void*)(&c), sizeof(tyObject_TTraversalClosure__xQv4a9atAYFpL11GCS9cY9bCg));
	p = newProc_cgendata_278(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), m);
	sLoc = rdLoc_cgen_417((*s).loc);
	result = getTempName_cgen_410(m);
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0);
		if (!(T5_)) goto LA6_;
		T5_ = emulatedThreadVars_cgen_401((*(*m).g).config);
		LA6_: ;
		if (!T5_) goto LA7_;
		accessThreadLocalVar_cgen_398(p, s);
		sLoc = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_536), sLoc);
	}
	LA7_: ;
	c.visitorFrmt = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_148));
	c.p = p;
	nimZeroMem((void*)T9_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T9_[0] = result;
	header = percent__cgen_7762(T9_, 1);
	T10_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T10_ = t_cgen_79((*s).loc);
	genTraverseProc_cgen_7340(c, sLoc, T10_);
	nimZeroMem((void*)T11_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
	T11_[0] = header;
	T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T12_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
	T11_[1] = (*T12_);
	T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T13_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
	T11_[2] = (*T13_);
	T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T14_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	T11_[3] = (*T14_);
	generatedProc = percent__cgen_7768(T11_, 4);
	nimZeroMem((void*)T15_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T15_[0] = header;
	T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T16_ = percent__cgen_7774(T15_, 1);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 8))- 0], T16_);
	add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], generatedProc);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTraverseProc_cgen_13075)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((960 &((NU16)1<<((NU)((*(*(*(*p).module).g).config).selectedGC)&15U)))!=0);
		if (!(T4_)) goto LA5_;
		T4_ = !((((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0));
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T7_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T7_ = t_cgen_79((*v).loc);
		T3_ = containsGarbageCollectedRef_types_612(T7_);
		LA6_: ;
		if (!T3_) goto LA8_;
		result = genTraverseProcForGlobal_cgen_7750((*p).module, v, (*v).info);
	}
	LA8_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, registerTraverseProc_cgen_13087)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* traverseProc) {
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0)) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T5_ = procSec_cgendata_274((*(*p).module).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
		res = rawNewString(((NI) 80));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA8_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA8_: ;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_540));
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		cgFormatValue_cgen_141((&res), traverseProc);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA13_: ;
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA17_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA17_: ;
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rope_ropes_109(res);
		add_ropes_159(T5_, T19_);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T21_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T21_ = procSec_cgendata_274((*(*p).module).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
		res_2 = rawNewString(((NI) 80));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA24_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA24_: ;
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_541));
		cgFormatValue_cgen_141((&res_2), T26_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		cgFormatValue_cgen_141((&res_2), traverseProc);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA29_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA29_: ;
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA33_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA33_: ;
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = rope_ropes_109(res_2);
		add_ropes_159(T21_, T35_);
	}
	LA1_: ;
}
static N_INLINE(NIM_BOOL, isAssignedImmediately_cgen_13137)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = isInvalidReturnType_cgen_1327(conf, (*n).typ);
		if (!T7_) goto LA8_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA8_: ;
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_359)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_542), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, freshLineInfo_cgen_347)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*p).lastLineInfo.line == info.line));
		if (T3_) goto LA4_;
		T3_ = !(((*p).lastLineInfo.fileIndex == info.fileIndex));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).lastLineInfo.line = info.line;
		(*p).lastLineInfo.fileIndex = info.fileIndex;
		result = NIM_TRUE;
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genLineDir_cgen_351)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	NI line;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T11_;
	NimStringDesc* T12_;
	line = safeLineNm_cgen_323((*t).info);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		NimStringDesc* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 28))&63U)))!=0)) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T6_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_359(T6_, 0);
		T8_ = (NimStringDesc*)0;
		T8_ = sourceLine_msgs_1101((*(*(*p).module).g).config, (*t).info);
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = amp__ropes_140(T7_, T8_);
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = amp__ropes_140(T9_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		add_ropes_159(T5_, T10_);
	}
	LA3_: ;
	T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T11_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	T12_ = (NimStringDesc*)0;
	T12_ = toFullPath_msgs_538((*(*(*p).module).g).config, (*t).info.fileIndex);
	genCLineDir_cgen_326(T11_, T12_, line, (*(*(*p).module).g).config);
	{
		NIM_BOOL T15_;
		NIM_BOOL T16_;
		NIM_BOOL T18_;
		T15_ = (NIM_BOOL)0;
		T16_ = (NIM_BOOL)0;
		T16_ = ((655360 & (*p).options) == 655360);
		if (!(T16_)) goto LA17_;
		T18_ = (NIM_BOOL)0;
		T18_ = ((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		if (T18_) goto LA19_;
		T18_ = !((((*(*p).prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0));
		LA19_: ;
		T16_ = T18_;
		LA17_: ;
		T15_ = T16_;
		if (!(T15_)) goto LA20_;
		T15_ = !(((*t).info.fileIndex == ((NI32) -1)));
		LA20_: ;
		if (!T15_) goto LA21_;
		{
			NIM_BOOL T25_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T28_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
			T25_ = (NIM_BOOL)0;
			T25_ = freshLineInfo_cgen_347(p, (*t).info);
			if (!T25_) goto LA26_;
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T28_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_543));
			cgFormatValue_cgen_148((&res), ((NI64) (line)));
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = quotedFilename_msgs_1464((*(*(*p).module).g).config, (*t).info);
			cgFormatValue_cgen_141((&res), T29_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA32_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA32_: ;
			T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T34_ = rope_ropes_109(res);
			T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T35_ = indentLine_cgen_272(p, T34_);
			add_ropes_159(T28_, T35_);
		}
		LA26_: ;
	}
	LA21_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, withTmpIfNeeded_cgen_12006)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, NIM_BOOL needsTmp, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* Result) {
	(*Result).k = 0;
	(*Result).storage = 0;
	unsureAsgnRef((void**)&(*Result).lode, NIM_NIL);
	unsureAsgnRef((void**)&(*Result).r, NIM_NIL);
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NI64 T9_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = needsTmp;
		if (!(T5_)) goto LA6_;
		T5_ = !(((*a.lode).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
		LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T4_ = ((48 &((NU16)1<<((NU)((*(*(*(*p).module).g).config).selectedGC)&15U)))!=0);
		LA7_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA8_;
		T9_ = (NI64)0;
		T9_ = getSize_types_3333((*(*(*p).module).g).config, (*a.lode).typ);
		T3_ = (T9_ < IL64(1024));
		LA8_: ;
		if (!T3_) goto LA10_;
		getTemp_cgen_7347(p, (*a.lode).typ, Result, NIM_FALSE);
		genAssignment_cgen_10373(p, (*Result), a, 0);
	}
	goto LA1_;
	LA10_: ;
	{
		genericAssign((void*)Result, (void*)(&a), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
	}
	LA1_: ;
}
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genArgStringToCString_cgen_12023)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL needsTmp) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
	res = rawNewString(((NI) 80));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_544));
	cgFormatValue_cgen_141((&res), T1_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	nimZeroMem((void*)(&T2_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	withTmpIfNeeded_cgen_12006(p, a, needsTmp, (&T2_));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = rdLoc_cgen_417(T2_);
	cgFormatValue_cgen_141((&res), T3_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	result = rope_ropes_109(res);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genArgNoParam_cgen_12106)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL needsTmp) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71))) goto LA3_;
		result = genArgStringToCString_cgen_12023(p, n, needsTmp);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T6_;
		initLocExprSingleUse_cgen_11482(p, n, (&a));
		nimZeroMem((void*)(&T6_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		withTmpIfNeeded_cgen_12006(p, a, needsTmp, (&T6_));
		result = rdLoc_cgen_417(T6_);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genOtherArg_cgen_11471)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NI i, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NI T3_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* paramType;
		T3_ = (NI)0;
		T3_ = len_ast_4001(typ);
		if (!(i < T3_)) goto LA4_;
		paramType = (*(*typ).n)._kind_6.sons->data[i];
		{
			NIM_BOOL T8_;
			T8_ = (NIM_BOOL)0;
			T8_ = isCompileTimeOnly_types_3525((*paramType).typ);
			if (!T8_) goto LA9_;
			result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
		}
		goto LA6_;
		LA9_: ;
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = ((*(*typ).sons->data[i]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
			if (!(T12_)) goto LA13_;
			T12_ = ((*(*ri)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64));
			LA13_: ;
			if (!T12_) goto LA14_;
			result = genArgNoParam_cgen_12106(p, (*(*ri)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		goto LA6_;
		LA14_: ;
		{
			result = genArgNoParam_cgen_12106(p, (*ri)._kind_6.sons->data[i], NIM_FALSE);
		}
		LA6_: ;
	}
	goto LA1_;
	LA4_: ;
	{
		{
			if (!!((((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0))) goto LA20_;
			liMessage_msgs_1118((*(*(*p).module).g).config, (*ri).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_545), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_546, NIM_FALSE);
			result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
		}
		goto LA18_;
		LA20_: ;
		{
			result = genArgNoParam_cgen_12106(p, (*ri)._kind_6.sons->data[i], NIM_FALSE);
		}
		LA18_: ;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13922)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_548), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13927)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_549), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13932)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_550), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13320)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_551), args, argsLen_0);
	return result;
}
static N_INLINE(NIM_BOOL, notYetAlive_cgen_13013)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	r = getRoot_trees_390(n);
	T1_ = (NIM_BOOL)0;
	T1_ = !((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
	if (!(T1_)) goto LA2_;
	T1_ = ((*r).loc.lode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
	LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddr_ast_5217)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
		result = (*n)._kind_6.sons->data[((NI) 0)];
	}
	goto LA1_;
	LA3_: ;
	{
		result = n;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInactiveDestructorCall_cgen_13025)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	NI T4_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T4_ = (NI)0;
	T4_ = len_ast_3197(e);
	T3_ = (T4_ == ((NI) 2));
	if (!(T3_)) goto LA5_;
	T3_ = ((*(*e)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
	LA5_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA6_;
	T2_ = eqStrings((*(*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_559));
	LA6_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA7_;
	T8_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T8_ = skipAddr_ast_5217((*e)._kind_6.sons->data[((NI) 1)]);
	T1_ = notYetAlive_cgen_13013(T8_);
	LA7_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__shxop0zPIs5Ec3k71aCLuQ*, newSeq_cgen_12196)(NI len) {
	tySequence__shxop0zPIs5Ec3k71aCLuQ* result;
	result = (tySequence__shxop0zPIs5Ec3k71aCLuQ*)0;
	result = (tySequence__shxop0zPIs5Ec3k71aCLuQ*) newSeq((&NTIseqLboolT__shxop0zPIs5Ec3k71aCLuQ_), len);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipTrivialIndirections_cgen_12133)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = n;
	{
		while (1) {
			switch ((*result).kind) {
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
			{
				result = (*result)._kind_6.sons->data[((NI) 0)];
			}
			break;
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
			{
				result = (*result)._kind_6.sons->data[((NI) 1)];
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, potentialAlias_cgen_12117)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* potentialWrites) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** p;
		NI i;
		NI L;
		NI T2_;
		p = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
		i = ((NI) 0);
		T2_ = (potentialWrites ? potentialWrites->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				p = &potentialWrites->data[i];
				{
					NIM_BOOL T7_;
					tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T8_;
					tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T10_;
					T7_ = (NIM_BOOL)0;
					T8_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
					T8_ = aliases_dfa_792((*p), n);
					T7_ = !((T8_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
					if (T7_) goto LA9_;
					T10_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
					T10_ = aliases_dfa_792(n, (*p));
					T7_ = !((T10_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
					LA9_: ;
					if (!T7_) goto LA11_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				LA11_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getPotentialReads_cgen_12179)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** result) {
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		NI T3_;
		unsureAsgnRef((void**) (&(*result)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*result)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
		T3_ = (*result)->Sup.len++;
		asgnRef((void**) (&(*result)->data[T3_]), n);
	}
	break;
	default:
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
			s = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen_ast_3190(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA8;
						i = i_2;
						s = (*n)._kind_6.sons->data[i];
						getPotentialReads_cgen_12179(s, result);
						i_2 += ((NI) 1);
					} LA8: ;
				}
			}
		}
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, getPotentialWrites_cgen_12138)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL mutate, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** result) {
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		{
			NI T7_;
			if (!mutate) goto LA5_;
			unsureAsgnRef((void**) (&(*result)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*result)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
			T7_ = (*result)->Sup.len++;
			asgnRef((void**) (&(*result)->data[T7_]), n);
		}
		LA5_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		getPotentialWrites_cgen_12138((*n)._kind_6.sons->data[((NI) 0)], NIM_TRUE, result);
		getPotentialWrites_cgen_12138((*n)._kind_6.sons->data[((NI) 1)], mutate, result);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	{
		getPotentialWrites_cgen_12138((*n)._kind_6.sons->data[((NI) 0)], NIM_TRUE, result);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		getPotentialWrites_cgen_12138((*n)._kind_6.sons->data[((NI) 0)], mutate, result);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T12_;
		T12_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
		T12_ = getMagic_trees_137(n);
		switch (T12_) {
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 157):
		{
			getPotentialWrites_cgen_12138((*n)._kind_6.sons->data[((NI) 1)], NIM_TRUE, result);
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len_ast_3197(n);
				i_2 = ((NI) 2);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA16;
						i = i_2;
						getPotentialWrites_cgen_12138((*n)._kind_6.sons->data[i], mutate, result);
						i_2 += ((NI) 1);
					} LA16: ;
				}
			}
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 142):
		{
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len_ast_3197(n);
				i_4 = ((NI) 1);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA20;
						i_3 = i_4;
						getPotentialWrites_cgen_12138((*n)._kind_6.sons->data[i_3], NIM_TRUE, result);
						i_4 += ((NI) 1);
					} LA20: ;
				}
			}
		}
		break;
		default:
		{
			{
				NI i_5;
				NI colontmp__3;
				NI i_6;
				i_5 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = len_ast_3197(n);
				i_6 = ((NI) 1);
				{
					while (1) {
						if (!(i_6 < colontmp__3)) goto LA24;
						i_5 = i_6;
						getPotentialWrites_cgen_12138((*n)._kind_6.sons->data[i_5], mutate, result);
						i_6 += ((NI) 1);
					} LA24: ;
				}
			}
		}
		break;
		}
	}
	break;
	default:
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
			s = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_7;
				NI colontmp__4;
				NI i_8;
				i_7 = (NI)0;
				colontmp__4 = (NI)0;
				colontmp__4 = safeLen_ast_3190(n);
				i_8 = ((NI) 0);
				{
					while (1) {
						if (!(i_8 < colontmp__4)) goto LA29;
						i_7 = i_8;
						s = (*n)._kind_6.sons->data[i_7];
						getPotentialWrites_cgen_12138(s, mutate, result);
						i_8 += ((NI) 1);
					} LA29: ;
				}
			}
		}
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, raiseInstr_cgen_406)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NI L;
		NI T5_;
		if (!((*(*(*(*p).module).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3))) goto LA3_;
		T5_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
		L = T5_;
		{
			NimStringDesc* res;
			if (!(L == ((NI) 0))) goto LA8_;
			(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 0)) & 7);
			res = rawNewString(((NI) 80));
			res = resizeString(res, 16);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_568));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA12_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA12_: ;
			result = rope_ropes_109(res);
		}
		goto LA6_;
		LA8_: ;
		{
			NimStringDesc* res_2;
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 7);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_569));
			cgFormatValue_cgen_148((&res_2), ((NI64) ((*p).nestedTryStmts->data[(NI)(L - ((NI) 1))].Field2)));
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_570));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA17_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA17_: ;
			result = rope_ropes_109(res_2);
		}
		LA6_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, intLiteral_cgen_17600)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA i) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI64 T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (NI64)0;
	T1_ = toInt64_int495056_88(i);
	result = intLiteral_cgen_11466(T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_10354)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_574), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdCharLoc_cgen_10347)(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = rdLoc_cgen_417(a);
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T7_;
		T3_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T3_ = t_cgen_79(a);
		T4_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T4_ = skipTypes_ast_3734(T3_, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
		if (!((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T7_[0] = result;
		result = percent__cgen_10354(T7_, 1);
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genBoundsCheck_cgen_11728)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA arr, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(arr);
	ty = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	switch ((*ty).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		{
			NIM_BOOL T5_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T8_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
			T5_ = (NIM_BOOL)0;
			T5_ = reifiedOpenArray_cgen_11733(arr.lode);
			if (!T5_) goto LA6_;
			T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T8_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T9_ = rdLoc_cgen_417(b);
			cgFormatValue_cgen_141((&res), T9_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_561));
			T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T10_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res), T10_);
			res = resizeString(res, 16);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_562));
			T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T11_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res), T11_);
			res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_563));
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = rdLoc_cgen_417(arr);
			cgFormatValue_cgen_141((&res), T12_);
			res = resizeString(res, 17);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_564));
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = rdLoc_cgen_417(b);
			cgFormatValue_cgen_141((&res), T13_);
			res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_563));
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = rdLoc_cgen_417(arr);
			cgFormatValue_cgen_141((&res), T14_);
			res = resizeString(res, 12);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_565));
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_566));
			cgFormatValue_cgen_141((&res), T15_);
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res), T16_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA19_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA19_: ;
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T21_ = rope_ropes_109(res);
			T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T22_ = indentLine_cgen_272(p, T21_);
			add_ropes_159(T8_, T22_);
		}
		goto LA3_;
		LA6_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T24_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T24_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T25_ = rdLoc_cgen_417(b);
			cgFormatValue_cgen_141((&res_2), T25_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_561));
			T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T26_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res_2), T26_);
			res_2 = resizeString(res_2, 16);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_562));
			T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T27_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res_2), T27_);
			res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_563));
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T28_ = rdLoc_cgen_417(arr);
			cgFormatValue_cgen_141((&res_2), T28_);
			res_2 = resizeString(res_2, 15);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_571));
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = rdLoc_cgen_417(b);
			cgFormatValue_cgen_141((&res_2), T29_);
			res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_563));
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = rdLoc_cgen_417(arr);
			cgFormatValue_cgen_141((&res_2), T30_);
			res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_572));
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_566));
			cgFormatValue_cgen_141((&res_2), T31_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T32_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_2), T32_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA35_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA35_: ;
			T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T37_ = rope_ropes_109(res_2);
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = indentLine_cgen_272(p, T37_);
			add_ropes_159(T24_, T38_);
		}
		LA3_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* first;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T40_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T41_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T48_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T52_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
		T40_ = firstOrd_types_1353((*(*(*p).module).g).config, ty);
		first = intLiteral_cgen_17600(T40_);
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T41_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T42_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res_3), T42_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_561));
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = rdCharLoc_cgen_10347(a);
		cgFormatValue_cgen_141((&res_3), T43_);
		res_3 = resizeString(res_3, 11);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_575));
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T44_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res_3), T44_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_561));
		T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T45_ = rdCharLoc_cgen_10347(a);
		cgFormatValue_cgen_141((&res_3), T45_);
		res_3 = resizeString(res_3, 9);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_576));
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T46_ = rdCharLoc_cgen_10347(a);
		cgFormatValue_cgen_141((&res_3), T46_);
		res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
		cgFormatValue_cgen_141((&res_3), first);
		res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_577));
		T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T47_ = rdCharLoc_cgen_10347(a);
		cgFormatValue_cgen_141((&res_3), T47_);
		res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_578));
		T48_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
		T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T49_ = intLiteral_cgen_17600(T48_);
		cgFormatValue_cgen_141((&res_3), T49_);
		res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_577));
		T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T50_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res_3), T50_);
		res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
		cgFormatValue_cgen_141((&res_3), first);
		res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_577));
		T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T51_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res_3), T51_);
		res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_578));
		T52_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
		T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T53_ = intLiteral_cgen_17600(T52_);
		cgFormatValue_cgen_141((&res_3), T53_);
		res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_579));
		T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_566));
		cgFormatValue_cgen_141((&res_3), T54_);
		res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
		T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T55_ = raiseInstr_cgen_406(p);
		cgFormatValue_cgen_141((&res_3), T55_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA58_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA58_: ;
		T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T60_ = rope_ropes_109(res_3);
		T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T61_ = indentLine_cgen_272(p, T60_);
		add_ropes_159(T41_, T61_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T63_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T76_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T77_;
		T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T63_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_4 = rawNewString(((NI) 80));
		res_4 = resizeString(res_4, 4);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T64_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res_4), T64_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_561));
		T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T65_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_4), T65_);
		res_4 = resizeString(res_4, 16);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_562));
		T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T66_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_4), T66_);
		res_4 = resizeString(res_4, 9);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_580));
		T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T67_ = lenExpr_cgen_440(p, arr);
		cgFormatValue_cgen_141((&res_4), T67_);
		res_4 = resizeString(res_4, 9);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_581));
		T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T68_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res_4), T68_);
		res_4 = resizeString(res_4, 9);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_580));
		T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T69_ = lenExpr_cgen_440(p, arr);
		cgFormatValue_cgen_141((&res_4), T69_);
		res_4 = resizeString(res_4, 4);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_579));
		T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T70_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_566));
		cgFormatValue_cgen_141((&res_4), T70_);
		res_4 = resizeString(res_4, 4);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
		T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T71_ = raiseInstr_cgen_406(p);
		cgFormatValue_cgen_141((&res_4), T71_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA74_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA74_: ;
		T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T76_ = rope_ropes_109(res_4);
		T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T77_ = indentLine_cgen_272(p, T76_);
		add_ropes_159(T63_, T77_);
	}
	break;
	default:
	{
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11772)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_583), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11779)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_584), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11784)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_585), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11790)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_586), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11795)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_587), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11842)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_588), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11847)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_589), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genOpenArraySlice_cgen_11750)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* q, tyObject_TType__facALICuu8zUj0hjvbTLFg* formalType, tyObject_TType__facALICuu8zUj0hjvbTLFg* destType, tyTuple__nsNHL3sm0TZE9bootw2pEXw* Result) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA c;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* dest;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lengthExpr;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T6_;
	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
	unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&c), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*q)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*q)._kind_6.sons->data[((NI) 2)], (&b));
	initLocExpr_cgen_11478(p, (*q)._kind_6.sons->data[((NI) 3)], (&c));
	{
		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0)) goto LA3_;
		genBoundsCheck_cgen_11728(p, a, b, c);
	}
	LA3_: ;
	T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T5_ = t_cgen_79(a);
	ty = skipTypes_ast_3734(T5_, TM__MQdRN7fpbG7rPm4JpVVAhA_582);
	dest = getTypeDesc_cgen_6635((*p).module, destType, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	nimZeroMem((void*)T6_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T6_[0] = rdLoc_cgen_417(c);
	T6_[1] = rdLoc_cgen_417(b);
	lengthExpr = percent__cgen_11772(T6_, 2);
	switch ((*ty).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		NI64 first;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T8_;
		T8_ = firstOrd_types_1353((*(*(*p).module).g).config, ty);
		first = toInt64_int495056_88(T8_);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp_;
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__2;
			if (!(first == IL64(0))) goto LA11_;
			nimZeroMem((void*)T13_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T13_[0] = rdLoc_cgen_417(a);
			T13_[1] = rdLoc_cgen_417(b);
			T13_[2] = dest;
			colontmp_ = percent__cgen_11779(T13_, 3);
			colontmp__2 = lengthExpr;
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp_);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__2);
		}
		goto LA9_;
		LA11_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__3;
			tyArray__f7nG5LD47BH5K9c6mASit3g T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__4;
			nimZeroMem((void*)T15_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
			T15_[0] = rdLoc_cgen_417(a);
			T15_[1] = rdLoc_cgen_417(b);
			T15_[2] = intLiteral_cgen_11466(first);
			T15_[3] = dest;
			colontmp__3 = percent__cgen_11784(T15_, 4);
			colontmp__4 = lengthExpr;
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__3);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__4);
		}
		LA9_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		{
			NIM_BOOL T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__5;
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T22_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__6;
			T19_ = (NIM_BOOL)0;
			T19_ = reifiedOpenArray_cgen_11733((*q)._kind_6.sons->data[((NI) 1)]);
			if (!T19_) goto LA20_;
			nimZeroMem((void*)T22_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T22_[0] = rdLoc_cgen_417(a);
			T22_[1] = rdLoc_cgen_417(b);
			T22_[2] = dest;
			colontmp__5 = percent__cgen_11790(T22_, 3);
			colontmp__6 = lengthExpr;
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__5);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__6);
		}
		goto LA17_;
		LA20_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__7;
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__8;
			nimZeroMem((void*)T24_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T24_[0] = rdLoc_cgen_417(a);
			T24_[1] = rdLoc_cgen_417(b);
			T24_[2] = dest;
			colontmp__7 = percent__cgen_11795(T24_, 3);
			colontmp__8 = lengthExpr;
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__7);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__8);
		}
		LA17_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__9;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__10;
		nimZeroMem((void*)T26_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T26_[0] = rdLoc_cgen_417(a);
		T26_[1] = rdLoc_cgen_417(b);
		T26_[2] = dest;
		colontmp__9 = percent__cgen_11795(T26_, 3);
		colontmp__10 = lengthExpr;
		unsureAsgnRef((void**) (&(*Result).Field0), colontmp__9);
		unsureAsgnRef((void**) (&(*Result).Field1), colontmp__10);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* atyp;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
		T28_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T28_ = t_cgen_79(a);
		atyp = skipTypes_ast_3734(T28_, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		{
			NIM_BOOL T31_;
			NIM_BOOL T32_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T38_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
			T31_ = (NIM_BOOL)0;
			T32_ = (NIM_BOOL)0;
			T33_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T33_ = skipTypes_ast_3734(formalType, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
			T32_ = ((*T33_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
			if (!(T32_)) goto LA34_;
			T32_ = ((*atyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
			LA34_: ;
			T31_ = T32_;
			if (!(T31_)) goto LA35_;
			T31_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
			LA35_: ;
			if (!T31_) goto LA36_;
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T38_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_362));
			cgFormatValue_cgen_141((&res), T39_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = byRefLoc_cgen_10323(p, a);
			cgFormatValue_cgen_141((&res), T40_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA43_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA43_: ;
			T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T45_ = rope_ropes_109(res);
			T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T46_ = indentLine_cgen_272(p, T45_);
			add_ropes_159(T38_, T46_);
		}
		LA36_: ;
		{
			NIM_BOOL T49_;
			NIM_BOOL T51_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__11;
			tyArray__f7nG5LD47BH5K9c6mASit3g T55_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__12;
			T49_ = (NIM_BOOL)0;
			T49_ = ((*atyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
			if (!(T49_)) goto LA50_;
			T51_ = (NIM_BOOL)0;
			T51_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T51_) goto LA52_;
			T51_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA52_: ;
			T49_ = !(T51_);
			LA50_: ;
			if (!T49_) goto LA53_;
			nimZeroMem((void*)T55_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
			T55_[0] = rdLoc_cgen_417(a);
			T55_[1] = rdLoc_cgen_417(b);
			T55_[2] = dataField_cgen_453(p);
			T55_[3] = dest;
			colontmp__11 = percent__cgen_11842(T55_, 4);
			colontmp__12 = lengthExpr;
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__11);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__12);
		}
		goto LA47_;
		LA53_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__13;
			tyArray__f7nG5LD47BH5K9c6mASit3g T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__14;
			nimZeroMem((void*)T57_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
			T57_[0] = rdLoc_cgen_417(a);
			T57_[1] = rdLoc_cgen_417(b);
			T57_[2] = dataField_cgen_453(p);
			T57_[3] = dest;
			colontmp__13 = percent__cgen_11847(T57_, 4);
			colontmp__14 = lengthExpr;
			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__13);
			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__14);
		}
		LA47_: ;
	}
	break;
	default:
	{
		NimStringDesc* T59_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
		NimStringDesc* T61_;
		T59_ = (NimStringDesc*)0;
		T60_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T60_ = t_cgen_79(a);
		T61_ = (NimStringDesc*)0;
		T61_ = typeToString_types_50(T60_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
		T59_ = rawNewString((T61_ ? T61_->Sup.len : 0) + 14);
appendString(T59_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_590));
appendString(T59_, T61_);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, T59_, TM__MQdRN7fpbG7rPm4JpVVAhA_591);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11914)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_592), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11919)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_593), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11924)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_594), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11972)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_595), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11977)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_596), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11982)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_597), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, openArrayLoc_cgen_11861)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* formalType, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* q;
	NIM_BOOL skipped;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	q = skipConv_types_3594(n);
	skipped = NIM_FALSE;
	{
		while (1) {
			NIM_BOOL T3_;
			NI T5_;
			T3_ = (NIM_BOOL)0;
			T3_ = ((*q).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
			if (!(T3_)) goto LA4_;
			T5_ = (NI)0;
			T5_ = len_ast_3197(q);
			T3_ = (((NI) 0) < T5_);
			LA4_: ;
			if (!T3_) goto LA2;
			skipped = NIM_TRUE;
			q = lastSon_ast_4831(q);
		} LA2: ;
	}
	{
		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T8_;
		tyTuple__nsNHL3sm0TZE9bootw2pEXw T24_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* x;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* y;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		T8_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
		T8_ = getMagic_trees_137(q);
		if (!(T8_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126))) goto LA9_;
		{
			if (!skipped) goto LA13_;
			q = skipConv_types_3594(n);
			{
				while (1) {
					NIM_BOOL T17_;
					NI T19_;
					T17_ = (NIM_BOOL)0;
					T17_ = ((*q).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
					if (!(T17_)) goto LA18_;
					T19_ = (NI)0;
					T19_ = len_ast_3197(q);
					T17_ = (((NI) 0) < T19_);
					LA18_: ;
					if (!T17_) goto LA16;
					{
						NI i;
						NI colontmp_;
						NI T21_;
						NI i_2;
						i = (NI)0;
						colontmp_ = (NI)0;
						T21_ = (NI)0;
						T21_ = len_ast_3197(q);
						colontmp_ = (NI)(T21_ - ((NI) 1));
						i_2 = ((NI) 0);
						{
							while (1) {
								if (!(i_2 < colontmp_)) goto LA23;
								i = i_2;
								genStmts_cgen_11452(p, (*q)._kind_6.sons->data[i]);
								i_2 += ((NI) 1);
							} LA23: ;
						}
					}
					q = lastSon_ast_4831(q);
				} LA16: ;
			}
		}
		LA13_: ;
		nimZeroMem((void*)(&T24_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
		genOpenArraySlice_cgen_11750(p, q, formalType, (*(*n).typ).sons->data[((NI) 0)], (&T24_));
		x = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		x = T24_.Field0;
		y = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		y = T24_.Field1;
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = amp__ropes_140(x, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		result = amp__ropes_128(T25_, y);
	}
	goto LA6_;
	LA9_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		T27_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA30_;
			T27_ = (*n)._kind_6.sons->data[((NI) 1)];
		}
		goto LA28_;
		LA30_: ;
		{
			T27_ = n;
		}
		LA28_: ;
		initLocExpr_cgen_11478(p, T27_, (&a));
		T33_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T33_ = t_cgen_79(a);
		T34_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T34_ = skipTypes_ast_3734(T33_, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
		switch ((*T34_).kind) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
		{
			{
				NIM_BOOL T38_;
				T38_ = (NIM_BOOL)0;
				T38_ = reifiedOpenArray_cgen_11733(n);
				if (!T38_) goto LA39_;
				{
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
					tyArray__JiWwrsTRC6xqNlGcBthSVA T46_;
					T43_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T43_ = t_cgen_79(a);
					if (!((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA44_;
					nimZeroMem((void*)T46_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T46_[0] = rdLoc_cgen_417(a);
					result = percent__cgen_11914(T46_, 1);
				}
				goto LA41_;
				LA44_: ;
				{
					tyArray__JiWwrsTRC6xqNlGcBthSVA T48_;
					nimZeroMem((void*)T48_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T48_[0] = rdLoc_cgen_417(a);
					result = percent__cgen_11919(T48_, 1);
				}
				LA41_: ;
			}
			goto LA36_;
			LA39_: ;
			{
				tyArray__JiWwrsTRC6xqNlGcBthSVA T50_;
				nimZeroMem((void*)T50_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T50_[0] = rdLoc_cgen_417(a);
				result = percent__cgen_11924(T50_, 1);
			}
			LA36_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* ntyp;
			ntyp = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
			{
				NIM_BOOL T54_;
				NIM_BOOL T55_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T56_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T61_;
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
				T54_ = (NIM_BOOL)0;
				T55_ = (NIM_BOOL)0;
				T56_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T56_ = skipTypes_ast_3734(formalType, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
				T55_ = ((*T56_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
				if (!(T55_)) goto LA57_;
				T55_ = ((*ntyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
				LA57_: ;
				T54_ = T55_;
				if (!(T54_)) goto LA58_;
				T54_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
				LA58_: ;
				if (!T54_) goto LA59_;
				T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T61_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res = rawNewString(((NI) 80));
				T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T62_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_362));
				cgFormatValue_cgen_141((&res), T62_);
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T63_ = byRefLoc_cgen_10323(p, a);
				cgFormatValue_cgen_141((&res), T63_);
				res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA66_;
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA66_: ;
				T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T68_ = rope_ropes_109(res);
				T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T69_ = indentLine_cgen_272(p, T68_);
				add_ropes_159(T61_, T69_);
			}
			LA59_: ;
			{
				NIM_BOOL T72_;
				NIM_BOOL T74_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA t;
				tyArray__JiWwrsTRC6xqNlGcBthSVA T78_;
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T79_;
				T72_ = (NIM_BOOL)0;
				T72_ = ((*ntyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
				if (!(T72_)) goto LA73_;
				T74_ = (NIM_BOOL)0;
				T74_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
				if (T74_) goto LA75_;
				T74_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
				LA75_: ;
				T72_ = !(T74_);
				LA73_: ;
				if (!T72_) goto LA76_;
				nimZeroMem((void*)(&t), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)T78_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T78_[0] = rdLoc_cgen_417(a);
				t.r = percent__cgen_424(T78_, 1);
				nimZeroMem((void*)T79_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T79_[0] = rdLoc_cgen_417(a);
				T79_[1] = lenExpr_cgen_440(p, t);
				T79_[2] = dataField_cgen_453(p);
				result = percent__cgen_11972(T79_, 3);
			}
			goto LA70_;
			LA76_: ;
			{
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T81_;
				nimZeroMem((void*)T81_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T81_[0] = rdLoc_cgen_417(a);
				T81_[1] = lenExpr_cgen_440(p, a);
				T81_[2] = dataField_cgen_453(p);
				result = percent__cgen_11977(T81_, 3);
			}
			LA70_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
		{
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T83_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T84_;
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T85_;
			nimZeroMem((void*)T83_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T83_[0] = rdLoc_cgen_417(a);
			T84_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T84_ = t_cgen_79(a);
			T85_ = lengthOrd_types_1661((*(*(*p).module).g).config, T84_);
			T83_[1] = rope_cgen_6922(T85_);
			result = percent__cgen_11982(T83_, 2);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T87_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T88_;
			T87_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T87_ = t_cgen_79(a);
			T88_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T88_ = lastSon_ast_3742(T87_);
			switch ((*T88_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA t_2;
				tyArray__JiWwrsTRC6xqNlGcBthSVA T90_;
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T91_;
				nimZeroMem((void*)(&t_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)T90_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T90_[0] = rdLoc_cgen_417(a);
				t_2.r = percent__cgen_424(T90_, 1);
				nimZeroMem((void*)T91_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T91_[0] = rdLoc_cgen_417(a);
				T91_[1] = lenExpr_cgen_440(p, t_2);
				T91_[2] = dataField_cgen_453(p);
				result = percent__cgen_11972(T91_, 3);
			}
			break;
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
			{
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T93_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T94_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T95_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T96_;
				nimZeroMem((void*)T93_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T93_[0] = rdLoc_cgen_417(a);
				T94_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T94_ = t_cgen_79(a);
				T95_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T95_ = lastSon_ast_3742(T94_);
				T96_ = lengthOrd_types_1661((*(*(*p).module).g).config, T95_);
				T93_[1] = rope_cgen_6922(T96_);
				result = percent__cgen_11982(T93_, 2);
			}
			break;
			default:
			{
				NimStringDesc* T98_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T99_;
				NimStringDesc* T100_;
				T98_ = (NimStringDesc*)0;
				T99_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T99_ = t_cgen_79(a);
				T100_ = (NimStringDesc*)0;
				T100_ = typeToString_types_50(T99_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
				T98_ = rawNewString((T100_ ? T100_->Sup.len : 0) + 14);
appendString(T98_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_590));
appendString(T98_, T100_);
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, T98_, TM__MQdRN7fpbG7rPm4JpVVAhA_598);
			}
			break;
			}
		}
		break;
		default:
		{
			NimStringDesc* T102_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T103_;
			NimStringDesc* T104_;
			T102_ = (NimStringDesc*)0;
			T103_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T103_ = t_cgen_79(a);
			T104_ = (NimStringDesc*)0;
			T104_ = typeToString_types_50(T103_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
			T102_ = rawNewString((T104_ ? T104_->Sup.len : 0) + 14);
appendString(T102_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_590));
appendString(T102_, T104_);
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, T102_, TM__MQdRN7fpbG7rPm4JpVVAhA_599);
		}
		break;
		}
	}
	LA6_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, literalsNeedsTmp_cgen_12019)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* Result) {
	(*Result).k = 0;
	(*Result).storage = 0;
	unsureAsgnRef((void**)&(*Result).lode, NIM_NIL);
	unsureAsgnRef((void**)&(*Result).r, NIM_NIL);
	getTemp_cgen_7347(p, (*a.lode).typ, Result, NIM_FALSE);
	genAssignment_cgen_10373(p, (*Result), a, 0);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genArg_cgen_12039)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call, NIM_BOOL needsTmp) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71))) goto LA3_;
		result = genArgStringToCString_cgen_12023(p, n, needsTmp);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
		T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T6_ = skipTypes_ast_3734((*param).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
		if (!((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA7_;
		{
			if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64)))) goto LA11_;
			n_2 = n;
		}
		goto LA9_;
		LA11_: ;
		{
			n_2 = (*n)._kind_6.sons->data[((NI) 0)];
		}
		LA9_: ;
		result = openArrayLoc_cgen_11861(p, (*param).typ, n_2);
	}
	goto LA1_;
	LA7_: ;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = ccgIntroducedPtr_ccgutils_153((*(*(*p).module).g).config, param, (*(*(*call)._kind_6.sons->data[((NI) 0)]).typ).sons->data[((NI) 0)]);
		if (!T15_) goto LA16_;
		initLocExpr_cgen_11478(p, n, (&a));
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T22_;
			if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA20_;
			nimZeroMem((void*)(&T22_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			literalsNeedsTmp_cgen_12019(p, a, (&T22_));
			result = addrLoc_cgen_10307((*(*(*p).module).g).config, T22_);
		}
		goto LA18_;
		LA20_: ;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T24_;
			nimZeroMem((void*)(&T24_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			withTmpIfNeeded_cgen_12006(p, a, needsTmp, (&T24_));
			result = addrLoc_cgen_10307((*(*(*p).module).g).config, T24_);
		}
		LA18_: ;
	}
	goto LA1_;
	LA16_: ;
	{
		NIM_BOOL T26_;
		NIM_BOOL T27_;
		NIM_BOOL T28_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callee;
		T26_ = (NIM_BOOL)0;
		T27_ = (NIM_BOOL)0;
		T28_ = (NIM_BOOL)0;
		T28_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T28_) goto LA29_;
		T28_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA29_: ;
		T27_ = T28_;
		if (!(T27_)) goto LA30_;
		T27_ = ((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
		LA30_: ;
		T26_ = T27_;
		if (!(T26_)) goto LA31_;
		T26_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64));
		LA31_: ;
		if (!T26_) goto LA32_;
		initLocExprSingleUse_cgen_11482(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
		callee = (*call)._kind_6.sons->data[((NI) 0)];
		{
			NIM_BOOL T36_;
			NIM_BOOL T37_;
			T36_ = (NIM_BOOL)0;
			T37_ = (NIM_BOOL)0;
			T37_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
			if (!(T37_)) goto LA38_;
			T37_ = ((IL64(4295229504) & (*(*callee)._kind_4.sym).flags) == 64);
			LA38_: ;
			T36_ = T37_;
			if (!(T36_)) goto LA39_;
			T36_ = !(((72 & (*(*callee)._kind_4.sym).loc.flags) == 0));
			LA39_: ;
			if (!T36_) goto LA40_;
			result = addrLoc_cgen_10307((*(*(*p).module).g).config, a);
		}
		goto LA34_;
		LA40_: ;
		{
			result = rdLoc_cgen_417(a);
		}
		LA34_: ;
	}
	goto LA1_;
	LA32_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA T44_;
		initLocExprSingleUse_cgen_11482(p, n, (&a));
		nimZeroMem((void*)(&T44_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		withTmpIfNeeded_cgen_12006(p, a, needsTmp, (&T44_));
		result = rdLoc_cgen_417(T44_);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genParams_cgen_12187)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tySequence__shxop0zPIs5Ec3k71aCLuQ* needTmp;
	NI T1_;
	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* potentialWrites;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (NI)0;
	T1_ = len_ast_3197(ri);
	needTmp = newSeq_cgen_12196(((NI) ((NI)(T1_ - ((NI) 1)))));
	potentialWrites = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (NI)0;
		T3_ = len_ast_3197(ri);
		colontmp_ = (NI)(T3_ - ((NI) 1));
		res = colontmp_;
		{
			while (1) {
				if (!(((NI) 1) <= res)) goto LA5;
				i = res;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
					T8_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T8_ = skipTrivialIndirections_cgen_12133((*ri)._kind_6.sons->data[i]);
					if (!((*T8_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA9_;
					needTmp->data[(NI)(i - ((NI) 1))] = potentialAlias_cgen_12117((*ri)._kind_6.sons->data[i], potentialWrites);
				}
				goto LA6_;
				LA9_: ;
				{
					tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* potentialReads;
					potentialReads = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
					getPotentialReads_cgen_12179((*ri)._kind_6.sons->data[i], (&potentialReads));
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n;
						NI i_2;
						NI L;
						NI T13_;
						n = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
						i_2 = ((NI) 0);
						T13_ = (potentialReads ? potentialReads->Sup.len : 0);
						L = T13_;
						{
							while (1) {
								if (!(i_2 < L)) goto LA15;
								n = &potentialReads->data[i_2];
								{
									if (!!(needTmp->data[(NI)(i - ((NI) 1))])) goto LA18_;
									needTmp->data[(NI)(i - ((NI) 1))] = potentialAlias_cgen_12117((*n), potentialWrites);
								}
								LA18_: ;
								i_2 += ((NI) 1);
							} LA15: ;
						}
					}
					getPotentialWrites_cgen_12138((*ri)._kind_6.sons->data[i], NIM_FALSE, (&potentialWrites));
				}
				LA6_: ;
				{
					if (!((*(*ri)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA22_;
					needTmp->data[(NI)(i - ((NI) 1))] = NIM_FALSE;
				}
				LA22_: ;
				res -= ((NI) 1);
			} LA5: ;
		}
	}
	{
		NI i_3;
		NI colontmp__2;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = len_ast_3197(ri);
		i_4 = ((NI) 1);
		{
			while (1) {
				if (!(i_4 < colontmp__2)) goto LA26;
				i_3 = i_4;
				{
					NI T29_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* paramType;
					T29_ = (NI)0;
					T29_ = len_ast_4001(typ);
					if (!(i_3 < T29_)) goto LA30_;
					paramType = (*(*typ).n)._kind_6.sons->data[i_3];
					{
						NIM_BOOL T34_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
						T34_ = (NIM_BOOL)0;
						T34_ = isCompileTimeOnly_types_3525((*paramType).typ);
						if (!!(T34_)) goto LA35_;
						{
							tyArray__qTjAvTvKF9anytN1At69aJMQ T41_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
							if (!!((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA39_;
							nimZeroMem((void*)T41_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
							T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T42_ = percent__cgen_3511(T41_, 0);
							add_ropes_159(&result, T42_);
						}
						LA39_: ;
						T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T43_ = genArg_cgen_12039(p, (*ri)._kind_6.sons->data[i_3], (*paramType)._kind_4.sym, ri, needTmp->data[(NI)(i_3 - ((NI) 1))]);
						add_ropes_159(&result, T43_);
					}
					LA35_: ;
				}
				goto LA27_;
				LA30_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
					{
						tyArray__qTjAvTvKF9anytN1At69aJMQ T49_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
						if (!!((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA47_;
						nimZeroMem((void*)T49_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T50_ = percent__cgen_3511(T49_, 0);
						add_ropes_159(&result, T50_);
					}
					LA47_: ;
					T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T51_ = genArgNoParam_cgen_12106(p, (*ri)._kind_6.sons->data[i_3], needTmp->data[(NI)(i_3 - ((NI) 1))]);
					add_ropes_159(&result, T51_);
				}
				LA27_: ;
				i_4 += ((NI) 1);
			} LA26: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaiseDisp_cgen_11518)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T3_)) goto LA4_;
		T3_ = !(((IL64(8796093284416) & (*(*n)._kind_4.sym).flags) == 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = NIM_FALSE;
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T8_;
		NIM_BOOL T10_;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
		T8_ = (NIM_BOOL)0;
		T8_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 46))&63U)))!=0);
		if (T8_) goto LA9_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T10_)) goto LA11_;
		T12_ = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
		T12_ = getModule_astalgo_216((*n)._kind_4.sym);
		T10_ = (((*T12_).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
		LA11_: ;
		T8_ = T10_;
		LA9_: ;
		if (!T8_) goto LA13_;
		result = canRaise_ast_5087(n);
	}
	goto LA1_;
	LA13_: ;
	{
		result = canRaiseConservative_ast_5075(n);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, locationEscapes_cgen_11551)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NIM_BOOL inTryStmt) {
	NIM_BOOL result;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
{	result = (NIM_BOOL)0;
	n = le;
	{
		while (1) {
			switch ((*n).kind) {
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
			{
				{
					if (!!(((*(*n)._kind_4.sym).owner == (*p).prc))) goto LA6_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				goto LA4_;
				LA6_: ;
				{
					NIM_BOOL T9_;
					T9_ = (NIM_BOOL)0;
					T9_ = inTryStmt;
					if (!(T9_)) goto LA10_;
					T9_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 44))&63U)))!=0);
					LA10_: ;
					if (!T9_) goto LA11_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				goto LA4_;
				LA11_: ;
				LA4_: ;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			break;
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
			{
				n = (*n)._kind_6.sons->data[((NI) 0)];
			}
			break;
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
			{
				n = (*n)._kind_6.sons->data[((NI) 1)];
			}
			break;
			default:
			{
				result = NIM_TRUE;
				goto BeforeRet_;
			}
			break;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, preventNrvo_cgen_11546)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!!((le == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(ri);
			i_2 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
					if (!(i_2 < colontmp_)) goto LA7;
					i = i_2;
					r = (*ri)._kind_6.sons->data[i];
					{
						tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w T10_;
						T10_ = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
						T10_ = isPartOf_aliases_129(le, r);
						if (!!((T10_ == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA11_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA11_: ;
					i_2 += ((NI) 1);
				} LA7: ;
			}
		}
		{
			NIM_BOOL T15_;
			NI T17_;
			NimStringDesc* T20_;
			T15_ = (NIM_BOOL)0;
			T15_ = canRaise_ast_5087((*ri)._kind_6.sons->data[((NI) 0)]);
			if (!(T15_)) goto LA16_;
			T17_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
			T15_ = locationEscapes_cgen_11551(p, le, (((NI) 0) < T17_));
			LA16_: ;
			if (!T15_) goto LA18_;
			T20_ = (NimStringDesc*)0;
			T20_ = dollar__renderer_2107(le);
			liMessage_msgs_1118((*(*(*p).module).g).config, (*le).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 57), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_600, NIM_FALSE);
		}
		LA18_: ;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, hasNoInit_cgen_11590)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*(*call)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
	if (!(T1_)) goto LA2_;
	T1_ = (((*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12426)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_601), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, addComma_cgen_12354)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
		result = r;
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__qTjAvTvKF9anytN1At69aJMQ T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		nimZeroMem((void*)T6_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_3511(T6_, 0);
		result = amp__ropes_128(r, T7_);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12431)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_602), args, argsLen_0);
	return result;
}
static N_INLINE(tyTuple__FxkU4d1VDodDMc9ah6Mbagw*, X5BX5D__cgen_14736)(tyTuple__FxkU4d1VDodDMc9ah6Mbagw* s, NI sLen_0, NI i) {
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw* result;
	result = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
	result = (&s[(NI)(sLen_0 - i)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, raiseExit_cgen_11476)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	{
		if (!!((((*p).flags &((NU8)1<<((NU)(((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 6))&7U)))!=0))) goto LA3_;
		(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 4)) & 7);
		{
			NI T7_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			T7_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
			if (!(T7_ == ((NI) 0))) goto LA8_;
			(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 0)) & 7);
			T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			res = resizeString(res, 44);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_603));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA13_: ;
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = rope_ropes_109(res);
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = indentLine_cgen_272(p, T15_);
			add_ropes_159(T10_, T16_);
		}
		goto LA5_;
		LA8_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T18_;
			NimStringDesc* res_2;
			tyTuple__FxkU4d1VDodDMc9ah6Mbagw* T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T18_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 35);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_604));
			T19_ = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
			T19_ = X5BX5D__cgen_14736((*p).nestedTryStmts->data, ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0), ((NI) 1));
			cgFormatValue_cgen_148((&res_2), ((NI64) ((*T19_).Field2)));
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_570));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA22_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA22_: ;
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = rope_ropes_109(res_2);
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T25_ = indentLine_cgen_272(p, T24_);
			add_ropes_159(T18_, T25_);
		}
		LA5_: ;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isHarmlessStore_cgen_11603)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, NIM_BOOL canRaise, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((3 &((NU16)1<<((NU)(d.k)&15U)))!=0);
		if (T3_) goto LA4_;
		T3_ = !(canRaise);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = NIM_TRUE;
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = (d.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 2));
		if (!(T8_)) goto LA9_;
		T8_ = ((*p).withinTryWithExcept == ((NI) 0));
		LA9_: ;
		if (!T8_) goto LA10_;
		result = NIM_TRUE;
	}
	goto LA1_;
	LA10_: ;
	{
		result = NIM_FALSE;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12467)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_605), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12472)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_606), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genClosureCall_cgen_12349)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA op;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* pl;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* rawProc;
	NIM_BOOL canRaise;
	NIM_BOOL T1_;
	nimZeroMem((void*)(&op), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*ri)._kind_6.sons->data[((NI) 0)], (&op));
	typ = skipTypes_ast_3734((*(*ri)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	pl = genParams_cgen_12187(p, ri, typ);
	rawProc = getClosureType_cgen_6648((*p).module, typ, ((tyEnum_TClosureTypeKind__cLHRMz1vnpSK0uePy2qbWw) 0));
	T1_ = (NIM_BOOL)0;
	T1_ = ((*(*(*(*p).module).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3));
	if (!(T1_)) goto LA2_;
	T1_ = canRaiseDisp_cgen_11518(p, (*ri)._kind_6.sons->data[((NI) 0)]);
	LA2_: ;
	canRaise = T1_;
	{
		if (!!(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA5_;
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = isInvalidReturnType_cgen_1327((*(*(*p).module).g).config, (*typ).sons->data[((NI) 0)]);
			if (!T9_) goto LA10_;
			{
				NI T14_;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T17_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
				T14_ = (NI)0;
				T14_ = len_ast_3197(ri);
				if (!(((NI) 1) < T14_)) goto LA15_;
				nimZeroMem((void*)T17_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T18_ = percent__cgen_3511(T17_, 0);
				add_ropes_159(&pl, T18_);
			}
			LA15_: ;
			{
				NIM_BOOL T21_;
				NIM_BOOL T23_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
				T21_ = (NIM_BOOL)0;
				T21_ = ((3 &((NU16)1<<((NU)((*d).k)&15U)))!=0);
				if (T21_) goto LA22_;
				T23_ = (NIM_BOOL)0;
				T23_ = preventNrvo_cgen_11546(p, le, ri);
				T21_ = !(T23_);
				LA22_: ;
				if (!T21_) goto LA24_;
				{
					if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA28_;
					getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], d, NIM_TRUE);
				}
				goto LA26_;
				LA28_: ;
				{
					NIM_BOOL T31_;
					NIM_BOOL T33_;
					T31_ = (NIM_BOOL)0;
					T31_ = !(((2 &((NU16)1<<((NU)((*d).k)&15U)))!=0));
					if (!(T31_)) goto LA32_;
					T33_ = (NIM_BOOL)0;
					T33_ = hasNoInit_cgen_11590(ri);
					T31_ = !(T33_);
					LA32_: ;
					if (!T31_) goto LA34_;
				}
				goto LA26_;
				LA34_: ;
				LA26_: ;
				T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T36_ = addrLoc_cgen_10307((*(*(*p).module).g).config, (*d));
				add_ropes_159(&pl, T36_);
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T41_;
					tyArray__f7nG5LD47BH5K9c6mASit3g T42_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
					if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0)) goto LA39_;
					T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T41_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T42_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
					T42_[0] = rdLoc_cgen_417(op);
					T42_[1] = pl;
					T42_[2] = addComma_cgen_12354(pl);
					T42_[3] = rawProc;
					T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T43_ = percent__cgen_12426(T42_, 4);
					T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T44_ = indentLine_cgen_272(p, T43_);
					add_ropes_159(T41_, T44_);
				}
				goto LA37_;
				LA39_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T46_;
					tyArray__f7nG5LD47BH5K9c6mASit3g T47_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
					T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T46_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T47_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
					T47_[0] = rdLoc_cgen_417(op);
					T47_[1] = pl;
					T47_[2] = addComma_cgen_12354(pl);
					T47_[3] = rawProc;
					T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T48_ = percent__cgen_12431(T47_, 4);
					T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T49_ = indentLine_cgen_272(p, T48_);
					add_ropes_159(T46_, T49_);
				}
				LA37_: ;
			}
			goto LA19_;
			LA24_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
				nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], (&tmp), NIM_TRUE);
				T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T51_ = addrLoc_cgen_10307((*(*(*p).module).g).config, tmp);
				add_ropes_159(&pl, T51_);
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T56_;
					tyArray__f7nG5LD47BH5K9c6mASit3g T57_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
					if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0)) goto LA54_;
					T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T56_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T57_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
					T57_[0] = rdLoc_cgen_417(op);
					T57_[1] = pl;
					T57_[2] = addComma_cgen_12354(pl);
					T57_[3] = rawProc;
					T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T58_ = percent__cgen_12426(T57_, 4);
					T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T59_ = indentLine_cgen_272(p, T58_);
					add_ropes_159(T56_, T59_);
				}
				goto LA52_;
				LA54_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T61_;
					tyArray__f7nG5LD47BH5K9c6mASit3g T62_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
					T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T61_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T62_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
					T62_[0] = rdLoc_cgen_417(op);
					T62_[1] = pl;
					T62_[2] = addComma_cgen_12354(pl);
					T62_[3] = rawProc;
					T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T63_ = percent__cgen_12431(T62_, 4);
					T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T64_ = indentLine_cgen_272(p, T63_);
					add_ropes_159(T61_, T64_);
				}
				LA52_: ;
				{
					if (!canRaise) goto LA67_;
					raiseExit_cgen_11476(p);
				}
				LA67_: ;
				genAssignment_cgen_10373(p, (*d), tmp, 0);
			}
			LA19_: ;
		}
		goto LA7_;
		LA10_: ;
		{
			NIM_BOOL T70_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA list;
			T70_ = (NIM_BOOL)0;
			T70_ = isHarmlessStore_cgen_11603(p, canRaise, (*d));
			if (!T70_) goto LA71_;
			{
				if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA75_;
				getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], d, NIM_FALSE);
			}
			LA75_: ;
			nimZeroMem((void*)(&list), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLoc_cgen_60((&list), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), (*d).lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
			{
				tyArray__f7nG5LD47BH5K9c6mASit3g T81_;
				if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0)) goto LA79_;
				nimZeroMem((void*)T81_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
				T81_[0] = rdLoc_cgen_417(op);
				T81_[1] = pl;
				T81_[2] = addComma_cgen_12354(pl);
				T81_[3] = rawProc;
				list.r = percent__cgen_12467(T81_, 4);
			}
			goto LA77_;
			LA79_: ;
			{
				tyArray__f7nG5LD47BH5K9c6mASit3g T83_;
				nimZeroMem((void*)T83_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
				T83_[0] = rdLoc_cgen_417(op);
				T83_[1] = pl;
				T83_[2] = addComma_cgen_12354(pl);
				T83_[3] = rawProc;
				list.r = percent__cgen_12472(T83_, 4);
			}
			LA77_: ;
			genAssignment_cgen_10373(p, (*d), list, 0);
			{
				if (!canRaise) goto LA86_;
				raiseExit_cgen_11476(p);
			}
			LA86_: ;
		}
		goto LA7_;
		LA71_: ;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp_2;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA list_2;
			nimZeroMem((void*)(&tmp_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], (&tmp_2), NIM_FALSE);
			nimZeroMem((void*)(&list_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLoc_cgen_60((&list_2), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), (*d).lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
			{
				tyArray__f7nG5LD47BH5K9c6mASit3g T93_;
				if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0)) goto LA91_;
				nimZeroMem((void*)T93_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
				T93_[0] = rdLoc_cgen_417(op);
				T93_[1] = pl;
				T93_[2] = addComma_cgen_12354(pl);
				T93_[3] = rawProc;
				list_2.r = percent__cgen_12467(T93_, 4);
			}
			goto LA89_;
			LA91_: ;
			{
				tyArray__f7nG5LD47BH5K9c6mASit3g T95_;
				nimZeroMem((void*)T95_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
				T95_[0] = rdLoc_cgen_417(op);
				T95_[1] = pl;
				T95_[2] = addComma_cgen_12354(pl);
				T95_[3] = rawProc;
				list_2.r = percent__cgen_12472(T95_, 4);
			}
			LA89_: ;
			genAssignment_cgen_10373(p, tmp_2, list_2, 0);
			{
				if (!canRaise) goto LA98_;
				raiseExit_cgen_11476(p);
			}
			LA98_: ;
			genAssignment_cgen_10373(p, (*d), tmp_2, 0);
		}
		LA7_: ;
	}
	goto LA3_;
	LA5_: ;
	{
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T105_;
			tyArray__f7nG5LD47BH5K9c6mASit3g T106_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
			if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0)) goto LA103_;
			T105_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T105_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T106_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
			T106_[0] = rdLoc_cgen_417(op);
			T106_[1] = pl;
			T106_[2] = addComma_cgen_12354(pl);
			T106_[3] = rawProc;
			T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T107_ = percent__cgen_12426(T106_, 4);
			T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T108_ = indentLine_cgen_272(p, T107_);
			add_ropes_159(T105_, T108_);
		}
		goto LA101_;
		LA103_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T110_;
			tyArray__f7nG5LD47BH5K9c6mASit3g T111_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T112_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
			T110_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T110_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T111_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
			T111_[0] = rdLoc_cgen_417(op);
			T111_[1] = pl;
			T111_[2] = addComma_cgen_12354(pl);
			T111_[3] = rawProc;
			T112_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T112_ = percent__cgen_12431(T111_, 4);
			T113_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T113_ = indentLine_cgen_272(p, T112_);
			add_ropes_159(T110_, T113_);
		}
		LA101_: ;
		{
			if (!canRaise) goto LA116_;
			raiseExit_cgen_11476(p);
		}
		LA116_: ;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11630)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11676)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddrDeref_cgen_12547)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
	NIM_BOOL isAddr;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	n = node;
	isAddr = NIM_FALSE;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	{
		n = (*n)._kind_6.sons->data[((NI) 0)];
		isAddr = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
	{
		n = (*n)._kind_6.sons->data[((NI) 0)];
	}
	break;
	default:
	{
		result = n;
		goto BeforeRet_;
	}
	break;
	}
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66))) goto LA6_;
		n = (*n)._kind_6.sons->data[((NI) 0)];
	}
	LA6_: ;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = isAddr;
		if (!(T10_)) goto LA11_;
		T10_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
		LA11_: ;
		if (!T10_) goto LA12_;
		result = (*n)._kind_6.sons->data[((NI) 0)];
	}
	goto LA8_;
	LA12_: ;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA15_;
		result = (*n)._kind_6.sons->data[((NI) 0)];
	}
	goto LA8_;
	LA15_: ;
	{
		result = node;
	}
	LA8_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genThisArg_cgen_12569)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NI i, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri_2;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NI T3_;
		NimStringDesc* argX60gensym1404_;
		T3_ = (NI)0;
		T3_ = len_ast_4001(typ);
		if (!!((i < T3_))) goto LA4_;
		argX60gensym1404_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_611);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, argX60gensym1404_, TM__MQdRN7fpbG7rPm4JpVVAhA_611);
	}
	LA4_: ;
	ri_2 = (*ri)._kind_6.sons->data[i];
	{
		while (1) {
			if (!((*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66))) goto LA7;
			ri_2 = (*ri_2)._kind_6.sons->data[((NI) 0)];
		} LA7: ;
	}
	t = skipTypes_ast_3734((*typ).sons->data[i], TM__MQdRN7fpbG7rPm4JpVVAhA_612);
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA10_;
		{
			if (!((*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA14_;
			x = (*ri_2)._kind_6.sons->data[((NI) 0)];
		}
		goto LA12_;
		LA14_: ;
		{
			x = ri_2;
		}
		LA12_: ;
		{
			if (!((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA19_;
			result = genArgNoParam_cgen_12106(p, x, NIM_FALSE);
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_613));
		}
		goto LA17_;
		LA19_: ;
		{
			NIM_BOOL T22_;
			T22_ = (NIM_BOOL)0;
			T22_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47));
			if (!(T22_)) goto LA23_;
			T22_ = ((*(*(*x)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
			LA23_: ;
			if (!T22_) goto LA24_;
			result = genArgNoParam_cgen_12106(p, (*x)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_613));
		}
		goto LA17_;
		LA24_: ;
		{
			result = genArgNoParam_cgen_12106(p, x, NIM_FALSE);
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
		}
		LA17_: ;
	}
	goto LA8_;
	LA10_: ;
	{
		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA28_;
		{
			if (!((*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA32_;
			result = genArgNoParam_cgen_12106(p, (*ri_2)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
		}
		goto LA30_;
		LA32_: ;
		{
			result = genArgNoParam_cgen_12106(p, ri_2, NIM_FALSE);
			add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_613));
		}
		LA30_: ;
	}
	goto LA8_;
	LA28_: ;
	{
		ri_2 = skipAddrDeref_cgen_12547(ri_2);
		{
			if (!((*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA38_;
			ri_2 = (*ri_2)._kind_6.sons->data[((NI) 0)];
		}
		LA38_: ;
		result = genArgNoParam_cgen_12106(p, ri_2, NIM_FALSE);
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
	}
	LA8_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genPatternCall_cgen_12637)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NimStringDesc* pat, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI i;
	NI j;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	i = ((NI) 0);
	j = ((NI) 1);
	{
		while (1) {
			if (!(i < (pat ? pat->Sup.len : 0))) goto LA2;
			switch (((NU8)(pat->data[i]))) {
			case 64:
			{
				NIM_BOOL first;
				first = NIM_TRUE;
				{
					NI k;
					NI colontmp_;
					NI i_2;
					k = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = len_ast_3197(ri);
					i_2 = j;
					{
						while (1) {
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* arg;
							if (!(i_2 < colontmp_)) goto LA6;
							k = i_2;
							arg = genOtherArg_cgen_11471(p, ri, k, typ);
							{
								NI T9_;
								T9_ = (NI)0;
								T9_ = len_ropes_10(arg);
								if (!(((NI) 0) < T9_)) goto LA10_;
								{
									tyArray__qTjAvTvKF9anytN1At69aJMQ T16_;
									tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
									if (!!(first)) goto LA14_;
									nimZeroMem((void*)T16_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
									T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
									T17_ = percent__cgen_3511(T16_, 0);
									add_ropes_159(&result, T17_);
								}
								LA14_: ;
								first = NIM_FALSE;
								add_ropes_159(&result, arg);
							}
							LA10_: ;
							i_2 += ((NI) 1);
						} LA6: ;
					}
				}
				i += ((NI) 1);
			}
			break;
			case 35:
			{
				{
					NIM_BOOL T21_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri_2;
					T21_ = (NIM_BOOL)0;
					T21_ = ((NI)(i + ((NI) 1)) < (pat ? pat->Sup.len : 0));
					if (!(T21_)) goto LA22_;
					T21_ = (((NU8)(pat->data[(NI)(i + ((NI) 1))])) == ((NU8)(43)) || ((NU8)(pat->data[(NI)(i + ((NI) 1))])) == ((NU8)(64)));
					LA22_: ;
					if (!T21_) goto LA23_;
					ri_2 = (*ri)._kind_6.sons->data[j];
					{
						tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
						tyArray__qTjAvTvKF9anytN1At69aJMQ T34_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
						tyArray__qTjAvTvKF9anytN1At69aJMQ T48_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
						if (!((*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*ri_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA27_;
						typ_2 = skipTypes_ast_3734((*(*ri_2)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
						{
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
							if (!((NU8)(pat->data[(NI)(i + ((NI) 1))]) == (NU8)(43))) goto LA31_;
							T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T33_ = genArgNoParam_cgen_12106(p, (*ri_2)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
							add_ropes_159(&result, T33_);
						}
						LA31_: ;
						nimZeroMem((void*)T34_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T35_ = percent__cgen_11630(T34_, 0);
						add_ropes_159(&result, T35_);
						{
							NI T38_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
							T38_ = (NI)0;
							T38_ = len_ast_3197(ri_2);
							if (!(((NI) 1) < T38_)) goto LA39_;
							T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T41_ = genOtherArg_cgen_11471(p, ri_2, ((NI) 1), typ_2);
							add_ropes_159(&result, T41_);
						}
						LA39_: ;
						{
							NI k_2;
							NI colontmp__2;
							NI colontmp__3;
							NI i_3;
							k_2 = (NI)0;
							colontmp__2 = (NI)0;
							colontmp__3 = (NI)0;
							colontmp__2 = (NI)(j + ((NI) 1));
							colontmp__3 = len_ast_3197(ri_2);
							i_3 = colontmp__2;
							{
								while (1) {
									tyArray__qTjAvTvKF9anytN1At69aJMQ T45_;
									tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
									tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
									if (!(i_3 < colontmp__3)) goto LA44;
									k_2 = i_3;
									nimZeroMem((void*)T45_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
									T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
									T46_ = percent__cgen_3511(T45_, 0);
									add_ropes_159(&result, T46_);
									T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
									T47_ = genOtherArg_cgen_11471(p, ri_2, k_2, typ_2);
									add_ropes_159(&result, T47_);
									i_3 += ((NI) 1);
								} LA44: ;
							}
						}
						nimZeroMem((void*)T48_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T49_ = percent__cgen_11676(T48_, 0);
						add_ropes_159(&result, T49_);
					}
					goto LA25_;
					LA27_: ;
					{
						liMessage_msgs_1118((*(*(*p).module).g).config, (*ri_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_609), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_610, NIM_FALSE);
					}
					LA25_: ;
					i += ((NI) 1);
				}
				goto LA19_;
				LA23_: ;
				{
					NIM_BOOL T52_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
					T52_ = (NIM_BOOL)0;
					T52_ = ((NI)(i + ((NI) 1)) < (pat ? pat->Sup.len : 0));
					if (!(T52_)) goto LA53_;
					T52_ = ((NU8)(pat->data[(NI)(i + ((NI) 1))]) == (NU8)(46));
					LA53_: ;
					if (!T52_) goto LA54_;
					T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T56_ = genThisArg_cgen_12569(p, ri, j, typ);
					add_ropes_159(&result, T56_);
					i += ((NI) 1);
				}
				goto LA19_;
				LA54_: ;
				{
					NIM_BOOL T58_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg_2;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
					T58_ = (NIM_BOOL)0;
					T58_ = ((NI)(i + ((NI) 1)) < (pat ? pat->Sup.len : 0));
					if (!(T58_)) goto LA59_;
					T58_ = ((NU8)(pat->data[(NI)(i + ((NI) 1))]) == (NU8)(91));
					LA59_: ;
					if (!T58_) goto LA60_;
					arg_2 = skipAddrDeref_cgen_12547((*ri)._kind_6.sons->data[j]);
					{
						while (1) {
							if (!((*arg_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*arg_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64) || (*arg_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66))) goto LA63;
							arg_2 = (*arg_2)._kind_6.sons->data[((NI) 0)];
						} LA63: ;
					}
					T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T64_ = genArgNoParam_cgen_12106(p, arg_2, NIM_FALSE);
					add_ropes_159(&result, T64_);
				}
				goto LA19_;
				LA60_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
					T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T66_ = genOtherArg_cgen_11471(p, ri, j, typ);
					add_ropes_159(&result, T66_);
				}
				LA19_: ;
				j += ((NI) 1);
				i += ((NI) 1);
			}
			break;
			case 39:
			{
				NI idx;
				NI stars;
				idx = (NI)0;
				stars = (NI)0;
				{
					NIM_BOOL T70_;
					tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
					T70_ = (NIM_BOOL)0;
					T70_ = scanCppGenericSlot_cgen_3959(pat, (&i), (&idx), (&stars));
					if (!T70_) goto LA71_;
					t = resolveStarsInCppType_cgen_3988(typ, idx, stars);
					{
						tyArray__qTjAvTvKF9anytN1At69aJMQ T77_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
						if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA75_;
						nimZeroMem((void*)T77_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T78_ = percent__cgen_3486(T77_, 0);
						add_ropes_159(&result, T78_);
					}
					goto LA73_;
					LA75_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T80_;
						T80_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T80_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
						add_ropes_159(&result, T80_);
					}
					LA73_: ;
				}
				LA71_: ;
			}
			break;
			default:
			{
				NI start;
				start = i;
				{
					while (1) {
						if (!(i < (pat ? pat->Sup.len : 0))) goto LA83;
						{
							if (!!((((NU8)(pat->data[i])) == ((NU8)(64)) || ((NU8)(pat->data[i])) == ((NU8)(35)) || ((NU8)(pat->data[i])) == ((NU8)(39))))) goto LA86_;
							i += ((NI) 1);
						}
						goto LA84_;
						LA86_: ;
						{
							goto LA82;
						}
						LA84_: ;
					} LA83: ;
				} LA82: ;
				{
					NimStringDesc* T93_;
					if (!(start <= (NI)(i - ((NI) 1)))) goto LA91_;
					T93_ = (NimStringDesc*)0;
					T93_ = substr_system_7754(pat, start, (NI)(i - ((NI) 1)));
					add_ropes_162(&result, T93_);
				}
				LA91_: ;
			}
			break;
			}
		} LA2: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12810)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_532), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11665)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_614), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getTempCpp_cgen_11012)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* value) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T3_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
	(*p).labels += ((NI) 1);
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rope_ropes_115(((NI64) ((*p).labels)));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_164), T1_);
	unsureAsgnRef((void**) (&(*result).r), amp__ropes_140(T2_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3)));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T3_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res = rawNewString(((NI) 80));
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
	cgFormatValue_cgen_141((&res), T4_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
	cgFormatValue_cgen_141((&res), (*result).r);
	res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
	cgFormatValue_cgen_141((&res), value);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA7_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA7_: ;
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = rope_ropes_109(res);
	T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T10_ = indentLine_cgen_272(p, T9_);
	add_ropes_159(T3_, T10_);
	(*result).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1);
	unsureAsgnRef((void**) (&(*result).lode), lodeTyp_cgen_86(t));
	(*result).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2);
	(*result).flags = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, fixupCall_cgen_11617)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* callee, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* params) {
	NIM_BOOL canRaise;
	NIM_BOOL T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* pl;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T3_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*(*(*(*p).module).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3));
	if (!(T1_)) goto LA2_;
	T1_ = canRaiseDisp_cgen_11518(p, (*ri)._kind_6.sons->data[((NI) 0)]);
	LA2_: ;
	canRaise = T1_;
	genLineDir_cgen_351(p, ri);
	nimZeroMem((void*)T3_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = percent__cgen_11630(T3_, 0);
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T5_ = amp__ropes_128(callee, T4_);
	pl = amp__ropes_128(T5_, params);
	typ = skipTypes_ast_3734((*(*ri)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	{
		if (!!(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA8_;
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = isInvalidReturnType_cgen_1327((*(*(*p).module).g).config, (*typ).sons->data[((NI) 0)]);
			if (!T12_) goto LA13_;
			{
				tyArray__qTjAvTvKF9anytN1At69aJMQ T19_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
				if (!!((params == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA17_;
				nimZeroMem((void*)T19_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T20_ = percent__cgen_3511(T19_, 0);
				add_ropes_159(&pl, T20_);
			}
			LA17_: ;
			{
				NIM_BOOL T23_;
				NIM_BOOL T25_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T39_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T41_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
				T23_ = (NIM_BOOL)0;
				T23_ = ((3 &((NU16)1<<((NU)((*d).k)&15U)))!=0);
				if (T23_) goto LA24_;
				T25_ = (NIM_BOOL)0;
				T25_ = preventNrvo_cgen_11546(p, le, ri);
				T23_ = !(T25_);
				LA24_: ;
				if (!T23_) goto LA26_;
				{
					if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA30_;
					getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], d, NIM_TRUE);
				}
				goto LA28_;
				LA30_: ;
				{
					NIM_BOOL T33_;
					NIM_BOOL T35_;
					T33_ = (NIM_BOOL)0;
					T33_ = !(((2 &((NU16)1<<((NU)((*d).k)&15U)))!=0));
					if (!(T33_)) goto LA34_;
					T35_ = (NIM_BOOL)0;
					T35_ = hasNoInit_cgen_11590(ri);
					T33_ = !(T35_);
					LA34_: ;
					if (!T33_) goto LA36_;
				}
				goto LA28_;
				LA36_: ;
				LA28_: ;
				T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T38_ = addrLoc_cgen_10307((*(*(*p).module).g).config, (*d));
				add_ropes_159(&pl, T38_);
				nimZeroMem((void*)T39_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T40_ = percent__cgen_11665(T39_, 0);
				add_ropes_159(&pl, T40_);
				T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T41_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T42_ = indentLine_cgen_272(p, pl);
				add_ropes_159(T41_, T42_);
			}
			goto LA21_;
			LA26_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T45_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T47_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
				nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], (&tmp), NIM_TRUE);
				T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T44_ = addrLoc_cgen_10307((*(*(*p).module).g).config, tmp);
				add_ropes_159(&pl, T44_);
				nimZeroMem((void*)T45_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T46_ = percent__cgen_11665(T45_, 0);
				add_ropes_159(&pl, T46_);
				T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T47_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T48_ = indentLine_cgen_272(p, pl);
				add_ropes_159(T47_, T48_);
				genAssignment_cgen_10373(p, (*d), tmp, 0);
			}
			LA21_: ;
			{
				if (!canRaise) goto LA51_;
				raiseExit_cgen_11476(p);
			}
			LA51_: ;
		}
		goto LA10_;
		LA13_: ;
		{
			tyArray__qTjAvTvKF9anytN1At69aJMQ T54_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
			nimZeroMem((void*)T54_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T55_ = percent__cgen_11676(T54_, 0);
			add_ropes_159(&pl, T55_);
			{
				NIM_BOOL T58_;
				T58_ = (NIM_BOOL)0;
				T58_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
				if (T58_) goto LA59_;
				T58_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
				LA59_: ;
				if (!T58_) goto LA60_;
				{
					if (!(((*d).flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 8))&15U)))!=0)) goto LA64_;
					(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9);
					unsureAsgnRef((void**) (&(*d).r), pl);
					(*d).flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 8)) & 15));
				}
				goto LA62_;
				LA64_: ;
				{
					{
						NIM_BOOL T69_;
						T69_ = (NIM_BOOL)0;
						T69_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0));
						if (!(T69_)) goto LA70_;
						T69_ = ((*p).splitDecls == ((NI) 0));
						LA70_: ;
						if (!T69_) goto LA71_;
						getTempCpp_cgen_11012(p, (*typ).sons->data[((NI) 0)], d, pl);
					}
					goto LA67_;
					LA71_: ;
					{
						tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA list;
						{
							if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA76_;
							getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], d, NIM_FALSE);
						}
						LA76_: ;
						nimZeroMem((void*)(&list), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
						initLoc_cgen_60((&list), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), (*d).lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
						list.r = pl;
						genAssignment_cgen_10373(p, (*d), list, 0);
						{
							if (!canRaise) goto LA80_;
							raiseExit_cgen_11476(p);
						}
						LA80_: ;
					}
					LA67_: ;
				}
				LA62_: ;
			}
			goto LA56_;
			LA60_: ;
			{
				NIM_BOOL T83_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA list_2;
				T83_ = (NIM_BOOL)0;
				T83_ = isHarmlessStore_cgen_11603(p, canRaise, (*d));
				if (!T83_) goto LA84_;
				{
					if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA88_;
					getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], d, NIM_FALSE);
				}
				LA88_: ;
				nimZeroMem((void*)(&list_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLoc_cgen_60((&list_2), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), (*d).lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				list_2.r = pl;
				genAssignment_cgen_10373(p, (*d), list_2, 0);
				{
					if (!canRaise) goto LA92_;
					raiseExit_cgen_11476(p);
				}
				LA92_: ;
			}
			goto LA56_;
			LA84_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp_2;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA list_3;
				nimZeroMem((void*)(&tmp_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], (&tmp_2), NIM_TRUE);
				nimZeroMem((void*)(&list_3), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLoc_cgen_60((&list_3), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), (*d).lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				list_3.r = pl;
				genAssignment_cgen_10373(p, tmp_2, list_3, 0);
				{
					if (!canRaise) goto LA97_;
					raiseExit_cgen_11476(p);
				}
				LA97_: ;
				genAssignment_cgen_10373(p, (*d), tmp_2, 0);
			}
			LA56_: ;
		}
		LA10_: ;
	}
	goto LA6_;
	LA8_: ;
	{
		tyArray__qTjAvTvKF9anytN1At69aJMQ T100_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T101_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T102_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T103_;
		nimZeroMem((void*)T100_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T101_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T101_ = percent__cgen_11665(T100_, 0);
		add_ropes_159(&pl, T101_);
		T102_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T102_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T103_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T103_ = indentLine_cgen_272(p, pl);
		add_ropes_159(T102_, T103_);
		{
			if (!canRaise) goto LA106_;
			raiseExit_cgen_11476(p);
		}
		LA106_: ;
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genInfixCall_cgen_12742)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA op;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	NimStringDesc* pat;
	nimZeroMem((void*)(&op), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*ri)._kind_6.sons->data[((NI) 0)], (&op));
	typ = skipTypes_ast_3734((*(*ri)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	pat = (*(*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).loc.r).data;
	{
		NimStringDesc* argX60gensym1449_;
		if (!!((((NI) 0) < (pat ? pat->Sup.len : 0)))) goto LA3_;
		argX60gensym1449_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_607);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, argX60gensym1449_, TM__MQdRN7fpbG7rPm4JpVVAhA_607);
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* pl;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
		T7_ = (NIM_BOOL)0;
		T7_ = contains_pureZstrutils_1635(pat, TM__MQdRN7fpbG7rPm4JpVVAhA_608);
		if (!T7_) goto LA8_;
		pl = genPatternCall_cgen_12637(p, ri, pat, typ);
		typ_2 = skipTypes_ast_3734((*(*ri)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		{
			if (!!(((*typ_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA12_;
			{
				NIM_BOOL T16_;
				NIM_BOOL T17_;
				T16_ = (NIM_BOOL)0;
				T17_ = (NIM_BOOL)0;
				T17_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
				if (T17_) goto LA18_;
				T17_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
				LA18_: ;
				T16_ = T17_;
				if (!(T16_)) goto LA19_;
				T16_ = (((*d).flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 8))&15U)))!=0);
				LA19_: ;
				if (!T16_) goto LA20_;
				(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9);
				unsureAsgnRef((void**) (&(*d).r), pl);
				(*d).flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 8)) & 15));
			}
			goto LA14_;
			LA20_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA list;
				{
					if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA25_;
					getTemp_cgen_7347(p, (*typ_2).sons->data[((NI) 0)], d, NIM_FALSE);
				}
				LA25_: ;
				nimZeroMem((void*)(&list), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLoc_cgen_60((&list), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), (*d).lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				list.r = pl;
				genAssignment_cgen_10373(p, (*d), list, 0);
			}
			LA14_: ;
		}
		goto LA10_;
		LA12_: ;
		{
			tyArray__qTjAvTvKF9anytN1At69aJMQ T28_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T30_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			nimZeroMem((void*)T28_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = percent__cgen_12810(T28_, 0);
			add_ropes_159(&pl, T29_);
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T30_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = indentLine_cgen_272(p, pl);
			add_ropes_159(T30_, T31_);
		}
		LA10_: ;
	}
	goto LA5_;
	LA8_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* pl_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* params;
		pl_2 = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
		{
			NI T35_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			T35_ = (NI)0;
			T35_ = len_ast_3197(ri);
			if (!(((NI) 1) < T35_)) goto LA36_;
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = genThisArg_cgen_12569(p, ri, ((NI) 1), typ);
			add_ropes_159(&pl_2, T38_);
		}
		LA36_: ;
		add_ropes_159(&pl_2, op.r);
		params = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(ri);
			i_2 = ((NI) 2);
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
					if (!(i_2 < colontmp_)) goto LA41;
					i = i_2;
					{
						tyArray__qTjAvTvKF9anytN1At69aJMQ T46_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
						if (!!((params == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA44_;
						nimZeroMem((void*)T46_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T47_ = percent__cgen_3511(T46_, 0);
						add_ropes_159(&params, T47_);
					}
					LA44_: ;
					T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T48_ = genOtherArg_cgen_11471(p, ri, i, typ);
					add_ropes_159(&params, T48_);
					i_2 += ((NI) 1);
				} LA41: ;
			}
		}
		fixupCall_cgen_11617(p, le, ri, d, pl_2, params);
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12851)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175), args, argsLen_0);
	return result;
}
static N_INLINE(NI, find_pureZos_656)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item) {
	NI result;
{	result = (NI)0;
	result = ((NI) 0);
	{
		NIM_CHAR i;
		NI i_2;
		i = (NIM_CHAR)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < aLen_0)) goto LA3;
				i = a[i_2];
				{
					if (!((NU8)(i) == (NU8)(item))) goto LA6_;
					goto BeforeRet_;
				}
				LA6_: ;
				result += ((NI) 1);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains_pureZos_651)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item) {
	NIM_BOOL result;
	NI T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = find_pureZos_656(a, aLen_0, item);
	result = (((NI) 0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12889)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_445), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12975)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_618), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12980)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_619), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_12991)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genNamedParamCall_cgen_12845)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA op;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* pl;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T1_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	NimStringDesc* pat;
	NI start;
	nimZeroMem((void*)(&op), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*ri)._kind_6.sons->data[((NI) 0)], (&op));
	nimZeroMem((void*)T1_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	pl = percent__cgen_12851(T1_, 0);
	typ = skipTypes_ast_3734((*(*ri)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	pat = (*(*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).loc.r).data;
	{
		NimStringDesc* argX60gensym1478_;
		if (!!((((NI) 0) < (pat ? pat->Sup.len : 0)))) goto LA4_;
		argX60gensym1478_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_615);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, argX60gensym1478_, TM__MQdRN7fpbG7rPm4JpVVAhA_615);
	}
	LA4_: ;
	start = ((NI) 3);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = contains_pureZos_651(pat->data, (pat ? pat->Sup.len : 0), 32);
		if (!T8_) goto LA9_;
		start = ((NI) 1);
		add_ropes_159(&pl, op.r);
		{
			NI T13_;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T16_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			T13_ = (NI)0;
			T13_ = len_ast_3197(ri);
			if (!(((NI) 1) < T13_)) goto LA14_;
			nimZeroMem((void*)T16_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T17_ = percent__cgen_12889(T16_, 0);
			add_ropes_159(&pl, T17_);
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = genArg_cgen_12039(p, (*ri)._kind_6.sons->data[((NI) 1)], (*(*(*typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym, ri, NIM_FALSE);
			add_ropes_159(&pl, T18_);
			start = ((NI) 2);
		}
		LA14_: ;
	}
	goto LA6_;
	LA9_: ;
	{
		{
			NI T22_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T26_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
			T22_ = (NI)0;
			T22_ = len_ast_3197(ri);
			if (!(((NI) 1) < T22_)) goto LA23_;
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T25_ = genArg_cgen_12039(p, (*ri)._kind_6.sons->data[((NI) 1)], (*(*(*typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym, ri, NIM_FALSE);
			add_ropes_159(&pl, T25_);
			nimZeroMem((void*)T26_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T27_ = percent__cgen_3527(T26_, 0);
			add_ropes_159(&pl, T27_);
		}
		LA23_: ;
		add_ropes_159(&pl, op.r);
		{
			NI T30_;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
			T30_ = (NI)0;
			T30_ = len_ast_3197(ri);
			if (!(((NI) 2) < T30_)) goto LA31_;
			nimZeroMem((void*)T33_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T34_ = percent__cgen_12889(T33_, 0);
			add_ropes_159(&pl, T34_);
			T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T35_ = genArg_cgen_12039(p, (*ri)._kind_6.sons->data[((NI) 2)], (*(*(*typ).n)._kind_6.sons->data[((NI) 2)])._kind_4.sym, ri, NIM_FALSE);
			add_ropes_159(&pl, T35_);
		}
		LA31_: ;
	}
	LA6_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(ri);
		i_2 = start;
		{
			while (1) {
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T44_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T46_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
				if (!(i_2 < colontmp_)) goto LA38;
				i = i_2;
				{
					NI T41_;
					T41_ = (NI)0;
					T41_ = len_ast_4001(typ);
					if (!(T41_ <= i)) goto LA42_;
					internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*ri).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_616), TM__MQdRN7fpbG7rPm4JpVVAhA_617);
				}
				LA42_: ;
				param = (*(*(*typ).n)._kind_6.sons->data[i])._kind_4.sym;
				nimZeroMem((void*)T44_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T45_ = percent__cgen_3527(T44_, 0);
				add_ropes_159(&pl, T45_);
				add_ropes_162(&pl, (*(*param).name).s);
				nimZeroMem((void*)T46_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T47_ = percent__cgen_12889(T46_, 0);
				add_ropes_159(&pl, T47_);
				T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T48_ = genArg_cgen_12039(p, (*ri)._kind_6.sons->data[i], param, ri, NIM_FALSE);
				add_ropes_159(&pl, T48_);
				i_2 += ((NI) 1);
			} LA38: ;
		}
	}
	{
		if (!!(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA51_;
		{
			NIM_BOOL T55_;
			T55_ = (NIM_BOOL)0;
			T55_ = isInvalidReturnType_cgen_1327((*(*(*p).module).g).config, (*typ).sons->data[((NI) 0)]);
			if (!T55_) goto LA56_;
			{
				NI T60_;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T63_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
				T60_ = (NI)0;
				T60_ = len_ast_3197(ri);
				if (!(((NI) 1) < T60_)) goto LA61_;
				nimZeroMem((void*)T63_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T64_ = percent__cgen_3527(T63_, 0);
				add_ropes_159(&pl, T64_);
			}
			LA61_: ;
			{
				tyArray__qTjAvTvKF9anytN1At69aJMQ T73_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T76_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T77_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T78_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
				if (!((3 &((NU16)1<<((NU)((*d).k)&15U)))!=0)) goto LA67_;
				{
					if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA71_;
					getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], d, NIM_TRUE);
				}
				LA71_: ;
				nimZeroMem((void*)T73_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T74_ = percent__cgen_12975(T73_, 0);
				add_ropes_159(&pl, T74_);
				T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T75_ = addrLoc_cgen_10307((*(*(*p).module).g).config, (*d));
				add_ropes_159(&pl, T75_);
				nimZeroMem((void*)T76_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T77_ = percent__cgen_12980(T76_, 0);
				add_ropes_159(&pl, T77_);
				T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T78_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T79_ = indentLine_cgen_272(p, pl);
				add_ropes_159(T78_, T79_);
			}
			goto LA65_;
			LA67_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T82_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T84_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
				nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], (&tmp), NIM_TRUE);
				T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T81_ = addrLoc_cgen_10307((*(*(*p).module).g).config, tmp);
				add_ropes_159(&pl, T81_);
				nimZeroMem((void*)T82_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T83_ = percent__cgen_12980(T82_, 0);
				add_ropes_159(&pl, T83_);
				T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T84_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T85_ = indentLine_cgen_272(p, pl);
				add_ropes_159(T84_, T85_);
				genAssignment_cgen_10373(p, (*d), tmp, 0);
			}
			LA65_: ;
		}
		goto LA53_;
		LA56_: ;
		{
			tyArray__qTjAvTvKF9anytN1At69aJMQ T87_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T88_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA list;
			nimZeroMem((void*)T87_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T88_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T88_ = percent__cgen_12991(T87_, 0);
			add_ropes_159(&pl, T88_);
			{
				if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA91_;
				getTemp_cgen_7347(p, (*typ).sons->data[((NI) 0)], d, NIM_FALSE);
			}
			LA91_: ;
			nimZeroMem((void*)(&list), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLoc_cgen_60((&list), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), ri, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
			list.r = pl;
			genAssignment_cgen_10373(p, (*d), list, 0);
		}
		LA53_: ;
	}
	goto LA49_;
	LA51_: ;
	{
		tyArray__qTjAvTvKF9anytN1At69aJMQ T94_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T95_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T96_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T97_;
		nimZeroMem((void*)T94_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T95_ = percent__cgen_12980(T94_, 0);
		add_ropes_159(&pl, T95_);
		T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T96_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T97_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T97_ = indentLine_cgen_272(p, pl);
		add_ropes_159(T96_, T97_);
	}
	LA49_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genPrefixCall_cgen_12316)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA op;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* params;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* callee;
	nimZeroMem((void*)(&op), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*ri)._kind_6.sons->data[((NI) 0)], (&op));
	typ = skipTypes_ast_3734((*(*ri)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	params = genParams_cgen_12187(p, ri, typ);
	callee = rdLoc_cgen_417(op);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_45(p);
		if (!(T3_)) goto LA4_;
		T3_ = ((*(*ri)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		LA4_: ;
		if (!T3_) goto LA5_;
		addActualSuffixForHCR_cgen_12284(&callee, (*(*p).module).module, (*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
	}
	LA5_: ;
	fixupCall_cgen_11617(p, le, ri, d, callee, params);
}
N_LIB_PRIVATE N_NIMCALL(void, genAsgnCall_cgen_13039)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) < (*p).withinBlockLeaveActions);
		if (!(T3_)) goto LA4_;
		T3_ = isInactiveDestructorCall_cgen_13025(p, ri);
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
		T9_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T9_ = skipTypes_ast_3734((*(*ri)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_560);
		if (!((*T9_).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA10_;
		genClosureCall_cgen_12349(p, le, ri, d);
	}
	goto LA7_;
	LA10_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = ((*(*ri)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T13_)) goto LA14_;
		T13_ = (((*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA14_: ;
		if (!T13_) goto LA15_;
		genInfixCall_cgen_12742(p, le, ri, d);
	}
	goto LA7_;
	LA15_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = ((*(*ri)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T18_)) goto LA19_;
		T18_ = (((*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 33))&63U)))!=0);
		LA19_: ;
		if (!T18_) goto LA20_;
		genNamedParamCall_cgen_12845(p, ri, d);
	}
	goto LA7_;
	LA20_: ;
	{
		genPrefixCall_cgen_12316(p, le, ri, d);
	}
	LA7_: ;
	}BeforeRet_: ;
}
static N_INLINE(void, loadInto_cgen_13400)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a) {
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((*(*ri)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
		if (T5_) goto LA6_;
		T5_ = ((*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
		LA6_: ;
		T3_ = T5_;
		LA4_: ;
		if (!T3_) goto LA7_;
		genAsgnCall_cgen_13039(p, le, ri, a);
	}
	goto LA1_;
	LA7_: ;
	{
		(*a).flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 9)) & 15);
		expr_cgen_11455(p, ri, a);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSingleVar_cgen_13797)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* vn, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value) {
	tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* targetProc;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* traverseProc;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* valueAsRope;
	NIM_BOOL forHcr;
{	{
		if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0)) goto LA3_;
		genGotoVar_cgen_13751(p, value);
		goto BeforeRet_;
	}
	LA3_: ;
	targetProc = p;
	traverseProc = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	valueAsRope = potentialValueInit_cgen_13768(p, v, value);
	{
		if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0)) goto LA7_;
		{
			NIM_BOOL T11_;
			NIM_BOOL T12_;
			T11_ = (NIM_BOOL)0;
			T12_ = (NIM_BOOL)0;
			T12_ = (((*v).flags & 192) == 64);
			if (!(T12_)) goto LA13_;
			T12_ = ((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
			LA13_: ;
			T11_ = T12_;
			if (!(T11_)) goto LA14_;
			T11_ = !((((*v).loc.flags & 72) == 0));
			LA14_: ;
			if (!T11_) goto LA15_;
			goto BeforeRet_;
		}
		LA15_: ;
		{
			if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA19_;
			targetProc = (*(*p).module).preInitProc;
		}
		LA19_: ;
		assignGlobalVar_cgen_11266(targetProc, vn, valueAsRope);
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
			if (!(valueAsRope == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA23_;
			nimZeroMem((void*)(&loc), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			genericAssign((void*)(&loc), (void*)(&(*v).loc), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
			{
				NIM_BOOL T27_;
				NIM_BOOL T28_;
				T27_ = (NIM_BOOL)0;
				T28_ = (NIM_BOOL)0;
				T28_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0);
				if (!(T28_)) goto LA29_;
				T28_ = emulatedThreadVars_cgen_401((*(*(*p).module).g).config);
				LA29_: ;
				T27_ = T28_;
				if (!(T27_)) goto LA30_;
				T27_ = isComplexValueType_cgen_10547((*v).typ);
				LA30_: ;
				if (!T27_) goto LA31_;
				initLocExprSingleUse_cgen_11482((*(*p).module).preInitProc, vn, (&loc));
			}
			LA31_: ;
			genObjectInit_cgen_10384((*(*p).module).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1), (*v).typ, (&loc), ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 0));
		}
		LA23_: ;
		{
			NIM_BOOL T35_;
			T35_ = (NIM_BOOL)0;
			T35_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 7))&63U)))!=0);
			if (!(T35_)) goto LA36_;
			T35_ = !(((*(*(*p).module).g).generatedHeader == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)));
			LA36_: ;
			if (!T35_) goto LA37_;
			genVarPrototype_cgen_11446((*(*(*p).module).g).generatedHeader, vn);
		}
		LA37_: ;
		traverseProc = getTraverseProc_cgen_13075(p, v);
		{
			NIM_BOOL T41_;
			NIM_BOOL T43_;
			T41_ = (NIM_BOOL)0;
			T41_ = !((traverseProc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
			if (!(T41_)) goto LA42_;
			T43_ = (NIM_BOOL)0;
			T43_ = hcrOn_cgen_45(p);
			T41_ = !(T43_);
			LA42_: ;
			if (!T41_) goto LA44_;
			registerTraverseProc_cgen_13087(p, v, traverseProc);
		}
		LA44_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		NIM_BOOL imm;
		imm = isAssignedImmediately_cgen_13137((*(*(*p).module).g).config, value);
		{
			NIM_BOOL T49_;
			NIM_BOOL T50_;
			NIM_BOOL T51_;
			NIM_BOOL T53_;
			NIM_BOOL T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* decl;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
			T49_ = (NIM_BOOL)0;
			T50_ = (NIM_BOOL)0;
			T51_ = (NIM_BOOL)0;
			T51_ = imm;
			if (!(T51_)) goto LA52_;
			T53_ = (NIM_BOOL)0;
			T53_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T53_) goto LA54_;
			T53_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA54_: ;
			T51_ = T53_;
			LA52_: ;
			T50_ = T51_;
			if (!(T50_)) goto LA55_;
			T50_ = ((*p).splitDecls == ((NI) 0));
			LA55_: ;
			T49_ = T50_;
			if (!(T49_)) goto LA56_;
			T57_ = (NIM_BOOL)0;
			T57_ = containsHiddenPointer_types_658((*v).typ);
			T49_ = !(T57_);
			LA56_: ;
			if (!T49_) goto LA58_;
			genLineDir_cgen_351(p, vn);
			decl = localVarDecl_cgen_11054(p, vn);
			nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			{
				NIM_BOOL T62_;
				NIM_BOOL T63_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* params;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
				T62_ = (NIM_BOOL)0;
				T63_ = (NIM_BOOL)0;
				T63_ = ((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
				if (!(T63_)) goto LA64_;
				T63_ = ((*(*value)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
				LA64_: ;
				T62_ = T63_;
				if (!(T62_)) goto LA65_;
				T62_ = (((*(*(*value)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 29))&63U)))!=0);
				LA65_: ;
				if (!T62_) goto LA66_;
				params = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				typ = skipTypes_ast_3734((*(*value)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
				{
					NI i;
					NI colontmp_;
					NI i_2;
					i = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = len_ast_3197(value);
					i_2 = ((NI) 1);
					{
						while (1) {
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T77_;
							if (!(i_2 < colontmp_)) goto LA70;
							i = i_2;
							{
								tyArray__qTjAvTvKF9anytN1At69aJMQ T75_;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T76_;
								if (!!((params == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA73_;
								nimZeroMem((void*)T75_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
								T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T76_ = percent__cgen_3511(T75_, 0);
								add_ropes_159(&params, T76_);
							}
							LA73_: ;
							T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T77_ = genOtherArg_cgen_11471(p, value, i, typ);
							add_ropes_159(&params, T77_);
							i_2 += ((NI) 1);
						} LA70: ;
					}
				}
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T82_;
					tyArray__JiWwrsTRC6xqNlGcBthSVA T83_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
					if (!(params == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA80_;
					T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T82_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T83_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T83_[0] = decl;
					T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T84_ = percent__cgen_13922(T83_, 1);
					T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T85_ = indentLine_cgen_272(p, T84_);
					add_ropes_159(T82_, T85_);
				}
				goto LA78_;
				LA80_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T87_;
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T88_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T89_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
					T87_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T87_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T88_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T88_[0] = decl;
					T88_[1] = params;
					T89_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T89_ = percent__cgen_13927(T88_, 2);
					T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T90_ = indentLine_cgen_272(p, T89_);
					add_ropes_159(T87_, T90_);
				}
				LA78_: ;
			}
			goto LA60_;
			LA66_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T92_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T93_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T94_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T95_;
				initLocExprSingleUse_cgen_11482(p, value, (&tmp));
				T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T92_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T93_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T93_[0] = decl;
				T93_[1] = rdLoc_cgen_417(tmp);
				T94_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T94_ = percent__cgen_13932(T93_, 2);
				T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T95_ = indentLine_cgen_272(p, T94_);
				add_ropes_159(T92_, T95_);
			}
			LA60_: ;
			goto BeforeRet_;
		}
		LA58_: ;
		assignLocalVar_cgen_11094(p, vn);
		initLocalVar_cgen_10982(p, v, imm);
	}
	LA5_: ;
	{
		tyArray__qTjAvTvKF9anytN1At69aJMQ T100_;
		if (!(traverseProc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA98_;
		nimZeroMem((void*)T100_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		traverseProc = percent__cgen_13320(T100_, 0);
	}
	LA98_: ;
	forHcr = treatGlobalDifferentlyForHCR_cgen_11246((*p).module, v);
	{
		NIM_BOOL T103_;
		NIM_BOOL T104_;
		NI T106_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T110_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T111_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T112_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T117_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T118_;
		T103_ = (NIM_BOOL)0;
		T104_ = (NIM_BOOL)0;
		T104_ = forHcr;
		if (!(T104_)) goto LA105_;
		T106_ = ((*targetProc).blocks ? (*targetProc).blocks->Sup.len : 0);
		T104_ = (((NI) 3) < T106_);
		LA105_: ;
		T103_ = T104_;
		if (!(T103_)) goto LA107_;
		T103_ = ((*(*v).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6));
		LA107_: ;
		if (!T103_) goto LA108_;
		T110_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T110_ = s_cgendata_225(targetProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 18);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_552));
		T111_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T111_ = getModuleDllPath_cgen_136((*p).module, v);
		cgFormatValue_cgen_141((&res), T111_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_553));
		cgFormatValue_cgen_141((&res), (*v).loc.r);
		res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_554));
		T112_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T112_ = rdLoc_cgen_417((*v).loc);
		cgFormatValue_cgen_141((&res), T112_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_555));
		cgFormatValue_cgen_141((&res), traverseProc);
		res = resizeString(res, 11);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_556));
		cgFormatValue_cgen_141((&res), (*v).loc.r);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*targetProc).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA115_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA115_: ;
		T117_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T117_ = rope_ropes_109(res);
		T118_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T118_ = indentLine_cgen_272(targetProc, T117_);
		add_ropes_159(T110_, T118_);
		forHcr = NIM_FALSE;
	}
	LA108_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T123_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T124_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T125_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T126_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T127_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T128_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T133_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T134_;
		NI T135_;
		if (!forHcr) goto LA121_;
		T123_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T123_ = s_cgendata_225(targetProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 22);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_557));
		T124_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T124_ = getModuleDllPath_cgen_136((*p).module, v);
		cgFormatValue_cgen_141((&res_2), T124_);
		res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_553));
		cgFormatValue_cgen_141((&res_2), (*v).loc.r);
		res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_554));
		T125_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T125_ = rdLoc_cgen_417((*v).loc);
		cgFormatValue_cgen_141((&res_2), T125_);
		res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_555));
		cgFormatValue_cgen_141((&res_2), traverseProc);
		res_2 = resizeString(res_2, 11);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_556));
		cgFormatValue_cgen_141((&res_2), (*v).loc.r);
		res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_558));
		T126_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T126_ = rope_ropes_109(res_2);
		T127_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T127_ = indentLine_cgen_272(targetProc, T126_);
		add_ropes_159(T123_, T127_);
		T128_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T128_ = s_cgendata_225(targetProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		{
			if (!!((((*(*(*(*targetProc).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA131_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA131_: ;
		T133_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T133_ = rope_ropes_109(res_3);
		T134_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T134_ = indentLine_cgen_272(targetProc, T133_);
		add_ropes_159(T128_, T134_);
		T135_ = (NI)0;
		T135_ = startBlockInternal_cgen_13180(targetProc);
	}
	LA121_: ;
	{
		NIM_BOOL T138_;
		T138_ = (NIM_BOOL)0;
		T138_ = !(((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		if (!(T138_)) goto LA139_;
		T138_ = (valueAsRope == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
		LA139_: ;
		if (!T138_) goto LA140_;
		genLineDir_cgen_351(targetProc, vn);
		loadInto_cgen_13400(targetProc, vn, value, (&(*v).loc));
	}
	LA140_: ;
	{
		if (!forHcr) goto LA144_;
		endBlock_cgen_13201(targetProc);
	}
	LA144_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, putDataIntoDest_cgen_18607)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		if (!!(((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0)))) goto LA3_;
		initLoc_cgen_60((&a), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 8), n, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1));
		a.r = r;
		{
			if (!(((*d).flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 2))&15U)))!=0)) goto LA7_;
			genAssignment_cgen_10373(p, (*d), a, 0);
		}
		goto LA5_;
		LA7_: ;
		{
			genAssignment_cgen_10373(p, (*d), a, 1);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 8);
		unsureAsgnRef((void**) (&(*d).lode), n);
		unsureAsgnRef((void**) (&(*d).r), r);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getLabel_cgen_11431)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	(*p).labels += ((NI) 1);
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rope_ropes_115(((NI64) ((*p).labels)));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629), T1_);
	result = amp__ropes_140(T2_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_20210)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_630), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_20215)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_631), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11441)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_632), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fixLabel_cgen_11438)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* labl) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T1_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T1_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T2_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T2_[0] = labl;
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = percent__cgen_11441(T2_, 1);
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = indentLine_cgen_272(p, T3_);
	add_ropes_159(T1_, T4_);
}
N_LIB_PRIVATE N_NIMCALL(void, genAndOr_cgen_20194)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* L;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
	L = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	getTemp_cgen_7347(p, (*e).typ, (&tmp), NIM_FALSE);
	(*p).splitDecls += ((NI) 1);
	expr_cgen_11455(p, (*e)._kind_6.sons->data[((NI) 1)], (&tmp));
	L = getLabel_cgen_11431(p);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110))) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T6_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T6_[0] = rdLoc_cgen_417(tmp);
		T6_[1] = L;
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_20210(T6_, 2);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = indentLine_cgen_272(p, T7_);
		add_ropes_159(T5_, T8_);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T11_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T11_[0] = rdLoc_cgen_417(tmp);
		T11_[1] = L;
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = percent__cgen_20215(T11_, 2);
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = indentLine_cgen_272(p, T12_);
		add_ropes_159(T10_, T13_);
	}
	LA1_: ;
	expr_cgen_11455(p, (*e)._kind_6.sons->data[((NI) 2)], (&tmp));
	fixLabel_cgen_11438(p, L);
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA16_;
		genericAssign((void*)(&(*d)), (void*)(&tmp), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
	}
	goto LA14_;
	LA16_: ;
	{
		genAssignment_cgen_10373(p, (*d), tmp, 0);
	}
	LA14_: ;
	(*p).splitDecls -= ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19222)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_633), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19227)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_634), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19232)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_635), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18900)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_636), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, unaryArith_cgen_19204)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	t = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	t = skipTypes_ast_3734((*e).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	switch (op) {
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
	{
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T2_;
		NI64 T3_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
		nimZeroMem((void*)T2_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T2_[0] = rdLoc_cgen_417(a);
		T3_ = (NI64)0;
		T3_ = getSize_types_3333((*(*(*p).module).g).config, t);
		T2_[1] = rope_ropes_115((NI64)(T3_ * IL64(8)));
		T2_[2] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T4_ = percent__cgen_19222(T2_, 3);
		putIntoDest_cgen_18621(p, d, e, T4_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
	{
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T6_;
		NI64 T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		nimZeroMem((void*)T6_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T6_[0] = rdLoc_cgen_417(a);
		T7_ = (NI64)0;
		T7_ = getSize_types_3333((*(*(*p).module).g).config, t);
		T6_[1] = rope_ropes_115((NI64)(T7_ * IL64(8)));
		T6_[2] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__cgen_19227(T6_, 3);
		putIntoDest_cgen_18621(p, d, e, T8_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 98):
	{
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T10_;
		NI64 T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		nimZeroMem((void*)T10_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T10_[0] = rdLoc_cgen_417(a);
		T11_ = (NI64)0;
		T11_ = getSize_types_3333((*(*(*p).module).g).config, t);
		T10_[1] = rope_ropes_115((NI64)(T11_ * IL64(8)));
		T10_[2] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = percent__cgen_19232(T10_, 3);
		putIntoDest_cgen_18621(p, d, e, T12_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 99):
	{
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T14_;
		NI64 T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		nimZeroMem((void*)T14_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T14_[0] = rdLoc_cgen_417(a);
		T15_ = (NI64)0;
		T15_ = getSize_types_3333((*(*(*p).module).g).config, t);
		T14_[1] = rope_ropes_115((NI64)(T15_ * IL64(8)));
		T14_[2] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = percent__cgen_19227(T14_, 3);
		putIntoDest_cgen_18621(p, d, e, T16_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 100):
	{
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T18_;
		NI64 T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		nimZeroMem((void*)T18_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T18_[0] = rdLoc_cgen_417(a);
		T19_ = (NI64)0;
		T19_ = getSize_types_3333((*(*(*p).module).g).config, t);
		T18_[1] = rope_ropes_115((NI64)(T19_ * IL64(8)));
		T18_[2] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = percent__cgen_18900(T18_, 3);
		putIntoDest_cgen_18621(p, d, e, T20_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	default:
	{
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18895)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_640), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18905)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_641), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, unaryArithOverflow_cgen_18862)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	t = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	t = skipTypes_ast_3734((*e).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0)) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T6_);
		res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_637));
		T7_ = firstOrd_types_1353((*(*(*p).module).g).config, t);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = intLiteral_cgen_17600(T7_);
		cgFormatValue_cgen_141((&res), T8_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_638));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_639));
		cgFormatValue_cgen_141((&res), T9_);
		res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = raiseInstr_cgen_406(p);
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA13_: ;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rope_ropes_109(res);
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = indentLine_cgen_272(p, T15_);
		add_ropes_159(T5_, T16_);
	}
	LA3_: ;
	switch (m) {
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T18_;
		NI64 T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		nimZeroMem((void*)T18_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T18_[0] = rdLoc_cgen_417(a);
		T19_ = (NI64)0;
		T19_ = getSize_types_3333((*(*(*p).module).g).config, t);
		T18_[1] = rope_ropes_115((NI64)(T19_ * IL64(8)));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = percent__cgen_18895(T18_, 2);
		putIntoDest_cgen_18621(p, d, e, T20_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 94):
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T22_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		nimZeroMem((void*)T22_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T22_[0] = rdLoc_cgen_417(a);
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = percent__cgen_18900(T22_, 1);
		putIntoDest_cgen_18621(p, d, e, T23_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 95):
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		nimZeroMem((void*)T25_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T25_[0] = rdLoc_cgen_417(a);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = percent__cgen_18905(T25_, 1);
		putIntoDest_cgen_18621(p, d, e, T26_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	default:
	{
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18945)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_652), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18950)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_653), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18955)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_654), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18960)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_655), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18965)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_656), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18970)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_657), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18975)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_658), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18980)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_659), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18985)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_660), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18990)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_661), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18995)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_662), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19000)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_663), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19005)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_664), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19010)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_665), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19015)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_666), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19020)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_667), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19025)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_668), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19030)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_669), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19035)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_670), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19040)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_671), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19057)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_672), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19062)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_673), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19079)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_674), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19084)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_675), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19089)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_676), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19118)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_677), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, binaryArith_cgen_18916)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	NI64 s;
	NI64 k;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	NI64 T2_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
	NI64 T4_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
	NI64 T6_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	s = (NI64)0;
	k = (NI64)0;
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(a);
	T2_ = (NI64)0;
	T2_ = getSize_types_3333((*(*(*p).module).g).config, T1_);
	T3_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T3_ = t_cgen_79(b);
	T4_ = (NI64)0;
	T4_ = getSize_types_3333((*(*(*p).module).g).config, T3_);
	s = (NI64)(((T2_ >= T4_) ? T2_ : T4_) * IL64(8));
	T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T5_ = t_cgen_79(a);
	T6_ = (NI64)0;
	T6_ = getSize_types_3333((*(*(*p).module).g).config, T5_);
	k = (NI64)(T6_ * IL64(8));
	switch (op) {
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		nimZeroMem((void*)T8_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T8_[0] = rdLoc_cgen_417(a);
		T8_[1] = rdLoc_cgen_417(b);
		T8_[2] = rope_ropes_115(s);
		T8_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T8_[4] = rope_ropes_115(k);
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__cgen_18945(T8_, 5);
		putIntoDest_cgen_18621(p, d, e, T9_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		nimZeroMem((void*)T11_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T11_[0] = rdLoc_cgen_417(a);
		T11_[1] = rdLoc_cgen_417(b);
		T11_[2] = rope_ropes_115(s);
		T11_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T11_[4] = rope_ropes_115(k);
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = percent__cgen_18950(T11_, 5);
		putIntoDest_cgen_18621(p, d, e, T12_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		nimZeroMem((void*)T14_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T14_[0] = rdLoc_cgen_417(a);
		T14_[1] = rdLoc_cgen_417(b);
		T14_[2] = rope_ropes_115(s);
		T14_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T14_[4] = rope_ropes_115(k);
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = percent__cgen_18955(T14_, 5);
		putIntoDest_cgen_18621(p, d, e, T15_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		nimZeroMem((void*)T17_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T17_[0] = rdLoc_cgen_417(a);
		T17_[1] = rdLoc_cgen_417(b);
		T17_[2] = rope_ropes_115(s);
		T17_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T17_[4] = rope_ropes_115(k);
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = percent__cgen_18960(T17_, 5);
		putIntoDest_cgen_18621(p, d, e, T18_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		nimZeroMem((void*)T20_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T20_[0] = rdLoc_cgen_417(a);
		T20_[1] = rdLoc_cgen_417(b);
		T20_[2] = rope_ropes_115(s);
		T20_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T20_[4] = rope_ropes_115(k);
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = percent__cgen_18965(T20_, 5);
		putIntoDest_cgen_18621(p, d, e, T21_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		nimZeroMem((void*)T23_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T23_[0] = rdLoc_cgen_417(a);
		T23_[1] = rdLoc_cgen_417(b);
		T23_[2] = rope_ropes_115(s);
		T23_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T23_[4] = rope_ropes_115(k);
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = percent__cgen_18970(T23_, 5);
		putIntoDest_cgen_18621(p, d, e, T24_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
		nimZeroMem((void*)T26_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T26_[0] = rdLoc_cgen_417(a);
		T26_[1] = rdLoc_cgen_417(b);
		T26_[2] = rope_ropes_115(s);
		T26_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T26_[4] = rope_ropes_115(k);
		T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T27_ = percent__cgen_18975(T26_, 5);
		putIntoDest_cgen_18621(p, d, e, T27_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 60):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T29_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
		nimZeroMem((void*)T29_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T29_[0] = rdLoc_cgen_417(a);
		T29_[1] = rdLoc_cgen_417(b);
		T29_[2] = rope_ropes_115(s);
		T29_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T29_[4] = rope_ropes_115(k);
		T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T30_ = percent__cgen_18980(T29_, 5);
		putIntoDest_cgen_18621(p, d, e, T30_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 61):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T32_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
		nimZeroMem((void*)T32_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T32_[0] = rdLoc_cgen_417(a);
		T32_[1] = rdLoc_cgen_417(b);
		T32_[2] = rope_ropes_115(s);
		T32_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T32_[4] = rope_ropes_115(k);
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = percent__cgen_18985(T32_, 5);
		putIntoDest_cgen_18621(p, d, e, T33_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 62):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T35_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
		nimZeroMem((void*)T35_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T35_[0] = rdLoc_cgen_417(a);
		T35_[1] = rdLoc_cgen_417(b);
		T35_[2] = rope_ropes_115(s);
		T35_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T35_[4] = rope_ropes_115(k);
		T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T36_ = percent__cgen_18990(T35_, 5);
		putIntoDest_cgen_18621(p, d, e, T36_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T38_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
		nimZeroMem((void*)T38_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T38_[0] = rdLoc_cgen_417(a);
		T38_[1] = rdLoc_cgen_417(b);
		T38_[2] = rope_ropes_115(s);
		T38_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T38_[4] = rope_ropes_115(k);
		T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T39_ = percent__cgen_18995(T38_, 5);
		putIntoDest_cgen_18621(p, d, e, T39_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T41_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
		nimZeroMem((void*)T41_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T41_[0] = rdLoc_cgen_417(a);
		T41_[1] = rdLoc_cgen_417(b);
		T41_[2] = rope_ropes_115(s);
		T41_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T41_[4] = rope_ropes_115(k);
		T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T42_ = percent__cgen_19000(T41_, 5);
		putIntoDest_cgen_18621(p, d, e, T42_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T44_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
		nimZeroMem((void*)T44_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T44_[0] = rdLoc_cgen_417(a);
		T44_[1] = rdLoc_cgen_417(b);
		T44_[2] = rope_ropes_115(s);
		T44_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T44_[4] = rope_ropes_115(k);
		T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T45_ = percent__cgen_19005(T44_, 5);
		putIntoDest_cgen_18621(p, d, e, T45_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T47_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
		nimZeroMem((void*)T47_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T47_[0] = rdLoc_cgen_417(a);
		T47_[1] = rdLoc_cgen_417(b);
		T47_[2] = rope_ropes_115(s);
		T47_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T47_[4] = rope_ropes_115(k);
		T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T48_ = percent__cgen_19010(T47_, 5);
		putIntoDest_cgen_18621(p, d, e, T48_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T50_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
		nimZeroMem((void*)T50_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T50_[0] = rdLoc_cgen_417(a);
		T50_[1] = rdLoc_cgen_417(b);
		T50_[2] = rope_ropes_115(s);
		T50_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T50_[4] = rope_ropes_115(k);
		T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T51_ = percent__cgen_19015(T50_, 5);
		putIntoDest_cgen_18621(p, d, e, T51_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T53_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
		nimZeroMem((void*)T53_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T53_[0] = rdLoc_cgen_417(a);
		T53_[1] = rdLoc_cgen_417(b);
		T53_[2] = rope_ropes_115(s);
		T53_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T53_[4] = rope_ropes_115(k);
		T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = percent__cgen_19020(T53_, 5);
		putIntoDest_cgen_18621(p, d, e, T54_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 69):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T56_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
		nimZeroMem((void*)T56_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T56_[0] = rdLoc_cgen_417(a);
		T56_[1] = rdLoc_cgen_417(b);
		T56_[2] = rope_ropes_115(s);
		T56_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T56_[4] = rope_ropes_115(k);
		T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T57_ = percent__cgen_19025(T56_, 5);
		putIntoDest_cgen_18621(p, d, e, T57_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T59_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
		nimZeroMem((void*)T59_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T59_[0] = rdLoc_cgen_417(a);
		T59_[1] = rdLoc_cgen_417(b);
		T59_[2] = rope_ropes_115(s);
		T59_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T59_[4] = rope_ropes_115(k);
		T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T60_ = percent__cgen_19030(T59_, 5);
		putIntoDest_cgen_18621(p, d, e, T60_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T62_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
		nimZeroMem((void*)T62_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T62_[0] = rdLoc_cgen_417(a);
		T62_[1] = rdLoc_cgen_417(b);
		T62_[2] = rope_ropes_115(s);
		T62_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T62_[4] = rope_ropes_115(k);
		T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T63_ = percent__cgen_19035(T62_, 5);
		putIntoDest_cgen_18621(p, d, e, T63_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T65_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
		nimZeroMem((void*)T65_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T65_[0] = rdLoc_cgen_417(a);
		T65_[1] = rdLoc_cgen_417(b);
		T65_[2] = rope_ropes_115(s);
		T65_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T65_[4] = rope_ropes_115(k);
		T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T66_ = percent__cgen_19040(T65_, 5);
		putIntoDest_cgen_18621(p, d, e, T66_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T68_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
		nimZeroMem((void*)T68_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T68_[0] = rdLoc_cgen_417(a);
		T68_[1] = rdLoc_cgen_417(b);
		T68_[2] = rope_ropes_115(s);
		T68_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T68_[4] = rope_ropes_115(k);
		T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T69_ = percent__cgen_19030(T68_, 5);
		putIntoDest_cgen_18621(p, d, e, T69_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T71_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
		nimZeroMem((void*)T71_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T71_[0] = rdLoc_cgen_417(a);
		T71_[1] = rdLoc_cgen_417(b);
		T71_[2] = rope_ropes_115(s);
		T71_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T71_[4] = rope_ropes_115(k);
		T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T72_ = percent__cgen_19035(T71_, 5);
		putIntoDest_cgen_18621(p, d, e, T72_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T74_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
		nimZeroMem((void*)T74_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T74_[0] = rdLoc_cgen_417(a);
		T74_[1] = rdLoc_cgen_417(b);
		T74_[2] = rope_ropes_115(s);
		T74_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T74_[4] = rope_ropes_115(k);
		T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T75_ = percent__cgen_19040(T74_, 5);
		putIntoDest_cgen_18621(p, d, e, T75_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T77_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
		nimZeroMem((void*)T77_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T77_[0] = rdLoc_cgen_417(a);
		T77_[1] = rdLoc_cgen_417(b);
		T77_[2] = rope_ropes_115(s);
		T77_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T77_[4] = rope_ropes_115(k);
		T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T78_ = percent__cgen_19057(T77_, 5);
		putIntoDest_cgen_18621(p, d, e, T78_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T80_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
		nimZeroMem((void*)T80_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T80_[0] = rdLoc_cgen_417(a);
		T80_[1] = rdLoc_cgen_417(b);
		T80_[2] = rope_ropes_115(s);
		T80_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T80_[4] = rope_ropes_115(k);
		T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T81_ = percent__cgen_19062(T80_, 5);
		putIntoDest_cgen_18621(p, d, e, T81_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T83_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
		nimZeroMem((void*)T83_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T83_[0] = rdLoc_cgen_417(a);
		T83_[1] = rdLoc_cgen_417(b);
		T83_[2] = rope_ropes_115(s);
		T83_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T83_[4] = rope_ropes_115(k);
		T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T84_ = percent__cgen_19030(T83_, 5);
		putIntoDest_cgen_18621(p, d, e, T84_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T86_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T87_;
		nimZeroMem((void*)T86_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T86_[0] = rdLoc_cgen_417(a);
		T86_[1] = rdLoc_cgen_417(b);
		T86_[2] = rope_ropes_115(s);
		T86_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T86_[4] = rope_ropes_115(k);
		T87_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T87_ = percent__cgen_19035(T86_, 5);
		putIntoDest_cgen_18621(p, d, e, T87_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T89_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
		nimZeroMem((void*)T89_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T89_[0] = rdLoc_cgen_417(a);
		T89_[1] = rdLoc_cgen_417(b);
		T89_[2] = rope_ropes_115(s);
		T89_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T89_[4] = rope_ropes_115(k);
		T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T90_ = percent__cgen_19040(T89_, 5);
		putIntoDest_cgen_18621(p, d, e, T90_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T92_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T93_;
		nimZeroMem((void*)T92_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T92_[0] = rdLoc_cgen_417(a);
		T92_[1] = rdLoc_cgen_417(b);
		T92_[2] = rope_ropes_115(s);
		T92_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T92_[4] = rope_ropes_115(k);
		T93_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T93_ = percent__cgen_19079(T92_, 5);
		putIntoDest_cgen_18621(p, d, e, T93_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T95_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T96_;
		nimZeroMem((void*)T95_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T95_[0] = rdLoc_cgen_417(a);
		T95_[1] = rdLoc_cgen_417(b);
		T95_[2] = rope_ropes_115(s);
		T95_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T95_[4] = rope_ropes_115(k);
		T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T96_ = percent__cgen_19084(T95_, 5);
		putIntoDest_cgen_18621(p, d, e, T96_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T98_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T99_;
		nimZeroMem((void*)T98_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T98_[0] = rdLoc_cgen_417(a);
		T98_[1] = rdLoc_cgen_417(b);
		T98_[2] = rope_ropes_115(s);
		T98_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T98_[4] = rope_ropes_115(k);
		T99_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T99_ = percent__cgen_19089(T98_, 5);
		putIntoDest_cgen_18621(p, d, e, T99_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T101_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T102_;
		nimZeroMem((void*)T101_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T101_[0] = rdLoc_cgen_417(a);
		T101_[1] = rdLoc_cgen_417(b);
		T101_[2] = rope_ropes_115(s);
		T101_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T101_[4] = rope_ropes_115(k);
		T102_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T102_ = percent__cgen_19030(T101_, 5);
		putIntoDest_cgen_18621(p, d, e, T102_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T104_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T105_;
		nimZeroMem((void*)T104_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T104_[0] = rdLoc_cgen_417(a);
		T104_[1] = rdLoc_cgen_417(b);
		T104_[2] = rope_ropes_115(s);
		T104_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T104_[4] = rope_ropes_115(k);
		T105_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T105_ = percent__cgen_19035(T104_, 5);
		putIntoDest_cgen_18621(p, d, e, T105_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T107_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
		nimZeroMem((void*)T107_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T107_[0] = rdLoc_cgen_417(a);
		T107_[1] = rdLoc_cgen_417(b);
		T107_[2] = rope_ropes_115(s);
		T107_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T107_[4] = rope_ropes_115(k);
		T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T108_ = percent__cgen_19040(T107_, 5);
		putIntoDest_cgen_18621(p, d, e, T108_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T110_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T111_;
		nimZeroMem((void*)T110_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T110_[0] = rdLoc_cgen_417(a);
		T110_[1] = rdLoc_cgen_417(b);
		T110_[2] = rope_ropes_115(s);
		T110_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T110_[4] = rope_ropes_115(k);
		T111_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T111_ = percent__cgen_19030(T110_, 5);
		putIntoDest_cgen_18621(p, d, e, T111_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T113_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T114_;
		nimZeroMem((void*)T113_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T113_[0] = rdLoc_cgen_417(a);
		T113_[1] = rdLoc_cgen_417(b);
		T113_[2] = rope_ropes_115(s);
		T113_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T113_[4] = rope_ropes_115(k);
		T114_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T114_ = percent__cgen_19035(T113_, 5);
		putIntoDest_cgen_18621(p, d, e, T114_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T116_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T117_;
		nimZeroMem((void*)T116_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T116_[0] = rdLoc_cgen_417(a);
		T116_[1] = rdLoc_cgen_417(b);
		T116_[2] = rope_ropes_115(s);
		T116_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T116_[4] = rope_ropes_115(k);
		T117_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T117_ = percent__cgen_19040(T116_, 5);
		putIntoDest_cgen_18621(p, d, e, T117_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 90):
	{
		tyArray__duFhZXIIlrbrM62cWjNekg T119_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T120_;
		nimZeroMem((void*)T119_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T119_[0] = rdLoc_cgen_417(a);
		T119_[1] = rdLoc_cgen_417(b);
		T119_[2] = rope_ropes_115(s);
		T119_[3] = getSimpleTypeDesc_cgen_1794((*p).module, (*e).typ);
		T119_[4] = rope_ropes_115(k);
		T120_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T120_ = percent__cgen_19118(T119_, 5);
		putIntoDest_cgen_18621(p, d, e, T120_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	default:
	{
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, binaryFloatArith_cgen_22935)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		if (!!(((384 & (*p).options) == 0))) goto LA3_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_213));
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = getSimpleTypeDesc_cgen_1794((*p).module, (*(*e)._kind_6.sons->data[((NI) 1)]).typ);
		cgFormatValue_cgen_141((&res), T5_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_642));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T6_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
		cgFormatValue_cgen_145((&res), opr_cgen_22948[(m)- 53]);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_644));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = getSimpleTypeDesc_cgen_1794((*p).module, (*(*e)._kind_6.sons->data[((NI) 1)]).typ);
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_642));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res), T8_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_422));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = rope_ropes_109(res);
		putIntoDest_cgen_18621(p, d, e, T9_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T14_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 7))&31U)))!=0)) goto LA12_;
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T14_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = rdLoc_cgen_417((*d));
			cgFormatValue_cgen_141((&res_2), T15_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_645));
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = rdLoc_cgen_417((*d));
			cgFormatValue_cgen_141((&res_2), T16_);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_638));
			T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T17_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_646));
			cgFormatValue_cgen_141((&res_2), T17_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_2), T18_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA21_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA21_: ;
			T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T23_ = rope_ropes_109(res_2);
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = indentLine_cgen_272(p, T23_);
			add_ropes_159(T14_, T24_);
		}
		LA12_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T29_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
			if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 8))&31U)))!=0)) goto LA27_;
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T29_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = rdLoc_cgen_417((*d));
			cgFormatValue_cgen_141((&res_3), T30_);
			res_3 = resizeString(res_3, 11);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_647));
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = rdLoc_cgen_417((*d));
			cgFormatValue_cgen_141((&res_3), T31_);
			res_3 = resizeString(res_3, 8);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_648));
			T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T32_ = rdLoc_cgen_417((*d));
			cgFormatValue_cgen_141((&res_3), T32_);
			res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_649));
			T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T33_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_650));
			cgFormatValue_cgen_141((&res_3), T33_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T34_ = rdLoc_cgen_417((*d));
			cgFormatValue_cgen_141((&res_3), T34_);
			res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
			T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T35_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_3), T35_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA38_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA38_: ;
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = rope_ropes_109(res_3);
			T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T41_ = indentLine_cgen_272(p, T40_);
			add_ropes_159(T29_, T41_);
		}
		LA27_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		binaryArith_cgen_18916(p, e, d, m);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19157)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_678), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genEqProc_cgen_19129)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T3_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T3_ = t_cgen_79(a);
		T4_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T4_ = skipTypes_ast_3734(T3_, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
		if (!((*T4_).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T7_[0] = rdLoc_cgen_417(a);
		T7_[1] = rdLoc_cgen_417(b);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__cgen_19157(T7_, 2);
		putIntoDest_cgen_18621(p, d, e, T8_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	goto LA1_;
	LA5_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		nimZeroMem((void*)T10_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T10_[0] = rdLoc_cgen_417(a);
		T10_[1] = rdLoc_cgen_417(b);
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = percent__cgen_19030(T10_, 2);
		putIntoDest_cgen_18621(p, d, e, T11_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18762)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_679), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_18839)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_695), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, binaryArithOverflow_cgen_18729)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	t = skipTypes_ast_3734((*e).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* res;
		tyArray__f7nG5LD47BH5K9c6mASit3g T5_;
		if (!!((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
		T5_[0] = getTypeDesc_cgen_6635((*p).module, (*e).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		T5_[1] = rdLoc_cgen_417(a);
		T5_[2] = rope_ropes_109(opr_cgen_18736[(m)- 46]);
		T5_[3] = rdLoc_cgen_417(b);
		res = percent__cgen_18762(T5_, 4);
		putIntoDest_cgen_18621(p, d, e, res, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* res_3;
		NI64 sizeX60gensym3628_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* storageX60gensym3628_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* resultX60gensym3628_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T26_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T33_;
		NimStringDesc* res_5;
		NimStringDesc* T34_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T70_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T11_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49) || m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 50))) goto LA9_;
			T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T11_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = rdLoc_cgen_417(b);
			cgFormatValue_cgen_141((&res_2), T12_);
			res_2 = resizeString(res_2, 8);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_681));
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_682));
			cgFormatValue_cgen_141((&res_2), T13_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_2), T14_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA17_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA17_: ;
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = rope_ropes_109(res_2);
			T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T20_ = indentLine_cgen_272(p, T19_);
			add_ropes_159(T11_, T20_);
		}
		LA9_: ;
		sizeX60gensym3628_ = getSize_types_3333((*(*(*p).module).g).config, t);
		{
			if (!(sizeX60gensym3628_ < ((NI64) ((*(*(*(*p).module).g).config).target.intSize)))) goto LA23_;
			storageX60gensym3628_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_453));
		}
		goto LA21_;
		LA23_: ;
		{
			storageX60gensym3628_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		}
		LA21_: ;
		resultX60gensym3628_ = getTempName_cgen_410((*p).module);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T26_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		res_4 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_4), storageX60gensym3628_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
		cgFormatValue_cgen_141((&res_4), resultX60gensym3628_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA29_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA29_: ;
		T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = rope_ropes_109(res_4);
		T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = indentLine_cgen_272(p, T31_);
		add_ropes_159(T26_, T32_);
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T33_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_5 = rawNewString(((NI) 80));
		res_5 = resizeString(res_5, 4);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		T34_ = (NimStringDesc*)0;
		{
			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35))) goto LA37_;
			T34_ = copyString(prc64_cgen_18735[(m)- 46]);
		}
		goto LA35_;
		LA37_: ;
		{
			T34_ = copyString(prc_cgen_18734[(m)- 46]);
		}
		LA35_: ;
		T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T40_ = cgsym_cgen_120((*p).module, T34_);
		cgFormatValue_cgen_141((&res_5), T40_);
		res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = rdCharLoc_cgen_10347(a);
		cgFormatValue_cgen_141((&res_5), T41_);
		res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T42_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res_5), T42_);
		res_5 = resizeString(res_5, 3);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_693));
		cgFormatValue_cgen_141((&res_5), resultX60gensym3628_);
		res_5 = resizeString(res_5, 5);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_694));
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_639));
		cgFormatValue_cgen_141((&res_5), T43_);
		res_5 = resizeString(res_5, 4);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T44_ = raiseInstr_cgen_406(p);
		cgFormatValue_cgen_141((&res_5), T44_);
		res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_305));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA47_;
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA47_: ;
		T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T49_ = rope_ropes_109(res_5);
		T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T50_ = indentLine_cgen_272(p, T49_);
		add_ropes_159(T33_, T50_);
		{
			NIM_BOOL T53_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T57_;
			NimStringDesc* res_6;
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T58_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T60_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
			T53_ = (NIM_BOOL)0;
			T53_ = (sizeX60gensym3628_ < ((NI64) ((*(*(*(*p).module).g).config).target.intSize)));
			if (T53_) goto LA54_;
			T53_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
			LA54_: ;
			if (!T53_) goto LA55_;
			T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T57_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_6 = rawNewString(((NI) 80));
			res_6 = resizeString(res_6, 4);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			cgFormatValue_cgen_141((&res_6), resultX60gensym3628_);
			res_6 = resizeString(res_6, 3);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
			T58_ = firstOrd_types_1353((*(*(*p).module).g).config, t);
			T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T59_ = intLiteral_cgen_17600(T58_);
			cgFormatValue_cgen_141((&res_6), T59_);
			res_6 = resizeString(res_6, 4);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_577));
			cgFormatValue_cgen_141((&res_6), resultX60gensym3628_);
			res_6 = resizeString(res_6, 3);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_578));
			T60_ = lastOrd_types_1470((*(*(*p).module).g).config, t);
			T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T61_ = intLiteral_cgen_17600(T60_);
			cgFormatValue_cgen_141((&res_6), T61_);
			res_6 = resizeString(res_6, 3);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_638));
			T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T62_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_639));
			cgFormatValue_cgen_141((&res_6), T62_);
			res_6 = resizeString(res_6, 4);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T63_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_6), T63_);
			res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA66_;
				res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA66_: ;
			T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T68_ = rope_ropes_109(res_6);
			T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T69_ = indentLine_cgen_272(p, T68_);
			add_ropes_159(T57_, T69_);
		}
		LA55_: ;
		res_3 = resultX60gensym3628_;
		nimZeroMem((void*)T70_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T70_[0] = getTypeDesc_cgen_6635((*p).module, (*e).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		T70_[1] = res_3;
		T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T71_ = percent__cgen_18839(T70_, 2);
		putIntoDest_cgen_18621(p, d, e, T71_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gcUsage_cgen_20327)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		NimStringDesc* T5_;
		if (!((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 1))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = renderTree_renderer_46(n, 0);
		liMessage_msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 50), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_713, NIM_FALSE);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genRepr_cgen_21429)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	{
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA3_;
		liMessage_msgs_1118((*(*(*p).module).g).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_696), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_697, NIM_FALSE);
	}
	LA3_: ;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	t = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		res = rawNewString(((NI) 80));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_698));
		cgFormatValue_cgen_141((&res), T6_);
		res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_699));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rope_ropes_109(res);
		putIntoDest_cgen_18621(p, d, e, T8_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
	{
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		res_2 = rawNewString(((NI) 80));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_700));
		cgFormatValue_cgen_141((&res_2), T10_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_2), T11_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = rope_ropes_109(res_2);
		putIntoDest_cgen_18621(p, d, e, T12_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		res_3 = rawNewString(((NI) 80));
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_701));
		cgFormatValue_cgen_141((&res_3), T14_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_3), T15_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = rope_ropes_109(res_3);
		putIntoDest_cgen_18621(p, d, e, T16_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
	{
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		res_4 = rawNewString(((NI) 80));
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_702));
		cgFormatValue_cgen_141((&res_4), T18_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_4), T19_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rope_ropes_109(res_4);
		putIntoDest_cgen_18621(p, d, e, T20_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
	{
		NimStringDesc* res_5;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		res_5 = rawNewString(((NI) 80));
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_703));
		cgFormatValue_cgen_141((&res_5), T22_);
		res_5 = resizeString(res_5, 5);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_704));
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_5), T23_);
		res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = genTypeInfoV1_cgen_6772((*p).module, t, (*e).info);
		cgFormatValue_cgen_141((&res_5), T24_);
		res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = rope_ropes_109(res_5);
		putIntoDest_cgen_18621(p, d, e, T25_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		NimStringDesc* res_6;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
		res_6 = rawNewString(((NI) 80));
		T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T27_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_705));
		cgFormatValue_cgen_141((&res_6), T27_);
		res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_6), T28_);
		res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = rope_ropes_109(res_6);
		putIntoDest_cgen_18621(p, d, e, T29_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		NimStringDesc* res_7;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
		res_7 = rawNewString(((NI) 80));
		T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_706));
		cgFormatValue_cgen_141((&res_7), T31_);
		res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = addrLoc_cgen_10307((*(*(*p).module).g).config, a);
		cgFormatValue_cgen_141((&res_7), T32_);
		res_7 = resizeString(res_7, 2);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = genTypeInfoV1_cgen_6772((*p).module, t, (*e).info);
		cgFormatValue_cgen_141((&res_7), T33_);
		res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T34_ = rope_ropes_109(res_7);
		putIntoDest_cgen_18621(p, d, e, T34_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T36_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
		NimStringDesc* res_8;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T52_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
		nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		T36_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T36_ = t_cgen_79(a);
		T37_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T37_ = skipTypes_ast_3734(T36_, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
		switch ((*T37_).kind) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T39_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			nimZeroMem((void*)T39_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T39_[0] = rdLoc_cgen_417(a);
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = percent__cgen_11924(T39_, 1);
			putIntoDest_cgen_18621(p, (&b), e, T40_, a.storage);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
		{
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T42_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
			nimZeroMem((void*)T42_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T42_[0] = rdLoc_cgen_417(a);
			T42_[1] = lenExpr_cgen_440(p, a);
			T42_[2] = dataField_cgen_453(p);
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T43_ = percent__cgen_11977(T42_, 3);
			putIntoDest_cgen_18621(p, (&b), e, T43_, a.storage);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
		{
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T45_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T46_;
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T47_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
			nimZeroMem((void*)T45_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T45_[0] = rdLoc_cgen_417(a);
			T46_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T46_ = t_cgen_79(a);
			T47_ = lengthOrd_types_1661((*(*(*p).module).g).config, T46_);
			T45_[1] = rope_cgen_6922(T47_);
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T48_ = percent__cgen_11982(T45_, 2);
			putIntoDest_cgen_18621(p, (&b), e, T48_, a.storage);
		}
		break;
		default:
		{
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*(*e)._kind_6.sons->data[((NI) 0)]).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_707), TM__MQdRN7fpbG7rPm4JpVVAhA_708);
		}
		break;
		}
		res_8 = rawNewString(((NI) 80));
		T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T50_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_709));
		cgFormatValue_cgen_141((&res_8), T50_);
		res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T51_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res_8), T51_);
		res_8 = resizeString(res_8, 2);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T52_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T52_ = elemType_types_263(t);
		T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T53_ = genTypeInfoV1_cgen_6772((*p).module, T52_, (*e).info);
		cgFormatValue_cgen_141((&res_8), T53_);
		res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = rope_ropes_109(res_8);
		putIntoDest_cgen_18621(p, d, e, T54_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		NimStringDesc* res_9;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
		res_9 = rawNewString(((NI) 80));
		T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T56_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_710));
		cgFormatValue_cgen_141((&res_9), T56_);
		res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T57_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_9), T57_);
		res_9 = resizeString(res_9, 2);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T58_ = genTypeInfoV1_cgen_6772((*p).module, t, (*e).info);
		cgFormatValue_cgen_141((&res_9), T58_);
		res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T59_ = rope_ropes_109(res_9);
		putIntoDest_cgen_18621(p, d, e, T59_, a.storage);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
	{
		liMessage_msgs_1118((*(*(*p).module).g).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_711), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_712, NIM_FALSE);
	}
	break;
	default:
	{
		NimStringDesc* res_10;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
		res_10 = rawNewString(((NI) 80));
		T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T62_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_710));
		cgFormatValue_cgen_141((&res_10), T62_);
		res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T63_ = addrLoc_cgen_10307((*(*(*p).module).g).config, a);
		cgFormatValue_cgen_141((&res_10), T63_);
		res_10 = resizeString(res_10, 2);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T64_ = genTypeInfoV1_cgen_6772((*p).module, t, (*e).info);
		cgFormatValue_cgen_141((&res_10), T64_);
		res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T65_ = rope_ropes_109(res_10);
		putIntoDest_cgen_18621(p, d, e, T65_, a.storage);
	}
	break;
	}
	gcUsage_cgen_20327((*(*(*p).module).g).config, e);
}
N_LIB_PRIVATE N_NIMCALL(void, genGetTypeInfo_cgen_21601)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129));
	(void)(T1_);
	t = (*(*e)._kind_6.sons->data[((NI) 1)]).typ;
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = genTypeInfoV1_cgen_6772((*p).module, t, (*e).info);
	putIntoDest_cgen_18621(p, d, e, T2_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdMType_cgen_21545)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** nilCheck, NIM_BOOL enforceV1) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = rdLoc_cgen_417(a);
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(a);
	t = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	{
		while (1) {
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA3;
			{
				if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)))) goto LA6_;
				unsureAsgnRef((void**) (&(*nilCheck)), result);
			}
			LA6_: ;
			{
				NIM_BOOL T10_;
				NIM_BOOL T12_;
				tyArray__JiWwrsTRC6xqNlGcBthSVA T16_;
				T10_ = (NIM_BOOL)0;
				T10_ = !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)));
				if (T10_) goto LA11_;
				T12_ = (NIM_BOOL)0;
				T12_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
				if (T12_) goto LA13_;
				T12_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
				LA13_: ;
				T10_ = !(T12_);
				LA11_: ;
				if (!T10_) goto LA14_;
				nimZeroMem((void*)T16_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T16_[0] = result;
				result = percent__cgen_424(T16_, 1);
			}
			LA14_: ;
			T17_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T17_ = lastSon_ast_3742(t);
			t = skipTypes_ast_3734(T17_, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		} LA3: ;
	}
	T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T18_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T18_);
	{
		NIM_BOOL T21_;
		T21_ = (NIM_BOOL)0;
		T21_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T21_) goto LA22_;
		T21_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA22_: ;
		if (!!(T21_)) goto LA23_;
		{
			while (1) {
				NIM_BOOL T27_;
				T27_ = (NIM_BOOL)0;
				T27_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
				if (!(T27_)) goto LA28_;
				T27_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
				LA28_: ;
				if (!T27_) goto LA26;
				add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_105));
				t = skipTypes_ast_3734((*t).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			} LA26: ;
		}
	}
	LA23_: ;
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_715));
	{
		NIM_BOOL T31_;
		T31_ = (NIM_BOOL)0;
		T31_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0);
		if (!(T31_)) goto LA32_;
		T31_ = enforceV1;
		LA32_: ;
		if (!T31_) goto LA33_;
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_716));
	}
	LA33_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genGetTypeInfoV2_cgen_21607)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	t = (*(*e)._kind_6.sons->data[((NI) 1)]).typ;
	{
		NIM_BOOL T3_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = isFinal_types_750(t);
		if (T3_) goto LA4_;
		T3_ = !(eqStrings((*(*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_714)));
		LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = genTypeInfoV2_cgen_7928((*p).module, t, (*e).info);
		putIntoDest_cgen_18621(p, d, e, T7_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	goto LA1_;
	LA5_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* nilCheck;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
		nilCheck = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = rdMType_cgen_21545(p, a, &nilCheck, NIM_FALSE);
		putIntoDest_cgen_18621(p, d, e, T9_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, cowBracket_cgen_19390)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		NIM_BOOL T3_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* strCandidate;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
		if (!(T3_)) goto LA4_;
		T3_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		strCandidate = (*n)._kind_6.sons->data[((NI) 0)];
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T12_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
			T9_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T9_ = skipTypes_ast_3734((*strCandidate).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
			if (!((*T9_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA10_;
			nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, strCandidate, (&a));
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T12_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_362));
			cgFormatValue_cgen_141((&res), T13_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = byRefLoc_cgen_10323(p, a);
			cgFormatValue_cgen_141((&res), T14_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA17_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA17_: ;
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = rope_ropes_109(res);
			T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T20_ = indentLine_cgen_272(p, T19_);
			add_ropes_159(T12_, T20_);
		}
		LA10_: ;
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSwap_cgen_21901)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	cowBracket_cgen_19390(p, (*e)._kind_6.sons->data[((NI) 1)]);
	cowBracket_cgen_19390(p, (*e)._kind_6.sons->data[((NI) 2)]);
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
	getTemp_cgen_7347(p, T1_, (&tmp), NIM_FALSE);
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	genAssignment_cgen_10373(p, tmp, a, 0);
	genAssignment_cgen_10373(p, a, b, 0);
	genAssignment_cgen_10373(p, b, tmp, 0);
}
N_LIB_PRIVATE N_NIMCALL(void, binaryStmt_cgen_18636)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, NimStringDesc* op) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		if (!!(((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0)))) goto LA3_;
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_718), TM__MQdRN7fpbG7rPm4JpVVAhA_719);
	}
	LA3_: ;
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res = rawNewString(((NI) 80));
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res), T6_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
	cgFormatValue_cgen_145((&res), op);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = rdLoc_cgen_417(b);
	cgFormatValue_cgen_141((&res), T7_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA10_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA10_: ;
	T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T12_ = rope_ropes_109(res);
	T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T13_ = indentLine_cgen_272(p, T12_);
	add_ropes_159(T5_, T13_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, strLoc_cgen_20334)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA d) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		result = byRefLoc_cgen_10323(p, d);
	}
	goto LA1_;
	LA3_: ;
	{
		result = rdLoc_cgen_417(d);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genStrConcat_cgen_20342)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
	NI L;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* appends;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lens;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T33_;
	NimStringDesc* res_3;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T41_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	getTemp_cgen_7347(p, (*e).typ, (&tmp), NIM_FALSE);
	L = ((NI) 0);
	appends = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	lens = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len_ast_3197(e);
		colontmp_ = (NI)(T2_ - ((NI) 1));
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[(NI)(i + ((NI) 1))], (&a));
				{
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
					NimStringDesc* res;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
					T7_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T7_ = skipTypes_ast_3734((*(*e)._kind_6.sons->data[(NI)(i + ((NI) 1))]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
					if (!((*T7_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA8_;
					L += ((NI) 1);
					res = rawNewString(((NI) 80));
					T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T10_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_723));
					cgFormatValue_cgen_141((&res), T10_);
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
					T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T11_ = strLoc_cgen_20334(p, tmp);
					cgFormatValue_cgen_141((&res), T11_);
					res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
					T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T12_ = rdLoc_cgen_417(a);
					cgFormatValue_cgen_141((&res), T12_);
					res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA15_;
						res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA15_: ;
					T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T17_ = rope_ropes_109(res);
					add_ropes_159(&appends, T17_);
				}
				goto LA5_;
				LA8_: ;
				{
					NimStringDesc* res_2;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
					{
						if (!((*(*e)._kind_6.sons->data[(NI)(i + ((NI) 1))]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*e)._kind_6.sons->data[(NI)(i + ((NI) 1))]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA21_;
						L += ((*(*e)._kind_6.sons->data[(NI)(i + ((NI) 1))])._kind_3.strVal ? (*(*e)._kind_6.sons->data[(NI)(i + ((NI) 1))])._kind_3.strVal->Sup.len : 0);
					}
					goto LA19_;
					LA21_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
						T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T24_ = lenExpr_cgen_440(p, a);
						add_ropes_159(&lens, T24_);
						add_ropes_162(&lens, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_724));
					}
					LA19_: ;
					res_2 = rawNewString(((NI) 80));
					T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T25_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_725));
					cgFormatValue_cgen_141((&res_2), T25_);
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
					T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T26_ = strLoc_cgen_20334(p, tmp);
					cgFormatValue_cgen_141((&res_2), T26_);
					res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
					T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T27_ = rdLoc_cgen_417(a);
					cgFormatValue_cgen_141((&res_2), T27_);
					res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA30_;
						res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA30_: ;
					T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T32_ = rope_ropes_109(res_2);
					add_ropes_159(&appends, T32_);
				}
				LA5_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T33_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res_3 = rawNewString(((NI) 80));
	cgFormatValue_cgen_141((&res_3), tmp.r);
	res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
	T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T34_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_726));
	cgFormatValue_cgen_141((&res_3), T34_);
	res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	cgFormatValue_cgen_141((&res_3), lens);
	cgFormatValue_cgen_148((&res_3), ((NI64) (L)));
	res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA37_;
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA37_: ;
	T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T39_ = rope_ropes_109(res_3);
	T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T40_ = indentLine_cgen_272(p, T39_);
	add_ropes_159(T33_, T40_);
	T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T41_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	add_ropes_159(T41_, appends);
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA44_;
		genericAssign((void*)(&(*d)), (void*)(&tmp), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
	}
	goto LA42_;
	LA44_: ;
	{
		genAssignment_cgen_10373(p, (*d), tmp, 0);
	}
	LA42_: ;
	gcUsage_cgen_20327((*(*(*p).module).g).config, e);
}
N_LIB_PRIVATE N_NIMCALL(void, binaryStmtAddr_cgen_18662)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, NimStringDesc* cpname) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		if (!!(((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0)))) goto LA3_;
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_727), TM__MQdRN7fpbG7rPm4JpVVAhA_728);
	}
	LA3_: ;
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res = rawNewString(((NI) 80));
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = cgsym_cgen_120((*p).module, cpname);
	cgFormatValue_cgen_141((&res), T6_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = byRefLoc_cgen_10323(p, a);
	cgFormatValue_cgen_141((&res), T7_);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T8_ = rdLoc_cgen_417(b);
	cgFormatValue_cgen_141((&res), T8_);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA11_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA11_: ;
	T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T13_ = rope_ropes_109(res);
	T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T14_ = indentLine_cgen_272(p, T13_);
	add_ropes_159(T5_, T14_);
}
N_LIB_PRIVATE N_NIMCALL(void, genStrAppend_cgen_20422)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA call;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* appends;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lens;
	NI L;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T49_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&dest), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&call), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	appends = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	lens = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	L = ((NI) 0);
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&dest));
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len_ast_3197(e);
		colontmp_ = (NI)(T2_ - ((NI) 2));
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[(NI)(i + ((NI) 2))], (&a));
				{
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
					NimStringDesc* res;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
					T7_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T7_ = skipTypes_ast_3734((*(*e)._kind_6.sons->data[(NI)(i + ((NI) 2))]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
					if (!((*T7_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA8_;
					L += ((NI) 1);
					res = rawNewString(((NI) 80));
					T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T10_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_723));
					cgFormatValue_cgen_141((&res), T10_);
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
					T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T11_ = strLoc_cgen_20334(p, dest);
					cgFormatValue_cgen_141((&res), T11_);
					res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
					T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T12_ = rdLoc_cgen_417(a);
					cgFormatValue_cgen_141((&res), T12_);
					res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA15_;
						res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA15_: ;
					T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T17_ = rope_ropes_109(res);
					add_ropes_159(&appends, T17_);
				}
				goto LA5_;
				LA8_: ;
				{
					NimStringDesc* res_2;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
					{
						if (!((*(*e)._kind_6.sons->data[(NI)(i + ((NI) 2))]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*e)._kind_6.sons->data[(NI)(i + ((NI) 2))]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA21_;
						L += ((*(*e)._kind_6.sons->data[(NI)(i + ((NI) 2))])._kind_3.strVal ? (*(*e)._kind_6.sons->data[(NI)(i + ((NI) 2))])._kind_3.strVal->Sup.len : 0);
					}
					goto LA19_;
					LA21_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
						T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T24_ = lenExpr_cgen_440(p, a);
						add_ropes_159(&lens, T24_);
						add_ropes_162(&lens, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_724));
					}
					LA19_: ;
					res_2 = rawNewString(((NI) 80));
					T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T25_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_725));
					cgFormatValue_cgen_141((&res_2), T25_);
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
					T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T26_ = strLoc_cgen_20334(p, dest);
					cgFormatValue_cgen_141((&res_2), T26_);
					res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
					T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T27_ = rdLoc_cgen_417(a);
					cgFormatValue_cgen_141((&res_2), T27_);
					res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA30_;
						res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA30_: ;
					T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T32_ = rope_ropes_109(res_2);
					add_ropes_159(&appends, T32_);
				}
				LA5_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T37_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA35_;
		T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T37_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T38_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_731));
		cgFormatValue_cgen_141((&res_3), T38_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T39_ = byRefLoc_cgen_10323(p, dest);
		cgFormatValue_cgen_141((&res_3), T39_);
		res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		cgFormatValue_cgen_141((&res_3), lens);
		cgFormatValue_cgen_148((&res_3), ((NI64) (L)));
		res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA42_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA42_: ;
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T44_ = rope_ropes_109(res_3);
		T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T45_ = indentLine_cgen_272(p, T44_);
		add_ropes_159(T37_, T45_);
	}
	goto LA33_;
	LA35_: ;
	{
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
		initLoc_cgen_60((&call), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), e, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
		res_4 = rawNewString(((NI) 80));
		T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T47_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_732));
		cgFormatValue_cgen_141((&res_4), T47_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T48_ = rdLoc_cgen_417(dest);
		cgFormatValue_cgen_141((&res_4), T48_);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		cgFormatValue_cgen_141((&res_4), lens);
		cgFormatValue_cgen_148((&res_4), ((NI64) (L)));
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		call.r = rope_ropes_109(res_4);
		genAssignment_cgen_10373(p, dest, call, 0);
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	LA33_: ;
	T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T49_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	add_ropes_159(T49_, appends);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType_cgen_21805)(tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
	result = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = nextTypeId_ast_3150(idgen);
	result = newType_ast_3895(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), T1_, (*baseType).owner);
	addSonSkipIntLit_magicsys_136(result, baseType, idgen);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeAddr_cgen_21809)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
		result = n;
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__jlWPjgtbdjE069arIWHC9c9bg T6_;
		nimZeroMem((void*)T6_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
		T6_[0] = n;
		result = newTree_ast_3391(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), T6_, 1);
		asgnRef((void**) (&(*result).typ), makePtrType_cgen_21805((*n).typ, idgen));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genCall_cgen_13069)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	genAsgnCall_cgen_13039(p, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), e, d);
}
N_LIB_PRIVATE N_NIMCALL(void, getIntTemp_cgen_11034)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* result) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T3_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
	(*p).labels += ((NI) 1);
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rope_ropes_115(((NI64) ((*p).labels)));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_164), T1_);
	unsureAsgnRef((void**) (&(*result).r), amp__ropes_140(T2_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3)));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T3_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
	res = rawNewString(((NI) 80));
	res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_736));
	cgFormatValue_cgen_141((&res), (*result).r);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA6_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA6_: ;
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T8_ = rope_ropes_109(res);
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = indentLine_cgen_272(p, T8_);
	add_ropes_159(T3_, T9_);
	(*result).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1);
	(*result).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2);
	T10_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T10_ = getSysType_magicsys_60((*(*(*p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
	unsureAsgnRef((void**) (&(*result).lode), lodeTyp_cgen_86(T10_));
	(*result).flags = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, genSeqElemAppend_cgen_20520)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmpL;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA call;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* seqType;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T16_;
	NimStringDesc* res_3;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
	NimStringDesc* res_4;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&dest), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&tmpL), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&call), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	seqType = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_733);
	initLoc_cgen_60((&call), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), e, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
	{
		NIM_BOOL T3_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T3_) goto LA4_;
		T3_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA4_: ;
		if (!!(T3_)) goto LA5_;
		res = rawNewString(((NI) 80));
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = getTypeDesc_cgen_6635((*p).module, (*(*e)._kind_6.sons->data[((NI) 1)]).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_734));
		cgFormatValue_cgen_141((&res), T8_);
		res = resizeString(res, 16);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_735));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T9_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_555));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = genTypeInfoV1_cgen_6772((*p).module, seqType, (*e).info);
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		call.r = rope_ropes_109(res);
	}
	goto LA1_;
	LA5_: ;
	{
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = getTypeDesc_cgen_6635((*p).module, (*(*e)._kind_6.sons->data[((NI) 1)]).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res_2), T12_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_734));
		cgFormatValue_cgen_141((&res_2), T13_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_2), T14_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = genTypeInfoV1_cgen_6772((*p).module, seqType, (*e).info);
		cgFormatValue_cgen_141((&res_2), T15_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		call.r = rope_ropes_109(res_2);
	}
	LA1_: ;
	genRefAssign_cgen_10543(p, a, call);
	initLoc_cgen_60((&dest), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), (*e)._kind_6.sons->data[((NI) 2)], ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
	getIntTemp_cgen_11034(p, (&tmpL));
	T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T16_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res_3 = rawNewString(((NI) 80));
	cgFormatValue_cgen_141((&res_3), tmpL.r);
	res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
	T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T17_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res_3), T17_);
	res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_613));
	T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T18_ = lenField_cgen_429(p);
	cgFormatValue_cgen_141((&res_3), T18_);
	res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_737));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA21_;
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA21_: ;
	T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T23_ = rope_ropes_109(res_3);
	T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T24_ = indentLine_cgen_272(p, T23_);
	add_ropes_159(T16_, T24_);
	res_4 = rawNewString(((NI) 80));
	T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T25_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res_4), T25_);
	T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T26_ = dataField_cgen_453(p);
	cgFormatValue_cgen_141((&res_4), T26_);
	res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
	cgFormatValue_cgen_141((&res_4), tmpL.r);
	res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
	dest.r = rope_ropes_109(res_4);
	genAssignment_cgen_10373(p, dest, b, 1);
	gcUsage_cgen_20327((*(*(*p).module).g).config, e);
}
N_LIB_PRIVATE N_NIMCALL(void, genStrEquals_cgen_22867)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA x;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
	nimZeroMem((void*)(&x), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	a = (*e)._kind_6.sons->data[((NI) 1)];
	b = (*e)._kind_6.sons->data[((NI) 2)];
	{
		NIM_BOOL T3_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
		if (!(T3_)) goto LA4_;
		T3_ = (((*a)._kind_3.strVal ? (*a)._kind_3.strVal->Sup.len : 0) == 0);
		LA4_: ;
		if (!T3_) goto LA5_;
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&x));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = lenExpr_cgen_440(p, x);
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_738));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rope_ropes_109(res);
		putIntoDest_cgen_18621(p, d, e, T8_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T10_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
		if (!(T10_)) goto LA11_;
		T10_ = (((*b)._kind_3.strVal ? (*b)._kind_3.strVal->Sup.len : 0) == 0);
		LA11_: ;
		if (!T10_) goto LA12_;
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&x));
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = lenExpr_cgen_440(p, x);
		cgFormatValue_cgen_141((&res_2), T14_);
		res_2 = resizeString(res_2, 6);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_738));
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rope_ropes_109(res_2);
		putIntoDest_cgen_18621(p, d, e, T15_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	goto LA1_;
	LA12_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5104_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym5104_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		nimZeroMem((void*)(&aX60gensym5104_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&bX60gensym5104_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5104_));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym5104_));
		res_3 = rawNewString(((NI) 80));
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_739));
		cgFormatValue_cgen_141((&res_3), T17_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = rdLoc_cgen_417(aX60gensym5104_);
		cgFormatValue_cgen_141((&res_3), T18_);
		res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rdLoc_cgen_417(bX60gensym5104_);
		cgFormatValue_cgen_141((&res_3), T19_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rope_ropes_109(res_3);
		putIntoDest_cgen_18621(p, d, e, T20_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genIsNil_cgen_19166)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	t = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	{
		NIM_BOOL T3_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym3741_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
		if (!(T3_)) goto LA4_;
		T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
		LA4_: ;
		if (!T3_) goto LA5_;
		nimZeroMem((void*)(&aX60gensym3741_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym3741_));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = rdLoc_cgen_417(aX60gensym3741_);
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 12);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_743));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rope_ropes_109(res);
		putIntoDest_cgen_18621(p, d, e, T8_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	goto LA1_;
	LA5_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym3747_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		nimZeroMem((void*)(&aX60gensym3747_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym3747_));
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = rdLoc_cgen_417(aX60gensym3747_);
		cgFormatValue_cgen_141((&res_2), T10_);
		res_2 = resizeString(res_2, 6);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_738));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rope_ropes_109(res_2);
		putIntoDest_cgen_18621(p, d, e, T11_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genEnumToStr_cgen_23209)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* toStrProc;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
	t = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_751);
	toStrProc = getToStringProc_modulegraphs_5648((*(*(*p).module).g).graph, t);
	n = copyTree_ast_4430(e);
	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode_ast_3715(toStrProc));
	expr_cgen_11455(p, n, d);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21395)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_105), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21308)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_757), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21318)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_759), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genOfHelper_cgen_21276)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA3_;
		res = rawNewString(((NI) 80));
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_755));
		cgFormatValue_cgen_141((&res), T5_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		cgFormatValue_cgen_141((&res), a);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_756));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = genTypeInfo2Name_cgen_7809((*p).module, dest);
		cgFormatValue_cgen_141((&res), T6_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		result = rope_ropes_109(res);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* ti;
		ti = genTypeInfoV1_cgen_6772((*p).module, dest, info);
		{
			NIM_BOOL T10_;
			NIM_BOOL T12_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
			T10_ = (NIM_BOOL)0;
			T10_ = (((*dest).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0);
			if (T10_) goto LA11_;
			T12_ = (NIM_BOOL)0;
			T12_ = (((*(*p).module).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 5))&7U)))!=0);
			if (!(T12_)) goto LA13_;
			T12_ = !((((*dest).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5))&63U)))!=0));
			LA13_: ;
			T10_ = T12_;
			LA11_: ;
			if (!T10_) goto LA14_;
			nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T16_[0] = a;
			T16_[1] = ti;
			result = percent__cgen_21308(T16_, 2);
		}
		goto LA8_;
		LA14_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* cache;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T20_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129));
			(void)(T18_);
			(*(*p).module).labels += ((NI) 1);
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = rope_ropes_115(((NI64) ((*(*p).module).labels)));
			cache = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_758), T19_);
			nimZeroMem((void*)T20_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T20_[0] = cache;
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T21_ = percent__cgen_21318(T20_, 1);
			add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T21_);
			res_2 = rawNewString(((NI) 80));
			T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T22_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_760));
			cgFormatValue_cgen_141((&res_2), T22_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			cgFormatValue_cgen_141((&res_2), a);
			res_2 = resizeString(res_2, 9);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_756));
			cgFormatValue_cgen_141((&res_2), ti);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_141((&res_2), cache);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			result = rope_ropes_109(res_2);
		}
		LA8_: ;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genOf_cgen_21332)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* nilCheck;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, x, (&a));
	dest = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_118);
	r = rdLoc_cgen_417(a);
	nilCheck = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(a);
	t = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	{
		while (1) {
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA3;
			{
				if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)))) goto LA6_;
				nilCheck = r;
			}
			LA6_: ;
			{
				NIM_BOOL T10_;
				NIM_BOOL T12_;
				NimStringDesc* res;
				T10_ = (NIM_BOOL)0;
				T10_ = !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)));
				if (T10_) goto LA11_;
				T12_ = (NIM_BOOL)0;
				T12_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
				if (T12_) goto LA13_;
				T12_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
				LA13_: ;
				T10_ = !(T12_);
				LA11_: ;
				if (!T10_) goto LA14_;
				res = rawNewString(((NI) 80));
				res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_83));
				cgFormatValue_cgen_141((&res), r);
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
				r = rope_ropes_109(res);
			}
			LA14_: ;
			T16_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T16_ = lastSon_ast_3742(t);
			t = skipTypes_ast_3734(T16_, TM__MQdRN7fpbG7rPm4JpVVAhA_31);
		} LA3: ;
	}
	T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T17_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T17_);
	{
		NIM_BOOL T20_;
		T20_ = (NIM_BOOL)0;
		T20_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T20_) goto LA21_;
		T20_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA21_: ;
		if (!!(T20_)) goto LA22_;
		{
			while (1) {
				NIM_BOOL T26_;
				tyArray__qTjAvTvKF9anytN1At69aJMQ T28_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
				T26_ = (NIM_BOOL)0;
				T26_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
				if (!(T26_)) goto LA27_;
				T26_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
				LA27_: ;
				if (!T26_) goto LA25;
				nimZeroMem((void*)T28_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T29_ = percent__cgen_21395(T28_, 0);
				add_ropes_159(&r, T29_);
				t = skipTypes_ast_3734((*t).sons->data[((NI) 0)], TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			} LA25: ;
		}
	}
	LA22_: ;
	{
		NIM_BOOL T32_;
		T32_ = (NIM_BOOL)0;
		T32_ = isObjLackingTypeField_cgen_1311(t);
		if (!T32_) goto LA33_;
		liMessage_msgs_1118((*(*(*p).module).g).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_752), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__MQdRN7fpbG7rPm4JpVVAhA_753, NIM_FALSE);
	}
	LA33_: ;
	{
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
		if (!!((nilCheck == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA37_;
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_213));
		cgFormatValue_cgen_141((&res_2), nilCheck);
		res_2 = resizeString(res_2, 6);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_754));
		T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T39_ = genOfHelper_cgen_21276(p, dest, r, (*x).info);
		cgFormatValue_cgen_141((&res_2), T39_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_422));
		r = rope_ropes_109(res_2);
	}
	goto LA35_;
	LA37_: ;
	{
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
		res_3 = rawNewString(((NI) 80));
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = genOfHelper_cgen_21276(p, dest, r, (*x).info);
		cgFormatValue_cgen_141((&res_3), T41_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		r = rope_ropes_109(res_3);
	}
	LA35_: ;
	putIntoDest_cgen_18621(p, d, x, r, a.storage);
}
N_LIB_PRIVATE N_NIMCALL(void, genOf_cgen_21423)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	genOf_cgen_21332(p, (*n)._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[((NI) 2)]).typ, d);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_20622)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_761), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_20664)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_767), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawGenNew_cgen_20599)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* sizeExpr, NIM_BOOL needsInit) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* sizeExpr_2;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* refType;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* bt;
	sizeExpr_2 = sizeExpr;
	typ = t_cgen_79((*a));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLoc_cgen_60((&b), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), (*a).lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
	refType = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	bt = lastSon_ast_3742(refType);
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
		if (!(sizeExpr_2 == 0)) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = getTypeDesc_cgen_6635((*p).module, bt, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		sizeExpr_2 = percent__cgen_20622(T5_, 1);
	}
	LA3_: ;
	{
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA8_;
		{
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			if (!needsInit) goto LA12_;
			res = rawNewString(((NI) 80));
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = getTypeDesc_cgen_6635((*p).module, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res), T14_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_762));
			cgFormatValue_cgen_141((&res), T15_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			cgFormatValue_cgen_141((&res), sizeExpr_2);
			res = resizeString(res, 14);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_763));
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = getTypeDesc_cgen_6635((*p).module, bt, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res), T16_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_422));
			b.r = rope_ropes_109(res);
		}
		goto LA10_;
		LA12_: ;
		{
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = getTypeDesc_cgen_6635((*p).module, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res_2), T18_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_764));
			cgFormatValue_cgen_141((&res_2), T19_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			cgFormatValue_cgen_141((&res_2), sizeExpr_2);
			res_2 = resizeString(res_2, 14);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_763));
			T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T20_ = getTypeDesc_cgen_6635((*p).module, bt, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res_2), T20_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_422));
			b.r = rope_ropes_109(res_2);
		}
		LA10_: ;
		genAssignment_cgen_10373(p, (*a), b, 0);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* ti;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
		ti = genTypeInfoV1_cgen_6772((*p).module, typ, (*(*a).lode).info);
		op = getAttachedOp_modulegraphs_4011((*(*(*p).module).g).graph, bt, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
		{
			NIM_BOOL T24_;
			NIM_BOOL T26_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA f;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T36_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
			T24_ = (NIM_BOOL)0;
			T24_ = !((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			if (!(T24_)) goto LA25_;
			T26_ = (NIM_BOOL)0;
			T26_ = isTrivialProc_cgen_7850((*(*(*p).module).g).graph, op);
			T24_ = !(T26_);
			LA25_: ;
			if (!T24_) goto LA27_;
			{
				NIM_BOOL T31_;
				T31_ = (NIM_BOOL)0;
				T31_ = ((*op).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
				if (T31_) goto LA32_;
				T31_ = !(((*(*op).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 0)));
				LA32_: ;
				if (!T31_) goto LA33_;
				liMessage_msgs_1118((*(*(*p).module).g).config, (*(*a).lode).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_765), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_766, NIM_FALSE);
			}
			LA33_: ;
			nimZeroMem((void*)(&f), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			T35_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T35_ = newSymNode_ast_3715(op);
			initLocExpr_cgen_11478(p, T35_, (&f));
			nimZeroMem((void*)T36_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T36_[0] = ti;
			T36_[1] = rdLoc_cgen_417(f);
			T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T37_ = percent__cgen_20664(T36_, 2);
			add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T37_);
		}
		LA27_: ;
		{
			NIM_BOOL T40_;
			T40_ = (NIM_BOOL)0;
			T40_ = ((*a).storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
			if (!(T40_)) goto LA41_;
			T40_ = usesWriteBarrier_options_3996((*(*(*p).module).g).config);
			LA41_: ;
			if (!T40_) goto LA42_;
			{
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T46_;
				NIM_BOOL T47_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T50_;
				NimStringDesc* res_3;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
				T46_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T46_ = t_cgen_79((*a));
				T47_ = (NIM_BOOL)0;
				T47_ = canFormAcycle_types_762(T46_);
				if (!T47_) goto LA48_;
				T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T50_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_3 = rawNewString(((NI) 80));
				res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T51_ = rdLoc_cgen_417((*a));
				cgFormatValue_cgen_141((&res_3), T51_);
				res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_649));
				T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T52_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_768));
				cgFormatValue_cgen_141((&res_3), T52_);
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T53_ = rdLoc_cgen_417((*a));
				cgFormatValue_cgen_141((&res_3), T53_);
				res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
				T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T54_ = rdLoc_cgen_417((*a));
				cgFormatValue_cgen_141((&res_3), T54_);
				res_3 = resizeString(res_3, 13);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_769));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA57_;
					res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA57_: ;
				T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T59_ = rope_ropes_109(res_3);
				T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T60_ = indentLine_cgen_272(p, T59_);
				add_ropes_159(T50_, T60_);
			}
			goto LA44_;
			LA48_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T62_;
				NimStringDesc* res_4;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
				T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T62_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_4 = rawNewString(((NI) 80));
				res_4 = resizeString(res_4, 4);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T63_ = rdLoc_cgen_417((*a));
				cgFormatValue_cgen_141((&res_4), T63_);
				res_4 = resizeString(res_4, 4);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_649));
				T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T64_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_350));
				cgFormatValue_cgen_141((&res_4), T64_);
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T65_ = rdLoc_cgen_417((*a));
				cgFormatValue_cgen_141((&res_4), T65_);
				res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
				T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T66_ = rdLoc_cgen_417((*a));
				cgFormatValue_cgen_141((&res_4), T66_);
				res_4 = resizeString(res_4, 13);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_769));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA69_;
					res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA69_: ;
				T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T71_ = rope_ropes_109(res_4);
				T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T72_ = indentLine_cgen_272(p, T71_);
				add_ropes_159(T62_, T72_);
			}
			LA44_: ;
			{
				NimStringDesc* res_5;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T77_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T79_;
				NimStringDesc* res_6;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T80_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T87_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T88_;
				if (!((*(*(*(*p).module).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 10))) goto LA75_;
				res_5 = rawNewString(((NI) 80));
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T77_ = getTypeDesc_cgen_6635((*p).module, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				cgFormatValue_cgen_141((&res_5), T77_);
				res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
				T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T78_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_770));
				cgFormatValue_cgen_141((&res_5), T78_);
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				cgFormatValue_cgen_141((&res_5), ti);
				res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				cgFormatValue_cgen_141((&res_5), sizeExpr_2);
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
				b.r = rope_ropes_109(res_5);
				T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T79_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_6 = rawNewString(((NI) 80));
				T80_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T80_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_340));
				cgFormatValue_cgen_141((&res_6), T80_);
				res_6 = resizeString(res_6, 10);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_339));
				T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T81_ = addrLoc_cgen_10307((*(*(*p).module).g).config, (*a));
				cgFormatValue_cgen_141((&res_6), T81_);
				res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T82_ = rdLoc_cgen_417(b);
				cgFormatValue_cgen_141((&res_6), T82_);
				res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA85_;
					res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA85_: ;
				T87_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T87_ = rope_ropes_109(res_6);
				T88_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T88_ = indentLine_cgen_272(p, T87_);
				add_ropes_159(T79_, T88_);
			}
			goto LA73_;
			LA75_: ;
			{
				NimStringDesc* res_7;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T92_;
				NimStringDesc* res_8;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T93_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T94_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T99_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T100_;
				res_7 = rawNewString(((NI) 80));
				res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T90_ = getTypeDesc_cgen_6635((*p).module, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				cgFormatValue_cgen_141((&res_7), T90_);
				res_7 = resizeString(res_7, 2);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
				T91_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T91_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_771));
				cgFormatValue_cgen_141((&res_7), T91_);
				res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				cgFormatValue_cgen_141((&res_7), ti);
				res_7 = resizeString(res_7, 2);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				cgFormatValue_cgen_141((&res_7), sizeExpr_2);
				res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
				b.r = rope_ropes_109(res_7);
				T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T92_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_8 = rawNewString(((NI) 80));
				T93_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T93_ = rdLoc_cgen_417((*a));
				cgFormatValue_cgen_141((&res_8), T93_);
				res_8 = resizeString(res_8, 3);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
				T94_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T94_ = rdLoc_cgen_417(b);
				cgFormatValue_cgen_141((&res_8), T94_);
				res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA97_;
					res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA97_: ;
				T99_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T99_ = rope_ropes_109(res_8);
				T100_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T100_ = indentLine_cgen_272(p, T99_);
				add_ropes_159(T92_, T100_);
			}
			LA73_: ;
		}
		goto LA38_;
		LA42_: ;
		{
			NimStringDesc* res_9;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T102_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T103_;
			res_9 = rawNewString(((NI) 80));
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T102_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T102_ = getTypeDesc_cgen_6635((*p).module, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res_9), T102_);
			res_9 = resizeString(res_9, 2);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
			T103_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T103_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_770));
			cgFormatValue_cgen_141((&res_9), T103_);
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			cgFormatValue_cgen_141((&res_9), ti);
			res_9 = resizeString(res_9, 2);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_141((&res_9), sizeExpr_2);
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			b.r = rope_ropes_109(res_9);
			genAssignment_cgen_10373(p, (*a), b, 0);
		}
		LA38_: ;
	}
	LA6_: ;
	genObjectInit_cgen_10384(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2), bt, a, ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 1));
}
N_LIB_PRIVATE N_NIMCALL(void, genNew_cgen_20756)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	{
		NI T3_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA se;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		T3_ = (NI)0;
		T3_ = len_ast_3197(e);
		if (!(T3_ == ((NI) 3))) goto LA4_;
		nimZeroMem((void*)(&se), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&se));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rdLoc_cgen_417(se);
		rawGenNew_cgen_20599(p, (&a), T6_, NIM_TRUE);
	}
	goto LA1_;
	LA4_: ;
	{
		rawGenNew_cgen_20599(p, (&a), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL), NIM_TRUE);
	}
	LA1_: ;
	gcUsage_cgen_20327((*(*(*p).module).g).config, e);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfo_cgen_10284)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(((*config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA3_;
		result = genTypeInfoV2_cgen_7928(m, t, info);
	}
	goto LA1_;
	LA3_: ;
	{
		result = genTypeInfoV1_cgen_6772(m, t, info);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genNewFinalize_cgen_21245)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA f;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* refType;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* bt;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* ti;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&f), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	refType = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	bt = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	ti = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	refType = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&f));
	initLoc_cgen_60((&b), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), a.lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
	ti = genTypeInfo_cgen_10284((*(*(*p).module).g).config, (*p).module, refType, (*e).info);
	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T1_[0] = ti;
	T1_[1] = rdLoc_cgen_417(f);
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = percent__cgen_20664(T1_, 2);
	add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 16))- 0], T2_);
	res = rawNewString(((NI) 80));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = getTypeDesc_cgen_6635((*p).module, refType, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	cgFormatValue_cgen_141((&res), T3_);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_770));
	cgFormatValue_cgen_141((&res), T4_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	cgFormatValue_cgen_141((&res), ti);
	res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
	T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T5_ = lastSon_ast_3742(refType);
	T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T6_ = skipTypes_ast_3734(T5_, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = getTypeDesc_cgen_6635((*p).module, T6_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	cgFormatValue_cgen_141((&res), T7_);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_422));
	b.r = rope_ropes_109(res);
	genAssignment_cgen_10373(p, a, b, 0);
	T8_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T8_ = lastSon_ast_3742(refType);
	bt = skipTypes_ast_3734(T8_, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	genObjectInit_cgen_10384(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2), bt, (&a), ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 1));
	gcUsage_cgen_20327((*(*(*p).module).g).config, e);
}
N_LIB_PRIVATE N_NIMCALL(void, genNewSeqAux_cgen_20766)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* length, NIM_BOOL lenIsZero) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* seqtype;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA call;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(dest);
	seqtype = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	nimZeroMem((void*)(&call), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLoc_cgen_60((&call), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), dest.lode, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = (dest.storage == ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
		if (!(T4_)) goto LA5_;
		T4_ = usesWriteBarrier_options_3996((*(*(*p).module).g).config);
		LA5_: ;
		if (!T4_) goto LA6_;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
			NIM_BOOL T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T14_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			T10_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T10_ = t_cgen_79(dest);
			T11_ = (NIM_BOOL)0;
			T11_ = canFormAcycle_types_762(T10_);
			if (!T11_) goto LA12_;
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T14_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res), T15_);
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_649));
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_768));
			cgFormatValue_cgen_141((&res), T16_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T17_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res), T17_);
			res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res), T18_);
			res = resizeString(res, 13);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_769));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA21_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA21_: ;
			T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T23_ = rope_ropes_109(res);
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = indentLine_cgen_272(p, T23_);
			add_ropes_159(T14_, T24_);
		}
		goto LA8_;
		LA12_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T26_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
			T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T26_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T27_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_2), T27_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_649));
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T28_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_350));
			cgFormatValue_cgen_141((&res_2), T28_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_2), T29_);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_2), T30_);
			res_2 = resizeString(res_2, 13);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_769));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA33_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA33_: ;
			T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T35_ = rope_ropes_109(res_2);
			T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T36_ = indentLine_cgen_272(p, T35_);
			add_ropes_159(T26_, T36_);
		}
		LA8_: ;
		{
			if (!!(lenIsZero)) goto LA39_;
			{
				NimStringDesc* res_3;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T48_;
				NimStringDesc* res_4;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
				if (!((*(*(*(*p).module).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 10))) goto LA43_;
				res_3 = rawNewString(((NI) 80));
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T45_ = getTypeDesc_cgen_6635((*p).module, seqtype, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				cgFormatValue_cgen_141((&res_3), T45_);
				res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
				T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T46_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_776));
				cgFormatValue_cgen_141((&res_3), T46_);
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T47_ = genTypeInfoV1_cgen_6772((*p).module, seqtype, (*dest.lode).info);
				cgFormatValue_cgen_141((&res_3), T47_);
				res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				cgFormatValue_cgen_141((&res_3), length);
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
				call.r = rope_ropes_109(res_3);
				T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T48_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_4 = rawNewString(((NI) 80));
				T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T49_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_340));
				cgFormatValue_cgen_141((&res_4), T49_);
				res_4 = resizeString(res_4, 10);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_339));
				T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T50_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
				cgFormatValue_cgen_141((&res_4), T50_);
				res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T51_ = rdLoc_cgen_417(call);
				cgFormatValue_cgen_141((&res_4), T51_);
				res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA54_;
					res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA54_: ;
				T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T56_ = rope_ropes_109(res_4);
				T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T57_ = indentLine_cgen_272(p, T56_);
				add_ropes_159(T48_, T57_);
			}
			goto LA41_;
			LA43_: ;
			{
				NimStringDesc* res_5;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T62_;
				NimStringDesc* res_6;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
				res_5 = rawNewString(((NI) 80));
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T59_ = getTypeDesc_cgen_6635((*p).module, seqtype, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				cgFormatValue_cgen_141((&res_5), T59_);
				res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
				T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T60_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_777));
				cgFormatValue_cgen_141((&res_5), T60_);
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T61_ = genTypeInfoV1_cgen_6772((*p).module, seqtype, (*dest.lode).info);
				cgFormatValue_cgen_141((&res_5), T61_);
				res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				cgFormatValue_cgen_141((&res_5), length);
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
				call.r = rope_ropes_109(res_5);
				T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T62_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_6 = rawNewString(((NI) 80));
				T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T63_ = rdLoc_cgen_417(dest);
				cgFormatValue_cgen_141((&res_6), T63_);
				res_6 = resizeString(res_6, 3);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
				T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T64_ = rdLoc_cgen_417(call);
				cgFormatValue_cgen_141((&res_6), T64_);
				res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA67_;
					res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA67_: ;
				T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T69_ = rope_ropes_109(res_6);
				T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T70_ = indentLine_cgen_272(p, T69_);
				add_ropes_159(T62_, T70_);
			}
			LA41_: ;
		}
		LA39_: ;
	}
	goto LA2_;
	LA6_: ;
	{
		{
			if (!lenIsZero) goto LA74_;
			call.r = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_325));
		}
		goto LA72_;
		LA74_: ;
		{
			NimStringDesc* res_7;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T77_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
			res_7 = rawNewString(((NI) 80));
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T77_ = getTypeDesc_cgen_6635((*p).module, seqtype, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res_7), T77_);
			res_7 = resizeString(res_7, 2);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
			T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T78_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_776));
			cgFormatValue_cgen_141((&res_7), T78_);
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T79_ = genTypeInfoV1_cgen_6772((*p).module, seqtype, (*dest.lode).info);
			cgFormatValue_cgen_141((&res_7), T79_);
			res_7 = resizeString(res_7, 2);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_141((&res_7), length);
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			call.r = rope_ropes_109(res_7);
		}
		LA72_: ;
		genAssignment_cgen_10373(p, dest, call, 0);
	}
	LA2_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genNewSeq_cgen_20860)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* seqtype;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		seqtype = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T6_);
		res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_772));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T8_);
		res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_773));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = getSeqPayloadType_cgen_3440((*p).module, seqtype);
		cgFormatValue_cgen_141((&res), T9_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_523));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_774));
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res), T11_);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
		T12_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T12_ = lastSon_ast_3742(seqtype);
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = getTypeDesc_cgen_6635((*p).module, T12_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T13_);
		res = resizeString(res, 15);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_775));
		T14_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T14_ = lastSon_ast_3742(seqtype);
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = getTypeDesc_cgen_6635((*p).module, T14_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T15_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA18_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA18_: ;
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rope_ropes_109(res);
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = indentLine_cgen_272(p, T20_);
		add_ropes_159(T5_, T21_);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL lenIsZero;
		NIM_BOOL T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		T23_ = (NIM_BOOL)0;
		T23_ = ((*(*e)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
		if (!(T23_)) goto LA24_;
		T23_ = ((*(*e)._kind_6.sons->data[((NI) 2)])._kind_1.intVal == IL64(0));
		LA24_: ;
		lenIsZero = T23_;
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = rdLoc_cgen_417(b);
		genNewSeqAux_cgen_20766(p, a, T25_, lenIsZero);
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap_cgen_20899)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* seqtype;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	seqtype = skipTypes_ast_3734((*e).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T9_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA7_;
			getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
		}
		LA7_: ;
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T9_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = rdLoc_cgen_417((*d));
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_95));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rdLoc_cgen_417((*d));
		cgFormatValue_cgen_141((&res), T11_);
		res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_773));
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = getSeqPayloadType_cgen_3440((*p).module, seqtype);
		cgFormatValue_cgen_141((&res), T12_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_523));
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_774));
		cgFormatValue_cgen_141((&res), T13_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T14_);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
		T15_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T15_ = lastSon_ast_3742(seqtype);
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = getTypeDesc_cgen_6635((*p).module, T15_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T16_);
		res = resizeString(res, 15);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_775));
		T17_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T17_ = lastSon_ast_3742(seqtype);
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = getTypeDesc_cgen_6635((*p).module, T17_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T18_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA21_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA21_: ;
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = rope_ropes_109(res);
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = indentLine_cgen_272(p, T23_);
		add_ropes_159(T9_, T24_);
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = getTypeDesc_cgen_6635((*p).module, seqtype, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res_2), T26_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T27_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_778));
		cgFormatValue_cgen_141((&res_2), T27_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = genTypeInfoV1_cgen_6772((*p).module, seqtype, (*e).info);
		cgFormatValue_cgen_141((&res_2), T28_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_2), T29_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T30_ = rope_ropes_109(res_2);
		putIntoDest_cgen_18621(p, d, e, T30_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23571)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_780), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23578)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_781), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23607)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_785), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22644)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_786), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22661)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_787), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22674)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_788), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22687)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_789), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22700)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_790), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genSomeCast_cgen_22622)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* etyp;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* srcTyp;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
	etyp = skipTypes_ast_3734((*e).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_751);
	srcTyp = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	{
		NIM_BOOL T3_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49));
		if (!(T3_)) goto LA4_;
		T3_ = !(((a.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0))&15U)))!=0));
		LA4_: ;
		if (!T3_) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T7_[0] = getTypeDesc_cgen_6635((*p).module, (*e).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		T7_[1] = addrLoc_cgen_10307((*(*(*p).module).g).config, a);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__cgen_22644(T7_, 2);
		putIntoDest_cgen_18621(p, d, e, T8_, a.storage);
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T10_;
		NIM_BOOL T11_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		T10_ = (NIM_BOOL)0;
		T11_ = (NIM_BOOL)0;
		T11_ = ((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
		if (!(T11_)) goto LA12_;
		T11_ = ((*etyp).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
		LA12_: ;
		T10_ = T11_;
		if (!(T10_)) goto LA13_;
		T10_ = !(((*srcTyp).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
		LA13_: ;
		if (!T10_) goto LA14_;
		nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T16_[0] = getClosureType_cgen_6648((*p).module, etyp, ((tyEnum_TClosureTypeKind__cLHRMz1vnpSK0uePy2qbWw) 1));
		T16_[1] = rdCharLoc_cgen_10347(a);
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = percent__cgen_22661(T16_, 2);
		putIntoDest_cgen_18621(p, d, e, T17_, a.storage);
	}
	goto LA1_;
	LA14_: ;
	{
		{
			NIM_BOOL T21_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T25_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
			T21_ = (NIM_BOOL)0;
			T21_ = ((*srcTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*srcTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
			if (!(T21_)) goto LA22_;
			T21_ = ((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*etyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*etyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*etyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*etyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*etyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*etyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
			LA22_: ;
			if (!T21_) goto LA23_;
			nimZeroMem((void*)T25_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T25_[0] = getTypeDesc_cgen_6635((*p).module, (*e).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T25_[1] = rdCharLoc_cgen_10347(a);
			T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T26_ = percent__cgen_22674(T25_, 2);
			putIntoDest_cgen_18621(p, d, e, T26_, a.storage);
		}
		goto LA19_;
		LA23_: ;
		{
			NIM_BOOL T28_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T32_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
			T28_ = (NIM_BOOL)0;
			T28_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
			if (!(T28_)) goto LA29_;
			T28_ = ((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
			LA29_: ;
			if (!T28_) goto LA30_;
			nimZeroMem((void*)T32_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T32_[0] = getTypeDesc_cgen_6635((*p).module, (*e).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T32_[1] = rdCharLoc_cgen_10347(a);
			T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T33_ = percent__cgen_22687(T32_, 2);
			putIntoDest_cgen_18621(p, d, e, T33_, a.storage);
		}
		goto LA19_;
		LA30_: ;
		{
			NIM_BOOL T35_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T39_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			T35_ = (NIM_BOOL)0;
			T35_ = ((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
			if (!(T35_)) goto LA36_;
			T35_ = ((*srcTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*srcTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*srcTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*srcTyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*srcTyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*srcTyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*srcTyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*srcTyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*srcTyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
			LA36_: ;
			if (!T35_) goto LA37_;
			nimZeroMem((void*)T39_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T39_[0] = rdCharLoc_cgen_10347(a);
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = percent__cgen_22700(T39_, 1);
			putIntoDest_cgen_18621(p, d, e, T40_, a.storage);
		}
		goto LA19_;
		LA37_: ;
		{
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T42_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
			nimZeroMem((void*)T42_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T42_[0] = getTypeDesc_cgen_6635((*p).module, (*e).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T42_[1] = rdCharLoc_cgen_10347(a);
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T43_ = percent__cgen_22661(T42_, 2);
			putIntoDest_cgen_18621(p, d, e, T43_, a.storage);
		}
		LA19_: ;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genOrd_cgen_22606)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5015_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	nimZeroMem((void*)(&aX60gensym5015_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5015_));
	res = rawNewString(((NI) 80));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rdCharLoc_cgen_10347(aX60gensym5015_);
	cgFormatValue_cgen_141((&res), T1_);
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = rope_ropes_109(res);
	putIntoDest_cgen_18621(p, d, e, T2_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21771)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_803), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrayLen_cgen_21623)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
	a = (*e)._kind_6.sons->data[((NI) 1)];
	{
		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
		a = (*a)._kind_6.sons->data[((NI) 0)];
	}
	LA3_: ;
	typ = skipTypes_ast_3734((*a).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_791);
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		{
			NIM_BOOL T8_;
			NIM_BOOL T9_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA c;
			T8_ = (NIM_BOOL)0;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
			if (!(T9_)) goto LA10_;
			T9_ = ((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
			LA10_: ;
			T8_ = T9_;
			if (!(T8_)) goto LA11_;
			T8_ = ((*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126));
			LA11_: ;
			if (!T8_) goto LA12_;
			nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&c), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*a)._kind_6.sons->data[((NI) 2)], (&b));
			initLocExpr_cgen_11478(p, (*a)._kind_6.sons->data[((NI) 3)], (&c));
			{
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
				if (!(op == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9))) goto LA16_;
				res = rawNewString(((NI) 80));
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T18_ = rdLoc_cgen_417(c);
				cgFormatValue_cgen_141((&res), T18_);
				res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_792));
				T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T19_ = rdLoc_cgen_417(b);
				cgFormatValue_cgen_141((&res), T19_);
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
				T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T20_ = rope_ropes_109(res);
				putIntoDest_cgen_18621(p, d, e, T20_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
			}
			goto LA14_;
			LA16_: ;
			{
				NimStringDesc* res_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
				res_2 = rawNewString(((NI) 80));
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T22_ = rdLoc_cgen_417(c);
				cgFormatValue_cgen_141((&res_2), T22_);
				res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_792));
				T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T23_ = rdLoc_cgen_417(b);
				cgFormatValue_cgen_141((&res_2), T23_);
				res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_793));
				T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T24_ = rope_ropes_109(res_2);
				putIntoDest_cgen_18621(p, d, e, T24_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
			}
			LA14_: ;
		}
		goto LA6_;
		LA12_: ;
		{
			{
				NIM_BOOL T28_;
				T28_ = (NIM_BOOL)0;
				T28_ = reifiedOpenArray_cgen_11733(a);
				if (!!(T28_)) goto LA29_;
				{
					tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4638_;
					NimStringDesc* res_3;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
					if (!(op == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9))) goto LA33_;
					nimZeroMem((void*)(&aX60gensym4638_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
					initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4638_));
					res_3 = rawNewString(((NI) 80));
					res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
					T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T35_ = rdLoc_cgen_417(aX60gensym4638_);
					cgFormatValue_cgen_141((&res_3), T35_);
					res_3 = resizeString(res_3, 8);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_794));
					T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T36_ = rope_ropes_109(res_3);
					putIntoDest_cgen_18621(p, d, e, T36_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				}
				goto LA31_;
				LA33_: ;
				{
					tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4644_;
					NimStringDesc* res_4;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
					nimZeroMem((void*)(&aX60gensym4644_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
					initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4644_));
					res_4 = rawNewString(((NI) 80));
					T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T38_ = rdLoc_cgen_417(aX60gensym4644_);
					cgFormatValue_cgen_141((&res_4), T38_);
					res_4 = resizeString(res_4, 5);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_795));
					T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T39_ = rope_ropes_109(res_4);
					putIntoDest_cgen_18621(p, d, e, T39_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				}
				LA31_: ;
			}
			goto LA26_;
			LA29_: ;
			{
				{
					tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4650_;
					NimStringDesc* res_5;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
					if (!(op == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9))) goto LA43_;
					nimZeroMem((void*)(&aX60gensym4650_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
					initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4650_));
					res_5 = rawNewString(((NI) 80));
					res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
					T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T45_ = rdLoc_cgen_417(aX60gensym4650_);
					cgFormatValue_cgen_141((&res_5), T45_);
					res_5 = resizeString(res_5, 10);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_796));
					T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T46_ = rope_ropes_109(res_5);
					putIntoDest_cgen_18621(p, d, e, T46_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				}
				goto LA41_;
				LA43_: ;
				{
					tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4656_;
					NimStringDesc* res_6;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
					nimZeroMem((void*)(&aX60gensym4656_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
					initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4656_));
					res_6 = rawNewString(((NI) 80));
					T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T48_ = rdLoc_cgen_417(aX60gensym4656_);
					cgFormatValue_cgen_141((&res_6), T48_);
					res_6 = resizeString(res_6, 7);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_797));
					T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T49_ = rope_ropes_109(res_6);
					putIntoDest_cgen_18621(p, d, e, T49_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				}
				LA41_: ;
			}
			LA26_: ;
		}
		LA6_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	{
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4662_;
			NimStringDesc* res_7;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
			if (!(op == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9))) goto LA53_;
			nimZeroMem((void*)(&aX60gensym4662_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4662_));
			res_7 = rawNewString(((NI) 80));
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T55_ = rdLoc_cgen_417(aX60gensym4662_);
			cgFormatValue_cgen_141((&res_7), T55_);
			res_7 = resizeString(res_7, 4);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_798));
			T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T56_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_799));
			cgFormatValue_cgen_141((&res_7), T56_);
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T57_ = rdLoc_cgen_417(aX60gensym4662_);
			cgFormatValue_cgen_141((&res_7), T57_);
			res_7 = resizeString(res_7, 10);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_800));
			T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T58_ = rope_ropes_109(res_7);
			putIntoDest_cgen_18621(p, d, e, T58_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		goto LA51_;
		LA53_: ;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4668_;
			NimStringDesc* res_8;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
			nimZeroMem((void*)(&aX60gensym4668_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4668_));
			res_8 = rawNewString(((NI) 80));
			res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T60_ = rdLoc_cgen_417(aX60gensym4668_);
			cgFormatValue_cgen_141((&res_8), T60_);
			res_8 = resizeString(res_8, 3);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_801));
			T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T61_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_799));
			cgFormatValue_cgen_141((&res_8), T61_);
			res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T62_ = rdLoc_cgen_417(aX60gensym4668_);
			cgFormatValue_cgen_141((&res_8), T62_);
			res_8 = resizeString(res_8, 6);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_802));
			T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T63_ = rope_ropes_109(res_8);
			putIntoDest_cgen_18621(p, d, e, T63_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		LA51_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* x;
		nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a_2));
		x = lenExpr_cgen_440(p, a_2);
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T69_;
			if (!(op == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9))) goto LA67_;
			nimZeroMem((void*)T69_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T69_[0] = x;
			x = percent__cgen_21771(T69_, 1);
		}
		LA67_: ;
		putIntoDest_cgen_18621(p, d, e, x, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_3;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* x_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T76_;
		NimStringDesc* res_9;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
		nimZeroMem((void*)(&a_3), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a_3));
		getIntTemp_cgen_11034(p, (&tmp));
		x_2 = lenExpr_cgen_440(p, a_3);
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T75_;
			if (!(op == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9))) goto LA73_;
			nimZeroMem((void*)T75_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T75_[0] = x_2;
			x_2 = percent__cgen_21771(T75_, 1);
		}
		LA73_: ;
		T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T76_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_9 = rawNewString(((NI) 80));
		cgFormatValue_cgen_141((&res_9), tmp.r);
		res_9 = resizeString(res_9, 3);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
		cgFormatValue_cgen_141((&res_9), x_2);
		res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA79_;
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA79_: ;
		T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T81_ = rope_ropes_109(res_9);
		T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T82_ = indentLine_cgen_272(p, T81_);
		add_ropes_159(T76_, T82_);
		putIntoDest_cgen_18621(p, d, e, tmp.r, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		{
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T88_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T89_;
			if (!(op == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9))) goto LA86_;
			T88_ = lastOrd_types_1470((*(*(*p).module).g).config, typ);
			T89_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T89_ = rope_cgen_6922(T88_);
			putIntoDest_cgen_18621(p, d, e, T89_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		goto LA84_;
		LA86_: ;
		{
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T91_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
			T91_ = lengthOrd_types_1661((*(*(*p).module).g).config, typ);
			T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T92_ = rope_cgen_6922(T91_);
			putIntoDest_cgen_18621(p, d, e, T92_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		LA84_: ;
	}
	break;
	default:
	{
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_804), TM__MQdRN7fpbG7rPm4JpVVAhA_805);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genSetLengthStr_cgen_21875)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	{
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		binaryStmtAddr_cgen_18662(p, e, d, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_811));
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA call;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&call), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		{
			if (!!(((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0)))) goto LA8_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_812), TM__MQdRN7fpbG7rPm4JpVVAhA_813);
		}
		LA8_: ;
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
		initLoc_cgen_60((&call), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), e, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
		res = rawNewString(((NI) 80));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_814));
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T11_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res), T12_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		call.r = rope_ropes_109(res);
		genAssignment_cgen_10373(p, a, call, 0);
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSetLengthSeq_cgen_21817)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA call;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
{	{
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		asgnRef((void**) (&(*e)._kind_6.sons->data[((NI) 1)]), makeAddr_cgen_21809((*e)._kind_6.sons->data[((NI) 1)], (*(*p).module).Sup.idgen));
		genCall_cgen_13069(p, e, d);
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&call), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	x = (*e)._kind_6.sons->data[((NI) 1)];
	{
		if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA7_;
		x = (*x)._kind_6.sons->data[((NI) 0)];
	}
	LA7_: ;
	initLocExpr_cgen_11478(p, x, (&a));
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
	t = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_733);
	initLoc_cgen_60((&call), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), e, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
	{
		NIM_BOOL T11_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		T11_ = (NIM_BOOL)0;
		T11_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T11_) goto LA12_;
		T11_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA12_: ;
		if (!!(T11_)) goto LA13_;
		res = rawNewString(((NI) 80));
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T15_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_815));
		cgFormatValue_cgen_141((&res), T16_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_816));
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T17_);
		res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_817));
		T18_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T18_ = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = genTypeInfoV1_cgen_6772((*p).module, T18_, (*e).info);
		cgFormatValue_cgen_141((&res), T19_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res), T20_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		call.r = rope_ropes_109(res);
	}
	goto LA9_;
	LA13_: ;
	{
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res_2), T22_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_815));
		cgFormatValue_cgen_141((&res_2), T23_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_2), T24_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T25_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T25_ = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = genTypeInfoV1_cgen_6772((*p).module, T25_, (*e).info);
		cgFormatValue_cgen_141((&res_2), T26_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T27_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res_2), T27_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		call.r = rope_ropes_109(res_2);
	}
	LA9_: ;
	genAssignment_cgen_10373(p, a, call, 0);
	gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22098)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_818), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21926)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_819), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdSetElemLoc_cgen_17544)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* setType;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = rdCharLoc_cgen_10347(a);
	setType = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_268);
	{
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T3_;
		NIM_BOOL T4_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T8_;
		T3_ = firstOrd_types_1353(conf, setType);
		T4_ = (NIM_BOOL)0;
		T4_ = eqeq__int495056_759(T3_, IL64(0));
		if (!!(T4_)) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T7_[0] = result;
		T8_ = firstOrd_types_1353(conf, setType);
		T7_[1] = rope_cgen_6922(T8_);
		result = percent__cgen_21926(T7_, 2);
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22116)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_820), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22134)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_821), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22152)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_822), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22173)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_823), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22191)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_824), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22209)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_825), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22227)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_826), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fewCmps_cgen_21931)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!!(((*s).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39)))) goto LA3_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		NI64 T8_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NI64)0;
		T8_ = getSize_types_3333(conf, (*s).typ);
		T7_ = (T8_ <= ((NI64) ((*conf).target.intSize)));
		if (!(T7_)) goto LA9_;
		T7_ = (((*s).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 4))&31U)))!=0);
		LA9_: ;
		if (!T7_) goto LA10_;
		result = NIM_FALSE;
	}
	goto LA5_;
	LA10_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
		T13_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T13_ = elemType_types_263((*s).typ);
		if (!((*T13_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*T13_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33) && (*T13_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35))) goto LA14_;
		result = NIM_TRUE;
	}
	goto LA5_;
	LA14_: ;
	{
		NI T17_;
		T17_ = (NI)0;
		T17_ = len_ast_3197(s);
		result = (T17_ <= ((NI) 8));
	}
	LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22041)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_835), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22046)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_836), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21964)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_837), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21969)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_838), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21974)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_839), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21979)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_840), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_21984)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_841), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genInExprAux_cgen_19598)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* b, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	NI64 T2_;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
	T2_ = (NI64)0;
	T2_ = getSize_types_3333((*(*(*p).module).g).config, T1_);
	switch (((NI) (T2_))) {
	case ((NI) 1):
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T4_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		nimZeroMem((void*)T4_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T4_[0] = rdLoc_cgen_417((*a));
		T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T5_ = t_cgen_79((*a));
		T4_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, (*b), T5_);
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = percent__cgen_21964(T4_, 2);
		putIntoDest_cgen_18621(p, d, e, T6_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((NI) 2):
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T8_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		nimZeroMem((void*)T8_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T8_[0] = rdLoc_cgen_417((*a));
		T9_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T9_ = t_cgen_79((*a));
		T8_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, (*b), T9_);
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = percent__cgen_21969(T8_, 2);
		putIntoDest_cgen_18621(p, d, e, T10_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((NI) 4):
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T12_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		nimZeroMem((void*)T12_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T12_[0] = rdLoc_cgen_417((*a));
		T13_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T13_ = t_cgen_79((*a));
		T12_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, (*b), T13_);
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = percent__cgen_21974(T12_, 2);
		putIntoDest_cgen_18621(p, d, e, T14_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((NI) 8):
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T16_[0] = rdLoc_cgen_417((*a));
		T17_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T17_ = t_cgen_79((*a));
		T16_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, (*b), T17_);
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = percent__cgen_21979(T16_, 2);
		putIntoDest_cgen_18621(p, d, e, T18_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	default:
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T20_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		nimZeroMem((void*)T20_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T20_[0] = rdLoc_cgen_417((*a));
		T21_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T21_ = t_cgen_79((*a));
		T20_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, (*b), T21_);
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = percent__cgen_21984(T20_, 2);
		putIntoDest_cgen_18621(p, d, e, T22_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genInOp_cgen_21996)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA x;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA y;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&x), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&y), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		NIM_BOOL T3_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ea;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*e)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39));
		if (!(T3_)) goto LA4_;
		T3_ = fewCmps_cgen_21931((*(*(*p).module).g).config, (*e)._kind_6.sons->data[((NI) 1)]);
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			if (!((*(*e)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70) || (*(*e)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69))) goto LA9_;
			ea = (*(*e)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)];
		}
		goto LA7_;
		LA9_: ;
		{
			ea = (*e)._kind_6.sons->data[((NI) 2)];
		}
		LA7_: ;
		initLocExpr_cgen_11478(p, ea, (&a));
		initLoc_cgen_60((&b), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), e, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		{
			NI T14_;
			T14_ = (NI)0;
			T14_ = len_ast_3197((*e)._kind_6.sons->data[((NI) 1)]);
			if (!(((NI) 0) < T14_)) goto LA15_;
			b.r = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len_ast_3197((*e)._kind_6.sons->data[((NI) 1)]);
				i_2 = ((NI) 0);
				{
					while (1) {
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
						if (!(i_2 < colontmp_)) goto LA19;
						i = i_2;
						it = (*(*e)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[i];
						{
							tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T24_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
							if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA22_;
							initLocExpr_cgen_11478(p, (*it)._kind_6.sons->data[((NI) 0)], (&x));
							initLocExpr_cgen_11478(p, (*it)._kind_6.sons->data[((NI) 1)], (&y));
							nimZeroMem((void*)T24_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
							T24_[0] = rdCharLoc_cgen_10347(a);
							T24_[1] = rdCharLoc_cgen_10347(x);
							T24_[2] = rdCharLoc_cgen_10347(y);
							T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T25_ = percent__cgen_22041(T24_, 3);
							add_ropes_159(&b.r, T25_);
						}
						goto LA20_;
						LA22_: ;
						{
							tyArray__mrugoXXRZUEeG9bEXo9auBKw T27_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
							initLocExpr_cgen_11478(p, it, (&x));
							nimZeroMem((void*)T27_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
							T27_[0] = rdCharLoc_cgen_10347(a);
							T27_[1] = rdCharLoc_cgen_10347(x);
							T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T28_ = percent__cgen_22046(T27_, 2);
							add_ropes_159(&b.r, T28_);
						}
						LA20_: ;
						{
							NI T31_;
							T31_ = (NI)0;
							T31_ = len_ast_3197((*e)._kind_6.sons->data[((NI) 1)]);
							if (!(i < (NI)(T31_ - ((NI) 1)))) goto LA32_;
							add_ropes_162(&b.r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_577));
						}
						LA32_: ;
						i_2 += ((NI) 1);
					} LA19: ;
				}
			}
			add_ropes_162(&b.r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		}
		goto LA12_;
		LA15_: ;
		{
			b.r = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_148));
		}
		LA12_: ;
		putIntoDest_cgen_18621(p, d, e, b.r, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	goto LA1_;
	LA5_: ;
	{
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
		genInExprAux_cgen_19598(p, e, (&a), (&b), d);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22458)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_844), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22476)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_845), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22583)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_855), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genSetOp_cgen_22073)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA i;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* setType;
	NI size;
	NI64 T1_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&i), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	setType = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
	T1_ = (NI64)0;
	T1_ = getSize_types_3333((*(*(*p).module).g).config, setType);
	size = ((NI) (T1_));
	switch (size) {
	case ((NI) 1):
	case ((NI) 2):
	case ((NI) 4):
	case ((NI) 8):
	{
		switch (op) {
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
		{
			switch (size) {
			case ((NI) 1):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4778_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4778_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T6_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
				nimZeroMem((void*)(&aX60gensym4778_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)(&bX60gensym4778_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4778_));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4778_));
				T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T6_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T6_[0] = rdLoc_cgen_417(aX60gensym4778_);
				T7_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T7_ = t_cgen_79(aX60gensym4778_);
				T6_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4778_, T7_);
				T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T8_ = percent__cgen_22098(T6_, 2);
				T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T9_ = indentLine_cgen_272(p, T8_);
				add_ropes_159(T5_, T9_);
			}
			break;
			case ((NI) 2):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4785_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4785_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T11_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T12_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
				nimZeroMem((void*)(&aX60gensym4785_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)(&bX60gensym4785_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4785_));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4785_));
				T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T11_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T12_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T12_[0] = rdLoc_cgen_417(aX60gensym4785_);
				T13_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T13_ = t_cgen_79(aX60gensym4785_);
				T12_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4785_, T13_);
				T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T14_ = percent__cgen_22116(T12_, 2);
				T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T15_ = indentLine_cgen_272(p, T14_);
				add_ropes_159(T11_, T15_);
			}
			break;
			case ((NI) 4):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4792_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4792_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T17_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T18_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
				nimZeroMem((void*)(&aX60gensym4792_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)(&bX60gensym4792_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4792_));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4792_));
				T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T17_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T18_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T18_[0] = rdLoc_cgen_417(aX60gensym4792_);
				T19_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T19_ = t_cgen_79(aX60gensym4792_);
				T18_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4792_, T19_);
				T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T20_ = percent__cgen_22134(T18_, 2);
				T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T21_ = indentLine_cgen_272(p, T20_);
				add_ropes_159(T17_, T21_);
			}
			break;
			case ((NI) 8):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4799_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4799_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T23_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T24_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
				nimZeroMem((void*)(&aX60gensym4799_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)(&bX60gensym4799_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4799_));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4799_));
				T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T23_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T24_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T24_[0] = rdLoc_cgen_417(aX60gensym4799_);
				T25_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T25_ = t_cgen_79(aX60gensym4799_);
				T24_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4799_, T25_);
				T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T26_ = percent__cgen_22152(T24_, 2);
				T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T27_ = indentLine_cgen_272(p, T26_);
				add_ropes_159(T23_, T27_);
			}
			break;
			default:
			{
			}
			break;
			}
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
		{
			switch (size) {
			case ((NI) 1):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4808_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4808_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T31_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T32_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
				nimZeroMem((void*)(&aX60gensym4808_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)(&bX60gensym4808_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4808_));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4808_));
				T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T31_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T32_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T32_[0] = rdLoc_cgen_417(aX60gensym4808_);
				T33_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T33_ = t_cgen_79(aX60gensym4808_);
				T32_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4808_, T33_);
				T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T34_ = percent__cgen_22173(T32_, 2);
				T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T35_ = indentLine_cgen_272(p, T34_);
				add_ropes_159(T31_, T35_);
			}
			break;
			case ((NI) 2):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4815_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4815_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T37_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T38_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T39_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
				nimZeroMem((void*)(&aX60gensym4815_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)(&bX60gensym4815_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4815_));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4815_));
				T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T37_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T38_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T38_[0] = rdLoc_cgen_417(aX60gensym4815_);
				T39_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T39_ = t_cgen_79(aX60gensym4815_);
				T38_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4815_, T39_);
				T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T40_ = percent__cgen_22191(T38_, 2);
				T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T41_ = indentLine_cgen_272(p, T40_);
				add_ropes_159(T37_, T41_);
			}
			break;
			case ((NI) 4):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4822_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4822_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T43_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T44_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
				nimZeroMem((void*)(&aX60gensym4822_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)(&bX60gensym4822_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4822_));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4822_));
				T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T43_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T44_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T44_[0] = rdLoc_cgen_417(aX60gensym4822_);
				T45_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T45_ = t_cgen_79(aX60gensym4822_);
				T44_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4822_, T45_);
				T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T46_ = percent__cgen_22209(T44_, 2);
				T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T47_ = indentLine_cgen_272(p, T46_);
				add_ropes_159(T43_, T47_);
			}
			break;
			case ((NI) 8):
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4829_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4829_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T49_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T50_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T51_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
				nimZeroMem((void*)(&aX60gensym4829_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				nimZeroMem((void*)(&bX60gensym4829_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4829_));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4829_));
				T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T49_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T50_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T50_[0] = rdLoc_cgen_417(aX60gensym4829_);
				T51_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T51_ = t_cgen_79(aX60gensym4829_);
				T50_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4829_, T51_);
				T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T52_ = percent__cgen_22227(T50_, 2);
				T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T53_ = indentLine_cgen_272(p, T52_);
				add_ropes_159(T49_, T53_);
			}
			break;
			default:
			{
			}
			break;
			}
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 42):
		{
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4838_;
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
				if (!(size <= ((NI) 4))) goto LA58_;
				nimZeroMem((void*)(&aX60gensym4838_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4838_));
				res = rawNewString(((NI) 80));
				T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T60_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_827));
				cgFormatValue_cgen_141((&res), T60_);
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T61_ = rdCharLoc_cgen_10347(aX60gensym4838_);
				cgFormatValue_cgen_141((&res), T61_);
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
				T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T62_ = rope_ropes_109(res);
				putIntoDest_cgen_18621(p, d, e, T62_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
			}
			goto LA56_;
			LA58_: ;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4844_;
				NimStringDesc* res_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
				nimZeroMem((void*)(&aX60gensym4844_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4844_));
				res_2 = rawNewString(((NI) 80));
				T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T64_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_828));
				cgFormatValue_cgen_141((&res_2), T64_);
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T65_ = rdCharLoc_cgen_10347(aX60gensym4844_);
				cgFormatValue_cgen_141((&res_2), T65_);
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
				T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T66_ = rope_ropes_109(res_2);
				putIntoDest_cgen_18621(p, d, e, T66_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
			}
			LA56_: ;
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4850_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4850_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
			nimZeroMem((void*)(&aX60gensym4850_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&bX60gensym4850_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4850_));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4850_));
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_829));
			T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T68_ = rdCharLoc_cgen_10347(aX60gensym4850_);
			cgFormatValue_cgen_141((&res_3), T68_);
			res_3 = resizeString(res_3, 5);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_830));
			T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T69_ = rdCharLoc_cgen_10347(bX60gensym4850_);
			cgFormatValue_cgen_141((&res_3), T69_);
			res_3 = resizeString(res_3, 8);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_831));
			T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T70_ = rdCharLoc_cgen_10347(aX60gensym4850_);
			cgFormatValue_cgen_141((&res_3), T70_);
			res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_645));
			T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T71_ = rdCharLoc_cgen_10347(bX60gensym4850_);
			cgFormatValue_cgen_141((&res_3), T71_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_422));
			T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T72_ = rope_ropes_109(res_3);
			putIntoDest_cgen_18621(p, d, e, T72_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 120):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4865_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4865_;
			NimStringDesc* res_4;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T76_;
			nimZeroMem((void*)(&aX60gensym4865_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&bX60gensym4865_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4865_));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4865_));
			res_4 = rawNewString(((NI) 80));
			res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_213));
			T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T74_ = rdCharLoc_cgen_10347(aX60gensym4865_);
			cgFormatValue_cgen_141((&res_4), T74_);
			res_4 = resizeString(res_4, 5);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_830));
			T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T75_ = rdCharLoc_cgen_10347(bX60gensym4865_);
			cgFormatValue_cgen_141((&res_4), T75_);
			res_4 = resizeString(res_4, 5);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_832));
			T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T76_ = rope_ropes_109(res_4);
			putIntoDest_cgen_18621(p, d, e, T76_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4880_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4880_;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T80_;
			nimZeroMem((void*)(&aX60gensym4880_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&bX60gensym4880_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4880_));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4880_));
			res_5 = rawNewString(((NI) 80));
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T78_ = rdLoc_cgen_417(aX60gensym4880_);
			cgFormatValue_cgen_141((&res_5), T78_);
			res_5 = resizeString(res_5, 4);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_637));
			T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T79_ = rdLoc_cgen_417(bX60gensym4880_);
			cgFormatValue_cgen_141((&res_5), T79_);
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			T80_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T80_ = rope_ropes_109(res_5);
			putIntoDest_cgen_18621(p, d, e, T80_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 122):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4895_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4895_;
			NimStringDesc* res_6;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
			nimZeroMem((void*)(&aX60gensym4895_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&bX60gensym4895_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4895_));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4895_));
			res_6 = rawNewString(((NI) 80));
			res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T82_ = rdLoc_cgen_417(aX60gensym4895_);
			cgFormatValue_cgen_141((&res_6), T82_);
			res_6 = resizeString(res_6, 3);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_833));
			T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T83_ = rdLoc_cgen_417(bX60gensym4895_);
			cgFormatValue_cgen_141((&res_6), T83_);
			res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T84_ = rope_ropes_109(res_6);
			putIntoDest_cgen_18621(p, d, e, T84_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 123):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4910_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4910_;
			NimStringDesc* res_7;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T86_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T87_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T88_;
			nimZeroMem((void*)(&aX60gensym4910_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&bX60gensym4910_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4910_));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4910_));
			res_7 = rawNewString(((NI) 80));
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T86_ = rdLoc_cgen_417(aX60gensym4910_);
			cgFormatValue_cgen_141((&res_7), T86_);
			res_7 = resizeString(res_7, 3);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_834));
			T87_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T87_ = rdLoc_cgen_417(bX60gensym4910_);
			cgFormatValue_cgen_141((&res_7), T87_);
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			T88_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T88_ = rope_ropes_109(res_7);
			putIntoDest_cgen_18621(p, d, e, T88_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 124):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4925_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4925_;
			NimStringDesc* res_8;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
			nimZeroMem((void*)(&aX60gensym4925_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&bX60gensym4925_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4925_));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4925_));
			res_8 = rawNewString(((NI) 80));
			res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T90_ = rdLoc_cgen_417(aX60gensym4925_);
			cgFormatValue_cgen_141((&res_8), T90_);
			res_8 = resizeString(res_8, 5);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_830));
			T91_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T91_ = rdLoc_cgen_417(bX60gensym4925_);
			cgFormatValue_cgen_141((&res_8), T91_);
			res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T92_ = rope_ropes_109(res_8);
			putIntoDest_cgen_18621(p, d, e, T92_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
		{
			genInOp_cgen_21996(p, e, d);
		}
		break;
		default:
		{
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_842), TM__MQdRN7fpbG7rPm4JpVVAhA_843);
		}
		break;
		}
	}
	break;
	default:
	{
		switch (op) {
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4943_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4943_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T97_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T98_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T99_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T100_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T101_;
			nimZeroMem((void*)(&aX60gensym4943_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&bX60gensym4943_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4943_));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4943_));
			T97_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T97_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T98_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T98_[0] = rdLoc_cgen_417(aX60gensym4943_);
			T99_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T99_ = t_cgen_79(aX60gensym4943_);
			T98_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4943_, T99_);
			T100_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T100_ = percent__cgen_22458(T98_, 2);
			T101_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T101_ = indentLine_cgen_272(p, T100_);
			add_ropes_159(T97_, T101_);
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym4950_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym4950_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T103_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T104_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T105_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T106_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
			nimZeroMem((void*)(&aX60gensym4950_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&bX60gensym4950_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym4950_));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym4950_));
			T103_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T103_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T104_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T104_[0] = rdLoc_cgen_417(aX60gensym4950_);
			T105_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T105_ = t_cgen_79(aX60gensym4950_);
			T104_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, bX60gensym4950_, T105_);
			T106_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T106_ = percent__cgen_22476(T104_, 2);
			T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T107_ = indentLine_cgen_272(p, T106_);
			add_ropes_159(T103_, T107_);
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 42):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
			NimStringDesc* res_9;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T109_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T110_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T111_;
			nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a_2));
			res_9 = rawNewString(((NI) 80));
			T109_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T109_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_846));
			cgFormatValue_cgen_141((&res_9), T109_);
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T110_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T110_ = rdCharLoc_cgen_10347(a_2);
			cgFormatValue_cgen_141((&res_9), T110_);
			res_9 = resizeString(res_9, 2);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_148((&res_9), ((NI64) (size)));
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			T111_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T111_ = rope_ropes_109(res_9);
			putIntoDest_cgen_18621(p, d, e, T111_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 120):
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T113_;
			T113_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T113_ = getSysType_magicsys_60((*(*(*p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
			getTemp_cgen_7347(p, T113_, (&i), NIM_FALSE);
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
			{
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T118_;
				if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA116_;
				T118_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T118_ = getSysType_magicsys_60((*(*(*p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
				getTemp_cgen_7347(p, T118_, d, NIM_FALSE);
			}
			LA116_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T123_;
				NimStringDesc* res_10;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T124_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T125_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T126_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T131_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T132_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T133_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T134_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T135_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T140_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T145_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T146_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T147_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T148_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T149_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T154_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T155_;
				if (!(op == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121))) goto LA121_;
				T123_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T123_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_10 = rawNewString(((NI) 80));
				res_10 = resizeString(res_10, 5);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_170));
				T124_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T124_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_10), T124_);
				res_10 = resizeString(res_10, 6);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_171));
				T125_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T125_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_10), T125_);
				res_10 = resizeString(res_10, 3);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
				cgFormatValue_cgen_148((&res_10), ((NI64) (size)));
				res_10 = resizeString(res_10, 2);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
				T126_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T126_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_10), T126_);
				res_10 = resizeString(res_10, 6);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_847));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA129_;
					res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA129_: ;
				res_10 = resizeString(res_10, 2);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
				T131_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T131_ = rdLoc_cgen_417((*d));
				cgFormatValue_cgen_141((&res_10), T131_);
				res_10 = resizeString(res_10, 5);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_848));
				T132_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T132_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res_10), T132_);
				res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
				T133_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T133_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_10), T133_);
				res_10 = resizeString(res_10, 6);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_849));
				T134_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T134_ = rdLoc_cgen_417(b);
				cgFormatValue_cgen_141((&res_10), T134_);
				res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
				T135_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T135_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_10), T135_);
				res_10 = resizeString(res_10, 9);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_850));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA138_;
					res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA138_: ;
				res_10 = resizeString(res_10, 7);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_851));
				T140_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T140_ = rdLoc_cgen_417((*d));
				cgFormatValue_cgen_141((&res_10), T140_);
				res_10 = resizeString(res_10, 9);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_852));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA143_;
					res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA143_: ;
				res_10 = resizeString(res_10, 4);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				T145_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T145_ = rdLoc_cgen_417((*d));
				cgFormatValue_cgen_141((&res_10), T145_);
				res_10 = resizeString(res_10, 2);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
				T146_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T146_ = rdLoc_cgen_417((*d));
				cgFormatValue_cgen_141((&res_10), T146_);
				res_10 = resizeString(res_10, 4);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_98));
				T147_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T147_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_853));
				cgFormatValue_cgen_141((&res_10), T147_);
				res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T148_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T148_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res_10), T148_);
				res_10 = resizeString(res_10, 2);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				T149_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T149_ = rdLoc_cgen_417(b);
				cgFormatValue_cgen_141((&res_10), T149_);
				res_10 = resizeString(res_10, 2);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				cgFormatValue_cgen_148((&res_10), ((NI64) (size)));
				res_10 = resizeString(res_10, 8);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_854));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA152_;
					res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA152_: ;
				T154_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T154_ = rope_ropes_109(res_10);
				T155_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T155_ = indentLine_cgen_272(p, T154_);
				add_ropes_159(T123_, T155_);
			}
			goto LA119_;
			LA121_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T157_;
				NimStringDesc* res_11;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T158_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T159_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T160_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T165_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T166_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T167_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T168_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T169_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T174_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T179_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T180_;
				T157_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T157_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_11 = rawNewString(((NI) 80));
				res_11 = resizeString(res_11, 5);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_170));
				T158_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T158_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_11), T158_);
				res_11 = resizeString(res_11, 6);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_171));
				T159_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T159_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_11), T159_);
				res_11 = resizeString(res_11, 3);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
				cgFormatValue_cgen_148((&res_11), ((NI64) (size)));
				res_11 = resizeString(res_11, 2);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
				T160_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T160_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_11), T160_);
				res_11 = resizeString(res_11, 6);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_847));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA163_;
					res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA163_: ;
				res_11 = resizeString(res_11, 2);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_310));
				T165_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T165_ = rdLoc_cgen_417((*d));
				cgFormatValue_cgen_141((&res_11), T165_);
				res_11 = resizeString(res_11, 5);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_848));
				T166_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T166_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res_11), T166_);
				res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
				T167_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T167_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_11), T167_);
				res_11 = resizeString(res_11, 6);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_849));
				T168_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T168_ = rdLoc_cgen_417(b);
				cgFormatValue_cgen_141((&res_11), T168_);
				res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
				T169_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T169_ = rdLoc_cgen_417(i);
				cgFormatValue_cgen_141((&res_11), T169_);
				res_11 = resizeString(res_11, 9);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_850));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA172_;
					res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA172_: ;
				res_11 = resizeString(res_11, 7);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_851));
				T174_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T174_ = rdLoc_cgen_417((*d));
				cgFormatValue_cgen_141((&res_11), T174_);
				res_11 = resizeString(res_11, 9);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_852));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA177_;
					res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA177_: ;
				T179_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T179_ = rope_ropes_109(res_11);
				T180_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T180_ = indentLine_cgen_272(p, T179_);
				add_ropes_159(T157_, T180_);
			}
			LA119_: ;
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_3;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b_2;
			NimStringDesc* res_12;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T182_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T183_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T184_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T185_;
			nimZeroMem((void*)(&a_3), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&b_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a_3));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b_2));
			res_12 = rawNewString(((NI) 80));
			res_12 = resizeString(res_12, 1);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T182_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T182_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_853));
			cgFormatValue_cgen_141((&res_12), T182_);
			res_12 = resizeString(res_12, 1);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T183_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T183_ = rdCharLoc_cgen_10347(a_3);
			cgFormatValue_cgen_141((&res_12), T183_);
			res_12 = resizeString(res_12, 2);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T184_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T184_ = rdCharLoc_cgen_10347(b_2);
			cgFormatValue_cgen_141((&res_12), T184_);
			res_12 = resizeString(res_12, 2);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_148((&res_12), ((NI64) (size)));
			res_12 = resizeString(res_12, 5);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_832));
			T185_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T185_ = rope_ropes_109(res_12);
			putIntoDest_cgen_18621(p, d, e, T185_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 122):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 123):
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 124):
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T187_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T192_;
			tyArray__dNfZYyzVYdaWfURv4pxodA T193_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T194_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T195_;
			T187_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T187_ = getSysType_magicsys_60((*(*(*p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
			getTemp_cgen_7347(p, T187_, (&i), NIM_FALSE);
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
			{
				if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA190_;
				getTemp_cgen_7347(p, setType, d, NIM_FALSE);
			}
			LA190_: ;
			T192_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T192_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T193_, sizeof(tyArray__dNfZYyzVYdaWfURv4pxodA));
			T193_[0] = rdLoc_cgen_417(i);
			T193_[1] = rope_ropes_115(((NI64) (size)));
			T193_[2] = rdLoc_cgen_417((*d));
			T193_[3] = rdLoc_cgen_417(a);
			T193_[4] = rdLoc_cgen_417(b);
			T193_[5] = rope_ropes_109(lookupOpr_cgen_22078[(op)- 120]);
			T194_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T194_ = percent__cgen_22583(T193_, 6);
			T195_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T195_ = indentLine_cgen_272(p, T194_);
			add_ropes_159(T192_, T195_);
		}
		break;
		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
		{
			genInOp_cgen_21996(p, e, d);
		}
		break;
		default:
		{
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_859), TM__MQdRN7fpbG7rPm4JpVVAhA_860);
		}
		break;
		}
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genDefault_cgen_20591)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		getTemp_cgen_7347(p, (*n).typ, d, NIM_TRUE);
	}
	goto LA1_;
	LA3_: ;
	{
		resetLoc_cgen_10828(p, d);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genReset_cgen_20586)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
	specializeReset_cgen_10825(p, a);
}
N_LIB_PRIVATE N_NIMCALL(void, genEcho_cgen_20229)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		NimStringDesc* argX60gensym4125_;
		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41)))) goto LA3_;
		argX60gensym4125_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_861);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, argX60gensym4125_, TM__MQdRN7fpbG7rPm4JpVVAhA_861);
	}
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* args;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T35_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
		if (!((*(*(*(*p).module).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 26))) goto LA7_;
		args = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		{
			NI i;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
			tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
			NI i_2;
			NI L;
			NI T10_;
			i = (NI)0;
			it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			colontmp_ = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
			colontmp_ = (*n)._kind_6.sons;
			i_2 = ((NI) 0);
			T10_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L = T10_;
			{
				while (1) {
					if (!(i_2 < L)) goto LA12;
					i = i_2;
					it = colontmp_->data[i_2];
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
						T15_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T15_ = skipConv_types_3594(it);
						if (!((*T15_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA16_;
						add_ropes_162(&args, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_862));
					}
					goto LA13_;
					LA16_: ;
					{
						NI T19_;
						NI T26_;
						T19_ = (NI)0;
						T19_ = len_ast_3197(n);
						if (!!((T19_ == ((NI) 0)))) goto LA20_;
						initLocExpr_cgen_11478(p, it, (&a));
						{
							if (!(((NI) 0) < i)) goto LA24_;
							add_ropes_162(&args, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
						}
						LA24_: ;
						T26_ = (NI)0;
						T26_ = detectStrVersion_cgen_464((*p).module);
						switch (T26_) {
						case ((NI) 2):
						{
							NimStringDesc* res;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
							res = rawNewString(((NI) 80));
							res = resizeString(res, 16);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_863));
							T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T28_ = rdLoc_cgen_417(a);
							cgFormatValue_cgen_141((&res), T28_);
							res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_864));
							T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T29_ = rdLoc_cgen_417(a);
							cgFormatValue_cgen_141((&res), T29_);
							res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_865));
							T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T30_ = rope_ropes_109(res);
							add_ropes_159(&args, T30_);
						}
						break;
						default:
						{
							NimStringDesc* res_2;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
							res_2 = rawNewString(((NI) 80));
							res_2 = resizeString(res_2, 16);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_863));
							T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T32_ = rdLoc_cgen_417(a);
							cgFormatValue_cgen_141((&res_2), T32_);
							res_2 = resizeString(res_2, 8);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_866));
							T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T33_ = rdLoc_cgen_417(a);
							cgFormatValue_cgen_141((&res_2), T33_);
							res_2 = resizeString(res_2, 6);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_867));
							T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T34_ = rope_ropes_109(res_2);
							add_ropes_159(&args, T34_);
						}
						break;
						}
					}
					goto LA13_;
					LA20_: ;
					LA13_: ;
					i_2 += ((NI) 1);
				} LA12: ;
			}
		}
		includeHeader_cgendata_214((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_868));
		includeHeader_cgendata_214((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_869));
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T35_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		res_3 = resizeString(res_3, 12);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_870));
		cgFormatValue_cgen_141((&res_3), args);
		res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA38_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA38_: ;
		T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T40_ = rope_ropes_109(res_3);
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = indentLine_cgen_272(p, T40_);
		add_ropes_159(T35_, T41_);
	}
	goto LA5_;
	LA7_: ;
	{
		{
			NI T45_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T48_;
			NimStringDesc* res_4;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
			NI T50_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
			T45_ = (NI)0;
			T45_ = len_ast_3197(n);
			if (!(T45_ == ((NI) 0))) goto LA46_;
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T48_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_4 = rawNewString(((NI) 80));
			T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T49_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_871));
			cgFormatValue_cgen_141((&res_4), T49_);
			res_4 = resizeString(res_4, 10);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_872));
			T50_ = (NI)0;
			T50_ = len_ast_3197(n);
			cgFormatValue_cgen_148((&res_4), ((NI64) (T50_)));
			res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA53_;
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA53_: ;
			T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T55_ = rope_ropes_109(res_4);
			T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T56_ = indentLine_cgen_272(p, T55_);
			add_ropes_159(T48_, T56_);
		}
		goto LA43_;
		LA46_: ;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T58_;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
			NI T61_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
			nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, n, (&a_2));
			T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T58_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_5 = rawNewString(((NI) 80));
			T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T59_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_871));
			cgFormatValue_cgen_141((&res_5), T59_);
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T60_ = rdLoc_cgen_417(a_2);
			cgFormatValue_cgen_141((&res_5), T60_);
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T61_ = (NI)0;
			T61_ = len_ast_3197(n);
			cgFormatValue_cgen_148((&res_5), ((NI64) (T61_)));
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA64_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA64_: ;
			T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T66_ = rope_ropes_109(res_5);
			T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T67_ = indentLine_cgen_272(p, T66_);
			add_ropes_159(T58_, T67_);
		}
		LA43_: ;
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lhsDoesAlias_cgen_21055)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y;
		y = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen_ast_3190(b);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					y = (*b)._kind_6.sons->data[i];
					{
						tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w T7_;
						T7_ = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
						T7_ = isPartOf_aliases_129(a, y);
						if (!!((T7_ == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA8_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA8_: ;
					i_2 += ((NI) 1);
				} LA4: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genSeqConstr_cgen_21064)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA arr;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
	NIM_BOOL doesAlias;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* dest;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* l;
	NI T13_;
	nimZeroMem((void*)(&arr), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	doesAlias = lhsDoesAlias_cgen_21055((*d).lode, n);
	{
		if (!doesAlias) goto LA3_;
		dest = (&tmp);
	}
	goto LA1_;
	LA3_: ;
	{
		dest = d;
	}
	LA1_: ;
	{
		if (!doesAlias) goto LA8_;
		getTemp_cgen_7347(p, (*n).typ, (&tmp), NIM_FALSE);
	}
	goto LA6_;
	LA8_: ;
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA11_;
		getTemp_cgen_7347(p, (*n).typ, d, NIM_FALSE);
	}
	goto LA6_;
	LA11_: ;
	LA6_: ;
	T13_ = (NI)0;
	T13_ = len_ast_3197(n);
	l = intLiteral_cgen_11466(((NI64) (T13_)));
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* seqtype;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T18_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA16_;
		seqtype = (*n).typ;
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T18_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rdLoc_cgen_417((*dest));
		cgFormatValue_cgen_141((&res), T19_);
		res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_772));
		cgFormatValue_cgen_141((&res), l);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rdLoc_cgen_417((*dest));
		cgFormatValue_cgen_141((&res), T20_);
		res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_773));
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = getSeqPayloadType_cgen_3440((*p).module, seqtype);
		cgFormatValue_cgen_141((&res), T21_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_523));
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_774));
		cgFormatValue_cgen_141((&res), T22_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		cgFormatValue_cgen_141((&res), l);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
		T23_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T23_ = lastSon_ast_3742(seqtype);
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = getTypeDesc_cgen_6635((*p).module, T23_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T24_);
		res = resizeString(res, 15);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_775));
		T25_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T25_ = lastSon_ast_3742(seqtype);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = getTypeDesc_cgen_6635((*p).module, T25_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T26_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA29_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA29_: ;
		T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = rope_ropes_109(res);
		T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = indentLine_cgen_272(p, T31_);
		add_ropes_159(T18_, T32_);
	}
	goto LA14_;
	LA16_: ;
	{
		NI T34_;
		T34_ = (NI)0;
		T34_ = len_ast_3197(n);
		genNewSeqAux_cgen_20766(p, (*dest), l, (T34_ == ((NI) 0)));
	}
	LA14_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				NimStringDesc* res_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
				if (!(i_2 < colontmp_)) goto LA37;
				i = i_2;
				initLoc_cgen_60((&arr), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), (*n)._kind_6.sons->data[i], ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
				res_2 = rawNewString(((NI) 80));
				T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T38_ = rdLoc_cgen_417((*dest));
				cgFormatValue_cgen_141((&res_2), T38_);
				T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T39_ = dataField_cgen_453(p);
				cgFormatValue_cgen_141((&res_2), T39_);
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
				T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T40_ = intLiteral_cgen_11466(((NI64) (i)));
				cgFormatValue_cgen_141((&res_2), T40_);
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
				arr.r = rope_ropes_109(res_2);
				arr.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3);
				expr_cgen_11455(p, (*n)._kind_6.sons->data[i], (&arr));
				i_2 += ((NI) 1);
			} LA37: ;
		}
	}
	gcUsage_cgen_20327((*(*(*p).module).g).config, n);
	{
		if (!doesAlias) goto LA43_;
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA47_;
			genericAssign((void*)(&(*d)), (void*)(&tmp), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
		}
		goto LA45_;
		LA47_: ;
		{
			genAssignment_cgen_10373(p, (*d), tmp, 0);
		}
		LA45_: ;
	}
	LA43_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrToSeq_cgen_21139)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA elem;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA arr;
	NI L;
	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_;
{	nimZeroMem((void*)(&elem), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&arr), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA3_;
		asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), (*n).typ);
		genSeqConstr_cgen_21064(p, (*n)._kind_6.sons->data[((NI) 1)], d);
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA7_;
		getTemp_cgen_7347(p, (*n).typ, d, NIM_FALSE);
	}
	LA7_: ;
	T9_ = lengthOrd_types_1661((*(*(*p).module).g).config, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
	L = toInt_int495056_170(T9_);
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* seqtype;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T14_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA12_;
		seqtype = (*n).typ;
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T14_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rdLoc_cgen_417((*d));
		cgFormatValue_cgen_141((&res), T15_);
		res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_772));
		cgFormatValue_cgen_148((&res), ((NI64) (L)));
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = rdLoc_cgen_417((*d));
		cgFormatValue_cgen_141((&res), T16_);
		res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_773));
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = getSeqPayloadType_cgen_3440((*p).module, seqtype);
		cgFormatValue_cgen_141((&res), T17_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_523));
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_774));
		cgFormatValue_cgen_141((&res), T18_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		cgFormatValue_cgen_148((&res), ((NI64) (L)));
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
		T19_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T19_ = lastSon_ast_3742(seqtype);
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = getTypeDesc_cgen_6635((*p).module, T19_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T20_);
		res = resizeString(res, 15);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_775));
		T21_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T21_ = lastSon_ast_3742(seqtype);
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = getTypeDesc_cgen_6635((*p).module, T21_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T22_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA25_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA25_: ;
		T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T27_ = rope_ropes_109(res);
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = indentLine_cgen_272(p, T27_);
		add_ropes_159(T14_, T28_);
	}
	goto LA10_;
	LA12_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
		T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T30_ = intLiteral_cgen_11466(((NI64) (L)));
		genNewSeqAux_cgen_20766(p, (*d), T30_, (L == ((NI) 0)));
	}
	LA10_: ;
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
	{
		if (!(L < ((NI) 10))) goto LA33_;
		{
			NI i;
			NI i_2;
			i = (NI)0;
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T39_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T40_;
					NimStringDesc* res_2;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T44_;
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T46_;
					NimStringDesc* res_3;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
					if (!(i_2 < L)) goto LA37;
					i = i_2;
					T38_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T38_ = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
					T39_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T39_ = elemType_types_263(T38_);
					T40_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T40_ = lodeTyp_cgen_86(T39_);
					initLoc_cgen_60((&elem), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), T40_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
					res_2 = rawNewString(((NI) 80));
					T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T41_ = rdLoc_cgen_417((*d));
					cgFormatValue_cgen_141((&res_2), T41_);
					T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T42_ = dataField_cgen_453(p);
					cgFormatValue_cgen_141((&res_2), T42_);
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
					T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T43_ = intLiteral_cgen_11466(((NI64) (i)));
					cgFormatValue_cgen_141((&res_2), T43_);
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
					elem.r = rope_ropes_109(res_2);
					elem.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3);
					T44_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T44_ = skipTypes_ast_3734((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
					T45_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T45_ = elemType_types_263(T44_);
					T46_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T46_ = lodeTyp_cgen_86(T45_);
					initLoc_cgen_60((&arr), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), T46_, a.storage);
					res_3 = rawNewString(((NI) 80));
					T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T47_ = rdLoc_cgen_417(a);
					cgFormatValue_cgen_141((&res_3), T47_);
					res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
					T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T48_ = intLiteral_cgen_11466(((NI64) (i)));
					cgFormatValue_cgen_141((&res_3), T48_);
					res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
					arr.r = rope_ropes_109(res_3);
					genAssignment_cgen_10373(p, elem, arr, 1);
					i_2 += ((NI) 1);
				} LA37: ;
			}
		}
	}
	goto LA31_;
	LA33_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA i_3;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T50_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T51_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T58_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T60_;
		NimStringDesc* res_5;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T64_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T66_;
		NimStringDesc* res_6;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T69_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T70_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
		nimZeroMem((void*)(&i_3), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		T50_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T50_ = getSysType_magicsys_60((*(*(*p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
		getTemp_cgen_7347(p, T50_, (&i_3), NIM_FALSE);
		T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T51_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_4 = rawNewString(((NI) 80));
		res_4 = resizeString(res_4, 5);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_170));
		cgFormatValue_cgen_141((&res_4), i_3.r);
		res_4 = resizeString(res_4, 6);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_171));
		cgFormatValue_cgen_141((&res_4), i_3.r);
		res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
		cgFormatValue_cgen_148((&res_4), ((NI64) (L)));
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		cgFormatValue_cgen_141((&res_4), i_3.r);
		res_4 = resizeString(res_4, 5);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_174));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA54_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA54_: ;
		T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T56_ = rope_ropes_109(res_4);
		T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T57_ = indentLine_cgen_272(p, T56_);
		add_ropes_159(T51_, T57_);
		T58_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T58_ = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		T59_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T59_ = elemType_types_263(T58_);
		T60_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T60_ = lodeTyp_cgen_86(T59_);
		initLoc_cgen_60((&elem), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), T60_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
		res_5 = rawNewString(((NI) 80));
		T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T61_ = rdLoc_cgen_417((*d));
		cgFormatValue_cgen_141((&res_5), T61_);
		T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T62_ = dataField_cgen_453(p);
		cgFormatValue_cgen_141((&res_5), T62_);
		res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
		T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T63_ = rdLoc_cgen_417(i_3);
		cgFormatValue_cgen_141((&res_5), T63_);
		res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
		elem.r = rope_ropes_109(res_5);
		elem.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3);
		T64_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T64_ = skipTypes_ast_3734((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		T65_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T65_ = elemType_types_263(T64_);
		T66_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T66_ = lodeTyp_cgen_86(T65_);
		initLoc_cgen_60((&arr), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), T66_, a.storage);
		res_6 = rawNewString(((NI) 80));
		T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T67_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_6), T67_);
		res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
		T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T68_ = rdLoc_cgen_417(i_3);
		cgFormatValue_cgen_141((&res_6), T68_);
		res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
		arr.r = rope_ropes_109(res_6);
		genAssignment_cgen_10373(p, elem, arr, 1);
		T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T69_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T70_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T71_ = percent__cgen_7509(T70_, 0);
		T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T72_ = indentLine_cgen_272(p, T71_);
		add_ropes_159(T69_, T72_);
	}
	LA31_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genDeepCopy_cgen_18463)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(dest);
	ty = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_877);
	switch ((*ty).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T3_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T3_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T4_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_878));
		cgFormatValue_cgen_141((&res), T4_);
		res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
		cgFormatValue_cgen_141((&res), T5_);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_343));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmpX60gensym3504_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
			if (!(src.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6))) goto LA9_;
			nimZeroMem((void*)(&tmpX60gensym3504_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			T11_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T11_ = t_cgen_79(src);
			getTemp_cgen_7347(p, T11_, (&tmpX60gensym3504_), NIM_FALSE);
			genAssignment_cgen_10373(p, tmpX60gensym3504_, src, 0);
			T6_ = addrLoc_cgen_10307((*(*(*p).module).g).config, tmpX60gensym3504_);
		}
		goto LA7_;
		LA9_: ;
		{
			T6_ = addrLoc_cgen_10307((*(*(*p).module).g).config, src);
		}
		LA7_: ;
		cgFormatValue_cgen_141((&res), T6_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T13_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T13_ = t_cgen_79(dest);
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = genTypeInfoV1_cgen_6772((*p).module, T13_, (*dest.lode).info);
		cgFormatValue_cgen_141((&res), T14_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA17_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA17_: ;
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rope_ropes_109(res);
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = indentLine_cgen_272(p, T19_);
		add_ropes_159(T3_, T20_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T26_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T36_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA24_;
			T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T26_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T27_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_878));
			cgFormatValue_cgen_141((&res_2), T27_);
			res_2 = resizeString(res_2, 8);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T28_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
			cgFormatValue_cgen_141((&res_2), T28_);
			res_2 = resizeString(res_2, 9);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_343));
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			{
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmpX60gensym3518_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
				if (!(src.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6))) goto LA32_;
				nimZeroMem((void*)(&tmpX60gensym3518_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				T34_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T34_ = t_cgen_79(src);
				getTemp_cgen_7347(p, T34_, (&tmpX60gensym3518_), NIM_FALSE);
				genAssignment_cgen_10373(p, tmpX60gensym3518_, src, 0);
				T29_ = addrLoc_cgen_10307((*(*(*p).module).g).config, tmpX60gensym3518_);
			}
			goto LA30_;
			LA32_: ;
			{
				T29_ = addrLoc_cgen_10307((*(*(*p).module).g).config, src);
			}
			LA30_: ;
			cgFormatValue_cgen_141((&res_2), T29_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T36_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T36_ = t_cgen_79(dest);
			T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T37_ = genTypeInfoV1_cgen_6772((*p).module, T36_, (*dest.lode).info);
			cgFormatValue_cgen_141((&res_2), T37_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA40_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA40_: ;
			T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T42_ = rope_ropes_109(res_2);
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T43_ = indentLine_cgen_272(p, T42_);
			add_ropes_159(T26_, T43_);
		}
		goto LA22_;
		LA24_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T45_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
			T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T45_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T46_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_879));
			cgFormatValue_cgen_141((&res_3), T46_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T47_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
			cgFormatValue_cgen_141((&res_3), T47_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T48_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_3), T48_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T49_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T49_ = t_cgen_79(dest);
			T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T50_ = genTypeInfoV1_cgen_6772((*p).module, T49_, (*dest.lode).info);
			cgFormatValue_cgen_141((&res_3), T50_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA53_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA53_: ;
			T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T55_ = rope_ropes_109(res_3);
			T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T56_ = indentLine_cgen_272(p, T55_);
			add_ropes_159(T45_, T56_);
		}
		LA22_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T58_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T69_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T76_;
		T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T58_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_4 = rawNewString(((NI) 80));
		T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T59_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_880));
		cgFormatValue_cgen_141((&res_4), T59_);
		res_4 = resizeString(res_4, 8);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
		T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T60_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
		cgFormatValue_cgen_141((&res_4), T60_);
		res_4 = resizeString(res_4, 9);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_343));
		T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmpX60gensym3539_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T66_;
			if (!(src.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6))) goto LA64_;
			nimZeroMem((void*)(&tmpX60gensym3539_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			T66_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T66_ = t_cgen_79(src);
			getTemp_cgen_7347(p, T66_, (&tmpX60gensym3539_), NIM_FALSE);
			genAssignment_cgen_10373(p, tmpX60gensym3539_, src, 0);
			T61_ = addrLoc_cgen_10307((*(*(*p).module).g).config, tmpX60gensym3539_);
		}
		goto LA62_;
		LA64_: ;
		{
			T61_ = addrLoc_cgen_10307((*(*(*p).module).g).config, src);
		}
		LA62_: ;
		cgFormatValue_cgen_141((&res_4), T61_);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T68_ = addrLoc_cgen_10307((*(*(*p).module).g).config, dest);
		cgFormatValue_cgen_141((&res_4), T68_);
		res_4 = resizeString(res_4, 7);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_366));
		T69_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T69_ = t_cgen_79(dest);
		T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T70_ = genTypeInfoV1_cgen_6772((*p).module, T69_, (*dest.lode).info);
		cgFormatValue_cgen_141((&res_4), T70_);
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA73_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA73_: ;
		T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T75_ = rope_ropes_109(res_4);
		T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T76_ = indentLine_cgen_272(p, T75_);
		add_ropes_159(T58_, T76_);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		{
			tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T80_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T83_;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T86_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T87_;
			NI64 T88_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T93_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T94_;
			T80_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
			T80_ = mapSetType_cgen_1197((*(*(*p).module).g).config, ty);
			if (!(T80_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17))) goto LA81_;
			T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T83_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_5 = rawNewString(((NI) 80));
			T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T84_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_335));
			cgFormatValue_cgen_141((&res_5), T84_);
			res_5 = resizeString(res_5, 8);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_101));
			T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T85_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_5), T85_);
			res_5 = resizeString(res_5, 19);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_341));
			T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T86_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_5), T86_);
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T87_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T87_ = t_cgen_79(dest);
			T88_ = (NI64)0;
			T88_ = getSize_types_3333((*(*(*p).module).g).config, T87_);
			cgFormatValue_cgen_148((&res_5), T88_);
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA91_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA91_: ;
			T93_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T93_ = rope_ropes_109(res_5);
			T94_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T94_ = indentLine_cgen_272(p, T93_);
			add_ropes_159(T83_, T94_);
		}
		goto LA78_;
		LA81_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T96_;
			NimStringDesc* res_6;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T97_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T98_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T103_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T104_;
			T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T96_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_6 = rawNewString(((NI) 80));
			T97_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T97_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_6), T97_);
			res_6 = resizeString(res_6, 3);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
			T98_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T98_ = rdLoc_cgen_417(src);
			cgFormatValue_cgen_141((&res_6), T98_);
			res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA101_;
				res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA101_: ;
			T103_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T103_ = rope_ropes_109(res_6);
			T104_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T104_ = indentLine_cgen_272(p, T103_);
			add_ropes_159(T96_, T104_);
		}
		LA78_: ;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T106_;
		NimStringDesc* res_7;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T114_;
		T106_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T106_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_7 = rawNewString(((NI) 80));
		T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T107_ = rdLoc_cgen_417(dest);
		cgFormatValue_cgen_141((&res_7), T107_);
		res_7 = resizeString(res_7, 3);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
		T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T108_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res_7), T108_);
		res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA111_;
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA111_: ;
		T113_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T113_ = rope_ropes_109(res_7);
		T114_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T114_ = indentLine_cgen_272(p, T113_);
		add_ropes_159(T106_, T114_);
	}
	break;
	default:
	{
		NimStringDesc* T116_;
		T116_ = (NimStringDesc*)0;
		T116_ = rawNewString((reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 13);
appendString(T116_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_881));
appendString(T116_, reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, T116_, TM__MQdRN7fpbG7rPm4JpVVAhA_882);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddr_cgen_23032)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
		result = (*n)._kind_6.sons->data[((NI) 0)];
	}
	goto LA1_;
	LA3_: ;
	{
		result = n;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genWasMoved_cgen_23040)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n1;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	n1 = skipAddr_cgen_23032((*n)._kind_6.sons->data[((NI) 1)]);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) < (*p).withinBlockLeaveActions);
		if (!(T3_)) goto LA4_;
		T3_ = notYetAlive_cgen_13013(n1);
		LA4_: ;
		if (!T3_) goto LA5_;
	}
	goto LA1_;
	LA5_: ;
	{
		initLocExpr_cgen_11478(p, n1, (&a));
		resetLoc_cgen_10828(p, (&a));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genMove_cgen_23046)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	T1_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T1_ = skipAddr_cgen_23032((*n)._kind_6.sons->data[((NI) 1)]);
	initLocExpr_cgen_11478(p, T1_, (&a));
	{
		NI T4_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA src;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T7_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T12_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		T4_ = (NI)0;
		T4_ = len_ast_3197(n);
		if (!(T4_ == ((NI) 4))) goto LA5_;
		nimZeroMem((void*)(&src), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 2)], (&src));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T7_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T8_);
		res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_883));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res), T9_);
		res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_884));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = rope_ropes_109(res);
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = indentLine_cgen_272(p, T10_);
		add_ropes_159(T7_, T11_);
		genStmts_cgen_11452(p, (*n)._kind_6.sons->data[((NI) 3)]);
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T12_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA15_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA15_: ;
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_2), T17_);
		res_2 = resizeString(res_2, 7);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_772));
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res_2), T18_);
		res_2 = resizeString(res_2, 6);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_885));
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_2), T19_);
		res_2 = resizeString(res_2, 5);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_886));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rdLoc_cgen_417(src);
		cgFormatValue_cgen_141((&res_2), T20_);
		res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_887));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA23_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA23_: ;
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = rope_ropes_109(res_2);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = indentLine_cgen_272(p, T25_);
		add_ropes_159(T12_, T26_);
	}
	goto LA2_;
	LA5_: ;
	{
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA30_;
			getTemp_cgen_7347(p, (*n).typ, d, NIM_FALSE);
		}
		LA30_: ;
		genAssignment_cgen_10373(p, (*d), a, 0);
		resetLoc_cgen_10828(p, (&a));
	}
	LA2_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genDestroy_cgen_23088)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
		if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
		arg = skipAddr_cgen_23032((*n)._kind_6.sons->data[((NI) 1)]);
		t = skipTypes_ast_3734((*arg).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		switch ((*t).kind) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
			nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, arg, (&a));
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
				if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 23))&63U)))!=0)) goto LA8_;
				T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res = rawNewString(((NI) 80));
				res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T11_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res), T11_);
				res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_888));
				T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T12_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res), T12_);
				res = resizeString(res, 29);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_889));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA15_;
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA15_: ;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
				T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T17_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_890));
				cgFormatValue_cgen_141((&res), T17_);
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T18_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res), T18_);
				res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_891));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA21_;
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA21_: ;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA25_;
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA25_: ;
				T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T27_ = rope_ropes_109(res);
				T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T28_ = indentLine_cgen_272(p, T27_);
				add_ropes_159(T10_, T28_);
			}
			goto LA6_;
			LA8_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T30_;
				NimStringDesc* res_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
				T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T30_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_2 = rawNewString(((NI) 80));
				res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T31_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res_2), T31_);
				res_2 = resizeString(res_2, 8);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_888));
				T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T32_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res_2), T32_);
				res_2 = resizeString(res_2, 29);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_889));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA35_;
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA35_: ;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
				T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T37_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_892));
				cgFormatValue_cgen_141((&res_2), T37_);
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T38_ = rdLoc_cgen_417(a);
				cgFormatValue_cgen_141((&res_2), T38_);
				res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_891));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA41_;
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA41_: ;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA45_;
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA45_: ;
				T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T47_ = rope_ropes_109(res_2);
				T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T48_ = indentLine_cgen_272(p, T47_);
				add_ropes_159(T30_, T48_);
			}
			LA6_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T50_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
			nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, arg, (&a_2));
			T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T50_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T51_ = rdLoc_cgen_417(a_2);
			cgFormatValue_cgen_141((&res_3), T51_);
			res_3 = resizeString(res_3, 8);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_888));
			T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T52_ = rdLoc_cgen_417(a_2);
			cgFormatValue_cgen_141((&res_3), T52_);
			res_3 = resizeString(res_3, 29);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_889));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA55_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA55_: ;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
			T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T57_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_893));
			cgFormatValue_cgen_141((&res_3), T57_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T58_ = rdLoc_cgen_417(a_2);
			cgFormatValue_cgen_141((&res_3), T58_);
			res_3 = resizeString(res_3, 16);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_894));
			T59_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T59_ = lastSon_ast_3742(t);
			T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T60_ = getTypeDesc_cgen_6635((*p).module, T59_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res_3), T60_);
			res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA63_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA63_: ;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA67_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA67_: ;
			T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T69_ = rope_ropes_109(res_3);
			T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T70_ = indentLine_cgen_272(p, T69_);
			add_ropes_159(T50_, T70_);
		}
		break;
		default:
		{
		}
		break;
		}
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
		t_2 = skipTypes_ast_3734((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
		op = getAttachedOp_modulegraphs_4011((*(*(*p).module).g).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
		{
			NIM_BOOL T75_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T77_;
			NI T78_;
			T75_ = (NIM_BOOL)0;
			T75_ = !((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			if (!(T75_)) goto LA76_;
			T77_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T77_ = getBody_modulegraphs_11241((*(*(*p).module).g).graph, op);
			T78_ = (NI)0;
			T78_ = len_ast_3197(T77_);
			T75_ = !((T78_ == ((NI) 0)));
			LA76_: ;
			if (!T75_) goto LA79_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_895), TM__MQdRN7fpbG7rPm4JpVVAhA_896);
		}
		LA79_: ;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSlice_cgen_23183)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyTuple__nsNHL3sm0TZE9bootw2pEXw T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* x;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* y;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T7_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = lastSon_ast_3742((*e).typ);
	nimZeroMem((void*)(&T2_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
	genOpenArraySlice_cgen_11750(p, e, (*e).typ, T1_, (&T2_));
	x = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	x = T2_.Field0;
	y = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	y = T2_.Field1;
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA5_;
		getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
	}
	LA5_: ;
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T7_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res = rawNewString(((NI) 80));
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T8_ = rdLoc_cgen_417((*d));
	cgFormatValue_cgen_141((&res), T8_);
	res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_357));
	cgFormatValue_cgen_141((&res), x);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = rdLoc_cgen_417((*d));
	cgFormatValue_cgen_141((&res), T9_);
	res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_359));
	cgFormatValue_cgen_141((&res), y);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA12_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA12_: ;
	T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T14_ = rope_ropes_109(res);
	T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T15_ = indentLine_cgen_272(p, T14_);
	add_ropes_159(T7_, T15_);
}
N_LIB_PRIVATE N_NIMCALL(void, genMagicExpr_cgen_23222)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op) {
	switch (op) {
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
	{
		genAndOr_cgen_20194(p, e, d, op);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 100):
	{
		unaryArith_cgen_19204(p, e, d, op);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 95):
	{
		unaryArithOverflow_cgen_18862(p, e, d, op);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56):
	{
		binaryFloatArith_cgen_22935(p, e, d, op);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 90):
	{
		binaryArith_cgen_18916(p, e, d, op);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
	{
		genEqProc_cgen_19129(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
	{
		binaryArithOverflow_cgen_18729(p, e, d, op);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 135):
	{
		genRepr_cgen_21429(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 260):
	{
		genGetTypeInfo_cgen_21601(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 261):
	{
		genGetTypeInfoV2_cgen_21607(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 142):
	{
		genSwap_cgen_21901(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* underlying;
		underlying = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_717);
		{
			NIM_BOOL T15_;
			T15_ = (NIM_BOOL)0;
			T15_ = !((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0));
			if (T15_) goto LA16_;
			T15_ = ((*underlying).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*underlying).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
			LA16_: ;
			if (!T15_) goto LA17_;
			binaryStmt_cgen_18636(p, e, d, opr_cgen_23227[(op)- 29]);
		}
		goto LA13_;
		LA17_: ;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* ranged;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* res;
			NI64 sizeX60gensym5254_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* storageX60gensym5254_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* resultX60gensym5254_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T25_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T32_;
			NimStringDesc* res_3;
			NimStringDesc* T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T69_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
			nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b));
			ranged = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_722);
			sizeX60gensym5254_ = getSize_types_3333((*(*(*p).module).g).config, ranged);
			{
				if (!(sizeX60gensym5254_ < ((NI64) ((*(*(*(*p).module).g).config).target.intSize)))) goto LA22_;
				storageX60gensym5254_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_453));
			}
			goto LA20_;
			LA22_: ;
			{
				storageX60gensym5254_ = getTypeDesc_cgen_6635((*p).module, ranged, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			}
			LA20_: ;
			resultX60gensym5254_ = getTempName_cgen_410((*p).module);
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T25_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
			res_2 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_2), storageX60gensym5254_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
			cgFormatValue_cgen_141((&res_2), resultX60gensym5254_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA28_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA28_: ;
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = rope_ropes_109(res_2);
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = indentLine_cgen_272(p, T30_);
			add_ropes_159(T25_, T31_);
			T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T32_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T33_ = (NimStringDesc*)0;
			{
				if (!((*underlying).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35))) goto LA36_;
				T33_ = copyString(fun64_cgen_23228[(op)- 29]);
			}
			goto LA34_;
			LA36_: ;
			{
				T33_ = copyString(fun_cgen_23229[(op)- 29]);
			}
			LA34_: ;
			T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = cgsym_cgen_120((*p).module, T33_);
			cgFormatValue_cgen_141((&res_3), T39_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = rdCharLoc_cgen_10347(a);
			cgFormatValue_cgen_141((&res_3), T40_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T41_ = rdCharLoc_cgen_10347(b);
			cgFormatValue_cgen_141((&res_3), T41_);
			res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_693));
			cgFormatValue_cgen_141((&res_3), resultX60gensym5254_);
			res_3 = resizeString(res_3, 5);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_694));
			T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T42_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_639));
			cgFormatValue_cgen_141((&res_3), T42_);
			res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T43_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_3), T43_);
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_305));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA46_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA46_: ;
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T48_ = rope_ropes_109(res_3);
			T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T49_ = indentLine_cgen_272(p, T48_);
			add_ropes_159(T32_, T49_);
			{
				NIM_BOOL T52_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T56_;
				NimStringDesc* res_4;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T57_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T59_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
				T52_ = (NIM_BOOL)0;
				T52_ = (sizeX60gensym5254_ < ((NI64) ((*(*(*(*p).module).g).config).target.intSize)));
				if (T52_) goto LA53_;
				T52_ = ((*ranged).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*ranged).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
				LA53_: ;
				if (!T52_) goto LA54_;
				T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T56_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_4 = rawNewString(((NI) 80));
				res_4 = resizeString(res_4, 4);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				cgFormatValue_cgen_141((&res_4), resultX60gensym5254_);
				res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
				T57_ = firstOrd_types_1353((*(*(*p).module).g).config, ranged);
				T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T58_ = intLiteral_cgen_17600(T57_);
				cgFormatValue_cgen_141((&res_4), T58_);
				res_4 = resizeString(res_4, 4);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_577));
				cgFormatValue_cgen_141((&res_4), resultX60gensym5254_);
				res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_578));
				T59_ = lastOrd_types_1470((*(*(*p).module).g).config, ranged);
				T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T60_ = intLiteral_cgen_17600(T59_);
				cgFormatValue_cgen_141((&res_4), T60_);
				res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_638));
				T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T61_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_639));
				cgFormatValue_cgen_141((&res_4), T61_);
				res_4 = resizeString(res_4, 4);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
				T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T62_ = raiseInstr_cgen_406(p);
				cgFormatValue_cgen_141((&res_4), T62_);
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA65_;
					res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA65_: ;
				T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T67_ = rope_ropes_109(res_4);
				T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T68_ = indentLine_cgen_272(p, T67_);
				add_ropes_159(T56_, T68_);
			}
			LA54_: ;
			res = resultX60gensym5254_;
			nimZeroMem((void*)T69_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T69_[0] = getTypeDesc_cgen_6635((*p).module, ranged, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T69_[1] = res;
			T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T70_ = percent__cgen_18839(T69_, 2);
			putIntoDest_cgen_18621(p, (&a), (*e)._kind_6.sons->data[((NI) 1)], T70_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		LA13_: ;
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 125):
	{
		genStrConcat_cgen_20342(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131):
	{
		{
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA75_;
			binaryStmtAddr_cgen_18662(p, e, d, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_729));
		}
		goto LA73_;
		LA75_: ;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA dest;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b_2;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA call;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T80_;
			nimZeroMem((void*)(&dest), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&b_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			nimZeroMem((void*)(&call), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLoc_cgen_60((&call), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 9), e, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&dest));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b_2));
			res_5 = rawNewString(((NI) 80));
			T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T78_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_730));
			cgFormatValue_cgen_141((&res_5), T78_);
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T79_ = rdLoc_cgen_417(dest);
			cgFormatValue_cgen_141((&res_5), T79_);
			res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T80_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T80_ = rdLoc_cgen_417(b_2);
			cgFormatValue_cgen_141((&res_5), T80_);
			res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			call.r = rope_ropes_109(res_5);
			genAssignment_cgen_10373(p, dest, call, 0);
		}
		LA73_: ;
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132):
	{
		genStrAppend_cgen_20422(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133):
	{
		{
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA85_;
			asgnRef((void**) (&(*e)._kind_6.sons->data[((NI) 1)]), makeAddr_cgen_21809((*e)._kind_6.sons->data[((NI) 1)], (*(*p).module).Sup.idgen));
			genCall_cgen_13069(p, e, d);
		}
		goto LA83_;
		LA85_: ;
		{
			genSeqElemAppend_cgen_20520(p, e, d);
		}
		LA83_: ;
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
	{
		genStrEquals_cgen_22867(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5298_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym5298_;
		NimStringDesc* res_6;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T93_;
		nimZeroMem((void*)(&aX60gensym5298_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&bX60gensym5298_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5298_));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym5298_));
		res_6 = rawNewString(((NI) 80));
		res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T90_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_740));
		cgFormatValue_cgen_141((&res_6), T90_);
		res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T91_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T91_ = rdLoc_cgen_417(aX60gensym5298_);
		cgFormatValue_cgen_141((&res_6), T91_);
		res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T92_ = rdLoc_cgen_417(bX60gensym5298_);
		cgFormatValue_cgen_141((&res_6), T92_);
		res_6 = resizeString(res_6, 7);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_741));
		T93_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T93_ = rope_ropes_109(res_6);
		putIntoDest_cgen_18621(p, d, e, T93_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5313_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA bX60gensym5313_;
		NimStringDesc* res_7;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T95_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T96_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T97_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T98_;
		nimZeroMem((void*)(&aX60gensym5313_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&bX60gensym5313_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5313_));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&bX60gensym5313_));
		res_7 = rawNewString(((NI) 80));
		res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T95_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_740));
		cgFormatValue_cgen_141((&res_7), T95_);
		res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T96_ = rdLoc_cgen_417(aX60gensym5313_);
		cgFormatValue_cgen_141((&res_7), T96_);
		res_7 = resizeString(res_7, 2);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
		T97_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T97_ = rdLoc_cgen_417(bX60gensym5313_);
		cgFormatValue_cgen_141((&res_7), T97_);
		res_7 = resizeString(res_7, 6);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_742));
		T98_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T98_ = rope_ropes_109(res_7);
		putIntoDest_cgen_18621(p, d, e, T98_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
	{
		genIsNil_cgen_19166(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 103):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5328_;
		NimStringDesc* res_8;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T101_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T102_;
		nimZeroMem((void*)(&aX60gensym5328_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5328_));
		res_8 = rawNewString(((NI) 80));
		T101_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T101_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_744));
		cgFormatValue_cgen_141((&res_8), T101_);
		res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T102_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T102_ = rdLoc_cgen_417(aX60gensym5328_);
		cgFormatValue_cgen_141((&res_8), T102_);
		res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		aX60gensym5328_.r = rope_ropes_109(res_8);
		aX60gensym5328_.flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15));
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA105_;
			getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
		}
		LA105_: ;
		genAssignment_cgen_10373(p, (*d), aX60gensym5328_, 0);
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 104):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5335_;
		NimStringDesc* res_9;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T109_;
		nimZeroMem((void*)(&aX60gensym5335_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5335_));
		res_9 = rawNewString(((NI) 80));
		T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T108_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_745));
		cgFormatValue_cgen_141((&res_9), T108_);
		res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T109_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T109_ = rdLoc_cgen_417(aX60gensym5335_);
		cgFormatValue_cgen_141((&res_9), T109_);
		res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		aX60gensym5335_.r = rope_ropes_109(res_9);
		aX60gensym5335_.flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15));
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA112_;
			getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
		}
		LA112_: ;
		genAssignment_cgen_10373(p, (*d), aX60gensym5335_, 0);
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 102):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5342_;
		NimStringDesc* res_10;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T115_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T116_;
		nimZeroMem((void*)(&aX60gensym5342_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5342_));
		res_10 = rawNewString(((NI) 80));
		T115_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T115_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_746));
		cgFormatValue_cgen_141((&res_10), T115_);
		res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T116_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T116_ = rdLoc_cgen_417(aX60gensym5342_);
		cgFormatValue_cgen_141((&res_10), T116_);
		res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		aX60gensym5342_.r = rope_ropes_109(res_10);
		aX60gensym5342_.flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15));
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA119_;
			getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
		}
		LA119_: ;
		genAssignment_cgen_10373(p, (*d), aX60gensym5342_, 0);
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 101):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5349_;
		NimStringDesc* res_11;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T122_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T123_;
		nimZeroMem((void*)(&aX60gensym5349_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5349_));
		res_11 = rawNewString(((NI) 80));
		T122_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T122_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_747));
		cgFormatValue_cgen_141((&res_11), T122_);
		res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T123_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T123_ = rdLoc_cgen_417(aX60gensym5349_);
		cgFormatValue_cgen_141((&res_11), T123_);
		res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		aX60gensym5349_.r = rope_ropes_109(res_11);
		aX60gensym5349_.flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15));
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA126_;
			getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
		}
		LA126_: ;
		genAssignment_cgen_10373(p, (*d), aX60gensym5349_, 0);
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 105):
	{
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T131_;
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5357_;
			NimStringDesc* res_12;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T134_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T135_;
			T131_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T131_ = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
			if (!((*T131_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA132_;
			nimZeroMem((void*)(&aX60gensym5357_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5357_));
			res_12 = rawNewString(((NI) 80));
			T134_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T134_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_748));
			cgFormatValue_cgen_141((&res_12), T134_);
			res_12 = resizeString(res_12, 1);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T135_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T135_ = rdLoc_cgen_417(aX60gensym5357_);
			cgFormatValue_cgen_141((&res_12), T135_);
			res_12 = resizeString(res_12, 1);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			aX60gensym5357_.r = rope_ropes_109(res_12);
			aX60gensym5357_.flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15));
			{
				if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA138_;
				getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
			}
			LA138_: ;
			genAssignment_cgen_10373(p, (*d), aX60gensym5357_, 0);
			gcUsage_cgen_20327((*(*(*p).module).g).config, e);
		}
		goto LA129_;
		LA132_: ;
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5364_;
			NimStringDesc* res_13;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T141_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T142_;
			nimZeroMem((void*)(&aX60gensym5364_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5364_));
			res_13 = rawNewString(((NI) 80));
			T141_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T141_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_749));
			cgFormatValue_cgen_141((&res_13), T141_);
			res_13 = resizeString(res_13, 1);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T142_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T142_ = rdLoc_cgen_417(aX60gensym5364_);
			cgFormatValue_cgen_141((&res_13), T142_);
			res_13 = resizeString(res_13, 1);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
			aX60gensym5364_.r = rope_ropes_109(res_13);
			aX60gensym5364_.flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15));
			{
				if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA145_;
				getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
			}
			LA145_: ;
			genAssignment_cgen_10373(p, (*d), aX60gensym5364_, 0);
			gcUsage_cgen_20327((*(*(*p).module).g).config, e);
		}
		LA129_: ;
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 106):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5371_;
		NimStringDesc* res_14;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T148_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T149_;
		nimZeroMem((void*)(&aX60gensym5371_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5371_));
		res_14 = rawNewString(((NI) 80));
		T148_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T148_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_750));
		cgFormatValue_cgen_141((&res_14), T148_);
		res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T149_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T149_ = rdLoc_cgen_417(aX60gensym5371_);
		cgFormatValue_cgen_141((&res_14), T149_);
		res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		aX60gensym5371_.r = rope_ropes_109(res_14);
		aX60gensym5371_.flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 0)) & 15));
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA152_;
			getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
		}
		LA152_: ;
		genAssignment_cgen_10373(p, (*d), aX60gensym5371_, 0);
		gcUsage_cgen_20327((*(*(*p).module).g).config, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 107):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
	{
		expr_cgen_11455(p, (*e)._kind_6.sons->data[((NI) 1)], d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 154):
	{
		genCall_cgen_13069(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 108):
	{
		{
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA159_;
			genEnumToStr_cgen_23209(p, e, d);
		}
		goto LA157_;
		LA159_: ;
		{
			genRepr_cgen_21429(p, e, d);
		}
		LA157_: ;
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
	{
		genOf_cgen_21423(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
	{
		genNew_cgen_20756(p, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
	{
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA167_;
			nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&a_2));
			rawGenNew_cgen_20599(p, (&a_2), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL), NIM_TRUE);
			gcUsage_cgen_20327((*(*(*p).module).g).config, e);
		}
		goto LA165_;
		LA167_: ;
		{
			genNewFinalize_cgen_21245(p, e);
		}
		LA165_: ;
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34):
	{
		{
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA173_;
			asgnRef((void**) (&(*e)._kind_6.sons->data[((NI) 1)]), makeAddr_cgen_21809((*e)._kind_6.sons->data[((NI) 1)], (*(*p).module).Sup.idgen));
			genCall_cgen_13069(p, e, d);
		}
		goto LA171_;
		LA173_: ;
		{
			genNewSeq_cgen_20860(p, e);
		}
		LA171_: ;
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 35):
	{
		genNewSeqOfCap_cgen_20899(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T178_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T179_;
		t = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_779);
		nimZeroMem((void*)T178_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T178_[0] = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T179_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T179_ = percent__cgen_23571(T178_, 1);
		putIntoDest_cgen_18621(p, d, e, T179_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11):
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T181_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T182_;
		t_2 = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_779);
		nimZeroMem((void*)T181_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T181_[0] = getTypeDesc_cgen_6635((*p).module, t_2, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T182_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T182_ = percent__cgen_23578(T181_, 1);
		putIntoDest_cgen_18621(p, d, e, T182_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dotExpr;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tname;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* member;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T198_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T199_;
		dotExpr = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			if (!((*(*e)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA186_;
			dotExpr = (*e)._kind_6.sons->data[((NI) 1)];
		}
		goto LA184_;
		LA186_: ;
		{
			if (!((*(*e)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA189_;
			dotExpr = (*(*e)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
		}
		goto LA184_;
		LA189_: ;
		{
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_782), TM__MQdRN7fpbG7rPm4JpVVAhA_783);
		}
		LA184_: ;
		t_3 = skipTypes_ast_3734((*(*dotExpr)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_779);
		tname = getTypeDesc_cgen_6635((*p).module, t_3, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T196_;
			if (!((*t_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA194_;
			T196_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T196_ = rope_ropes_115(((NI64) ((*(*(*dotExpr)._kind_6.sons->data[((NI) 1)])._kind_4.sym).position)));
			member = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_784), T196_);
		}
		goto LA192_;
		LA194_: ;
		{
			member = (*(*(*dotExpr)._kind_6.sons->data[((NI) 1)])._kind_4.sym).loc.r;
		}
		LA192_: ;
		nimZeroMem((void*)T198_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T198_[0] = tname;
		T198_[1] = member;
		T199_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T199_ = percent__cgen_23607(T198_, 2);
		putIntoDest_cgen_18621(p, d, e, T199_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 43):
	{
		genSomeCast_cgen_22622(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
	{
		genOrd_cgen_22606(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36):
	{
		genArrayLen_cgen_21623(p, e, d, op);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 44):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5402_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T208_;
		NimStringDesc* res_15;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T209_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T210_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T211_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T216_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T217_;
		nimZeroMem((void*)(&aX60gensym5402_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		{
			if (!!(((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0)))) goto LA206_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_806), TM__MQdRN7fpbG7rPm4JpVVAhA_807);
		}
		LA206_: ;
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5402_));
		T208_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T208_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_15 = rawNewString(((NI) 80));
		res_15 = resizeString(res_15, 4);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		T209_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T209_ = rdLoc_cgen_417(aX60gensym5402_);
		cgFormatValue_cgen_141((&res_15), T209_);
		res_15 = resizeString(res_15, 4);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_649));
		T210_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T210_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_808));
		cgFormatValue_cgen_141((&res_15), T210_);
		res_15 = resizeString(res_15, 1);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T211_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T211_ = rdLoc_cgen_417(aX60gensym5402_);
		cgFormatValue_cgen_141((&res_15), T211_);
		res_15 = resizeString(res_15, 4);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_809));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA214_;
			res_15 = resizeString(res_15, 1);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA214_: ;
		T216_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T216_ = rope_ropes_109(res_15);
		T217_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T217_ = indentLine_cgen_272(p, T216_);
		add_ropes_159(T208_, T217_);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 45):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5416_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T223_;
		NimStringDesc* res_16;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T224_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T225_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T226_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T231_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T232_;
		nimZeroMem((void*)(&aX60gensym5416_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		{
			if (!!(((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0)))) goto LA221_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_806), TM__MQdRN7fpbG7rPm4JpVVAhA_807);
		}
		LA221_: ;
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5416_));
		T223_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T223_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_16 = rawNewString(((NI) 80));
		res_16 = resizeString(res_16, 4);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		T224_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T224_ = rdLoc_cgen_417(aX60gensym5416_);
		cgFormatValue_cgen_141((&res_16), T224_);
		res_16 = resizeString(res_16, 4);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_649));
		T225_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T225_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_810));
		cgFormatValue_cgen_141((&res_16), T225_);
		res_16 = resizeString(res_16, 1);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T226_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T226_ = rdLoc_cgen_417(aX60gensym5416_);
		cgFormatValue_cgen_141((&res_16), T226_);
		res_16 = resizeString(res_16, 4);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_809));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA229_;
			res_16 = resizeString(res_16, 1);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA229_: ;
		T231_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T231_ = rope_ropes_109(res_16);
		T232_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T232_ = indentLine_cgen_272(p, T231_);
		add_ropes_159(T223_, T232_);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137):
	{
		genSetLengthStr_cgen_21875(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
	{
		genSetLengthSeq_cgen_21817(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 42):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 120):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 122):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 123):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 124):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
	{
		genSetOp_cgen_22073(p, e, d, op);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 145):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 146):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 136):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 147):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opr;
		opr = (*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		{
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
			NimStringDesc* T241_;
			NIM_BOOL wasDeclared;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym5435_;
			NimStringDesc* T242_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T243_;
			if (!!((((*opr).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0))) goto LA239_;
			T241_ = (NimStringDesc*)0;
			T241_ = dollar__ropes_250((*opr).loc.r);
			prc = getCompilerProc_magicsys_145((*(*(*p).module).g).graph, T241_);
			xX60gensym5435_ = prc;
			wasDeclared = containsOrIncl_astalgo_402((&(*(*p).module).declaredProtos), (NI)((NI)((NU64)(((NI) ((*xX60gensym5435_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym5435_).Sup.itemId.item))));
			T242_ = (NimStringDesc*)0;
			T242_ = dollar__ropes_250((*opr).loc.r);
			T243_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T243_ = cgsym_cgen_120((*p).module, T242_);
			(void)(T243_);
			{
				NIM_BOOL T246_;
				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T250_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T251_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T252_;
				T246_ = (NIM_BOOL)0;
				T246_ = !(wasDeclared);
				if (!(T246_)) goto LA247_;
				T246_ = hcrOn_cgen_45(p);
				LA247_: ;
				if (!T246_) goto LA248_;
				nimZeroMem((void*)T250_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
				T250_[0] = mangleDynLibProc_cgen_3773(prc);
				T251_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T251_ = t_cgen_79((*prc).loc);
				T250_[1] = getTypeDesc_cgen_6635((*p).module, T251_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				T250_[2] = getModuleDllPath_cgen_136((*p).module, prc);
				T252_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T252_ = percent__cgen_23688(T250_, 3);
				add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 18))- 0], T252_);
			}
			LA248_: ;
		}
		LA239_: ;
		genCall_cgen_13069(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
	{
		genDefault_cgen_20591(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 157):
	{
		genReset_cgen_20586(p, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 20):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T256_;
		T256_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T256_ = skipConv_types_3594((*e)._kind_6.sons->data[((NI) 1)]);
		genEcho_cgen_20229(p, T256_);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144):
	{
		genArrToSeq_cgen_21139(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 211) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 258):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 22) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 28):
	{
		NimStringDesc* T259_;
		T259_ = (NimStringDesc*)0;
		T259_ = nsuFormatSingleElem(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_873), (*(*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
		liMessage_msgs_1118((*(*(*p).module).g).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T259_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_874, NIM_FALSE);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 197):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
		n = wrapProcForSpawn_spawn_510((*(*(*p).module).g).graph, (*(*p).module).Sup.idgen, (*(*p).module).module, e, (*e).typ, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
		expr_cgen_11455(p, n, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 141):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
		n_2 = liftParallel_semparallel_831((*(*(*p).module).g).graph, (*(*p).module).Sup.idgen, (*(*p).module).module, e);
		expr_cgen_11455(p, n_2, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 198):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_3;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b_3;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
		{
			NIM_BOOL T265_;
			T265_ = (NIM_BOOL)0;
			T265_ = ((48 &((NU16)1<<((NU)((*(*(*(*p).module).g).config).selectedGC)&15U)))!=0);
			if (!(T265_)) goto LA266_;
			T265_ = !((((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 51))&63U)))!=0));
			LA266_: ;
			if (!T265_) goto LA267_;
			liMessage_msgs_1118((*(*(*p).module).g).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_875), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_876, NIM_FALSE);
		}
		LA267_: ;
		nimZeroMem((void*)(&a_3), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&b_3), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		{
			if (!((*(*e)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*(*e)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA271_;
			x = (*(*e)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
		}
		goto LA269_;
		LA271_: ;
		{
			x = (*e)._kind_6.sons->data[((NI) 1)];
		}
		LA269_: ;
		initLocExpr_cgen_11478(p, x, (&a_3));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 2)], (&b_3));
		genDeepCopy_cgen_18463(p, a_3, b_3);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91):
	{
		genCall_cgen_13069(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149):
	{
		genWasMoved_cgen_23040(p, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148):
	{
		genMove_cgen_23046(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
	{
		genDestroy_cgen_23088(p, e);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym5455_;
		NimStringDesc* res_17;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T279_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T280_;
		nimZeroMem((void*)(&aX60gensym5455_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 1)], (&aX60gensym5455_));
		res_17 = rawNewString(((NI) 80));
		T279_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T279_ = rdLoc_cgen_417(aX60gensym5455_);
		cgFormatValue_cgen_141((&res_17), T279_);
		res_17 = resizeString(res_17, 6);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_248));
		T280_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T280_ = rope_ropes_109(res_17);
		putIntoDest_cgen_18621(p, d, e, T280_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126):
	{
		genSlice_cgen_23183(p, e, d);
	}
	break;
	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
	{
	}
	break;
	default:
	{
		NimStringDesc* T284_;
		T284_ = (NimStringDesc*)0;
		T284_ = rawNewString((reprEnum((NI)op, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)) ? reprEnum((NI)op, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_))->Sup.len : 0) + 14);
appendString(T284_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_897));
appendString(T284_, reprEnum((NI)op, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)));
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, T284_, TM__MQdRN7fpbG7rPm4JpVVAhA_898);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genSetNode_cgen_17733)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI size;
	NI64 T1_;
	tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* cs;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (NI64)0;
	T1_ = getSize_types_3333((*(*(*p).module).g).config, (*n).typ);
	size = ((NI) (T1_));
	cs = toBitSet_nimsets_103((*(*(*p).module).g).config, n);
	{
		NI id;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		if (!(((NI) 8) < size)) goto LA4_;
		id = nodeTableTestOrSet_treetab_198((&(*(*p).module).dataCache), n, ((NI) ((*(*p).module).labels)));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rope_ropes_115(((NI64) (id)));
		result = amp__ropes_128((*(*p).module).tmpBase, T6_);
		{
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			if (!(id == ((NI) ((*(*p).module).labels)))) goto LA9_;
			(*(*p).module).labels += ((NI) 1);
			nimZeroMem((void*)T11_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T11_[0] = getTypeDesc_cgen_6635((*p).module, (*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T11_[1] = result;
			T11_[2] = genRawSetData_cgen_17723(cs, size);
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = percent__cgen_17744(T11_, 3);
			add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T12_);
		}
		LA9_: ;
	}
	goto LA2_;
	LA4_: ;
	{
		result = genRawSetData_cgen_17723(cs, size);
	}
	LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23788)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_899), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23793)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_900), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23799)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_901), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23814)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_902), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_23819)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_903), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genSetConstr_cgen_23750)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA idx;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&idx), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!(((*e).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 4))&31U)))!=0)) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = genSetNode_cgen_17733(p, e);
		putIntoDest_cgen_18621(p, d, e, T5_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	goto LA1_;
	LA3_: ;
	{
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA9_;
			getTemp_cgen_7347(p, (*e).typ, d, NIM_FALSE);
		}
		LA9_: ;
		{
			NI64 T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T16_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
			T13_ = (NI64)0;
			T13_ = getSize_types_3333((*(*(*p).module).g).config, (*e).typ);
			if (!(IL64(8) < T13_)) goto LA14_;
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T16_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T17_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_100));
			cgFormatValue_cgen_141((&res), T17_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = rdLoc_cgen_417((*d));
			cgFormatValue_cgen_141((&res), T18_);
			res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_103));
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = getTypeDesc_cgen_6635((*p).module, (*e).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res), T19_);
			res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_104));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA22_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA22_: ;
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = rope_ropes_109(res);
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T25_ = indentLine_cgen_272(p, T24_);
			add_ropes_159(T16_, T25_);
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** it;
				tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
				NI i;
				NI L;
				NI T27_;
				it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
				colontmp_ = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
				colontmp_ = (*e)._kind_6.sons;
				i = ((NI) 0);
				T27_ = (colontmp_ ? colontmp_->Sup.len : 0);
				L = T27_;
				{
					while (1) {
						if (!(i < L)) goto LA29;
						it = &colontmp_->data[i];
						{
							tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T35_;
							tyArray__f7nG5LD47BH5K9c6mASit3g T36_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
							if (!((*(*it)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA32_;
							T34_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
							T34_ = getSysType_magicsys_60((*(*(*p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
							getTemp_cgen_7347(p, T34_, (&idx), NIM_FALSE);
							initLocExpr_cgen_11478(p, (*(*it))._kind_6.sons->data[((NI) 0)], (&a));
							initLocExpr_cgen_11478(p, (*(*it))._kind_6.sons->data[((NI) 1)], (&b));
							T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
							T35_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
							nimZeroMem((void*)T36_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
							T36_[0] = rdLoc_cgen_417(idx);
							T36_[1] = rdLoc_cgen_417((*d));
							T36_[2] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, a, (*e).typ);
							T36_[3] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, b, (*e).typ);
							T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T37_ = percent__cgen_23788(T36_, 4);
							T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T38_ = indentLine_cgen_272(p, T37_);
							add_ropes_159(T35_, T38_);
						}
						goto LA30_;
						LA32_: ;
						{
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T40_;
							tyArray__mrugoXXRZUEeG9bEXo9auBKw T41_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
							initLocExpr_cgen_11478(p, (*it), (&a));
							T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
							T40_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
							nimZeroMem((void*)T41_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
							T41_[0] = rdLoc_cgen_417((*d));
							T41_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, a, (*e).typ);
							T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T42_ = percent__cgen_23793(T41_, 2);
							T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T43_ = indentLine_cgen_272(p, T42_);
							add_ropes_159(T40_, T43_);
						}
						LA30_: ;
						i += ((NI) 1);
					} LA29: ;
				}
			}
		}
		goto LA11_;
		LA14_: ;
		{
			NimStringDesc* ts;
			NimStringDesc* T45_;
			NI64 T46_;
			NimStringDesc* T47_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T48_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T49_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
			T45_ = (NimStringDesc*)0;
			T46_ = (NI64)0;
			T46_ = getSize_types_3333((*(*(*p).module).g).config, (*e).typ);
			T47_ = (NimStringDesc*)0;
			T47_ = dollar__systemZdollars_6((NI64)(T46_ * IL64(8)));
			T45_ = rawNewString((T47_ ? T47_->Sup.len : 0) + 2);
appendString(T45_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_462));
appendString(T45_, T47_);
			ts = T45_;
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T48_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T49_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T49_[0] = rdLoc_cgen_417((*d));
			T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T50_ = percent__cgen_23799(T49_, 1);
			T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T51_ = indentLine_cgen_272(p, T50_);
			add_ropes_159(T48_, T51_);
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** it_2;
				tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__2;
				NI i_2;
				NI L_2;
				NI T53_;
				it_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
				colontmp__2 = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
				colontmp__2 = (*e)._kind_6.sons;
				i_2 = ((NI) 0);
				T53_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
				L_2 = T53_;
				{
					while (1) {
						if (!(i_2 < L_2)) goto LA55;
						it_2 = &colontmp__2->data[i_2];
						{
							tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T61_;
							tyArray__duFhZXIIlrbrM62cWjNekg T62_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
							if (!((*(*it_2)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA58_;
							T60_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
							T60_ = getSysType_magicsys_60((*(*(*p).module).g).graph, unknownLineInfo_lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
							getTemp_cgen_7347(p, T60_, (&idx), NIM_FALSE);
							initLocExpr_cgen_11478(p, (*(*it_2))._kind_6.sons->data[((NI) 0)], (&a));
							initLocExpr_cgen_11478(p, (*(*it_2))._kind_6.sons->data[((NI) 1)], (&b));
							T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
							T61_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
							nimZeroMem((void*)T62_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
							T62_[0] = rdLoc_cgen_417(idx);
							T62_[1] = rdLoc_cgen_417((*d));
							T62_[2] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, a, (*e).typ);
							T62_[3] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, b, (*e).typ);
							T62_[4] = rope_ropes_109(ts);
							T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T63_ = percent__cgen_23814(T62_, 5);
							T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T64_ = indentLine_cgen_272(p, T63_);
							add_ropes_159(T61_, T64_);
						}
						goto LA56_;
						LA58_: ;
						{
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T66_;
							tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T67_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
							initLocExpr_cgen_11478(p, (*it_2), (&a));
							T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
							T66_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
							nimZeroMem((void*)T67_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
							T67_[0] = rdLoc_cgen_417((*d));
							T67_[1] = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, a, (*e).typ);
							T67_[2] = rope_ropes_109(ts);
							T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T68_ = percent__cgen_23819(T67_, 3);
							T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T69_ = indentLine_cgen_272(p, T68_);
							add_ropes_159(T66_, T69_);
						}
						LA56_: ;
						i_2 += ((NI) 1);
					} LA55: ;
				}
			}
		}
		LA11_: ;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, exprComplexConst_cgen_24173)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	NI id;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	t = (*n).typ;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T1_);
	id = nodeTableTestOrSet_treetab_198((&(*(*p).module).dataCache), n, ((NI) ((*(*p).module).labels)));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = rope_ropes_115(((NI64) (id)));
	tmp = amp__ropes_128((*(*p).module).tmpBase, T2_);
	{
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		if (!(id == ((NI) ((*(*p).module).labels)))) goto LA5_;
		(*(*p).module).labels += ((NI) 1);
		nimZeroMem((void*)T7_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T7_[0] = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10));
		T7_[1] = tmp;
		T7_[2] = genBracedInit_cgen_13763(p, n, NIM_TRUE, t);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__cgen_17744(T7_, 3);
		add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T8_);
	}
	LA5_: ;
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA11_;
		fillLoc_cgen_65(d, ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 8), n, tmp, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1));
	}
	goto LA9_;
	LA11_: ;
	{
		putDataIntoDest_cgen_18607(p, d, n, tmp);
		{
			if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)))) goto LA16_;
			(*d).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1);
		}
		LA16_: ;
	}
	LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, handleConstExpr_cgen_20956)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NI T6_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0));
		if (!(T4_)) goto LA5_;
		T6_ = (NI)0;
		T6_ = len_ast_3197(n);
		T4_ = (((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38)) < T6_);
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA7_;
		T3_ = isDeepConstExpr_trees_171(n, NIM_FALSE);
		LA7_: ;
		if (!T3_) goto LA8_;
		rawConstExpr_cgen_10369(p, n, d);
		result = NIM_TRUE;
	}
	goto LA1_;
	LA8_: ;
	{
		result = NIM_FALSE;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr_cgen_23914)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA arr;
	nimZeroMem((void*)(&arr), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = handleConstExpr_cgen_20956(p, n, d);
		if (!!(T3_)) goto LA4_;
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA8_;
			getTemp_cgen_7347(p, (*n).typ, d, NIM_FALSE);
		}
		LA8_: ;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
					if (!(i_2 < colontmp_)) goto LA12;
					i = i_2;
					T13_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T13_ = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
					T14_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T14_ = elemType_types_263(T13_);
					T15_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T15_ = lodeTyp_cgen_86(T14_);
					initLoc_cgen_60((&arr), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), T15_, (*d).storage);
					nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T16_[0] = rdLoc_cgen_417((*d));
					T16_[1] = intLiteral_cgen_11466(((NI64) (i)));
					arr.r = percent__cgen_6779(T16_, 2);
					expr_cgen_11455(p, (*n)._kind_6.sons->data[i], (&arr));
					i_2 += ((NI) 1);
				} LA12: ;
			}
		}
	}
	LA4_: ;
}
static N_INLINE(NIM_BOOL, isRoutine_ast_4675)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
	return result;
}
static N_INLINE(NIM_BOOL, isConstClosure_cgen_23857)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
	if (!(T2_)) goto LA3_;
	T2_ = isRoutine_ast_4675((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
	LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genClosure_cgen_23871)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	{
		NIM_BOOL T3_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = isConstClosure_cgen_23857(n);
		if (!T3_) goto LA4_;
		(*(*p).module).labels += ((NI) 1);
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = rope_ropes_115(((NI64) ((*(*p).module).labels)));
		tmp = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_904), T6_);
		nimZeroMem((void*)T7_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
		T7_[0] = getTypeDesc_cgen_6635((*p).module, (*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		T7_[1] = tmp;
		T7_[2] = genBracedInit_cgen_13763(p, n, NIM_TRUE, (*n).typ);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__cgen_17744(T7_, 3);
		add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 9))- 0], T8_);
		putIntoDest_cgen_18621(p, d, n, tmp, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1));
	}
	goto LA1_;
	LA4_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp_2;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T15_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		nimZeroMem((void*)(&tmp_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
		initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 1)], (&b));
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
			T12_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T12_ = skipConv_types_3594((*n)._kind_6.sons->data[((NI) 0)]);
			if (!((*T12_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155))) goto LA13_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_905), TM__MQdRN7fpbG7rPm4JpVVAhA_906);
		}
		LA13_: ;
		getTemp_cgen_7347(p, (*n).typ, (&tmp_2), NIM_FALSE);
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T15_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = rdLoc_cgen_417(tmp_2);
		cgFormatValue_cgen_141((&res), T16_);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_352));
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T17_);
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = rdLoc_cgen_417(tmp_2);
		cgFormatValue_cgen_141((&res), T18_);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_907));
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rdLoc_cgen_417(b);
		cgFormatValue_cgen_141((&res), T19_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA22_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA22_: ;
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = rope_ropes_109(res);
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = indentLine_cgen_272(p, T24_);
		add_ropes_159(T15_, T25_);
		putLocIntoDest_cgen_11462(p, d, tmp_2);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13300)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_908), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr_cgen_23824)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA rec;
	nimZeroMem((void*)(&rec), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		NIM_BOOL T3_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = handleConstExpr_cgen_20956(p, n, d);
		if (!!(T3_)) goto LA4_;
		t = (*n).typ;
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		(void)(T6_);
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA9_;
			getTemp_cgen_7347(p, t, d, NIM_FALSE);
		}
		LA9_: ;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len_ast_3197(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T18_;
					if (!(i_2 < colontmp_)) goto LA13;
					i = i_2;
					it = (*n)._kind_6.sons->data[i];
					{
						if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA16_;
						it = (*it)._kind_6.sons->data[((NI) 1)];
					}
					LA16_: ;
					initLoc_cgen_60((&rec), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), it, (*d).storage);
					nimZeroMem((void*)T18_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T18_[0] = rdLoc_cgen_417((*d));
					T18_[1] = rope_ropes_115(((NI64) (i)));
					rec.r = percent__cgen_13300(T18_, 2);
					rec.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 9)) & 15);
					expr_cgen_11455(p, it, (&rec));
					i_2 += ((NI) 1);
				} LA13: ;
			}
		}
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupFieldAgain_cgen_19502)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* ty, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** r, tyObject_TType__facALICuu8zUj0hjvbTLFg** resTyp) {
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty_2;
	result = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
	ty_2 = ty;
	{
		while (1) {
			if (!!((ty_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2;
			ty_2 = skipTypes_ast_3734(ty_2, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
			result = lookupInRecord_astalgo_84((*ty_2).n, (*field).name);
			{
				if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA5_;
				{
					if (!!((resTyp == ((tyObject_TType__facALICuu8zUj0hjvbTLFg**) NIM_NIL)))) goto LA9_;
					unsureAsgnRef((void**) (&(*resTyp)), ty_2);
				}
				LA9_: ;
				goto LA1;
			}
			LA5_: ;
			{
				NIM_BOOL T13_;
				T13_ = (NIM_BOOL)0;
				T13_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
				if (T13_) goto LA14_;
				T13_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
				LA14_: ;
				if (!!(T13_)) goto LA15_;
				add_ropes_162(r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_105));
			}
			LA15_: ;
			ty_2 = (*ty_2).sons->data[((NI) 0)];
		} LA2: ;
	} LA1: ;
	{
		if (!(result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA19_;
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*field).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_909), TM__MQdRN7fpbG7rPm4JpVVAhA_910);
	}
	LA19_: ;
	return result;
}
static N_INLINE(NimStringDesc*, toFileLineCol_msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	result = (NimStringDesc*)0;
	T1_ = (NimStringDesc*)0;
	T1_ = toMsgFilename_msgs_602(conf, info.fileIndex);
	result = resizeString(result, (T1_ ? T1_->Sup.len : 0) + 0);
appendString(result, T1_);
	{
		if (!(((NI) 0) < ((NI) (info.line)))) goto LA4_;
		result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		addInt_stdZprivateZdigitsutils_189((&result), ((NI) (info.line)));
		{
			if (!(((NI) 0) < (NI)(((NI) (info.col)) + ((NI) 1)))) goto LA8_;
			result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			addInt_stdZprivateZdigitsutils_189((&result), (NI)(((NI) (info.col)) + ((NI) 1)));
		}
		LA8_: ;
		result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt__cgen_19689)(tyTuple__47w2DboNEPf69aPgubZdd7Q x, tyTuple__47w2DboNEPf69aPgubZdd7Q y) {
	NIM_BOOL result;
	NI c;
	NI c_2;
	NI c_3;
{	result = (NIM_BOOL)0;
	c = cmp_system_7463(x.Field0, y.Field0);
	{
		if (!(c < ((NI) 0))) goto LA3_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(((NI) 0) < c)) goto LA7_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA7_: ;
	c_2 = cmp_system_7463(x.Field1, y.Field1);
	{
		if (!(c_2 < ((NI) 0))) goto LA11_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA11_: ;
	{
		if (!(((NI) 0) < c_2)) goto LA15_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA15_: ;
	c_3 = cmp_system_7463(x.Field2, y.Field2);
	{
		if (!(c_3 < ((NI) 0))) goto LA19_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA19_: ;
	{
		if (!(((NI) 0) < c_3)) goto LA23_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA23_: ;
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genFieldCheck_cgen_19604)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* obj, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA test;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA u;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA v;
	nimZeroMem((void*)(&test), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&u), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&v), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(e);
		i_2 = ((NI) 1);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* disc;
				NimStringDesc* msg;
				NimStringDesc* T14_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* strLit;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* discIndex;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T29_;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				it = (*e)._kind_6.sons->data[i];
				op = (*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
				{
					if (!((*op).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96))) goto LA6_;
					it = (*it)._kind_6.sons->data[((NI) 1)];
				}
				LA6_: ;
				disc = skipConv_types_3594((*it)._kind_6.sons->data[((NI) 2)]);
				initLoc_cgen_60((&test), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0), it, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
				initLocExpr_cgen_11478(p, (*it)._kind_6.sons->data[((NI) 1)], (&u));
				initLoc_cgen_60((&v), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), disc, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				v.r = obj;
				add_ropes_162(&v.r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
				add_ropes_159(&v.r, (*(*disc)._kind_4.sym).loc.r);
				genInExprAux_cgen_19598(p, it, (&u), (&v), (&test));
				msg = ((NimStringDesc*) NIM_NIL);
				{
					NimStringDesc* T12_;
					NimStringDesc* T13_;
					if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 36))&63U)))!=0)) goto LA10_;
					T12_ = (NimStringDesc*)0;
					T13_ = (NimStringDesc*)0;
					T13_ = toFileLineCol_msgs_619((*(*(*p).module).g).config, (*e).info);
					T12_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 1);
appendString(T12_, T13_);
appendString(T12_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
					msg = resizeString(msg, (T12_ ? T12_->Sup.len : 0) + 0);
appendString(msg, T12_);
				}
				LA10_: ;
				T14_ = (NimStringDesc*)0;
				T14_ = genFieldDefect_astmsgs_61((*(*(*p).module).g).config, (*(*field).name).s, (*disc)._kind_4.sym);
				msg = resizeString(msg, (T14_ ? T14_->Sup.len : 0) + 0);
appendString(msg, T14_);
				T15_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T15_ = newStrNode_ast_3812(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), msg);
				strLit = genStringLiteral_cgen_600((*p).module, T15_);
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T20_;
					NimStringDesc* res;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
					if (!((*op).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96))) goto LA18_;
					T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T20_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res = rawNewString(((NI) 80));
					res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
					T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T21_ = rdLoc_cgen_417(test);
					cgFormatValue_cgen_141((&res), T21_);
					res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_349));
					T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T22_ = rope_ropes_109(res);
					T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T23_ = indentLine_cgen_272(p, T22_);
					add_ropes_159(T20_, T23_);
				}
				goto LA16_;
				LA18_: ;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T25_;
					NimStringDesc* res_2;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
					T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T25_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res_2 = rawNewString(((NI) 80));
					res_2 = resizeString(res_2, 6);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_423));
					T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T26_ = rdLoc_cgen_417(test);
					cgFormatValue_cgen_141((&res_2), T26_);
					res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_424));
					T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T27_ = rope_ropes_109(res_2);
					T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T28_ = indentLine_cgen_272(p, T27_);
					add_ropes_159(T25_, T28_);
				}
				LA16_: ;
				T29_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T29_ = t_cgen_79(u);
				discIndex = rdSetElemLoc_cgen_17544((*(*(*p).module).g).config, v, T29_);
				{
					if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA32_;
					{
						tyTuple__47w2DboNEPf69aPgubZdd7Q T36_;
						NIM_BOOL T37_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T40_;
						NimStringDesc* res_3;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
						T36_ = getStdlibVersion_options_3887((*(*(*p).module).g).config);
						T37_ = (NIM_BOOL)0;
						T37_ = lt__cgen_19689(T36_, TM__MQdRN7fpbG7rPm4JpVVAhA_913);
						if (!T37_) goto LA38_;
						T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T40_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_3 = rawNewString(((NI) 80));
						res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_914));
						T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T41_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_915));
						cgFormatValue_cgen_141((&res_3), T41_);
						res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
						cgFormatValue_cgen_141((&res_3), strLit);
						res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
						T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T42_ = raiseInstr_cgen_406(p);
						cgFormatValue_cgen_141((&res_3), T42_);
						res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_302));
						{
							if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA45_;
							res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA45_: ;
						T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T47_ = rope_ropes_109(res_3);
						T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T48_ = indentLine_cgen_272(p, T47_);
						add_ropes_159(T40_, T48_);
					}
					goto LA34_;
					LA38_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T50_;
						NimStringDesc* res_4;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
						T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T50_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_4 = rawNewString(((NI) 80));
						res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_914));
						T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T51_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_916));
						cgFormatValue_cgen_141((&res_4), T51_);
						res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
						cgFormatValue_cgen_141((&res_4), strLit);
						res_4 = resizeString(res_4, 6);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_917));
						cgFormatValue_cgen_141((&res_4), discIndex);
						res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
						T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T52_ = raiseInstr_cgen_406(p);
						cgFormatValue_cgen_141((&res_4), T52_);
						res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_302));
						{
							if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA55_;
							res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA55_: ;
						T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T57_ = rope_ropes_109(res_4);
						T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T58_ = indentLine_cgen_272(p, T57_);
						add_ropes_159(T50_, T58_);
					}
					LA34_: ;
				}
				goto LA30_;
				LA32_: ;
				{
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA first;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* firstLit;
					union { tyObject_Int128__9a9axPfb75jdWY25AamJewkA source; NI dest; } LOC60;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* discName;
					first = firstOrd_types_1353((*(*(*p).module).g).config, (*(*disc)._kind_4.sym).typ);
					LOC60.source = first;
					firstLit = int64Literal_cgen_17548(((NI64) (LOC60.dest)));
					discName = genTypeInfo_cgen_10284((*(*(*p).module).g).config, (*p).module, (*(*disc)._kind_4.sym).typ, (*e).info);
					{
						tyTuple__47w2DboNEPf69aPgubZdd7Q T63_;
						NIM_BOOL T64_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T67_;
						NimStringDesc* res_5;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
						T63_ = getStdlibVersion_options_3887((*(*(*p).module).g).config);
						T64_ = (NIM_BOOL)0;
						T64_ = lt__cgen_19689(T63_, TM__MQdRN7fpbG7rPm4JpVVAhA_913);
						if (!T64_) goto LA65_;
						T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T67_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_5 = rawNewString(((NI) 80));
						res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_914));
						T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T68_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_915));
						cgFormatValue_cgen_141((&res_5), T68_);
						res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
						cgFormatValue_cgen_141((&res_5), strLit);
						res_5 = resizeString(res_5, 3);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
						T69_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T69_ = raiseInstr_cgen_406(p);
						cgFormatValue_cgen_141((&res_5), T69_);
						res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_302));
						{
							if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA72_;
							res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA72_: ;
						T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T74_ = rope_ropes_109(res_5);
						T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T75_ = indentLine_cgen_272(p, T74_);
						add_ropes_159(T67_, T75_);
					}
					goto LA61_;
					LA65_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T77_;
						NimStringDesc* res_6;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T80_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T86_;
						T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T77_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_6 = rawNewString(((NI) 80));
						res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_914));
						T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T78_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_916));
						cgFormatValue_cgen_141((&res_6), T78_);
						res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
						cgFormatValue_cgen_141((&res_6), strLit);
						res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
						T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T79_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_918));
						cgFormatValue_cgen_141((&res_6), T79_);
						res_6 = resizeString(res_6, 6);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_919));
						cgFormatValue_cgen_141((&res_6), discIndex);
						res_6 = resizeString(res_6, 8);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_920));
						cgFormatValue_cgen_141((&res_6), firstLit);
						res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
						cgFormatValue_cgen_141((&res_6), discName);
						res_6 = resizeString(res_6, 4);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_921));
						T80_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T80_ = raiseInstr_cgen_406(p);
						cgFormatValue_cgen_141((&res_6), T80_);
						res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_302));
						{
							if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA83_;
							res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA83_: ;
						T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T85_ = rope_ropes_109(res_6);
						T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T86_ = indentLine_cgen_272(p, T85_);
						add_ropes_159(T77_, T86_);
					}
					LA61_: ;
				}
				LA30_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genObjConstr_cgen_10365)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	NIM_BOOL isRef;
	NIM_BOOL useTemp;
	NIM_BOOL T14_;
	NIM_BOOL T15_;
	tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w T18_;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
{	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T4_) goto LA5_;
		T4_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA5_: ;
		T3_ = !(T4_);
		if (!(T3_)) goto LA6_;
		T3_ = !((((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0));
		LA6_: ;
		if (!T3_) goto LA7_;
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = handleConstExpr_cgen_20956(p, e, d);
			if (!T11_) goto LA12_;
			goto BeforeRet_;
		}
		LA12_: ;
	}
	LA7_: ;
	t = skipTypes_ast_3734((*e).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	isRef = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
	T14_ = (NIM_BOOL)0;
	T15_ = (NIM_BOOL)0;
	T15_ = isRef;
	if (T15_) goto LA16_;
	T15_ = !(((62 &((NU16)1<<((NU)((*d).k)&15U)))!=0));
	LA16_: ;
	T14_ = T15_;
	if (T14_) goto LA17_;
	T18_ = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
	T18_ = isPartOf_aliases_129((*d).lode, e);
	T14_ = !((T18_ == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)));
	LA17_: ;
	useTemp = T14_;
	nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	r = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!useTemp) goto LA21_;
		getTemp_cgen_7347(p, t, (&tmp), NIM_FALSE);
		r = rdLoc_cgen_417(tmp);
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T28_;
			if (!isRef) goto LA25_;
			rawGenNew_cgen_20599(p, (&tmp), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL), !((((*e).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1))&31U)))!=0)));
			T27_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T27_ = lastSon_ast_3742(t);
			t = skipTypes_ast_3734(T27_, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
			nimZeroMem((void*)T28_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T28_[0] = r;
			r = percent__cgen_424(T28_, 1);
			gcUsage_cgen_20327((*(*(*p).module).g).config, e);
		}
		goto LA23_;
		LA25_: ;
		{
			constructLoc_cgen_10918(p, (&tmp), NIM_FALSE);
		}
		LA23_: ;
	}
	goto LA19_;
	LA21_: ;
	{
		resetLoc_cgen_10828(p, d);
		r = rdLoc_cgen_417((*d));
	}
	LA19_: ;
	T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T31_ = getTypeDesc_cgen_6635((*p).module, t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T31_);
	ty = t;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(e);
		i_2 = ((NI) 1);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp2;
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
				if (!(i_2 < colontmp_)) goto LA34;
				i = i_2;
				it = (*e)._kind_6.sons->data[i];
				nimZeroMem((void*)(&tmp2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				tmp2.r = r;
				field = lookupFieldAgain_cgen_19502(p, ty, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym, &tmp2.r, ((tyObject_TType__facALICuu8zUj0hjvbTLFg**) NIM_NIL));
				{
					if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA37_;
					fillObjectFields_cgen_3769((*p).module, ty);
				}
				LA37_: ;
				{
					if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA41_;
					internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_911), TM__MQdRN7fpbG7rPm4JpVVAhA_912);
				}
				LA41_: ;
				{
					NIM_BOOL T45_;
					NI T46_;
					T45_ = (NIM_BOOL)0;
					T46_ = (NI)0;
					T46_ = len_ast_3197(it);
					T45_ = (T46_ == ((NI) 3));
					if (!(T45_)) goto LA47_;
					T45_ = (((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 2))&31U)))!=0);
					LA47_: ;
					if (!T45_) goto LA48_;
					genFieldCheck_cgen_19604(p, (*it)._kind_6.sons->data[((NI) 2)], r, field);
				}
				LA48_: ;
				add_ropes_162(&tmp2.r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
				add_ropes_159(&tmp2.r, (*field).loc.r);
				{
					if (!useTemp) goto LA52_;
					tmp2.k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1);
					{
						if (!isRef) goto LA56_;
						tmp2.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3);
					}
					goto LA54_;
					LA56_: ;
					{
						tmp2.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2);
					}
					LA54_: ;
				}
				goto LA50_;
				LA52_: ;
				{
					tmp2.k = (*d).k;
					{
						if (!isRef) goto LA62_;
						tmp2.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3);
					}
					goto LA60_;
					LA62_: ;
					{
						tmp2.storage = (*d).storage;
					}
					LA60_: ;
				}
				LA50_: ;
				tmp2.lode = (*it)._kind_6.sons->data[((NI) 1)];
				expr_cgen_11455(p, (*it)._kind_6.sons->data[((NI) 1)], (&tmp2));
				i_2 += ((NI) 1);
			} LA34: ;
		}
	}
	{
		if (!useTemp) goto LA67_;
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA71_;
			genericAssign((void*)(&(*d)), (void*)(&tmp), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
		}
		goto LA69_;
		LA71_: ;
		{
			genAssignment_cgen_10373(p, (*d), tmp, 0);
		}
		LA69_: ;
	}
	LA67_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22731)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_922), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_22751)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_926), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genCast_cgen_22709)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* destt;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* srct;
	destt = skipTypes_ast_3734((*e).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	srct = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 1)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_573);
	{
		NIM_BOOL T3_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lbl;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T8_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*destt).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*destt).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*destt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*destt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*destt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
		if (T3_) goto LA4_;
		T3_ = ((*srct).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*srct).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*srct).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*srct).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*srct).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).labels += ((NI) 1);
		lbl = rope_ropes_115(((NI64) ((*p).labels)));
		nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		nimZeroMem((void*)T7_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T7_[0] = lbl;
		tmp.r = percent__cgen_22731(T7_, 1);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T8_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_923));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = getTypeDesc_cgen_6635((*p).module, (*(*e)._kind_6.sons->data[((NI) 1)]).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T9_);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_924));
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = getTypeDesc_cgen_6635((*p).module, (*e).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 12);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_925));
		cgFormatValue_cgen_141((&res), lbl);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA13_: ;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rope_ropes_109(res);
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = indentLine_cgen_272(p, T15_);
		add_ropes_159(T8_, T16_);
		tmp.k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6);
		tmp.lode = lodeTyp_cgen_86(srct);
		tmp.storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2);
		tmp.flags = 0;
		expr_cgen_11455(p, (*e)._kind_6.sons->data[((NI) 1)], (&tmp));
		nimZeroMem((void*)T17_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T17_[0] = lbl;
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = percent__cgen_22751(T17_, 1);
		putIntoDest_cgen_18621(p, d, e, T18_, tmp.storage);
	}
	goto LA1_;
	LA5_: ;
	{
		genSomeCast_cgen_22622(p, e, d);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genConv_cgen_22830)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* destType;
	destType = skipTypes_ast_3734((*e).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_927);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameBackendType_types_2650(destType, (*(*e)._kind_6.sons->data[((NI) 1)]).typ);
		if (!T3_) goto LA4_;
		expr_cgen_11455(p, (*e)._kind_6.sons->data[((NI) 1)], d);
	}
	goto LA1_;
	LA4_: ;
	{
		genSomeCast_cgen_22622(p, e, d);
	}
	LA1_: ;
}
static N_INLINE(NIM_BOOL, isCppRef_cgen_19251)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
	if (T3_) goto LA4_;
	T3_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
	LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA5_;
	T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T6_ = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	T2_ = ((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
	LA5_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA7_;
	T8_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T8_ = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	T1_ = !((((*T8_).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0));
	LA7_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genAddr_cgen_19429)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		T3_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T3_ = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
		if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA4_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 0)], (&a));
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_472), a.r);
		putIntoDest_cgen_18621(p, d, e, T6_, a.storage);
	}
	goto LA1_;
	LA4_: ;
	{
		NIM_BOOL T8_;
		tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T9_;
		tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w T15_;
		T8_ = (NIM_BOOL)0;
		T9_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
		{
			if (!((*(*e)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA12_;
			T9_ = (*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind;
		}
		goto LA10_;
		LA12_: ;
		{
			T9_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
		}
		LA10_: ;
		T15_ = (tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w)0;
		T15_ = mapType_cgen_1201((*(*(*p).module).g).config, (*(*e)._kind_6.sons->data[((NI) 0)]).typ, T9_);
		T8_ = (T15_ == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 17));
		if (T8_) goto LA16_;
		T8_ = isCppRef_cgen_19251(p, (*e).typ);
		LA16_: ;
		if (!T8_) goto LA17_;
		expr_cgen_11455(p, (*e)._kind_6.sons->data[((NI) 0)], d);
	}
	goto LA1_;
	LA17_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 0)], (&a_2));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = addrLoc_cgen_10307((*(*(*p).module).g).config, a_2);
		putIntoDest_cgen_18621(p, d, e, T20_, a_2.storage);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genUncheckedArrayElem_cgen_19824)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, x, (&a));
	initLocExpr_cgen_11478(p, y, (&b));
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		(*d).storage = a.storage;
	}
	LA3_: ;
	res = rawNewString(((NI) 80));
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T5_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res), T5_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = rdCharLoc_cgen_10347(b);
	cgFormatValue_cgen_141((&res), T6_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = rope_ropes_109(res);
	putIntoDest_cgen_18621(p, d, n, T7_, a.storage);
}
N_LIB_PRIVATE N_NIMCALL(void, genArrayElem_cgen_19845)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* first;
	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T2_;
	NimStringDesc* res_3;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T94_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T95_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T96_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, x, (&a));
	initLocExpr_cgen_11478(p, y, (&b));
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(a);
	ty = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_929);
	T2_ = firstOrd_types_1353((*(*(*p).module).g).config, ty);
	first = intLiteral_cgen_17600(T2_);
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = (((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0);
		if (!(T5_)) goto LA6_;
		T5_ = !(((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49)));
		LA6_: ;
		if (!T5_) goto LA7_;
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = isConstExpr_trees_146(y);
			if (!!(T11_)) goto LA12_;
			{
				NIM_BOOL T16_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T17_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_;
				T16_ = (NIM_BOOL)0;
				T17_ = firstOrd_types_1353((*(*(*p).module).g).config, ty);
				T16_ = eqeq__int495056_759(T17_, IL64(0));
				if (!(T16_)) goto LA18_;
				T19_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
				T16_ = lteq__int495056_752(IL64(0), T19_);
				LA18_: ;
				if (!T16_) goto LA20_;
				{
					NIM_BOOL T24_;
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T26_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T27_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T29_;
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T30_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T31_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T34_;
					NimStringDesc* res;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T36_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T40_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
					T24_ = (NIM_BOOL)0;
					T25_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T25_ = t_cgen_79(b);
					T26_ = firstOrd_types_1353((*(*(*p).module).g).config, T25_);
					T27_ = firstOrd_types_1353((*(*(*p).module).g).config, ty);
					T24_ = lt__int495056_305(T26_, T27_);
					if (T24_) goto LA28_;
					T29_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
					T30_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T30_ = t_cgen_79(b);
					T31_ = lastOrd_types_1470((*(*(*p).module).g).config, T30_);
					T24_ = lt__int495056_305(T29_, T31_);
					LA28_: ;
					if (!T24_) goto LA32_;
					T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T34_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res = rawNewString(((NI) 80));
					res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_930));
					T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T35_ = rdCharLoc_cgen_10347(b);
					cgFormatValue_cgen_141((&res), T35_);
					res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_931));
					T36_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
					T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T37_ = intLiteral_cgen_17600(T36_);
					cgFormatValue_cgen_141((&res), T37_);
					res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_579));
					T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T38_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_932));
					cgFormatValue_cgen_141((&res), T38_);
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
					T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T39_ = rdCharLoc_cgen_10347(b);
					cgFormatValue_cgen_141((&res), T39_);
					res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
					T40_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
					T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T41_ = intLiteral_cgen_17600(T40_);
					cgFormatValue_cgen_141((&res), T41_);
					res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
					T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T42_ = raiseInstr_cgen_406(p);
					cgFormatValue_cgen_141((&res), T42_);
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA45_;
						res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA45_: ;
					T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T47_ = rope_ropes_109(res);
					T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T48_ = indentLine_cgen_272(p, T47_);
					add_ropes_159(T34_, T48_);
				}
				LA32_: ;
			}
			goto LA14_;
			LA20_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T50_;
				NimStringDesc* res_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T53_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T57_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
				T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T50_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_2 = rawNewString(((NI) 80));
				res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T51_ = rdCharLoc_cgen_10347(b);
				cgFormatValue_cgen_141((&res_2), T51_);
				res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_172));
				cgFormatValue_cgen_141((&res_2), first);
				res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_577));
				T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T52_ = rdCharLoc_cgen_10347(b);
				cgFormatValue_cgen_141((&res_2), T52_);
				res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_578));
				T53_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
				T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T54_ = intLiteral_cgen_17600(T53_);
				cgFormatValue_cgen_141((&res_2), T54_);
				res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_638));
				T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T55_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_933));
				cgFormatValue_cgen_141((&res_2), T55_);
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T56_ = rdCharLoc_cgen_10347(b);
				cgFormatValue_cgen_141((&res_2), T56_);
				res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				cgFormatValue_cgen_141((&res_2), first);
				res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				T57_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
				T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T58_ = intLiteral_cgen_17600(T57_);
				cgFormatValue_cgen_141((&res_2), T58_);
				res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
				T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T59_ = raiseInstr_cgen_406(p);
				cgFormatValue_cgen_141((&res_2), T59_);
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA62_;
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA62_: ;
				T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T64_ = rope_ropes_109(res_2);
				T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T65_ = indentLine_cgen_272(p, T64_);
				add_ropes_159(T50_, T65_);
			}
			LA14_: ;
		}
		goto LA9_;
		LA12_: ;
		{
			tyObject_Int128__9a9axPfb75jdWY25AamJewkA idx;
			idx = getOrdValue_types_161(y, Max_int495056_27);
			{
				NIM_BOOL T69_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T70_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T72_;
				NimStringDesc* T75_;
				T69_ = (NIM_BOOL)0;
				T70_ = firstOrd_types_1353((*(*(*p).module).g).config, ty);
				T69_ = lt__int495056_305(idx, T70_);
				if (T69_) goto LA71_;
				T72_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
				T69_ = lt__int495056_305(T72_, idx);
				LA71_: ;
				if (!T69_) goto LA73_;
				T75_ = (NimStringDesc*)0;
				{
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T78_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T79_;
					NIM_BOOL T80_;
					T78_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
					T79_ = firstOrd_types_1353((*(*(*p).module).g).config, ty);
					T80_ = (NIM_BOOL)0;
					T80_ = lt__int495056_305(T78_, T79_);
					if (!T80_) goto LA81_;
					T75_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_934));
				}
				goto LA76_;
				LA81_: ;
				{
					NimStringDesc* T84_;
					NimStringDesc* T85_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T86_;
					NimStringDesc* T87_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T88_;
					NimStringDesc* T89_;
					T84_ = (NimStringDesc*)0;
					T85_ = (NimStringDesc*)0;
					T85_ = dollar__int495056_53(idx);
					T86_ = firstOrd_types_1353((*(*(*p).module).g).config, ty);
					T87_ = (NimStringDesc*)0;
					T87_ = dollar__int495056_53(T86_);
					T88_ = lastOrd_types_1470((*(*(*p).module).g).config, ty);
					T89_ = (NimStringDesc*)0;
					T89_ = dollar__int495056_53(T88_);
					T84_ = rawNewString((T85_ ? T85_->Sup.len : 0) + (T87_ ? T87_->Sup.len : 0) + (T89_ ? T89_->Sup.len : 0) + 18);
appendString(T84_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_935));
appendString(T84_, T85_);
appendString(T84_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_936));
appendString(T84_, T87_);
appendString(T84_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_937));
appendString(T84_, T89_);
					T75_ = T84_;
				}
				LA76_: ;
				liMessage_msgs_1118((*(*(*p).module).g).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T75_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_938, NIM_FALSE);
			}
			LA73_: ;
		}
		LA9_: ;
	}
	LA7_: ;
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA92_;
		(*d).storage = a.storage;
	}
	LA92_: ;
	res_3 = rawNewString(((NI) 80));
	T94_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T94_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res_3), T94_);
	res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_939));
	T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T95_ = rdCharLoc_cgen_10347(b);
	cgFormatValue_cgen_141((&res_3), T95_);
	res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_940));
	cgFormatValue_cgen_141((&res_3), first);
	res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
	T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T96_ = rope_ropes_109(res_3);
	putIntoDest_cgen_18621(p, d, n, T96_, a.storage);
}
N_LIB_PRIVATE N_NIMCALL(void, genOpenArrayElem_cgen_19992)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, x, (&a));
	initLocExpr_cgen_11478(p, y, (&b));
	{
		NIM_BOOL T3_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
		T3_ = (NIM_BOOL)0;
		T3_ = reifiedOpenArray_cgen_11733(x);
		if (!!(T3_)) goto LA4_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
			if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0)) goto LA8_;
			T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_930));
			T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T11_ = rdCharLoc_cgen_10347(b);
			cgFormatValue_cgen_141((&res), T11_);
			res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_563));
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res), T12_);
			res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_941));
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_932));
			cgFormatValue_cgen_141((&res), T13_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = rdCharLoc_cgen_10347(b);
			cgFormatValue_cgen_141((&res), T14_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_942));
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res), T15_);
			res = resizeString(res, 10);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_943));
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res), T16_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA19_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA19_: ;
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T21_ = rope_ropes_109(res);
			T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T22_ = indentLine_cgen_272(p, T21_);
			add_ropes_159(T10_, T22_);
		}
		LA8_: ;
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA25_;
			(*d).storage = a.storage;
		}
		LA25_: ;
		res_2 = rawNewString(((NI) 80));
		T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T27_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_2), T27_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res_2), T28_);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = rope_ropes_109(res_2);
		putIntoDest_cgen_18621(p, d, n, T29_, a.storage);
	}
	goto LA1_;
	LA4_: ;
	{
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T35_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
			if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0)) goto LA33_;
			T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T35_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 9);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_930));
			T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T36_ = rdCharLoc_cgen_10347(b);
			cgFormatValue_cgen_141((&res_3), T36_);
			res_3 = resizeString(res_3, 10);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_563));
			T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T37_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res_3), T37_);
			res_3 = resizeString(res_3, 11);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_944));
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_932));
			cgFormatValue_cgen_141((&res_3), T38_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = rdCharLoc_cgen_10347(b);
			cgFormatValue_cgen_141((&res_3), T39_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_942));
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = rdLoc_cgen_417(a);
			cgFormatValue_cgen_141((&res_3), T40_);
			res_3 = resizeString(res_3, 12);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_945));
			T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T41_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_3), T41_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA44_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA44_: ;
			T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T46_ = rope_ropes_109(res_3);
			T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T47_ = indentLine_cgen_272(p, T46_);
			add_ropes_159(T35_, T47_);
		}
		LA33_: ;
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA50_;
			(*d).storage = a.storage;
		}
		LA50_: ;
		res_4 = rawNewString(((NI) 80));
		T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T52_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res_4), T52_);
		res_4 = resizeString(res_4, 8);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_946));
		T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T53_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res_4), T53_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
		T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = rope_ropes_109(res_4);
		putIntoDest_cgen_18621(p, d, n, T54_, a.storage);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSeqElem_cgen_20060)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	NimStringDesc* res_4;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, x, (&a));
	initLocExpr_cgen_11478(p, y, (&b));
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(a);
	ty = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA4_;
		T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T6_ = lastSon_ast_3742(ty);
		ty = skipTypes_ast_3734(T6_, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	}
	LA4_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T11_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0)) goto LA9_;
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T11_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_930));
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res), T12_);
		res = resizeString(res, 9);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_580));
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = lenExpr_cgen_440(p, a);
		cgFormatValue_cgen_141((&res), T13_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_638));
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_932));
		cgFormatValue_cgen_141((&res), T14_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rdCharLoc_cgen_10347(b);
		cgFormatValue_cgen_141((&res), T15_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_942));
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = lenExpr_cgen_440(p, a);
		cgFormatValue_cgen_141((&res), T16_);
		res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_947));
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = raiseInstr_cgen_406(p);
		cgFormatValue_cgen_141((&res), T17_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA20_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA20_: ;
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = rope_ropes_109(res);
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = indentLine_cgen_272(p, T22_);
		add_ropes_159(T11_, T23_);
	}
	LA9_: ;
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA26_;
		(*d).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3);
	}
	LA26_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T30_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
		NimStringDesc* res_2;
		T30_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T30_ = t_cgen_79(a);
		T31_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T31_ = skipTypes_ast_3734(T30_, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
		if (!((*T31_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T31_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA32_;
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_83));
		cgFormatValue_cgen_141((&res_2), a.r);
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		a.r = rope_ropes_109(res_2);
	}
	LA32_: ;
	{
		NIM_BOOL T36_;
		NIM_BOOL T37_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T42_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
		T36_ = (NIM_BOOL)0;
		T37_ = (NIM_BOOL)0;
		T37_ = (((*d).flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 10))&15U)))!=0);
		if (!(T37_)) goto LA38_;
		T37_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
		LA38_: ;
		T36_ = T37_;
		if (!(T36_)) goto LA39_;
		T36_ = (((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
		LA39_: ;
		if (!T36_) goto LA40_;
		T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T42_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_362));
		cgFormatValue_cgen_141((&res_3), T43_);
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T44_ = byRefLoc_cgen_10323(p, a);
		cgFormatValue_cgen_141((&res_3), T44_);
		res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA47_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA47_: ;
		T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T49_ = rope_ropes_109(res_3);
		T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T50_ = indentLine_cgen_272(p, T49_);
		add_ropes_159(T42_, T50_);
	}
	LA40_: ;
	res_4 = rawNewString(((NI) 80));
	T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T51_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res_4), T51_);
	T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T52_ = dataField_cgen_453(p);
	cgFormatValue_cgen_141((&res_4), T52_);
	res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
	T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T53_ = rdCharLoc_cgen_10347(b);
	cgFormatValue_cgen_141((&res_4), T53_);
	res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
	T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T54_ = rope_ropes_109(res_4);
	putIntoDest_cgen_18621(p, d, n, T54_, a.storage);
}
N_LIB_PRIVATE N_NIMCALL(void, genCStringElem_cgen_19912)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA b;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&b), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, x, (&a));
	initLocExpr_cgen_11478(p, y, (&b));
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA3_;
		(*d).storage = a.storage;
	}
	LA3_: ;
	res = rawNewString(((NI) 80));
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T5_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res), T5_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = rdCharLoc_cgen_10347(b);
	cgFormatValue_cgen_141((&res), T6_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_176));
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = rope_ropes_109(res);
	putIntoDest_cgen_18621(p, d, n, T7_, a.storage);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19497)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_951), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTupleElem_cgen_19471)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	NI i;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* tupType;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T10_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	i = (NI)0;
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 0)], (&a));
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(a);
	tupType = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_948);
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA4_;
		(*d).storage = a.storage;
	}
	LA4_: ;
	T6_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T6_ = t_cgen_79(a);
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = getTypeDesc_cgen_6635((*p).module, T6_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T7_);
	r = rdLoc_cgen_417(a);
	switch ((*(*e)._kind_6.sons->data[((NI) 1)]).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		i = ((NI) ((*(*e)._kind_6.sons->data[((NI) 1)])._kind_1.intVal));
	}
	break;
	default:
	{
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_949), TM__MQdRN7fpbG7rPm4JpVVAhA_950);
	}
	break;
	}
	nimZeroMem((void*)T10_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T10_[0] = rope_ropes_115(((NI64) (i)));
	T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T11_ = percent__cgen_19497(T10_, 1);
	add_ropes_159(&r, T11_);
	putIntoDest_cgen_18621(p, d, e, r, a.storage);
}
N_LIB_PRIVATE N_NIMCALL(void, genBracketExpr_cgen_20144)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
	ty = skipTypes_ast_3734((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_928);
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA3_;
		T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T5_ = lastSon_ast_3742(ty);
		ty = skipTypes_ast_3734(T5_, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	}
	LA3_: ;
	switch ((*ty).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
	{
		genUncheckedArrayElem_cgen_19824(p, n, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], d);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		genArrayElem_cgen_19845(p, n, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], d);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		genOpenArrayElem_cgen_19992(p, n, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], d);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		genSeqElem_cgen_20060(p, n, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], d);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
	{
		genCStringElem_cgen_19912(p, n, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], d);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		genTupleElem_cgen_19471(p, n, d);
	}
	break;
	default:
	{
		NimStringDesc* T13_;
		T13_ = (NimStringDesc*)0;
		T13_ = rawNewString((reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 21);
appendString(T13_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_952));
appendString(T13_, reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T13_, 41);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T13_, TM__MQdRN7fpbG7rPm4JpVVAhA_953);
	}
	break;
	}
	T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T14_ = getTypeDesc_cgen_6635((*p).module, (*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T14_);
}
N_LIB_PRIVATE N_NIMCALL(void, genDeref_cgen_19271)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w mt;
	tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T1_;
{	T1_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
	{
		if (!((*(*e)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
		T1_ = (*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind;
	}
	goto LA2_;
	LA4_: ;
	{
		T1_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
	}
	LA2_: ;
	mt = mapType_cgen_1201((*(*(*p).module).g).config, (*(*e)._kind_6.sons->data[((NI) 0)]).typ, T1_);
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = ((393216 &((NU32)1<<((NU)(mt)&31U)))!=0);
		if (!(T9_)) goto LA10_;
		T9_ = !((((*d).flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 9))&15U)))!=0));
		LA10_: ;
		if (!T9_) goto LA11_;
		expr_cgen_11455(p, (*e)._kind_6.sons->data[((NI) 0)], d);
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
			T15_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T15_ = skipTypes_ast_3734((*(*e)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
			if (!((*T15_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA16_;
			(*d).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3);
		}
		LA16_: ;
	}
	goto LA7_;
	LA11_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		typ = (*(*e)._kind_6.sons->data[((NI) 0)]).typ;
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
			if (!(T21_)) goto LA22_;
			T21_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
			LA22_: ;
			if (!T21_) goto LA23_;
			typ = lastSon_ast_3742(typ);
		}
		LA23_: ;
		typ = skipTypes_ast_3734(typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
		{
			NIM_BOOL T27_;
			NIM_BOOL T28_;
			NIM_BOOL T29_;
			NIM_BOOL T32_;
			T27_ = (NIM_BOOL)0;
			T28_ = (NIM_BOOL)0;
			T29_ = (NIM_BOOL)0;
			T29_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
			if (!(T29_)) goto LA30_;
			T29_ = !((((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0));
			LA30_: ;
			T28_ = T29_;
			if (!(T28_)) goto LA31_;
			T32_ = (NIM_BOOL)0;
			T32_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T32_) goto LA33_;
			T32_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA33_: ;
			T28_ = T32_;
			LA31_: ;
			T27_ = T28_;
			if (!(T27_)) goto LA34_;
			T27_ = ((*(*e)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64));
			LA34_: ;
			if (!T27_) goto LA35_;
			initLocExprSingleUse_cgen_11482(p, (*(*e)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], d);
			goto BeforeRet_;
		}
		goto LA25_;
		LA35_: ;
		{
			initLocExprSingleUse_cgen_11482(p, (*e)._kind_6.sons->data[((NI) 0)], (&a));
		}
		LA25_: ;
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA40_;
			switch ((*typ).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
			{
				(*d).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 3);
			}
			break;
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
			{
				(*d).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0);
				{
					NIM_BOOL T46_;
					NIM_BOOL T47_;
					NIM_BOOL T49_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
					T46_ = (NIM_BOOL)0;
					T47_ = (NIM_BOOL)0;
					T47_ = !((((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0));
					if (!(T47_)) goto LA48_;
					T49_ = (NIM_BOOL)0;
					T49_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
					if (T49_) goto LA50_;
					T49_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
					LA50_: ;
					T47_ = T49_;
					LA48_: ;
					T46_ = T47_;
					if (!(T46_)) goto LA51_;
					T46_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
					LA51_: ;
					if (!T46_) goto LA52_;
					T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T54_ = rdLoc_cgen_417(a);
					putIntoDest_cgen_18621(p, d, e, T54_, a.storage);
					goto BeforeRet_;
				}
				LA52_: ;
			}
			break;
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
			{
				(*d).storage = ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0);
			}
			break;
			default:
			{
				NimStringDesc* T57_;
				T57_ = (NimStringDesc*)0;
				T57_ = rawNewString((reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 9);
appendString(T57_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_954));
appendString(T57_, reprEnum((NI)(*typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, T57_, TM__MQdRN7fpbG7rPm4JpVVAhA_955);
			}
			break;
			}
		}
		goto LA38_;
		LA40_: ;
		{
			NIM_BOOL T59_;
			T59_ = (NIM_BOOL)0;
			T59_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T59_) goto LA60_;
			T59_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA60_: ;
			if (!T59_) goto LA61_;
			{
				NIM_BOOL T65_;
				NIM_BOOL T66_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
				T65_ = (NIM_BOOL)0;
				T66_ = (NIM_BOOL)0;
				T66_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
				if (!(T66_)) goto LA67_;
				T66_ = !((((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0));
				LA67_: ;
				T65_ = T66_;
				if (!(T65_)) goto LA68_;
				T65_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
				LA68_: ;
				if (!T65_) goto LA69_;
				T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T71_ = rdLoc_cgen_417(a);
				putIntoDest_cgen_18621(p, d, e, T71_, a.storage);
				goto BeforeRet_;
			}
			LA69_: ;
		}
		goto LA38_;
		LA61_: ;
		LA38_: ;
		{
			NIM_BOOL T74_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
			T74_ = (NIM_BOOL)0;
			T74_ = (mt == ((tyEnum_TCTypeKind__ceqS9bAmd9bxxuxr8tfIIw5w) 18));
			if (!(T74_)) goto LA75_;
			T74_ = (((*d).flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 9))&15U)))!=0);
			LA75_: ;
			if (!T74_) goto LA76_;
			T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T78_ = rdLoc_cgen_417(a);
			putIntoDest_cgen_18621(p, d, e, T78_, a.storage);
		}
		goto LA72_;
		LA76_: ;
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T80_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T81_;
			nimZeroMem((void*)T80_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T80_[0] = rdLoc_cgen_417(a);
			T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T81_ = percent__cgen_424(T80_, 1);
			putIntoDest_cgen_18621(p, d, e, T81_, a.storage);
		}
		LA72_: ;
	}
	LA7_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genRecordFieldAux_cgen_19456)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* a) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 0)], a);
	{
		if (!!(((*(*e)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_956), TM__MQdRN7fpbG7rPm4JpVVAhA_957);
	}
	LA3_: ;
	{
		if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA7_;
		(*d).storage = (*a).storage;
	}
	LA7_: ;
	T9_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T9_ = t_cgen_79((*a));
	T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T10_ = getTypeDesc_cgen_6635((*p).module, T9_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T10_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_19584)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_960), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genRecordField_cgen_19549)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	genRecordFieldAux_cgen_19456(p, e, d, (&a));
	r = rdLoc_cgen_417(a);
	f = (*(*e)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T1_ = t_cgen_79(a);
	ty = skipTypes_ast_3734(T1_, TM__MQdRN7fpbG7rPm4JpVVAhA_97);
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T6_[0] = rope_ropes_115(((NI64) ((*f).position)));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_19497(T6_, 1);
		add_ropes_159(&r, T7_);
		putIntoDest_cgen_18621(p, d, e, r, a.storage);
	}
	goto LA2_;
	LA4_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* rtyp;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T21_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
		rtyp = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		field = lookupFieldAgain_cgen_19502(p, ty, f, &r, &rtyp);
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = ((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
			if (!(T11_)) goto LA12_;
			T11_ = !((rtyp == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
			LA12_: ;
			if (!T11_) goto LA13_;
			fillObjectFields_cgen_3769((*p).module, rtyp);
		}
		LA13_: ;
		{
			NimStringDesc* T19_;
			NimStringDesc* T20_;
			if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA17_;
			T19_ = (NimStringDesc*)0;
			T20_ = (NimStringDesc*)0;
			T20_ = typeToString_types_50(ty, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
			T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 17);
appendString(T19_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_958));
appendString(T19_, T20_);
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, T19_, TM__MQdRN7fpbG7rPm4JpVVAhA_959);
		}
		LA17_: ;
		nimZeroMem((void*)T21_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T21_[0] = (*field).loc.r;
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T22_ = percent__cgen_19584(T21_, 1);
		add_ropes_159(&r, T22_);
		putIntoDest_cgen_18621(p, d, e, r, a.storage);
	}
	LA2_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCheckedRecordField_cgen_19777)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 2))&31U)))!=0)) goto LA3_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		genRecordFieldAux_cgen_19456(p, (*e)._kind_6.sons->data[((NI) 0)], d, (&a));
		T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T5_ = t_cgen_79(a);
		ty = skipTypes_ast_3734(T5_, TM__MQdRN7fpbG7rPm4JpVVAhA_97);
		r = rdLoc_cgen_417(a);
		f = (*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym;
		field = lookupFieldAgain_cgen_19502(p, ty, f, &r, ((tyObject_TType__facALICuu8zUj0hjvbTLFg**) NIM_NIL));
		{
			if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA8_;
			fillObjectFields_cgen_3769((*p).module, ty);
		}
		LA8_: ;
		{
			if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA12_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*e).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_909), TM__MQdRN7fpbG7rPm4JpVVAhA_961);
		}
		LA12_: ;
		genFieldCheck_cgen_19604(p, e, r, field);
		res = rawNewString(((NI) 80));
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_122));
		cgFormatValue_cgen_141((&res), (*field).loc.r);
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = rope_ropes_109(res);
		add_ropes_159(&r, T14_);
		putIntoDest_cgen_18621(p, d, (*e)._kind_6.sons->data[((NI) 0)], r, a.storage);
	}
	goto LA1_;
	LA3_: ;
	{
		genRecordField_cgen_19549(p, (*e)._kind_6.sons->data[((NI) 0)], d);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBlock_cgen_14531)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	NI oldBreakIdxX60gensym1957_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isEmptyType_ast_4778((*n).typ);
		if (!!(T3_)) goto LA4_;
		{
			if (!((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0))) goto LA8_;
			getTemp_cgen_7347(p, (*n).typ, d, NIM_FALSE);
		}
		LA8_: ;
		(*d).flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 9)) & 15);
	}
	LA4_: ;
	oldBreakIdxX60gensym1957_ = (*p).breakIdx;
	T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res = rawNewString(((NI) 80));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA13_: ;
	T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T15_ = rope_ropes_109(res);
	T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T16_ = indentLine_cgen_272(p, T15_);
	add_ropes_159(T10_, T16_);
	(*p).breakIdx = startBlockInternal_cgen_13180(p);
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA19_;
		sym = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		(*sym).loc.k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 10);
		(*sym).position = (NI)((*p).breakIdx + ((NI) 1));
	}
	LA19_: ;
	expr_cgen_11455(p, (*n)._kind_6.sons->data[((NI) 1)], d);
	endBlock_cgen_13201(p);
	(*p).breakIdx = oldBreakIdxX60gensym1957_;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_17483)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_963), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, initFrameNoDebug_cgen_17476)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* frame, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* procname, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* filename, NI line) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	NimStringDesc* res;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_406));
	(void)(T1_);
	nimZeroMem((void*)T2_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T2_[0] = frame;
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = percent__cgen_17483(T2_, 1);
	add_ropes_159(&(*p).blocks->data[((NI) 0)].sections[(((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0))- 0], T3_);
	res = rawNewString(((NI) 80));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
	cgFormatValue_cgen_141((&res), frame);
	res = resizeString(res, 12);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_964));
	cgFormatValue_cgen_141((&res), procname);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
	cgFormatValue_cgen_141((&res), frame);
	res = resizeString(res, 12);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_965));
	cgFormatValue_cgen_141((&res), filename);
	res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_966));
	cgFormatValue_cgen_141((&res), frame);
	res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_967));
	cgFormatValue_cgen_148((&res), ((NI64) (line)));
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_173));
	cgFormatValue_cgen_141((&res), frame);
	res = resizeString(res, 21);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_968));
	cgFormatValue_cgen_141((&res), frame);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA6_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA6_: ;
	result = rope_ropes_109(res);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, deinitFrameNoDebug_cgen_17501)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* frame) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	res = rawNewString(((NI) 80));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_969));
	cgFormatValue_cgen_141((&res), T1_);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_102));
	cgFormatValue_cgen_141((&res), frame);
	res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA4_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA4_: ;
	result = rope_ropes_109(res);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genStmtListExpr_cgen_23953)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	NIM_BOOL hasNimFrame;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* frameName;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = !(((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
	if (!(T2_)) goto LA3_;
	T2_ = !((((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = (((*(*p).prc).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0);
	LA4_: ;
	hasNimFrame = T1_;
	frameName = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI T6_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T6_ = (NI)0;
		T6_ = len_ast_3197(n);
		colontmp_ = (NI)(T6_ - ((NI) 1));
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				it = (*n)._kind_6.sons->data[i];
				{
					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24))) goto LA11_;
					{
						NIM_BOOL T15_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* theMacro;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T21_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
						T15_ = (NIM_BOOL)0;
						T15_ = hasNimFrame;
						if (!(T15_)) goto LA16_;
						T15_ = (frameName == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
						LA16_: ;
						if (!T15_) goto LA17_;
						(*p).labels += ((NI) 1);
						T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T19_ = rope_ropes_115(((NI64) ((*p).labels)));
						T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T20_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_962), T19_);
						frameName = amp__ropes_140(T20_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
						theMacro = (*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
						T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T21_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T22_ = makeCString_msgs_50((*(*theMacro).name).s);
						T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T23_ = quotedFilename_msgs_1464((*(*(*p).module).g).config, (*theMacro).info);
						T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T24_ = initFrameNoDebug_cgen_17476(p, frameName, T22_, T23_, ((NI) ((*it).info.line)));
						add_ropes_159(T21_, T24_);
					}
					LA17_: ;
				}
				goto LA9_;
				LA11_: ;
				{
					genStmts_cgen_11452(p, it);
				}
				LA9_: ;
				i_2 += ((NI) 1);
			} LA8: ;
		}
	}
	{
		NI T28_;
		NI T31_;
		T28_ = (NI)0;
		T28_ = len_ast_3197(n);
		if (!(((NI) 0) < T28_)) goto LA29_;
		T31_ = (NI)0;
		T31_ = len_ast_3197(n);
		expr_cgen_11455(p, (*n)._kind_6.sons->data[(NI)(T31_ - ((NI) 1))], d);
	}
	LA29_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T36_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
		if (!!((frameName == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA34_;
		T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T36_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T37_ = deinitFrameNoDebug_cgen_17501(p, frameName);
		add_ropes_159(T36_, T37_);
	}
	LA34_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genStmtList_cgen_24007)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL hasNimFrame;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* frameName;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = !(((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
	if (!(T2_)) goto LA3_;
	T2_ = !((((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = (((*(*p).prc).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0);
	LA4_: ;
	hasNimFrame = T1_;
	frameName = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI T6_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T6_ = (NI)0;
		T6_ = len_ast_3197(n);
		colontmp_ = (NI)(T6_ - ((NI) 1));
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				it = (*n)._kind_6.sons->data[i];
				{
					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24))) goto LA11_;
					{
						NIM_BOOL T15_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* theMacro;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T21_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
						T15_ = (NIM_BOOL)0;
						T15_ = hasNimFrame;
						if (!(T15_)) goto LA16_;
						T15_ = (frameName == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
						LA16_: ;
						if (!T15_) goto LA17_;
						(*p).labels += ((NI) 1);
						T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T19_ = rope_ropes_115(((NI64) ((*p).labels)));
						T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T20_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_962), T19_);
						frameName = amp__ropes_140(T20_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
						theMacro = (*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
						T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T21_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T22_ = makeCString_msgs_50((*(*theMacro).name).s);
						T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T23_ = quotedFilename_msgs_1464((*(*(*p).module).g).config, (*theMacro).info);
						T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T24_ = initFrameNoDebug_cgen_17476(p, frameName, T22_, T23_, ((NI) ((*it).info.line)));
						add_ropes_159(T21_, T24_);
					}
					LA17_: ;
				}
				goto LA9_;
				LA11_: ;
				{
					genStmts_cgen_11452(p, it);
				}
				LA9_: ;
				i_2 += ((NI) 1);
			} LA8: ;
		}
	}
	{
		NI T28_;
		NI T31_;
		T28_ = (NI)0;
		T28_ = len_ast_3197(n);
		if (!(((NI) 0) < T28_)) goto LA29_;
		T31_ = (NI)0;
		T31_ = len_ast_3197(n);
		genStmts_cgen_11452(p, (*n)._kind_6.sons->data[(NI)(T31_ - ((NI) 1))]);
	}
	LA29_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T36_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
		if (!!((frameName == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA34_;
		T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T36_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T37_ = deinitFrameNoDebug_cgen_17501(p, frameName);
		add_ropes_159(T36_, T37_);
	}
	LA34_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14092)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_970), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14110)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_971), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genIf_cgen_14052)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lelse;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lend;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	lelse = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = isEmptyType_ast_4778((*n).typ);
		T3_ = !(T4_);
		if (!(T3_)) goto LA5_;
		T3_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0));
		LA5_: ;
		if (!T3_) goto LA6_;
		getTemp_cgen_7347(p, (*n).typ, d, NIM_FALSE);
	}
	LA6_: ;
	genLineDir_cgen_351(p, n);
	lend = getLabel_cgen_11431(p);
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** it;
		tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
		NI i;
		NI L;
		NI T9_;
		it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
		colontmp_ = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
		colontmp_ = (*n)._kind_6.sons;
		i = ((NI) 0);
		T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
		L = T9_;
		{
			while (1) {
				if (!(i < L)) goto LA11;
				it = &colontmp_->data[i];
				{
					NIM_BOOL T14_;
					T14_ = (NIM_BOOL)0;
					T14_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1));
					if (!(T14_)) goto LA15_;
					T14_ = isEmptyType_ast_4778((*n).typ);
					LA15_: ;
					if (!T14_) goto LA16_;
					(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0);
				}
				LA16_: ;
				{
					NI T20_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T23_;
					NimStringDesc* res;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
					NI T30_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T31_;
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T32_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
					T20_ = (NI)0;
					T20_ = len_ast_3197((*it));
					if (!(T20_ == ((NI) 2))) goto LA21_;
					T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T23_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res = rawNewString(((NI) 80));
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA26_;
						res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA26_: ;
					T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T28_ = rope_ropes_109(res);
					T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T29_ = indentLine_cgen_272(p, T28_);
					add_ropes_159(T23_, T29_);
					T30_ = (NI)0;
					T30_ = startBlockInternal_cgen_13180(p);
					initLocExprSingleUse_cgen_11482(p, (*(*it))._kind_6.sons->data[((NI) 0)], (&a));
					lelse = getLabel_cgen_11431(p);
					(*p).labels += ((NI) 1);
					T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T31_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T32_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T32_[0] = rdLoc_cgen_417(a);
					T32_[1] = lelse;
					T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T33_ = percent__cgen_14092(T32_, 2);
					T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T34_ = indentLine_cgen_272(p, T33_);
					add_ropes_159(T31_, T34_);
					{
						NIM_BOOL T37_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T41_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T42_;
						T37_ = (NIM_BOOL)0;
						T37_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
						if (T37_) goto LA38_;
						T37_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
						LA38_: ;
						if (!T37_) goto LA39_;
						T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T41_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						add_ropes_162(T41_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
						expr_cgen_11455(p, (*(*it))._kind_6.sons->data[((NI) 1)], d);
						T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T42_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						add_ropes_162(T42_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
					}
					goto LA35_;
					LA39_: ;
					{
						expr_cgen_11455(p, (*(*it))._kind_6.sons->data[((NI) 1)], d);
					}
					LA35_: ;
					endBlock_cgen_13201(p);
					{
						NI T46_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T49_;
						tyArray__JiWwrsTRC6xqNlGcBthSVA T50_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
						T46_ = (NI)0;
						T46_ = len_ast_3197(n);
						if (!(((NI) 1) < T46_)) goto LA47_;
						T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T49_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T50_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T50_[0] = lend;
						T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T51_ = percent__cgen_14110(T50_, 1);
						T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T52_ = indentLine_cgen_272(p, T51_);
						add_ropes_159(T49_, T52_);
					}
					LA47_: ;
					fixLabel_cgen_11438(p, lelse);
				}
				goto LA18_;
				LA21_: ;
				{
					NI T54_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T57_;
					NimStringDesc* res_2;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
					NI T64_;
					T54_ = (NI)0;
					T54_ = len_ast_3197((*it));
					if (!(T54_ == ((NI) 1))) goto LA55_;
					T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T57_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res_2 = rawNewString(((NI) 80));
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA60_;
						res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA60_: ;
					T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T62_ = rope_ropes_109(res_2);
					T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T63_ = indentLine_cgen_272(p, T62_);
					add_ropes_159(T57_, T63_);
					T64_ = (NI)0;
					T64_ = startBlockInternal_cgen_13180(p);
					expr_cgen_11455(p, (*(*it))._kind_6.sons->data[((NI) 0)], d);
					endBlock_cgen_13201(p);
				}
				goto LA18_;
				LA55_: ;
				{
					internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_972), TM__MQdRN7fpbG7rPm4JpVVAhA_973);
				}
				LA18_: ;
				i += ((NI) 1);
			} LA11: ;
		}
	}
	{
		NI T68_;
		T68_ = (NI)0;
		T68_ = len_ast_3197(n);
		if (!(((NI) 1) < T68_)) goto LA69_;
		fixLabel_cgen_11438(p, lend);
	}
	LA69_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_24114)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_974), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, downConv_cgen_24127)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	NIM_BOOL isRef;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
	arg = (*n)._kind_6.sons->data[((NI) 0)];
	{
		while (1) {
			if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66))) goto LA2;
			arg = (*arg)._kind_6.sons->data[((NI) 0)];
		} LA2: ;
	}
	dest = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_268);
	src = skipTypes_ast_3734((*arg).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_268);
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = getTypeDesc_cgen_6635((*p).module, src, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	(void)(T3_);
	T4_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T4_ = skipTypes_ast_3734((*arg).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
	isRef = ((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = isRef;
		if (!(T9_)) goto LA10_;
		T9_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0));
		LA10_: ;
		T8_ = T9_;
		if (!(T8_)) goto LA11_;
		T12_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T12_ = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_159);
		T8_ = ((*T12_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T12_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
		LA11_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA13_;
		T7_ = isLValue_parampatterns_497(n);
		LA13_: ;
		if (!T7_) goto LA14_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, arg, (&a));
		nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T16_[0] = getTypeDesc_cgen_6635((*p).module, (*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		T16_[1] = rdLoc_cgen_417(a);
		T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = percent__cgen_24114(T16_, 2);
		putIntoDest_cgen_18621(p, d, n, T17_, a.storage);
	}
	goto LA5_;
	LA14_: ;
	{
		NIM_BOOL T19_;
		T19_ = (NIM_BOOL)0;
		T19_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
		if (T19_) goto LA20_;
		T19_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
		LA20_: ;
		if (!T19_) goto LA21_;
		expr_cgen_11455(p, arg, d);
	}
	goto LA5_;
	LA21_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		NimStringDesc* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, arg, (&a_2));
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = rdLoc_cgen_417(a_2);
		T25_ = (NimStringDesc*)0;
		{
			if (!isRef) goto LA28_;
			T25_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_975));
		}
		goto LA26_;
		LA28_: ;
		{
			T25_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_105));
		}
		LA26_: ;
		r = amp__ropes_140(T24_, T25_);
		{
			NI i;
			NI colontmp_;
			NI T32_;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T32_ = (NI)0;
			T32_ = inheritanceDiff_types_2685(dest, src);
			colontmp_ = (T32_ > 0? (T32_) : -(T32_));
			res = ((NI) 2);
			{
				while (1) {
					if (!(res <= colontmp_)) goto LA34;
					i = res;
					add_ropes_162(&r, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_105));
					res += ((NI) 1);
				} LA34: ;
			}
		}
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		{
			if (!isRef) goto LA38_;
			T35_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_472), r);
		}
		goto LA36_;
		LA38_: ;
		{
			T35_ = r;
		}
		LA36_: ;
		putIntoDest_cgen_18621(p, d, n, T35_, a_2.storage);
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, upConv_cgen_24061)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
	dest = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_268);
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* nilCheck;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* checkFor;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 1))&31U)))!=0);
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = isObjLackingTypeField_cgen_1311(dest);
		T3_ = !(T5_);
		LA4_: ;
		if (!T3_) goto LA6_;
		nilCheck = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
		r = rdMType_cgen_21545(p, a, &nilCheck, NIM_FALSE);
		{
			if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA10_;
			checkFor = genTypeInfo2Name_cgen_7809((*p).module, dest);
		}
		goto LA8_;
		LA10_: ;
		{
			checkFor = genTypeInfoV1_cgen_6772((*p).module, dest, (*n).info);
		}
		LA8_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T17_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
			if (!!((nilCheck == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA15_;
			T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T17_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			cgFormatValue_cgen_141((&res), nilCheck);
			res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_976));
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_755));
			cgFormatValue_cgen_141((&res), T18_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			cgFormatValue_cgen_141((&res), r);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_141((&res), checkFor);
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_579));
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_977));
			cgFormatValue_cgen_141((&res), T19_);
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T20_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res), T20_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA23_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA23_: ;
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T25_ = rope_ropes_109(res);
			T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T26_ = indentLine_cgen_272(p, T25_);
			add_ropes_159(T17_, T26_);
		}
		goto LA13_;
		LA15_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T28_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T28_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 5);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_978));
			T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T29_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_755));
			cgFormatValue_cgen_141((&res_2), T29_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			cgFormatValue_cgen_141((&res_2), r);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			cgFormatValue_cgen_141((&res_2), checkFor);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_579));
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_977));
			cgFormatValue_cgen_141((&res_2), T30_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_2), T31_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA34_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA34_: ;
			T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T36_ = rope_ropes_109(res_2);
			T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T37_ = indentLine_cgen_272(p, T36_);
			add_ropes_159(T28_, T37_);
		}
		LA13_: ;
	}
	LA6_: ;
	{
		if (!!(((*(*(*n)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA40_;
		{
			NIM_BOOL T44_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T47_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
			T44_ = (NIM_BOOL)0;
			T44_ = isLValue_parampatterns_497(n);
			if (!T44_) goto LA45_;
			nimZeroMem((void*)T47_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T47_[0] = getTypeDesc_cgen_6635((*p).module, (*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T47_[1] = rdLoc_cgen_417(a);
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T48_ = percent__cgen_24114(T47_, 2);
			putIntoDest_cgen_18621(p, d, n, T48_, a.storage);
		}
		goto LA42_;
		LA45_: ;
		{
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T50_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
			nimZeroMem((void*)T50_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T50_[0] = getTypeDesc_cgen_6635((*p).module, (*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			T50_[1] = rdLoc_cgen_417(a);
			T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T51_ = percent__cgen_22661(T50_, 2);
			putIntoDest_cgen_18621(p, d, n, T51_, a.storage);
		}
		LA42_: ;
	}
	goto LA38_;
	LA40_: ;
	{
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T53_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
		nimZeroMem((void*)T53_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T53_[0] = getTypeDesc_cgen_6635((*p).module, dest, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		T53_[1] = addrLoc_cgen_10307((*(*(*p).module).g).config, a);
		T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = percent__cgen_22644(T53_, 2);
		putIntoDest_cgen_18621(p, d, n, T54_, a.storage);
	}
	LA38_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genRangeChck_cgen_22756)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T59_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	dest = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 3))&31U)))!=0));
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*dest).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dest).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
		if (!(T5_)) goto LA6_;
		T5_ = !((((*(*(*(*p).module).g).config).legacyFeatures &((NU8)1<<((NU)(((tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA) 1))&7U)))!=0));
		LA6_: ;
		T3_ = T5_;
		LA4_: ;
		if (!T3_) goto LA7_;
	}
	goto LA1_;
	LA7_: ;
	{
		tyObject_TType__facALICuu8zUj0hjvbTLFg* n0t;
		n0t = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T14_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
			if (!((*n0t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*n0t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA12_;
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T14_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = rdCharLoc_cgen_10347(a);
			cgFormatValue_cgen_141((&res), T15_);
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_979));
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = getTypeDesc_cgen_6635((*p).module, n0t, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
			cgFormatValue_cgen_141((&res), T16_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_642));
			T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T17_ = genLiteral_cgen_17603(p, (*n)._kind_6.sons->data[((NI) 2)], dest);
			cgFormatValue_cgen_141((&res), T17_);
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_579));
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_980));
			cgFormatValue_cgen_141((&res), T18_);
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_567));
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res), T19_);
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA22_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA22_: ;
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = rope_ropes_109(res);
			T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T25_ = indentLine_cgen_272(p, T24_);
			add_ropes_159(T14_, T25_);
		}
		goto LA10_;
		LA12_: ;
		{
			NimStringDesc* raiser;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			NimStringDesc* boundaryCast;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T44_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
			T27_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T27_ = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
			switch ((*T27_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
			{
				raiser = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_981));
			}
			break;
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
			{
				raiser = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_982));
			}
			break;
			default:
			{
				raiser = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_983));
			}
			break;
			}
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = cgsym_cgen_120((*p).module, raiser);
			(void)(T31_);
			{
				NIM_BOOL T34_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T35_;
				NIM_BOOL T37_;
				NIM_BOOL T38_;
				T34_ = (NIM_BOOL)0;
				T35_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T35_ = skipTypes_ast_3734(n0t, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
				T34_ = ((*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43) || (*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
				if (T34_) goto LA36_;
				T37_ = (NIM_BOOL)0;
				T38_ = (NIM_BOOL)0;
				T38_ = !(((*n0t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
				if (!(T38_)) goto LA39_;
				T38_ = (((*(*(*n0t).sym).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
				LA39_: ;
				T37_ = T38_;
				if (!(T37_)) goto LA40_;
				T37_ = eqStrings((*(*(*n0t).sym).name).s, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_984));
				LA40_: ;
				T34_ = T37_;
				LA36_: ;
				if (!T34_) goto LA41_;
				boundaryCast = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_985));
			}
			goto LA32_;
			LA41_: ;
			{
				boundaryCast = ((NimStringDesc*) NIM_NIL);
			}
			LA32_: ;
			T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T44_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			cgFormatValue_cgen_145((&res_2), boundaryCast);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T45_ = rdCharLoc_cgen_10347(a);
			cgFormatValue_cgen_141((&res_2), T45_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_986));
			T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T46_ = genLiteral_cgen_17603(p, (*n)._kind_6.sons->data[((NI) 1)], dest);
			cgFormatValue_cgen_141((&res_2), T46_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_577));
			cgFormatValue_cgen_145((&res_2), boundaryCast);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T47_ = rdCharLoc_cgen_10347(a);
			cgFormatValue_cgen_141((&res_2), T47_);
			res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_987));
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T48_ = genLiteral_cgen_17603(p, (*n)._kind_6.sons->data[((NI) 2)], dest);
			cgFormatValue_cgen_141((&res_2), T48_);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_638));
			cgFormatValue_cgen_145((&res_2), raiser);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
			T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T49_ = rdCharLoc_cgen_10347(a);
			cgFormatValue_cgen_141((&res_2), T49_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T50_ = genLiteral_cgen_17603(p, (*n)._kind_6.sons->data[((NI) 1)], dest);
			cgFormatValue_cgen_141((&res_2), T50_);
			res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T51_ = genLiteral_cgen_17603(p, (*n)._kind_6.sons->data[((NI) 2)], dest);
			cgFormatValue_cgen_141((&res_2), T51_);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_651));
			T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T52_ = raiseInstr_cgen_406(p);
			cgFormatValue_cgen_141((&res_2), T52_);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA55_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA55_: ;
			T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T57_ = rope_ropes_109(res_2);
			T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T58_ = indentLine_cgen_272(p, T57_);
			add_ropes_159(T44_, T58_);
		}
		LA10_: ;
	}
	LA1_: ;
	nimZeroMem((void*)T59_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T59_[0] = getTypeDesc_cgen_6635((*p).module, dest, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
	T59_[1] = rdCharLoc_cgen_10347(a);
	T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T60_ = percent__cgen_22661(T59_, 2);
	putIntoDest_cgen_18621(p, d, n, T60_, a.storage);
}
N_LIB_PRIVATE N_NIMCALL(void, convStrToCStr_cgen_22837)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
	res = rawNewString(((NI) 80));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_544));
	cgFormatValue_cgen_141((&res), T1_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res), T2_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = rope_ropes_109(res);
	putIntoDest_cgen_18621(p, d, n, T3_, a.storage);
}
N_LIB_PRIVATE N_NIMCALL(void, convCStrToStr_cgen_22852)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
	res = rawNewString(((NI) 80));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_750));
	cgFormatValue_cgen_141((&res), T1_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res), T2_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = rope_ropes_109(res);
	putIntoDest_cgen_18621(p, d, n, T3_, a.storage);
	gcUsage_cgen_20327((*(*(*p).module).g).config, n);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14318)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_999), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14324)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1000), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14335)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1001), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14340)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1002), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14355)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1003), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14398)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1006), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genComputedGoto_cgen_14282)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
	NI casePos;
	NI arraySize;
	NI id;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T33_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* gotoArray;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T34_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T40_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T42_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseStmt;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T47_;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T48_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
{	n_2 = flattenStmts_trees_355(n);
	casePos = ((NI) -1);
	arraySize = (NI)0;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(n_2);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				it = (*n_2)._kind_6.sons->data[i];
				{
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA aSize;
					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97))) goto LA6_;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
						T10_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T10_ = lastSon_ast_4831(it);
						if (!!(((*T10_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85)))) goto LA11_;
						liMessage_msgs_1118((*(*(*p).module).g).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_989), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_990, NIM_FALSE);
						goto BeforeRet_;
					}
					LA11_: ;
					casePos = i;
					{
						NIM_BOOL T15_;
						T15_ = (NIM_BOOL)0;
						T15_ = enumHasHoles_types_287((*(*it)._kind_6.sons->data[((NI) 0)]).typ);
						if (!T15_) goto LA16_;
						liMessage_msgs_1118((*(*(*p).module).g).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_991), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_992, NIM_FALSE);
						goto BeforeRet_;
					}
					LA16_: ;
					aSize = lengthOrd_types_1661((*(*(*p).module).g).config, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
					{
						NIM_BOOL T20_;
						T20_ = (NIM_BOOL)0;
						T20_ = lt__int495056_738(IL64(10000), aSize);
						if (!T20_) goto LA21_;
						liMessage_msgs_1118((*(*(*p).module).g).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_993), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_994, NIM_FALSE);
						goto BeforeRet_;
					}
					LA21_: ;
					arraySize = toInt_int495056_170(aSize);
					{
						tyObject_Int128__9a9axPfb75jdWY25AamJewkA T25_;
						NIM_BOOL T26_;
						T25_ = firstOrd_types_1353((*(*(*p).module).g).config, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
						T26_ = (NIM_BOOL)0;
						T26_ = eqeq__int495056_759(T25_, IL64(0));
						if (!!(T26_)) goto LA27_;
						liMessage_msgs_1118((*(*(*p).module).g).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_995), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_996, NIM_FALSE);
						goto BeforeRet_;
					}
					LA27_: ;
				}
				LA6_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	{
		if (!(casePos < ((NI) 0))) goto LA31_;
		liMessage_msgs_1118((*(*(*p).module).g).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_997), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_998, NIM_FALSE);
		goto BeforeRet_;
	}
	LA31_: ;
	id = (NI)(((NI) ((*p).labels)) + ((NI) 1));
	(*p).labels += (NI)(arraySize + ((NI) 1));
	nimZeroMem((void*)T33_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T33_[0] = rope_ropes_115(((NI64) (id)));
	tmp = percent__cgen_14318(T33_, 1);
	nimZeroMem((void*)T34_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T34_[0] = tmp;
	T34_[1] = rope_ropes_115(((NI64) (arraySize)));
	gotoArray = percent__cgen_14324(T34_, 2);
	{
		NI i_3;
		NI colontmp__2;
		NI res;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = (NI)(arraySize - ((NI) 1));
		res = ((NI) 1);
		{
			while (1) {
				tyArray__JiWwrsTRC6xqNlGcBthSVA T38_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
				if (!(res <= colontmp__2)) goto LA37;
				i_3 = res;
				nimZeroMem((void*)T38_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T38_[0] = rope_ropes_115(((NI64) ((NI)(id + i_3))));
				T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T39_ = percent__cgen_14335(T38_, 1);
				add_ropes_159(&gotoArray, T39_);
				res += ((NI) 1);
			} LA37: ;
		}
	}
	nimZeroMem((void*)T40_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T40_[0] = rope_ropes_115(((NI64) ((NI)(id + arraySize))));
	T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T41_ = percent__cgen_14340(T40_, 1);
	add_ropes_159(&gotoArray, T41_);
	T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T42_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
	T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T43_ = indentLine_cgen_272(p, gotoArray);
	add_ropes_159(T42_, T43_);
	{
		NI j;
		NI i_4;
		j = (NI)0;
		i_4 = ((NI) 0);
		{
			while (1) {
				if (!(i_4 < casePos)) goto LA46;
				j = i_4;
				genStmts_cgen_11452(p, (*n_2)._kind_6.sons->data[j]);
				i_4 += ((NI) 1);
			} LA46: ;
		}
	}
	caseStmt = (*n_2)._kind_6.sons->data[casePos];
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*caseStmt)._kind_6.sons->data[((NI) 0)], (&a));
	T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T47_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T48_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T48_[0] = tmp;
	T48_[1] = rdLoc_cgen_417(a);
	T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T49_ = percent__cgen_14355(T48_, 2);
	T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T50_ = indentLine_cgen_272(p, T49_);
	add_ropes_159(T47_, T50_);
	{
		NI i_5;
		NI colontmp__3;
		NI i_6;
		i_5 = (NI)0;
		colontmp__3 = (NI)0;
		colontmp__3 = len_ast_3197(caseStmt);
		i_6 = ((NI) 1);
		{
			while (1) {
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T54_;
				NimStringDesc* res_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
				NI T61_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_2;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T75_;
				tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T105_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T106_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
				if (!(i_6 < colontmp__3)) goto LA53;
				i_5 = i_6;
				T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T54_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_2 = rawNewString(((NI) 80));
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA57_;
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA57_: ;
				T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T59_ = rope_ropes_109(res_2);
				T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T60_ = indentLine_cgen_272(p, T59_);
				add_ropes_159(T54_, T60_);
				T61_ = (NI)0;
				T61_ = startBlockInternal_cgen_13180(p);
				it_2 = (*caseStmt)._kind_6.sons->data[i_5];
				{
					NI j_2;
					NI colontmp__4;
					NI T63_;
					NI i_7;
					j_2 = (NI)0;
					colontmp__4 = (NI)0;
					T63_ = (NI)0;
					T63_ = len_ast_3197(it_2);
					colontmp__4 = (NI)(T63_ - ((NI) 1));
					i_7 = ((NI) 0);
					{
						while (1) {
							tyObject_Int128__9a9axPfb75jdWY25AamJewkA val;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T70_;
							tyArray__JiWwrsTRC6xqNlGcBthSVA T71_;
							NI64 T72_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T73_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
							if (!(i_7 < colontmp__4)) goto LA65;
							j_2 = i_7;
							{
								if (!((*(*it_2)._kind_6.sons->data[j_2]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA68_;
								liMessage_msgs_1118((*(*(*p).module).g).config, (*it_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1004), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_1005, NIM_FALSE);
								goto BeforeRet_;
							}
							LA68_: ;
							val = getOrdValue_types_161((*it_2)._kind_6.sons->data[j_2], Max_int495056_27);
							T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
							T70_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
							nimZeroMem((void*)T71_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
							T72_ = (NI64)0;
							T72_ = toInt64_int495056_88(val);
							T71_[0] = intLiteral_cgen_11466((NI64)((NI64)(T72_ + ((NI64) (id))) + IL64(1)));
							T73_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T73_ = percent__cgen_14398(T71_, 1);
							T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T74_ = indentLine_cgen_272(p, T73_);
							add_ropes_159(T70_, T74_);
							i_7 += ((NI) 1);
						} LA65: ;
					}
				}
				T75_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T75_ = lastSon_ast_4831(it_2);
				genStmts_cgen_11452(p, T75_);
				{
					NI j_3;
					NI colontmp__5;
					NI colontmp__6;
					NI i_8;
					j_3 = (NI)0;
					colontmp__5 = (NI)0;
					colontmp__6 = (NI)0;
					colontmp__5 = (NI)(casePos + ((NI) 1));
					colontmp__6 = len_ast_3197(n_2);
					i_8 = colontmp__5;
					{
						while (1) {
							if (!(i_8 < colontmp__6)) goto LA78;
							j_3 = i_8;
							genStmts_cgen_11452(p, (*n_2)._kind_6.sons->data[j_3]);
							i_8 += ((NI) 1);
						} LA78: ;
					}
				}
				{
					NI j_4;
					NI i_9;
					j_4 = (NI)0;
					i_9 = ((NI) 0);
					{
						while (1) {
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_3;
							if (!(i_9 < casePos)) goto LA81;
							j_4 = i_9;
							it_3 = (*n_2)._kind_6.sons->data[j_4];
							{
								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
								if (!((*it_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100) || (*it_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99))) goto LA84_;
								asgn = copyNode_ast_4335(it_3);
								transitionSonsKind_ast_4358(asgn, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 73));
								asgnRef((void**) (&(*asgn)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*asgn)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) 2)));
								{
									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sym;
									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
									sym = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
									value = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
									{
										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* identDefs;
										identDefs = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
										{
											NI i_10;
											NI colontmp__7;
											NI i_11;
											i_10 = (NI)0;
											colontmp__7 = (NI)0;
											colontmp__7 = safeLen_ast_3190(it_3);
											i_11 = ((NI) 0);
											{
												while (1) {
													if (!(i_11 < colontmp__7)) goto LA90;
													i_10 = i_11;
													identDefs = (*it_3)._kind_6.sons->data[i_10];
													{
														tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* valueSym;
														NI T95_;
														if (!((*identDefs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35))) goto LA93_;
														T95_ = (NI)0;
														T95_ = len_ast_3197(identDefs);
														valueSym = (*identDefs)._kind_6.sons->data[(NI)(T95_ - ((NI) 1))];
														{
															NI i_12;
															NI colontmp__8;
															NI T97_;
															NI i_13;
															i_12 = (NI)0;
															colontmp__8 = (NI)0;
															T97_ = (NI)0;
															T97_ = len_ast_3197(identDefs);
															colontmp__8 = (NI)(T97_ - ((NI) 2));
															i_13 = ((NI) 0);
															{
																while (1) {
																	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* memberSym;
																	if (!(i_13 < colontmp__8)) goto LA99;
																	i_12 = i_13;
																	memberSym = (*identDefs)._kind_6.sons->data[i_12];
																	sym = memberSym;
																	value = valueSym;
																	{
																		if (!!(((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA102_;
																		asgnRef((void**) (&(*asgn)._kind_6.sons->data[((NI) 0)]), sym);
																		asgnRef((void**) (&(*asgn)._kind_6.sons->data[((NI) 1)]), value);
																		genStmts_cgen_11452(p, asgn);
																	}
																	LA102_: ;
																	i_13 += ((NI) 1);
																} LA99: ;
															}
														}
													}
													LA93_: ;
													i_11 += ((NI) 1);
												} LA90: ;
											}
										}
									}
								}
							}
							goto LA82_;
							LA84_: ;
							{
								genStmts_cgen_11452(p, it_3);
							}
							LA82_: ;
							i_9 += ((NI) 1);
						} LA81: ;
					}
				}
				nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
				initLocExpr_cgen_11478(p, (*caseStmt)._kind_6.sons->data[((NI) 0)], (&a_2));
				T105_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T105_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T106_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T106_[0] = tmp;
				T106_[1] = rdLoc_cgen_417(a_2);
				T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T107_ = percent__cgen_14355(T106_, 2);
				T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T108_ = indentLine_cgen_272(p, T107_);
				add_ropes_159(T105_, T108_);
				endBlock_cgen_13201(p);
				i_6 += ((NI) 1);
			} LA53: ;
		}
	}
	{
		NI j_5;
		NI colontmp__9;
		NI colontmp__10;
		NI i_14;
		j_5 = (NI)0;
		colontmp__9 = (NI)0;
		colontmp__10 = (NI)0;
		colontmp__9 = (NI)(casePos + ((NI) 1));
		colontmp__10 = len_ast_3197(n_2);
		i_14 = colontmp__9;
		{
			while (1) {
				if (!(i_14 < colontmp__10)) goto LA111;
				j_5 = i_14;
				genStmts_cgen_11452(p, (*n_2)._kind_6.sons->data[j_5]);
				i_14 += ((NI) 1);
			} LA111: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, assignLabel_cgen_13423)(tyObject_TBlock__GFhahvekTq3dDOkWyhchMA* b) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rope_ropes_115(((NI64) ((*b).id)));
	unsureAsgnRef((void**) (&(*b).label), amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629), T1_));
	result = (*b).label;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genWhileStmt_cgen_14454)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	NI oldBreakIdxX60gensym1928_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	(*p).withinLoop += ((NI) 1);
	genLineDir_cgen_351(p, t);
	oldBreakIdxX60gensym1928_ = (*p).breakIdx;
	loopBody = (*t)._kind_6.sons->data[((NI) 1)];
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = stmtsContainPragma_ccgutils_42(loopBody, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 206));
		if (!(T3_)) goto LA4_;
		T3_ = ((CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 1))&7U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_BOOL T9_;
			NI T10_;
			T9_ = (NIM_BOOL)0;
			T10_ = (NI)0;
			T10_ = len_ast_3197(loopBody);
			T9_ = (T10_ == ((NI) 2));
			if (!(T9_)) goto LA11_;
			T9_ = ((*(*loopBody)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
			LA11_: ;
			if (!T9_) goto LA12_;
			loopBody = (*loopBody)._kind_6.sons->data[((NI) 1)];
		}
		LA12_: ;
		genComputedGoto_cgen_14282(p, loopBody);
	}
	goto LA1_;
	LA5_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T15_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T15_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 11);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1007));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA18_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA18_: ;
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rope_ropes_109(res);
		T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = indentLine_cgen_272(p, T20_);
		add_ropes_159(T15_, T21_);
		(*p).breakIdx = startBlockInternal_cgen_13180(p);
		(*p).blocks->data[(*p).breakIdx].isLoop = NIM_TRUE;
		initLocExpr_cgen_11478(p, (*t)._kind_6.sons->data[((NI) 0)], (&a));
		{
			NIM_BOOL T24_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* label;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T28_;
			tyArray__mrugoXXRZUEeG9bEXo9auBKw T29_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			T24_ = (NIM_BOOL)0;
			T24_ = !(((*(*t)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)));
			if (T24_) goto LA25_;
			T24_ = ((*(*t)._kind_6.sons->data[((NI) 0)])._kind_1.intVal == IL64(0));
			LA25_: ;
			if (!T24_) goto LA26_;
			label = assignLabel_cgen_13423((&(*p).blocks->data[(*p).breakIdx]));
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T28_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T29_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
			T29_[0] = rdLoc_cgen_417(a);
			T29_[1] = label;
			T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T30_ = percent__cgen_14092(T29_, 2);
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = indentLine_cgen_272(p, T30_);
			add_ropes_159(T28_, T31_);
		}
		LA26_: ;
		genStmts_cgen_11452(p, loopBody);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T36_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
			if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 21))&31U)))!=0)) goto LA34_;
			T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T36_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_2 = rawNewString(((NI) 80));
			T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T37_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_412));
			cgFormatValue_cgen_141((&res_2), T37_);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA40_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA40_: ;
			T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T42_ = rope_ropes_109(res_2);
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T43_ = indentLine_cgen_272(p, T42_);
			add_ropes_159(T36_, T43_);
		}
		LA34_: ;
		endBlock_cgen_13201(p);
	}
	LA1_: ;
	(*p).breakIdx = oldBreakIdxX60gensym1928_;
	(*p).withinLoop -= ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genSingleVar_cgen_13996)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
{	v = (*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
	{
		if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA3_;
		{
			NIM_BOOL T7_;
			NIM_BOOL T8_;
			T7_ = (NIM_BOOL)0;
			T8_ = (NIM_BOOL)0;
			T8_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
			if (!(T8_)) goto LA9_;
			T8_ = !(((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			LA9_: ;
			T7_ = T8_;
			if (!(T7_)) goto LA10_;
			T7_ = ((*(*p).prc).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
			LA10_: ;
			if (!T7_) goto LA11_;
		}
		goto LA5_;
		LA11_: ;
		{
			goto BeforeRet_;
		}
		LA5_: ;
	}
	LA3_: ;
	genSingleVar_cgen_13797(p, v, (*a)._kind_6.sons->data[((NI) 0)], (*a)._kind_6.sons->data[((NI) 2)]);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genClosureVar_cgen_14019)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
	NIM_BOOL immediateAsgn;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA v;
	immediateAsgn = !(((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
	nimZeroMem((void*)(&v), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*a)._kind_6.sons->data[((NI) 0)], (&v));
	genLineDir_cgen_351(p, a);
	{
		if (!immediateAsgn) goto LA3_;
		loadInto_cgen_13400(p, (*a)._kind_6.sons->data[((NI) 0)], (*a)._kind_6.sons->data[((NI) 2)], (&v));
	}
	goto LA1_;
	LA3_: ;
	{
		constructLoc_cgen_10918(p, (&v), NIM_FALSE);
	}
	LA1_: ;
}
static N_NIMCALL(void, Marker_tySequence__sno9c9bXUVS2CqhtWOJadaCw)(void* p, NI op) {
	tySequence__sno9c9bXUVS2CqhtWOJadaCw* a;
	NI T1_;
	a = (tySequence__sno9c9bXUVS2CqhtWOJadaCw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field0.lode, op);
	nimGCvisit((void*)a->data[T1_].Field0.r, op);
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genVarTuple_cgen_13203)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tup;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA field;
	NIM_BOOL forHcr;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* hcrCond;
	tySequence__sno9c9bXUVS2CqhtWOJadaCw* hcrGlobals;
	NIM_BOOL isGlobalInBlock;
	NIM_BOOL T19_;
	NI T21_;
	NIM_BOOL T22_;
	NI T43_;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T44_;
{	nimZeroMem((void*)(&tup), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&field), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA3_;
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1008), TM__MQdRN7fpbG7rPm4JpVVAhA_1009);
	}
	LA3_: ;
	{
		NI i;
		NI colontmp_;
		NI T6_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T6_ = (NI)0;
		T6_ = len_ast_3197(n);
		colontmp_ = (NI)(T6_ - ((NI) 2));
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
					if (!!(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA11_;
					T13_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T13_ = lowerTupleUnpacking_lowerings_116((*(*(*p).module).g).graph, n, (*(*p).module).Sup.idgen, (*p).prc);
					genStmts_cgen_11452(p, T13_);
					goto BeforeRet_;
				}
				LA11_: ;
				i_2 += ((NI) 1);
			} LA8: ;
		}
	}
	forHcr = treatGlobalDifferentlyForHCR_cgen_11246((*p).module, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
	{
		if (!forHcr) goto LA16_;
		hcrCond = getTempName_cgen_410((*p).module);
	}
	goto LA14_;
	LA16_: ;
	{
		hcrCond = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	LA14_: ;
	hcrGlobals = (tySequence__sno9c9bXUVS2CqhtWOJadaCw*)0;
	T19_ = (NIM_BOOL)0;
	T19_ = forHcr;
	if (!(T19_)) goto LA20_;
	T21_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	T19_ = (((NI) 2) < T21_);
	LA20_: ;
	isGlobalInBlock = T19_;
	T22_ = (NIM_BOOL)0;
	T22_ = forHcr;
	if (!(T22_)) goto LA23_;
	T22_ = !(isGlobalInBlock);
	LA23_: ;
	forHcr = T22_;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T28_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T35_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T41_;
		NI T42_;
		if (!forHcr) goto LA26_;
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T28_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		cgFormatValue_cgen_141((&res), hcrCond);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA31_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA31_: ;
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = rope_ropes_109(res);
		T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T34_ = indentLine_cgen_272(p, T33_);
		add_ropes_159(T28_, T34_);
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T35_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA38_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA38_: ;
		T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T40_ = rope_ropes_109(res_2);
		T41_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = indentLine_cgen_272(p, T40_);
		add_ropes_159(T35_, T41_);
		T42_ = (NI)0;
		T42_ = startBlockInternal_cgen_13180(p);
	}
	LA26_: ;
	genLineDir_cgen_351(p, n);
	T43_ = (NI)0;
	T43_ = len_ast_3197(n);
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[(NI)(T43_ - ((NI) 1))], (&tup));
	T44_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T44_ = t_cgen_79(tup);
	t = skipTypes_ast_3734(T44_, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
	{
		NI i_3;
		NI colontmp__2;
		NI T46_;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		T46_ = (NI)0;
		T46_ = len_ast_3197(n);
		colontmp__2 = (NI)(T46_ - ((NI) 2));
		i_4 = ((NI) 0);
		{
			while (1) {
				if (!(i_4 < colontmp__2)) goto LA48;
				i_3 = i_4;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* vn;
					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* traverseProc;
					vn = (*n)._kind_6.sons->data[i_3];
					v = (*vn)._kind_4.sym;
					{
						if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA52_;
						goto LA49;
					}
					LA52_: ;
					traverseProc = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					{
						if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0)) goto LA56_;
						assignGlobalVar_cgen_11266(p, vn, ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
						genObjectInit_cgen_10384(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1), (*v).typ, (&(*v).loc), ((tyEnum_ObjConstrMode__9agQ3x8C5KfK9c9a3uY9abfUTw) 0));
						traverseProc = getTraverseProc_cgen_13075(p, v);
						{
							NIM_BOOL T60_;
							NIM_BOOL T62_;
							T60_ = (NIM_BOOL)0;
							T60_ = !((traverseProc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
							if (!(T60_)) goto LA61_;
							T62_ = (NIM_BOOL)0;
							T62_ = hcrOn_cgen_45(p);
							T60_ = !(T62_);
							LA61_: ;
							if (!T60_) goto LA63_;
							registerTraverseProc_cgen_13087(p, v, traverseProc);
						}
						LA63_: ;
					}
					goto LA54_;
					LA56_: ;
					{
						NI T66_;
						NIM_BOOL T67_;
						assignLocalVar_cgen_11094(p, vn);
						T66_ = (NI)0;
						T66_ = len_ast_3197(n);
						T67_ = (NIM_BOOL)0;
						T67_ = isAssignedImmediately_cgen_13137((*(*(*p).module).g).config, (*n)._kind_6.sons->data[(NI)(T66_ - ((NI) 1))]);
						initLocalVar_cgen_10982(p, v, T67_);
					}
					LA54_: ;
					initLoc_cgen_60((&field), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), vn, tup.storage);
					{
						tyArray__mrugoXXRZUEeG9bEXo9auBKw T72_;
						if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA70_;
						nimZeroMem((void*)T72_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
						T72_[0] = rdLoc_cgen_417(tup);
						T72_[1] = rope_ropes_115(((NI64) (i_3)));
						field.r = percent__cgen_13300(T72_, 2);
					}
					goto LA68_;
					LA70_: ;
					{
						tyArray__mrugoXXRZUEeG9bEXo9auBKw T78_;
						{
							if (!!(((*(*(*t).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA76_;
							internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1008), TM__MQdRN7fpbG7rPm4JpVVAhA_1010);
						}
						LA76_: ;
						nimZeroMem((void*)T78_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
						T78_[0] = rdLoc_cgen_417(tup);
						T78_[1] = mangleRecFieldName_cgen_3610((*p).module, (*(*(*t).n)._kind_6.sons->data[i_3])._kind_4.sym);
						field.r = percent__cgen_7443(T78_, 2);
					}
					LA68_: ;
					putLocIntoDest_cgen_11462(p, (&(*v).loc), field);
					{
						NIM_BOOL T81_;
						tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA T85_;
						NI T92_;
						T81_ = (NIM_BOOL)0;
						T81_ = forHcr;
						if (T81_) goto LA82_;
						T81_ = isGlobalInBlock;
						LA82_: ;
						if (!T81_) goto LA83_;
						nimZeroMem((void*)(&T85_), sizeof(tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA));
						genericAssign((void*)(&T85_.Field0), (void*)(&(*v).loc), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
						{
							tyArray__qTjAvTvKF9anytN1At69aJMQ T90_;
							if (!(traverseProc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA88_;
							nimZeroMem((void*)T90_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
							T85_.Field1 = percent__cgen_13320(T90_, 0);
						}
						goto LA86_;
						LA88_: ;
						{
							T85_.Field1 = traverseProc;
						}
						LA86_: ;
						hcrGlobals = (tySequence__sno9c9bXUVS2CqhtWOJadaCw*) incrSeqV3((TGenericSeq*)(hcrGlobals), (&NTIseqLtupleLloc58tloc_tp58ropeTT__sno9c9bXUVS2CqhtWOJadaCw_));
						T92_ = hcrGlobals->Sup.len++;
						genericAssign((void*)(&hcrGlobals->data[T92_].Field0), (void*)(&T85_.Field0), (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_));
						asgnRef((void**) (&hcrGlobals->data[T92_].Field1), T85_.Field1);
					}
					LA83_: ;
				} LA49: ;
				i_4 += ((NI) 1);
			} LA48: ;
		}
	}
	{
		if (!forHcr) goto LA95_;
		endBlock_cgen_13201(p);
	}
	LA95_: ;
	{
		NIM_BOOL T99_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T103_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T109_;
		T99_ = (NIM_BOOL)0;
		T99_ = forHcr;
		if (T99_) goto LA100_;
		T99_ = isGlobalInBlock;
		LA100_: ;
		if (!T99_) goto LA101_;
		T103_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T103_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		res_3 = rawNewString(((NI) 80));
		res_3 = resizeString(res_3, 9);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1012));
		cgFormatValue_cgen_141((&res_3), hcrCond);
		res_3 = resizeString(res_3, 13);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1013));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA106_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA106_: ;
		T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T108_ = rope_ropes_109(res_3);
		T109_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T109_ = indentLine_cgen_272(p, T108_);
		add_ropes_159(T103_, T109_);
		{
			tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA* curr;
			NI i_5;
			NI L;
			NI T111_;
			curr = (tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA*)0;
			i_5 = ((NI) 0);
			T111_ = (hcrGlobals ? hcrGlobals->Sup.len : 0);
			L = T111_;
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T114_;
					NimStringDesc* res_4;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T115_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T116_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T117_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T118_;
					if (!(i_5 < L)) goto LA113;
					curr = (&hcrGlobals->data[i_5]);
					T114_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T114_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
					res_4 = rawNewString(((NI) 80));
					cgFormatValue_cgen_141((&res_4), hcrCond);
					res_4 = resizeString(res_4, 22);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1014));
					T115_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T115_ = getModuleDllPath_cgen_136((*p).module, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
					cgFormatValue_cgen_141((&res_4), T115_);
					res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_553));
					cgFormatValue_cgen_141((&res_4), (*curr).Field0.r);
					res_4 = resizeString(res_4, 10);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_554));
					T116_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T116_ = rdLoc_cgen_417((*curr).Field0);
					cgFormatValue_cgen_141((&res_4), T116_);
					res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_555));
					cgFormatValue_cgen_141((&res_4), (*curr).Field1);
					res_4 = resizeString(res_4, 11);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_556));
					cgFormatValue_cgen_141((&res_4), (*curr).Field0.r);
					res_4 = resizeString(res_4, 3);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1015));
					T117_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T117_ = rope_ropes_109(res_4);
					T118_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T118_ = indentLine_cgen_272(p, T117_);
					add_ropes_159(T114_, T118_);
					i_5 += ((NI) 1);
				} LA113: ;
			}
		}
	}
	LA101_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genVarStmt_cgen_14032)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** it;
		tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
		NI i;
		NI L;
		NI T2_;
		it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
		colontmp_ = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
		colontmp_ = (*n)._kind_6.sons;
		i = ((NI) 0);
		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				it = &colontmp_->data[i];
				{
					{
						if (!((*(*it)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA8_;
						goto LA5;
					}
					LA8_: ;
					{
						if (!((*(*it)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35))) goto LA12_;
						{
							if (!((*(*(*it))._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA16_;
							genSingleVar_cgen_13996(p, (*it));
						}
						goto LA14_;
						LA16_: ;
						{
							genClosureVar_cgen_14019(p, (*it));
						}
						LA14_: ;
					}
					goto LA10_;
					LA12_: ;
					{
						genVarTuple_cgen_13203(p, (*it));
					}
					LA10_: ;
				} LA5: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genConstStmt_cgen_24288)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m;
	m = (*p).module;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
		it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen_ast_3190(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					it = (*n)._kind_6.sons->data[i];
					{
						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
						if (!((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA7_;
						sym = (*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
						{
							NIM_BOOL T11_;
							NIM_BOOL T12_;
							NIM_BOOL T13_;
							T11_ = (NIM_BOOL)0;
							T12_ = (NIM_BOOL)0;
							T13_ = (NIM_BOOL)0;
							T13_ = isSimpleConst_cgen_89((*sym).typ);
							T12_ = !(T13_);
							if (!(T12_)) goto LA14_;
							T12_ = contains_astalgo_3496((&(*m).alive), ((NI) ((*sym).Sup.itemId.item)));
							LA14_: ;
							T11_ = T12_;
							if (!(T11_)) goto LA15_;
							T11_ = genConstSetup_cgen_24196(p, sym);
							LA15_: ;
							if (!T11_) goto LA16_;
							genConstDefinition_cgen_24256(m, p, sym);
						}
						LA16_: ;
					}
					LA7_: ;
					i_2 += ((NI) 1);
				} LA4: ;
			}
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genCaseStringBranch_cgen_14984)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA e, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* labl, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** branches, NI branchesLen_0) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA x;
	nimZeroMem((void*)(&x), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len_ast_3197(b);
		colontmp_ = (NI)(T2_ - ((NI) 1));
		i_2 = ((NI) 0);
		{
			while (1) {
				NI j;
				NI64 T5_;
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				initLocExpr_cgen_11478(p, (*b)._kind_6.sons->data[i], (&x));
				T5_ = (NI64)0;
				T5_ = hashString_ccgutils_50((*(*(*p).module).g).config, (*(*b)._kind_6.sons->data[i])._kind_3.strVal);
				j = ((NI) ((NI64)(T5_ & ((NI64) ((branchesLen_0-1))))));
				res = rawNewString(((NI) 80));
				res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T6_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_739));
				cgFormatValue_cgen_141((&res), T6_);
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
				T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T7_ = rdLoc_cgen_417(e);
				cgFormatValue_cgen_141((&res), T7_);
				res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
				T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T8_ = rdLoc_cgen_417(x);
				cgFormatValue_cgen_141((&res), T8_);
				res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1018));
				cgFormatValue_cgen_141((&res), labl);
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA11_;
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA11_: ;
				T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T13_ = rope_ropes_109(res);
				add_ropes_159(&branches[j], T13_);
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15112)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1023), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15130)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1024), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14942)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1025), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, exprBlock_cgen_13487)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T1_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	NI T8_;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T1_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res = rawNewString(((NI) 80));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA4_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA4_: ;
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = rope_ropes_109(res);
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = indentLine_cgen_272(p, T6_);
	add_ropes_159(T1_, T7_);
	T8_ = (NI)0;
	T8_ = startBlockInternal_cgen_13180(p);
	expr_cgen_11455(p, n, d);
	endBlock_cgen_13201(p);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genCaseSecondPass_cgen_14925)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d, NI labId, NI until) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lend;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	lend = getLabel_cgen_11431(p);
	{
		NI i;
		NI res;
		i = (NI)0;
		res = ((NI) 1);
		{
			while (1) {
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
				tyArray__JiWwrsTRC6xqNlGcBthSVA T11_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
				if (!(res <= until)) goto LA3;
				i = res;
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1));
					if (!(T6_)) goto LA7_;
					T6_ = isEmptyType_ast_4778((*t).typ);
					LA7_: ;
					if (!T6_) goto LA8_;
					(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0);
				}
				LA8_: ;
				T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T11_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T11_[0] = rope_ropes_115(((NI64) ((NI)(labId + i))));
				T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T12_ = percent__cgen_14942(T11_, 1);
				T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T13_ = indentLine_cgen_272(p, T12_);
				add_ropes_159(T10_, T13_);
				{
					NI T18_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T19_;
					tyArray__JiWwrsTRC6xqNlGcBthSVA T20_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
					if (!((*(*t)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA16_;
					T18_ = (NI)0;
					T18_ = len_ast_3197((*t)._kind_6.sons->data[i]);
					exprBlock_cgen_13487(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[(NI)(T18_ - ((NI) 1))], d);
					T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T19_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T20_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T20_[0] = lend;
					T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T21_ = percent__cgen_14110(T20_, 1);
					T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T22_ = indentLine_cgen_272(p, T21_);
					add_ropes_159(T19_, T22_);
				}
				goto LA14_;
				LA16_: ;
				{
					exprBlock_cgen_13487(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], d);
				}
				LA14_: ;
				res += ((NI) 1);
			} LA3: ;
		}
	}
	result = lend;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genStringCase_cgen_15034)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	NI strings;
	strings = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(t);
		i_2 = ((NI) 1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					NI T8_;
					if (!((*(*t)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA6_;
					T8_ = (NI)0;
					T8_ = len_ast_3197((*t)._kind_6.sons->data[i]);
					strings += (NI)(T8_ - ((NI) 1));
				}
				LA6_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	{
		NI bitMask;
		NI T13_;
		tySequence__WwUFq9cJ2xKRlsAWVEHyPRg* branches;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		NI labId;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T25_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T46_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T47_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lend;
		NI T59_;
		if (!(((NI) 8) < strings)) goto LA11_;
		T13_ = (NI)0;
		T13_ = nextPowerOfTwo_pureZmath_177(strings);
		bitMask = (NI)(T13_ - ((NI) 1));
		branches = (tySequence__WwUFq9cJ2xKRlsAWVEHyPRg*)0;
		branches = (tySequence__WwUFq9cJ2xKRlsAWVEHyPRg*) newSeq((&NTIseqLropeT__WwUFq9cJ2xKRlsAWVEHyPRg_), ((NI) ((NI)(bitMask + ((NI) 1)))));
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*t)._kind_6.sons->data[((NI) 0)], (&a));
		labId = (*p).labels;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len_ast_3197(t);
			i_4 = ((NI) 1);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA16;
					i_3 = i_4;
					(*p).labels += ((NI) 1);
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
						if (!((*(*t)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA19_;
						T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T21_ = rope_ropes_115(((NI64) ((*p).labels)));
						T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T22_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629), T21_);
						T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T23_ = amp__ropes_140(T22_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
						genCaseStringBranch_cgen_14984(p, (*t)._kind_6.sons->data[i_3], a, T23_, branches->data, (branches ? branches->Sup.len : 0));
					}
					goto LA17_;
					LA19_: ;
					{
					}
					LA17_: ;
					i_4 += ((NI) 1);
				} LA16: ;
			}
		}
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T25_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 8);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1019));
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1020));
		cgFormatValue_cgen_141((&res), T26_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
		T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T27_ = rdLoc_cgen_417(a);
		cgFormatValue_cgen_141((&res), T27_);
		res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1021));
		cgFormatValue_cgen_148((&res), ((NI64) (bitMask)));
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1022));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA30_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA30_: ;
		T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = rope_ropes_109(res);
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = indentLine_cgen_272(p, T32_);
		add_ropes_159(T25_, T33_);
		{
			NI j;
			NI colontmp__3;
			NI T35_;
			NI res_2;
			j = (NI)0;
			colontmp__3 = (NI)0;
			T35_ = ((branches ? branches->Sup.len : 0)-1);
			colontmp__3 = T35_;
			res_2 = ((NI) 0);
			{
				while (1) {
					if (!(res_2 <= colontmp__3)) goto LA37;
					j = res_2;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T42_;
						tyArray__mrugoXXRZUEeG9bEXo9auBKw T43_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
						if (!!((branches->data[j] == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA40_;
						T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T42_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T43_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
						T43_[0] = intLiteral_cgen_11466(((NI64) (j)));
						T43_[1] = branches->data[j];
						T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T44_ = percent__cgen_15112(T43_, 2);
						T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T45_ = indentLine_cgen_272(p, T44_);
						add_ropes_159(T42_, T45_);
					}
					LA40_: ;
					res_2 += ((NI) 1);
				} LA37: ;
			}
		}
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T46_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T47_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T48_ = percent__cgen_7509(T47_, 0);
		T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T49_ = indentLine_cgen_272(p, T48_);
		add_ropes_159(T46_, T49_);
		{
			NI T52_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T55_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T56_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
			T52_ = (NI)0;
			T52_ = len_ast_3197(t);
			if (!!(((*(*t)._kind_6.sons->data[(NI)(T52_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85)))) goto LA53_;
			T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T55_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T56_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T56_[0] = rope_ropes_115(((NI64) ((*p).labels)));
			T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T57_ = percent__cgen_15130(T56_, 1);
			T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T58_ = indentLine_cgen_272(p, T57_);
			add_ropes_159(T55_, T58_);
		}
		LA53_: ;
		T59_ = (NI)0;
		T59_ = len_ast_3197(t);
		lend = genCaseSecondPass_cgen_14925(p, t, d, ((NI) (labId)), (NI)(T59_ - ((NI) 1)));
		fixLabel_cgen_11438(p, lend);
	}
	goto LA9_;
	LA11_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym2150_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lendX60gensym2150_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* resX60gensym2152_;
		NI labIdX60gensym2152_;
		nimZeroMem((void*)(&aX60gensym2150_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*t)._kind_6.sons->data[((NI) 0)], (&aX60gensym2150_));
		resX60gensym2152_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		labIdX60gensym2152_ = (*p).labels;
		{
			NI iX60gensym2152_;
			NI colontmp__4;
			NI T62_;
			NI res_3;
			iX60gensym2152_ = (NI)0;
			colontmp__4 = (NI)0;
			T62_ = (NI)0;
			T62_ = len_ast_3197(t);
			colontmp__4 = (NI)(T62_ - ((NI) 1));
			res_3 = ((NI) 1);
			{
				while (1) {
					if (!(res_3 <= colontmp__4)) goto LA64;
					iX60gensym2152_ = res_3;
					(*p).labels += ((NI) 1);
					{
						tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA xX60gensym2155_;
						tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA yX60gensym2155_;
						if (!((*(*t)._kind_6.sons->data[iX60gensym2152_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA67_;
						nimZeroMem((void*)(&xX60gensym2155_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
						nimZeroMem((void*)(&yX60gensym2155_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
						{
							NI iX60gensym2155_;
							NI colontmp__5;
							NI T70_;
							NI i_5;
							iX60gensym2155_ = (NI)0;
							colontmp__5 = (NI)0;
							T70_ = (NI)0;
							T70_ = len_ast_3197((*t)._kind_6.sons->data[iX60gensym2152_]);
							colontmp__5 = (NI)(T70_ - ((NI) 1));
							i_5 = ((NI) 0);
							{
								while (1) {
									if (!(i_5 < colontmp__5)) goto LA72;
									iX60gensym2155_ = i_5;
									{
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T77_;
										NimStringDesc* res_4;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
										if (!((*(*(*t)._kind_6.sons->data[iX60gensym2152_])._kind_6.sons->data[iX60gensym2155_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA75_;
										initLocExpr_cgen_11478(p, (*(*(*t)._kind_6.sons->data[iX60gensym2152_])._kind_6.sons->data[iX60gensym2155_])._kind_6.sons->data[((NI) 0)], (&xX60gensym2155_));
										initLocExpr_cgen_11478(p, (*(*(*t)._kind_6.sons->data[iX60gensym2152_])._kind_6.sons->data[iX60gensym2155_])._kind_6.sons->data[((NI) 1)], (&yX60gensym2155_));
										T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
										T77_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
										res_4 = rawNewString(((NI) 80));
										T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T78_ = rope_ropes_109(res_4);
										T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T79_ = indentLine_cgen_272(p, T78_);
										add_ropes_159(T77_, T79_);
									}
									goto LA73_;
									LA75_: ;
									{
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T81_;
										NimStringDesc* res_5;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T86_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T87_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T93_;
										initLocExpr_cgen_11478(p, (*(*t)._kind_6.sons->data[iX60gensym2152_])._kind_6.sons->data[iX60gensym2155_], (&xX60gensym2155_));
										T81_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
										T81_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
										res_5 = rawNewString(((NI) 80));
										res_5 = resizeString(res_5, 4);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
										T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T82_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_739));
										cgFormatValue_cgen_141((&res_5), T82_);
										res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
										T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T83_ = rdCharLoc_cgen_10347(aX60gensym2150_);
										cgFormatValue_cgen_141((&res_5), T83_);
										res_5 = resizeString(res_5, 2);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
										T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T84_ = rdCharLoc_cgen_10347(xX60gensym2155_);
										cgFormatValue_cgen_141((&res_5), T84_);
										res_5 = resizeString(res_5, 8);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1018));
										T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T85_ = rope_ropes_115(((NI64) ((*p).labels)));
										T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T86_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629), T85_);
										T87_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T87_ = amp__ropes_140(T86_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
										cgFormatValue_cgen_141((&res_5), T87_);
										res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
										{
											if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA90_;
											res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
										}
										LA90_: ;
										T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T92_ = rope_ropes_109(res_5);
										T93_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T93_ = indentLine_cgen_272(p, T92_);
										add_ropes_159(T81_, T93_);
									}
									LA73_: ;
									i_5 += ((NI) 1);
								} LA72: ;
							}
						}
					}
					goto LA65_;
					LA67_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T95_;
						tyArray__JiWwrsTRC6xqNlGcBthSVA T96_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T97_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T98_;
						T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T95_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T96_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T96_[0] = rope_ropes_115(((NI64) ((*p).labels)));
						T97_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T97_ = percent__cgen_15130(T96_, 1);
						T98_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T98_ = indentLine_cgen_272(p, T97_);
						add_ropes_159(T95_, T98_);
					}
					LA65_: ;
					res_3 += ((NI) 1);
				} LA64: ;
			}
		}
		{
			NI T101_;
			NI T102_;
			NI gotoTargetX60gensym2152_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T105_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T106_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
			NI T109_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T110_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T111_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T112_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
			T101_ = (NI)0;
			T101_ = len_ast_3197(t);
			T102_ = (NI)0;
			T102_ = len_ast_3197(t);
			if (!((NI)(T101_ - ((NI) 1)) < (NI)(T102_ - ((NI) 1)))) goto LA103_;
			(*p).labels += ((NI) 1);
			gotoTargetX60gensym2152_ = (*p).labels;
			T105_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T105_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T106_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T106_[0] = rope_ropes_115(((NI64) (gotoTargetX60gensym2152_)));
			T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T107_ = percent__cgen_15130(T106_, 1);
			T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T108_ = indentLine_cgen_272(p, T107_);
			add_ropes_159(T105_, T108_);
			T109_ = (NI)0;
			T109_ = len_ast_3197(t);
			resX60gensym2152_ = genCaseSecondPass_cgen_14925(p, t, d, ((NI) (labIdX60gensym2152_)), (NI)(T109_ - ((NI) 1)));
			T110_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T110_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T111_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T111_[0] = rope_ropes_115(((NI64) (gotoTargetX60gensym2152_)));
			T112_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T112_ = percent__cgen_14942(T111_, 1);
			T113_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T113_ = indentLine_cgen_272(p, T112_);
			add_ropes_159(T110_, T113_);
		}
		goto LA99_;
		LA103_: ;
		{
			NI T115_;
			T115_ = (NI)0;
			T115_ = len_ast_3197(t);
			resX60gensym2152_ = genCaseSecondPass_cgen_14925(p, t, d, ((NI) (labIdX60gensym2152_)), (NI)(T115_ - ((NI) 1)));
		}
		LA99_: ;
		lendX60gensym2150_ = resX60gensym2152_;
		fixLabel_cgen_11438(p, lendX60gensym2150_);
	}
	LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14240)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1031), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genGotoForCase_cgen_14199)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseStmt) {
{	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(caseStmt);
		i_2 = ((NI) 1);
		{
			while (1) {
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T4_;
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
				NI T11_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T4_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res = rawNewString(((NI) 80));
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA7_;
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA7_: ;
				T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T9_ = rope_ropes_109(res);
				T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T10_ = indentLine_cgen_272(p, T9_);
				add_ropes_159(T4_, T10_);
				T11_ = (NI)0;
				T11_ = startBlockInternal_cgen_13180(p);
				it = (*caseStmt)._kind_6.sons->data[i];
				{
					NI j;
					NI colontmp__2;
					NI T13_;
					NI i_3;
					j = (NI)0;
					colontmp__2 = (NI)0;
					T13_ = (NI)0;
					T13_ = len_ast_3197(it);
					colontmp__2 = (NI)(T13_ - ((NI) 1));
					i_3 = ((NI) 0);
					{
						while (1) {
							tyObject_Int128__9a9axPfb75jdWY25AamJewkA val;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T20_;
							tyArray__JiWwrsTRC6xqNlGcBthSVA T21_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
							if (!(i_3 < colontmp__2)) goto LA15;
							j = i_3;
							{
								if (!((*(*it)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA18_;
								liMessage_msgs_1118((*(*(*p).module).g).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1004), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_1030, NIM_FALSE);
								goto BeforeRet_;
							}
							LA18_: ;
							val = getOrdValue_types_161((*it)._kind_6.sons->data[j], Max_int495056_27);
							T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
							T20_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
							nimZeroMem((void*)T21_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
							T21_[0] = rope_cgen_6922(val);
							T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T22_ = percent__cgen_14240(T21_, 1);
							T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T23_ = indentLine_cgen_272(p, T22_);
							add_ropes_159(T20_, T23_);
							i_3 += ((NI) 1);
						} LA15: ;
					}
				}
				T24_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T24_ = lastSon_ast_4831(it);
				genStmts_cgen_11452(p, T24_);
				endBlock_cgen_13201(p);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, branchHasTooBigRange_cgen_15233)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
		it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen_ast_3190(b);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					it = (*b)._kind_6.sons->data[i];
					{
						NIM_BOOL T7_;
						T7_ = (NIM_BOOL)0;
						T7_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44));
						if (!(T7_)) goto LA8_;
						T7_ = (IL64(256) < (NI64)((*(*it)._kind_6.sons->data[((NI) 1)])._kind_1.intVal - (*(*it)._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
						LA8_: ;
						if (!T7_) goto LA9_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA9_: ;
					i_2 += ((NI) 1);
				} LA4: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, ifSwitchSplitPoint_cgen_15243)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_ast_3197(n);
		i_2 = ((NI) 1);
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* stmtBlock;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				branch = (*n)._kind_6.sons->data[i];
				stmtBlock = lastSon_ast_4831(branch);
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = stmtsContainPragma_ccgutils_42(stmtBlock, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 205));
					if (!T6_) goto LA7_;
					result = i;
				}
				goto LA4_;
				LA7_: ;
				{
					if (!!(((CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 0))&7U)))!=0))) goto LA10_;
					{
						NIM_BOOL T14_;
						T14_ = (NIM_BOOL)0;
						T14_ = ((*branch).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85));
						if (!(T14_)) goto LA15_;
						T14_ = branchHasTooBigRange_cgen_15233(branch);
						LA15_: ;
						if (!T14_) goto LA16_;
						result = i;
					}
					LA16_: ;
				}
				goto LA4_;
				LA10_: ;
				LA4_: ;
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13675)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1032), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15456)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1033), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genOrdinalCase_cgen_15317)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	NI splitPoint;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lend;
	splitPoint = ifSwitchSplitPoint_cgen_15243(p, n);
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* resX60gensym2201_;
		NI labIdX60gensym2201_;
		if (!(((NI) 0) < splitPoint)) goto LA3_;
		resX60gensym2201_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		labIdX60gensym2201_ = (*p).labels;
		{
			NI iX60gensym2201_;
			NI res;
			iX60gensym2201_ = (NI)0;
			res = ((NI) 1);
			{
				while (1) {
					if (!(res <= splitPoint)) goto LA7;
					iX60gensym2201_ = res;
					(*p).labels += ((NI) 1);
					{
						tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA xX60gensym2204_;
						tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA yX60gensym2204_;
						if (!((*(*n)._kind_6.sons->data[iX60gensym2201_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA10_;
						nimZeroMem((void*)(&xX60gensym2204_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
						nimZeroMem((void*)(&yX60gensym2204_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
						{
							NI iX60gensym2204_;
							NI colontmp_;
							NI T13_;
							NI i;
							iX60gensym2204_ = (NI)0;
							colontmp_ = (NI)0;
							T13_ = (NI)0;
							T13_ = len_ast_3197((*n)._kind_6.sons->data[iX60gensym2201_]);
							colontmp_ = (NI)(T13_ - ((NI) 1));
							i = ((NI) 0);
							{
								while (1) {
									if (!(i < colontmp_)) goto LA15;
									iX60gensym2204_ = i;
									{
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T20_;
										NimStringDesc* res_2;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
										if (!((*(*(*n)._kind_6.sons->data[iX60gensym2201_])._kind_6.sons->data[iX60gensym2204_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA18_;
										initLocExpr_cgen_11478(p, (*(*(*n)._kind_6.sons->data[iX60gensym2201_])._kind_6.sons->data[iX60gensym2204_])._kind_6.sons->data[((NI) 0)], (&xX60gensym2204_));
										initLocExpr_cgen_11478(p, (*(*(*n)._kind_6.sons->data[iX60gensym2201_])._kind_6.sons->data[iX60gensym2204_])._kind_6.sons->data[((NI) 1)], (&yX60gensym2204_));
										T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
										T20_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
										res_2 = rawNewString(((NI) 80));
										res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
										T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T21_ = rdCharLoc_cgen_10347(a);
										cgFormatValue_cgen_141((&res_2), T21_);
										res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1026));
										T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T22_ = rdCharLoc_cgen_10347(xX60gensym2204_);
										cgFormatValue_cgen_141((&res_2), T22_);
										res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1027));
										T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T23_ = rdCharLoc_cgen_10347(a);
										cgFormatValue_cgen_141((&res_2), T23_);
										res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1028));
										T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T24_ = rdCharLoc_cgen_10347(yX60gensym2204_);
										cgFormatValue_cgen_141((&res_2), T24_);
										res_2 = resizeString(res_2, 7);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1029));
										T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T25_ = rope_ropes_115(((NI64) ((*p).labels)));
										T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T26_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629), T25_);
										T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T27_ = amp__ropes_140(T26_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
										cgFormatValue_cgen_141((&res_2), T27_);
										res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
										{
											if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA30_;
											res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
										}
										LA30_: ;
										T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T32_ = rope_ropes_109(res_2);
										T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T33_ = indentLine_cgen_272(p, T32_);
										add_ropes_159(T20_, T33_);
									}
									goto LA16_;
									LA18_: ;
									{
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T35_;
										NimStringDesc* res_3;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
										initLocExpr_cgen_11478(p, (*(*n)._kind_6.sons->data[iX60gensym2201_])._kind_6.sons->data[iX60gensym2204_], (&xX60gensym2204_));
										T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
										T35_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
										res_3 = rawNewString(((NI) 80));
										res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
										T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T36_ = rdCharLoc_cgen_10347(a);
										cgFormatValue_cgen_141((&res_3), T36_);
										res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_637));
										T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T37_ = rdCharLoc_cgen_10347(xX60gensym2204_);
										cgFormatValue_cgen_141((&res_3), T37_);
										res_3 = resizeString(res_3, 7);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1029));
										T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T38_ = rope_ropes_115(((NI64) ((*p).labels)));
										T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T39_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629), T38_);
										T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T40_ = amp__ropes_140(T39_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
										cgFormatValue_cgen_141((&res_3), T40_);
										res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
										{
											if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA43_;
											res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
										}
										LA43_: ;
										T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T45_ = rope_ropes_109(res_3);
										T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T46_ = indentLine_cgen_272(p, T45_);
										add_ropes_159(T35_, T46_);
									}
									LA16_: ;
									i += ((NI) 1);
								} LA15: ;
							}
						}
					}
					goto LA8_;
					LA10_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T48_;
						tyArray__JiWwrsTRC6xqNlGcBthSVA T49_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
						T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T48_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T49_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T49_[0] = rope_ropes_115(((NI64) ((*p).labels)));
						T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T50_ = percent__cgen_15130(T49_, 1);
						T51_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T51_ = indentLine_cgen_272(p, T50_);
						add_ropes_159(T48_, T51_);
					}
					LA8_: ;
					res += ((NI) 1);
				} LA7: ;
			}
		}
		{
			NI T54_;
			NI gotoTargetX60gensym2201_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T57_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T58_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T61_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T62_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
			T54_ = (NI)0;
			T54_ = len_ast_3197(n);
			if (!(splitPoint < (NI)(T54_ - ((NI) 1)))) goto LA55_;
			(*p).labels += ((NI) 1);
			gotoTargetX60gensym2201_ = (*p).labels;
			T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T57_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T58_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T58_[0] = rope_ropes_115(((NI64) (gotoTargetX60gensym2201_)));
			T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T59_ = percent__cgen_15130(T58_, 1);
			T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T60_ = indentLine_cgen_272(p, T59_);
			add_ropes_159(T57_, T60_);
			resX60gensym2201_ = genCaseSecondPass_cgen_14925(p, n, d, ((NI) (labIdX60gensym2201_)), splitPoint);
			T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T61_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T62_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T62_[0] = rope_ropes_115(((NI64) (gotoTargetX60gensym2201_)));
			T63_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T63_ = percent__cgen_14942(T62_, 1);
			T64_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T64_ = indentLine_cgen_272(p, T63_);
			add_ropes_159(T61_, T64_);
		}
		goto LA52_;
		LA55_: ;
		{
			resX60gensym2201_ = genCaseSecondPass_cgen_14925(p, n, d, ((NI) (labIdX60gensym2201_)), splitPoint);
		}
		LA52_: ;
		lend = resX60gensym2201_;
	}
	goto LA1_;
	LA3_: ;
	{
		lend = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	LA1_: ;
	{
		NI T69_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T72_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T73_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
		NIM_BOOL hasDefault;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T109_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T110_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T111_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T112_;
		T69_ = (NI)0;
		T69_ = len_ast_3197(n);
		if (!((NI)(splitPoint + ((NI) 1)) < T69_)) goto LA70_;
		T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T72_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T73_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T73_[0] = rdCharLoc_cgen_10347(a);
		T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T74_ = percent__cgen_13675(T73_, 1);
		T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T75_ = indentLine_cgen_272(p, T74_);
		add_ropes_159(T72_, T75_);
		hasDefault = NIM_FALSE;
		{
			NI i_2;
			NI colontmp__2;
			NI colontmp__3;
			NI i_3;
			i_2 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__2 = (NI)(splitPoint + ((NI) 1));
			colontmp__3 = len_ast_3197(n);
			i_3 = colontmp__2;
			{
				while (1) {
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T94_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T95_;
					tyArray__qTjAvTvKF9anytN1At69aJMQ T96_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T97_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T98_;
					if (!(i_3 < colontmp__3)) goto LA78;
					i_2 = i_3;
					{
						NIM_BOOL T81_;
						T81_ = (NIM_BOOL)0;
						T81_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1));
						if (!(T81_)) goto LA82_;
						T81_ = isEmptyType_ast_4778((*n).typ);
						LA82_: ;
						if (!T81_) goto LA83_;
						(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0);
					}
					LA83_: ;
					branch = (*n)._kind_6.sons->data[i_2];
					{
						if (!((*branch).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA87_;
						genCaseRange_cgen_7344(p, branch);
					}
					goto LA85_;
					LA87_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T90_;
						tyArray__qTjAvTvKF9anytN1At69aJMQ T91_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T93_;
						T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T90_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T91_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
						T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T92_ = percent__cgen_7412(T91_, 0);
						T93_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T93_ = indentLine_cgen_272(p, T92_);
						add_ropes_159(T90_, T93_);
						hasDefault = NIM_TRUE;
					}
					LA85_: ;
					T94_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T94_ = lastSon_ast_4831(branch);
					exprBlock_cgen_13487(p, T94_, d);
					T95_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T95_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T96_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					T97_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T97_ = percent__cgen_7420(T96_, 0);
					T98_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T98_ = indentLine_cgen_272(p, T97_);
					add_ropes_159(T95_, T98_);
					i_3 += ((NI) 1);
				} LA78: ;
			}
		}
		{
			NIM_BOOL T101_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T105_;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T106_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
			T101_ = (NIM_BOOL)0;
			T101_ = ((CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 3))&7U)))!=0);
			if (!(T101_)) goto LA102_;
			T101_ = !(hasDefault);
			LA102_: ;
			if (!T101_) goto LA103_;
			T105_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T105_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T106_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T107_ = percent__cgen_15456(T106_, 0);
			T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T108_ = indentLine_cgen_272(p, T107_);
			add_ropes_159(T105_, T108_);
		}
		LA103_: ;
		T109_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T109_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T110_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T111_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T111_ = percent__cgen_7509(T110_, 0);
		T112_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T112_ = indentLine_cgen_272(p, T111_);
		add_ropes_159(T109_, T112_);
	}
	LA70_: ;
	{
		if (!!((lend == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA115_;
		fixLabel_cgen_11438(p, lend);
	}
	LA115_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCase_cgen_15469)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
	genLineDir_cgen_351(p, t);
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = isEmptyType_ast_4778((*t).typ);
		T3_ = !(T4_);
		if (!(T3_)) goto LA5_;
		T3_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0));
		LA5_: ;
		if (!T3_) goto LA6_;
		getTemp_cgen_7347(p, (*t).typ, d, NIM_FALSE);
	}
	LA6_: ;
	T8_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T8_ = skipTypes_ast_3734((*(*t)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
	switch ((*T8_).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		genStringCase_cgen_15034(p, t, d);
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA aX60gensym2240_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* lendX60gensym2240_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* resX60gensym2242_;
		NI labIdX60gensym2242_;
		nimZeroMem((void*)(&aX60gensym2240_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*t)._kind_6.sons->data[((NI) 0)], (&aX60gensym2240_));
		resX60gensym2242_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		labIdX60gensym2242_ = (*p).labels;
		{
			NI iX60gensym2242_;
			NI colontmp_;
			NI T12_;
			NI res;
			iX60gensym2242_ = (NI)0;
			colontmp_ = (NI)0;
			T12_ = (NI)0;
			T12_ = len_ast_3197(t);
			colontmp_ = (NI)(T12_ - ((NI) 1));
			res = ((NI) 1);
			{
				while (1) {
					if (!(res <= colontmp_)) goto LA14;
					iX60gensym2242_ = res;
					(*p).labels += ((NI) 1);
					{
						tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA xX60gensym2245_;
						tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA yX60gensym2245_;
						if (!((*(*t)._kind_6.sons->data[iX60gensym2242_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA17_;
						nimZeroMem((void*)(&xX60gensym2245_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
						nimZeroMem((void*)(&yX60gensym2245_), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
						{
							NI iX60gensym2245_;
							NI colontmp__2;
							NI T20_;
							NI i;
							iX60gensym2245_ = (NI)0;
							colontmp__2 = (NI)0;
							T20_ = (NI)0;
							T20_ = len_ast_3197((*t)._kind_6.sons->data[iX60gensym2242_]);
							colontmp__2 = (NI)(T20_ - ((NI) 1));
							i = ((NI) 0);
							{
								while (1) {
									if (!(i < colontmp__2)) goto LA22;
									iX60gensym2245_ = i;
									{
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T27_;
										NimStringDesc* res_2;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
										if (!((*(*(*t)._kind_6.sons->data[iX60gensym2242_])._kind_6.sons->data[iX60gensym2245_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA25_;
										initLocExpr_cgen_11478(p, (*(*(*t)._kind_6.sons->data[iX60gensym2242_])._kind_6.sons->data[iX60gensym2245_])._kind_6.sons->data[((NI) 0)], (&xX60gensym2245_));
										initLocExpr_cgen_11478(p, (*(*(*t)._kind_6.sons->data[iX60gensym2242_])._kind_6.sons->data[iX60gensym2245_])._kind_6.sons->data[((NI) 1)], (&yX60gensym2245_));
										T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
										T27_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
										res_2 = rawNewString(((NI) 80));
										res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
										T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T28_ = rdCharLoc_cgen_10347(aX60gensym2240_);
										cgFormatValue_cgen_141((&res_2), T28_);
										res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1026));
										T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T29_ = rdCharLoc_cgen_10347(xX60gensym2245_);
										cgFormatValue_cgen_141((&res_2), T29_);
										res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1027));
										T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T30_ = rdCharLoc_cgen_10347(aX60gensym2240_);
										cgFormatValue_cgen_141((&res_2), T30_);
										res_2 = resizeString(res_2, 4);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1028));
										T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T31_ = rdCharLoc_cgen_10347(yX60gensym2245_);
										cgFormatValue_cgen_141((&res_2), T31_);
										res_2 = resizeString(res_2, 7);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1029));
										T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T32_ = rope_ropes_115(((NI64) ((*p).labels)));
										T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T33_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629), T32_);
										T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T34_ = amp__ropes_140(T33_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
										cgFormatValue_cgen_141((&res_2), T34_);
										res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
										{
											if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA37_;
											res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
										}
										LA37_: ;
										T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T39_ = rope_ropes_109(res_2);
										T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T40_ = indentLine_cgen_272(p, T39_);
										add_ropes_159(T27_, T40_);
									}
									goto LA23_;
									LA25_: ;
									{
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T42_;
										NimStringDesc* res_3;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
										initLocExpr_cgen_11478(p, (*(*t)._kind_6.sons->data[iX60gensym2242_])._kind_6.sons->data[iX60gensym2245_], (&xX60gensym2245_));
										T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
										T42_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
										res_3 = rawNewString(((NI) 80));
										res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
										T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T43_ = rdCharLoc_cgen_10347(aX60gensym2240_);
										cgFormatValue_cgen_141((&res_3), T43_);
										res_3 = resizeString(res_3, 4);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_637));
										T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T44_ = rdCharLoc_cgen_10347(xX60gensym2245_);
										cgFormatValue_cgen_141((&res_3), T44_);
										res_3 = resizeString(res_3, 7);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1029));
										T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T45_ = rope_ropes_115(((NI64) ((*p).labels)));
										T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T46_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629), T45_);
										T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T47_ = amp__ropes_140(T46_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
										cgFormatValue_cgen_141((&res_3), T47_);
										res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
										{
											if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA50_;
											res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
										}
										LA50_: ;
										T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T52_ = rope_ropes_109(res_3);
										T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T53_ = indentLine_cgen_272(p, T52_);
										add_ropes_159(T42_, T53_);
									}
									LA23_: ;
									i += ((NI) 1);
								} LA22: ;
							}
						}
					}
					goto LA15_;
					LA17_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T55_;
						tyArray__JiWwrsTRC6xqNlGcBthSVA T56_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
						T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T55_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						nimZeroMem((void*)T56_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T56_[0] = rope_ropes_115(((NI64) ((*p).labels)));
						T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T57_ = percent__cgen_15130(T56_, 1);
						T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T58_ = indentLine_cgen_272(p, T57_);
						add_ropes_159(T55_, T58_);
					}
					LA15_: ;
					res += ((NI) 1);
				} LA14: ;
			}
		}
		{
			NI T61_;
			NI T62_;
			NI gotoTargetX60gensym2242_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T65_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T66_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
			NI T69_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T70_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T71_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T73_;
			T61_ = (NI)0;
			T61_ = len_ast_3197(t);
			T62_ = (NI)0;
			T62_ = len_ast_3197(t);
			if (!((NI)(T61_ - ((NI) 1)) < (NI)(T62_ - ((NI) 1)))) goto LA63_;
			(*p).labels += ((NI) 1);
			gotoTargetX60gensym2242_ = (*p).labels;
			T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T65_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T66_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T66_[0] = rope_ropes_115(((NI64) (gotoTargetX60gensym2242_)));
			T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T67_ = percent__cgen_15130(T66_, 1);
			T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T68_ = indentLine_cgen_272(p, T67_);
			add_ropes_159(T65_, T68_);
			T69_ = (NI)0;
			T69_ = len_ast_3197(t);
			resX60gensym2242_ = genCaseSecondPass_cgen_14925(p, t, d, ((NI) (labIdX60gensym2242_)), (NI)(T69_ - ((NI) 1)));
			T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T70_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T71_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T71_[0] = rope_ropes_115(((NI64) (gotoTargetX60gensym2242_)));
			T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T72_ = percent__cgen_14942(T71_, 1);
			T73_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T73_ = indentLine_cgen_272(p, T72_);
			add_ropes_159(T70_, T73_);
		}
		goto LA59_;
		LA63_: ;
		{
			NI T75_;
			T75_ = (NI)0;
			T75_ = len_ast_3197(t);
			resX60gensym2242_ = genCaseSecondPass_cgen_14925(p, t, d, ((NI) (labIdX60gensym2242_)), (NI)(T75_ - ((NI) 1)));
		}
		LA59_: ;
		lendX60gensym2240_ = resX60gensym2242_;
		fixLabel_cgen_11438(p, lendX60gensym2240_);
	}
	break;
	default:
	{
		{
			NIM_BOOL T79_;
			T79_ = (NIM_BOOL)0;
			T79_ = ((*(*t)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
			if (!(T79_)) goto LA80_;
			T79_ = (((*(*(*t)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
			LA80_: ;
			if (!T79_) goto LA81_;
			genGotoForCase_cgen_14199(p, t);
		}
		goto LA77_;
		LA81_: ;
		{
			genOrdinalCase_cgen_15317(p, t, d);
		}
		LA77_: ;
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tySequence__KjgUMUjT3LUKOFIK4xt5ug*, newSeq_cgen_13566)(NI len) {
	tySequence__KjgUMUjT3LUKOFIK4xt5ug* result;
	result = (tySequence__KjgUMUjT3LUKOFIK4xt5ug*)0;
	result = (tySequence__KjgUMUjT3LUKOFIK4xt5ug*) newSeq((&NTIseqLtupleLfin58pnode_inexcept58bool_label58naturalTT__KjgUMUjT3LUKOFIK4xt5ug_), len);
	return result;
}
static N_INLINE(void, pop_cgen_13593)(tySequence__KjgUMUjT3LUKOFIK4xt5ug** s, tyTuple__FxkU4d1VDodDMc9ah6Mbagw* Result) {
	NI L;
	NI T1_;
	T1_ = ((*s) ? (*s)->Sup.len : 0);
	L = (NI)(T1_ - ((NI) 1));
	unsureAsgnRef((void**) (&(*Result).Field0), (*s)->data[L].Field0);
	(*Result).Field1 = (*s)->data[L].Field1;
	(*Result).Field2 = (*s)->data[L].Field2;
	unsureAsgnRef((void**) (&(*s)), (tySequence__KjgUMUjT3LUKOFIK4xt5ug*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLtupleLfin58pnode_inexcept58bool_label58naturalTT__KjgUMUjT3LUKOFIK4xt5ug_), ((NI) (L))));
}
N_LIB_PRIVATE N_NIMCALL(void, blockLeaveActions_cgen_13555)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, NI howManyTrys, NI howManyExcepts) {
	tySequence__KjgUMUjT3LUKOFIK4xt5ug* stack;
	stack = newSeq_cgen_13566(((NI) 0));
	(*p).withinBlockLeaveActions += ((NI) 1);
	{
		NI i;
		NI res;
		i = (NI)0;
		res = ((NI) 1);
		{
			while (1) {
				tyTuple__FxkU4d1VDodDMc9ah6Mbagw tryStmt;
				NI T20_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finallyStmt;
				if (!(res <= howManyTrys)) goto LA3;
				i = res;
				nimZeroMem((void*)(&tryStmt), sizeof(tyTuple__FxkU4d1VDodDMc9ah6Mbagw));
				pop_cgen_13593((&(*p).nestedTryStmts), (&tryStmt));
				{
					if (!((*(*(*(*p).module).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 1))) goto LA6_;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T12_;
						NimStringDesc* res_2;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
						if (!!(tryStmt.Field1)) goto LA10_;
						T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T12_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_2 = rawNewString(((NI) 80));
						T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T13_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1034));
						cgFormatValue_cgen_141((&res_2), T13_);
						res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
						{
							if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA16_;
							res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA16_: ;
						T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T18_ = rope_ropes_109(res_2);
						T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T19_ = indentLine_cgen_272(p, T18_);
						add_ropes_159(T12_, T19_);
					}
					LA10_: ;
				}
				LA6_: ;
				stack = (tySequence__KjgUMUjT3LUKOFIK4xt5ug*) incrSeqV3((TGenericSeq*)(stack), (&NTIseqLtupleLfin58pnode_inexcept58bool_label58naturalTT__KjgUMUjT3LUKOFIK4xt5ug_));
				T20_ = stack->Sup.len++;
				asgnRef((void**) (&stack->data[T20_].Field0), tryStmt.Field0);
				stack->data[T20_].Field1 = tryStmt.Field1;
				stack->data[T20_].Field2 = tryStmt.Field2;
				finallyStmt = tryStmt.Field0;
				{
					if (!!((finallyStmt == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA23_;
					genStmts_cgen_11452(p, (*finallyStmt)._kind_6.sons->data[((NI) 0)]);
				}
				LA23_: ;
				res += ((NI) 1);
			} LA3: ;
		}
	}
	(*p).withinBlockLeaveActions -= ((NI) 1);
	{
		NI i_2;
		NI colontmp_;
		NI res_3;
		i_2 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (NI)(howManyTrys - ((NI) 1));
		res_3 = colontmp_;
		{
			while (1) {
				NI T28_;
				if (!(((NI) 0) <= res_3)) goto LA27;
				i_2 = res_3;
				asgnRef((void**) (&(*p).nestedTryStmts), (tySequence__KjgUMUjT3LUKOFIK4xt5ug*) incrSeqV3((TGenericSeq*)((*p).nestedTryStmts), (&NTIseqLtupleLfin58pnode_inexcept58bool_label58naturalTT__KjgUMUjT3LUKOFIK4xt5ug_)));
				T28_ = (*p).nestedTryStmts->Sup.len++;
				asgnRef((void**) (&(*p).nestedTryStmts->data[T28_].Field0), stack->data[i_2].Field0);
				(*p).nestedTryStmts->data[T28_].Field1 = stack->data[i_2].Field1;
				(*p).nestedTryStmts->data[T28_].Field2 = stack->data[i_2].Field2;
				res_3 -= ((NI) 1);
			} LA27: ;
		}
	}
	{
		if (!!((((*p).flags &((NU8)1<<((NU)(((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 3))&7U)))!=0))) goto LA31_;
		{
			NI i_3;
			NI colontmp__2;
			NI res_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = (NI)(howManyExcepts - ((NI) 1));
			res_4 = colontmp__2;
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T36_;
					NimStringDesc* res_5;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
					if (!(((NI) 0) <= res_4)) goto LA35;
					i_3 = res_4;
					T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T36_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res_5 = rawNewString(((NI) 80));
					T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T37_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1035));
					cgFormatValue_cgen_141((&res_5), T37_);
					res_5 = resizeString(res_5, 3);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA40_;
						res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA40_: ;
					T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T42_ = rope_ropes_109(res_5);
					T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T43_ = indentLine_cgen_272(p, T42_);
					add_ropes_159(T36_, T43_);
					res_4 -= ((NI) 1);
				} LA35: ;
			}
		}
	}
	LA31_: ;
}
static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, X5BX5D__cgen_14162)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** s, NI sLen_0, NI i) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	result = &s[(NI)(sLen_0 - i)];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14185)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1037), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genReturnStmt_cgen_14135)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	NI T9_;
	NI T10_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T27_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T28_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
{	{
		if (!(((*t).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 15))&31U)))!=0)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 0)) & 7);
	genLineDir_cgen_351(p, t);
	{
		if (!!(((*(*t)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA7_;
		genStmts_cgen_11452(p, (*t)._kind_6.sons->data[((NI) 0)]);
	}
	LA7_: ;
	T9_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
	T10_ = (NI)0;
	T10_ = inExceptBlockLen_cgen_13145(p);
	blockLeaveActions_cgen_13555(p, T9_, T10_);
	{
		NIM_BOOL T13_;
		NI T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* safePoint;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T18_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T19_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		T13_ = (NIM_BOOL)0;
		T14_ = ((*p).finallySafePoints ? (*p).finallySafePoints->Sup.len : 0);
		T13_ = (((NI) 0) < T14_);
		if (!(T13_)) goto LA15_;
		T13_ = !((((*p).flags &((NU8)1<<((NU)(((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 3))&7U)))!=0));
		LA15_: ;
		if (!T13_) goto LA16_;
		T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T18_ = X5BX5D__cgen_14162((*p).finallySafePoints->data, ((*p).finallySafePoints ? (*p).finallySafePoints->Sup.len : 0), ((NI) 1));
		safePoint = (*T18_);
		T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T19_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		cgFormatValue_cgen_141((&res), safePoint);
		res = resizeString(res, 14);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1036));
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1035));
		cgFormatValue_cgen_141((&res), T20_);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA23_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA23_: ;
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = rope_ropes_109(res);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = indentLine_cgen_272(p, T25_);
		add_ropes_159(T19_, T26_);
	}
	LA16_: ;
	T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T27_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T28_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T29_ = percent__cgen_14185(T28_, 0);
	T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T30_ = indentLine_cgen_272(p, T29_);
	add_ropes_159(T27_, T30_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBreakStmt_cgen_14650)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	NI idx;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* label;
	NI T20_;
	NI T21_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T22_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T23_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
	idx = (*p).breakIdx;
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
		if (!!(((*(*t)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
		sym = (*(*t)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		{
			if (!!(((*sym).loc.k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 10)))) goto LA7_;
			failedAssertImpl_systemZassertions_56(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1038));
		}
		LA7_: ;
		idx = (NI)((*sym).position - ((NI) 1));
	}
	goto LA1_;
	LA3_: ;
	{
		{
			while (1) {
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (((NI) 0) <= idx);
				if (!(T12_)) goto LA13_;
				T12_ = !((*p).blocks->data[idx].isLoop);
				LA13_: ;
				if (!T12_) goto LA11;
				idx -= ((NI) 1);
			} LA11: ;
		}
		{
			NIM_BOOL T16_;
			T16_ = (NIM_BOOL)0;
			T16_ = (idx < ((NI) 0));
			if (T16_) goto LA17_;
			T16_ = !((*p).blocks->data[idx].isLoop);
			LA17_: ;
			if (!T16_) goto LA18_;
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*t).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1039), TM__MQdRN7fpbG7rPm4JpVVAhA_1040);
		}
		LA18_: ;
	}
	LA1_: ;
	label = assignLabel_cgen_13423((&(*p).blocks->data[idx]));
	T20_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
	T21_ = (NI)0;
	T21_ = inExceptBlockLen_cgen_13145(p);
	blockLeaveActions_cgen_13555(p, (NI)(T20_ - ((NI) ((*p).blocks->data[idx].nestedTryStmts))), (NI)(T21_ - ((NI) ((*p).blocks->data[idx].nestedExceptStmts))));
	genLineDir_cgen_351(p, t);
	T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T22_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T23_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T23_[0] = label;
	T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T24_ = percent__cgen_14110(T23_, 1);
	T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T25_ = indentLine_cgen_272(p, T24_);
	add_ropes_159(T22_, T25_);
}
static N_INLINE(void, cow_cgen_19421)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
		cowBracket_cgen_19390(p, (*n)._kind_6.sons->data[((NI) 0)]);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, discriminatorTableDecl_cgen_6925)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* objtype, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* d) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T2_;
	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T3_;
	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T4_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_130));
	(void)(T1_);
	tmp = discriminatorTableName_cgen_6902(m, objtype, d);
	nimZeroMem((void*)T2_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T2_[0] = tmp;
	T3_ = lengthOrd_types_1661((*(*m).g).config, (*d).typ);
	T4_ = plus__int495056_794(T3_, IL64(1));
	T2_[1] = rope_cgen_6922(T4_);
	result = percent__cgen_6931(T2_, 2);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genDiscriminantCheck_cgen_17252)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp, tyObject_TType__facALICuu8zUj0hjvbTLFg* objtype, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T9_;
	NimStringDesc* res_2;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T14_;
	NI64 T15_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
	t = skipTypes_ast_3734(objtype, TM__MQdRN7fpbG7rPm4JpVVAhA_356);
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = genTypeInfoV1_cgen_6772((*p).module, t, (*a.lode).info);
	(void)(T1_);
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym3070_;
		NIM_BOOL T4_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		xX60gensym3070_ = field;
		T4_ = (NIM_BOOL)0;
		T4_ = containsOrIncl_astalgo_402((&(*(*p).module).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym3070_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym3070_).Sup.itemId.item))));
		if (!!(T4_)) goto LA5_;
		res = rawNewString(((NI) 80));
		res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_438));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = discriminatorTableDecl_cgen_6925((*p).module, t, field);
		cgFormatValue_cgen_141((&res), T7_);
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rope_ropes_109(res);
		add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T8_);
	}
	LA5_: ;
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T9_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res_2 = rawNewString(((NI) 80));
	T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T10_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1041));
	cgFormatValue_cgen_141((&res_2), T10_);
	res_2 = resizeString(res_2, 10);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1042));
	T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T11_ = rdLoc_cgen_417(a);
	cgFormatValue_cgen_141((&res_2), T11_);
	res_2 = resizeString(res_2, 12);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1043));
	T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T12_ = rdLoc_cgen_417(tmp);
	cgFormatValue_cgen_141((&res_2), T12_);
	res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_555));
	T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T13_ = discriminatorTableName_cgen_6902((*p).module, t, field);
	cgFormatValue_cgen_141((&res_2), T13_);
	res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
	T14_ = lengthOrd_types_1661((*(*(*p).module).g).config, (*field).typ);
	T15_ = (NI64)0;
	T15_ = toInt64_int495056_88(T14_);
	T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T16_ = intLiteral_cgen_11466((NI64)(T15_ + IL64(1)));
	cgFormatValue_cgen_141((&res_2), T16_);
	res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA19_;
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA19_: ;
	T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T21_ = rope_ropes_109(res_2);
	T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T22_ = indentLine_cgen_272(p, T21_);
	add_ropes_159(T9_, T22_);
}
N_LIB_PRIVATE N_NIMCALL(void, asgnFieldDiscriminant_cgen_17366)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tmp;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dotExpr;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&tmp), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	dotExpr = (*e)._kind_6.sons->data[((NI) 0)];
	{
		if (!((*dotExpr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA3_;
		dotExpr = (*dotExpr)._kind_6.sons->data[((NI) 0)];
	}
	LA3_: ;
	initLocExpr_cgen_11478(p, (*e)._kind_6.sons->data[((NI) 0)], (&a));
	T5_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
	T5_ = t_cgen_79(a);
	getTemp_cgen_7347(p, T5_, (&tmp), NIM_FALSE);
	expr_cgen_11455(p, (*e)._kind_6.sons->data[((NI) 1)], (&tmp));
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
		if (!!((((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0))) goto LA8_;
		field = (*(*dotExpr)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
		genDiscriminantCheck_cgen_17252(p, a, tmp, (*(*dotExpr)._kind_6.sons->data[((NI) 0)]).typ, field);
		liMessage_msgs_1118((*(*(*p).module).g).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 55), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_1044, NIM_FALSE);
	}
	LA8_: ;
	genAssignment_cgen_10373(p, a, tmp, 0);
}
N_LIB_PRIVATE N_NIMCALL(void, genAsgn_cgen_17387)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, NIM_BOOL fastAsgn) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*e)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T3_)) goto LA4_;
		T3_ = (((*(*(*e)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		genLineDir_cgen_351(p, e);
		genGotoVar_cgen_13751(p, (*e)._kind_6.sons->data[((NI) 1)]);
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = (((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 2))&31U)))!=0);
		if (!(T8_)) goto LA9_;
		T8_ = isDiscriminantField_astalgo_4335((*e)._kind_6.sons->data[((NI) 0)]);
		LA9_: ;
		if (!T8_) goto LA10_;
		genLineDir_cgen_351(p, e);
		asgnFieldDiscriminant_cgen_17366(p, e);
	}
	goto LA1_;
	LA10_: ;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri;
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		le = (*e)._kind_6.sons->data[((NI) 0)];
		ri = (*e)._kind_6.sons->data[((NI) 1)];
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		T13_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T13_ = skipTypes_ast_3734((*le).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_106);
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = getTypeDesc_cgen_6635((*p).module, T13_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		(void)(T14_);
		initLoc_cgen_60((&a), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0), le, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		a.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 9)) & 15);
		a.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 10)) & 15);
		expr_cgen_11455(p, le, (&a));
		a.flags &= ~(((NU16)1) << ((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 10)) & 15));
		{
			if (!fastAsgn) goto LA17_;
			a.flags |= ((NU16)1)<<((((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 2)) & 15);
		}
		LA17_: ;
		genLineDir_cgen_351(p, ri);
		loadInto_cgen_13400(p, le, ri, (&a));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genAsmOrEmitStmt_cgen_17153)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, NIM_BOOL isAsmStmt) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* res;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	res = ((NimStringDesc*) NIM_NIL);
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** it;
		tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
		NI i;
		NI L;
		NI T2_;
		it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
		colontmp_ = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
		colontmp_ = (*t)._kind_6.sons;
		i = ((NI) 0);
		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				it = &colontmp_->data[i];
				switch ((*(*it)).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
				{
					res = resizeString(res, ((*(*it))._kind_3.strVal ? (*(*it))._kind_3.strVal->Sup.len : 0) + 0);
appendString(res, (*(*it))._kind_3.strVal);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
					sym = (*(*it))._kind_4.sym;
					{
						tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
						NimStringDesc* T12_;
						if (!((61440 &((NU32)1<<((NU)((*sym).kind)&31U)))!=0)) goto LA9_;
						nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
						initLocExpr_cgen_11478(p, (*it), (&a));
						T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T11_ = rdLoc_cgen_417(a);
						T12_ = (NimStringDesc*)0;
						T12_ = dollar__ropes_250(T11_);
						res = resizeString(res, (T12_ ? T12_->Sup.len : 0) + 0);
appendString(res, T12_);
					}
					goto LA7_;
					LA9_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
						NimStringDesc* T17_;
						if (!((*sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7))) goto LA14_;
						T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T16_ = getTypeDesc_cgen_6635((*p).module, (*sym).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
						T17_ = (NimStringDesc*)0;
						T17_ = dollar__ropes_250(T16_);
						res = resizeString(res, (T17_ ? T17_->Sup.len : 0) + 0);
appendString(res, T17_);
					}
					goto LA7_;
					LA14_: ;
					{
						tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
						NimStringDesc* T25_;
						T19_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
						T19_ = skipTypes_ast_3734((*sym).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_268);
						T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T20_ = getTypeDesc_cgen_6635((*p).module, T19_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
						(void)(T20_);
						r = (*sym).loc.r;
						{
							if (!(r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA23_;
							r = mangleName_cgen_620((*p).module, sym);
							asgnRef((void**) (&(*sym).loc.r), r);
						}
						LA23_: ;
						T25_ = (NimStringDesc*)0;
						T25_ = dollar__ropes_250(r);
						res = resizeString(res, (T25_ ? T25_->Sup.len : 0) + 0);
appendString(res, T25_);
					}
					LA7_: ;
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
					NimStringDesc* T28_;
					T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T27_ = getTypeDesc_cgen_6635((*p).module, (*(*it)).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
					T28_ = (NimStringDesc*)0;
					T28_ = dollar__ropes_250(T27_);
					res = resizeString(res, (T28_ ? T28_->Sup.len : 0) + 0);
appendString(res, T28_);
				}
				break;
				default:
				{
					tyObject_TType__facALICuu8zUj0hjvbTLFg* T30_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
					tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
					NimStringDesc* T33_;
					T30_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
					T30_ = skipTypes_ast_3734((*(*it)).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_268);
					T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T31_ = getTypeDesc_cgen_6635((*p).module, T30_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
					(void)(T31_);
					nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
					initLocExpr_cgen_11478(p, (*it), (&a_2));
					T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T32_ = rdLoc_cgen_417(a_2);
					T33_ = (NimStringDesc*)0;
					T33_ = dollar__ropes_250(T32_);
					res = resizeString(res, (T33_ ? T33_->Sup.len : 0) + 0);
appendString(res, T33_);
				}
				break;
				}
				i += ((NI) 1);
			} LA4: ;
		}
	}
	{
		NIM_BOOL T36_;
		T36_ = (NIM_BOOL)0;
		T36_ = isAsmStmt;
		if (!(T36_)) goto LA37_;
		T36_ = ((CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field21 &((NU8)1<<((NU)(((tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg) 5))&7U)))!=0);
		LA37_: ;
		if (!T36_) goto LA38_;
		{
			NimStringDesc* x;
			NI first;
			NI last;
			NI eolpos;
			x = (NimStringDesc*)0;
			first = ((NI) 0);
			last = ((NI) 0);
			eolpos = ((NI) 0);
			{
				while (1) {
					NI T64_;
					NI j;
					{
						while (1) {
							NIM_BOOL T45_;
							T45_ = (NIM_BOOL)0;
							T45_ = (last < (res ? res->Sup.len : 0));
							if (!(T45_)) goto LA46_;
							T45_ = !((((NU8)(res->data[last])) == ((NU8)(13)) || ((NU8)(res->data[last])) == ((NU8)(10))));
							LA46_: ;
							if (!T45_) goto LA44;
							last += ((NI) 1);
						} LA44: ;
					}
					eolpos = last;
					{
						if (!(last < (res ? res->Sup.len : 0))) goto LA49_;
						{
							if (!((NU8)(res->data[last]) == (NU8)(10))) goto LA53_;
							last += ((NI) 1);
						}
						goto LA51_;
						LA53_: ;
						{
							if (!((NU8)(res->data[last]) == (NU8)(13))) goto LA56_;
							last += ((NI) 1);
							{
								NIM_BOOL T60_;
								T60_ = (NIM_BOOL)0;
								T60_ = (last < (res ? res->Sup.len : 0));
								if (!(T60_)) goto LA61_;
								T60_ = ((NU8)(res->data[last]) == (NU8)(10));
								LA61_: ;
								if (!T60_) goto LA62_;
								last += ((NI) 1);
							}
							LA62_: ;
						}
						goto LA51_;
						LA56_: ;
						LA51_: ;
					}
					LA49_: ;
					T64_ = (NI)0;
					{
						if (!NIM_FALSE) goto LA67_;
						T64_ = (NI)(last - ((NI) 1));
					}
					goto LA65_;
					LA67_: ;
					{
						T64_ = (NI)(eolpos - ((NI) 1));
					}
					LA65_: ;
					x = substr_system_7754(res, first, T64_);
					j = ((NI) 0);
					{
						while (1) {
							NIM_BOOL T72_;
							T72_ = (NIM_BOOL)0;
							T72_ = (j < (x ? x->Sup.len : 0));
							if (!(T72_)) goto LA73_;
							T72_ = (((NU8)(x->data[j])) == ((NU8)(32)) || ((NU8)(x->data[j])) == ((NU8)(9)));
							LA73_: ;
							if (!T72_) goto LA71;
							j += ((NI) 1);
						} LA71: ;
					}
					{
						if (!(j < (x ? x->Sup.len : 0))) goto LA76_;
						{
							if (!(((NU8)(x->data[j])) == ((NU8)(34)) || ((NU8)(x->data[j])) == ((NU8)(58)))) goto LA80_;
							add_ropes_162(&result, x);
							add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						goto LA78_;
						LA80_: ;
						{
							NimStringDesc* T83_;
							add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1046));
							T83_ = (NimStringDesc*)0;
							T83_ = nsuReplaceStr(x, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1046), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1047));
							add_ropes_162(&result, T83_);
							add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1048));
						}
						LA78_: ;
					}
					LA76_: ;
					{
						if (!(eolpos == last)) goto LA86_;
						goto LA41;
					}
					LA86_: ;
					first = last;
				}
			} LA41: ;
		}
	}
	goto LA34_;
	LA38_: ;
	{
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		result = rope_ropes_109(res);
	}
	LA34_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genAsmStmt_cgen_17197)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
	genLineDir_cgen_351(p, t);
	s = genAsmOrEmitStmt_cgen_17153(p, t, NIM_TRUE);
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
		if (!((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = s;
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = runtimeFormat_ropes_271(CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field17, T5_, 1);
		add_ropes_159(&(*(*p).module).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 8))- 0], T6_);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T8_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T8_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T9_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T9_[0] = s;
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = runtimeFormat_ropes_271(CC_extccomp_508[((*(*(*(*p).module).g).config).cCompiler)- 1].Field17, T9_, 1);
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = indentLine_cgen_272(p, T10_);
		add_ropes_159(T8_, T11_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_16480)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1051), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, bodyCanRaise_cgen_16336)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		result = canRaiseDisp_cgen_11518(p, (*n)._kind_6.sons->data[((NI) 0)]);
		{
			if (!!(result)) goto LA4_;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len_ast_3197(n);
				i_2 = ((NI) 1);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA8;
						i = i_2;
						{
							NIM_BOOL T11_;
							T11_ = (NIM_BOOL)0;
							T11_ = bodyCanRaise_cgen_16336(p, (*n)._kind_6.sons->data[i]);
							if (!T11_) goto LA12_;
							result = NIM_TRUE;
							goto BeforeRet_;
						}
						LA12_: ;
						i_2 += ((NI) 1);
					} LA8: ;
				}
			}
		}
		LA4_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	{
		result = NIM_FALSE;
	}
	break;
	default:
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = safeLen_ast_3190(n);
			i_4 = ((NI) 0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA19;
					i_3 = i_4;
					{
						NIM_BOOL T22_;
						T22_ = (NIM_BOOL)0;
						T22_ = bodyCanRaise_cgen_16336(p, (*n)._kind_6.sons->data[i_3]);
						if (!T22_) goto LA23_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA23_: ;
					i_4 += ((NI) 1);
				} LA19: ;
			}
		}
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTryGoto_cgen_16356)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
	NI lab;
	NIM_BOOL hasExcept;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw T12_;
	NI T13_;
	NI T21_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T44_;
	NimStringDesc* res_3;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw* T51_;
	NI i;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw T154_;
	{
		NI T3_;
		NI T6_;
		T3_ = (NI)0;
		T3_ = len_ast_3197(t);
		if (!((*(*t)._kind_6.sons->data[(NI)(T3_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA4_;
		T6_ = (NI)0;
		T6_ = len_ast_3197(t);
		fin = (*t)._kind_6.sons->data[(NI)(T6_ - ((NI) 1))];
	}
	goto LA1_;
	LA4_: ;
	{
		fin = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
	}
	LA1_: ;
	(*p).labels += ((NI) 1);
	lab = (*p).labels;
	hasExcept = ((*(*t)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
	{
		if (!hasExcept) goto LA10_;
		(*p).withinTryWithExcept += ((NI) 1);
	}
	LA10_: ;
	nimZeroMem((void*)(&T12_), sizeof(tyTuple__FxkU4d1VDodDMc9ah6Mbagw));
	T12_.Field0 = fin;
	T12_.Field1 = NIM_FALSE;
	T12_.Field2 = lab;
	asgnRef((void**) (&(*p).nestedTryStmts), (tySequence__KjgUMUjT3LUKOFIK4xt5ug*) incrSeqV3((TGenericSeq*)((*p).nestedTryStmts), (&NTIseqLtupleLfin58pnode_inexcept58bool_label58naturalTT__KjgUMUjT3LUKOFIK4xt5ug_)));
	T13_ = (*p).nestedTryStmts->Sup.len++;
	asgnRef((void**) (&(*p).nestedTryStmts->data[T13_].Field0), T12_.Field0);
	(*p).nestedTryStmts->data[T13_].Field1 = T12_.Field1;
	(*p).nestedTryStmts->data[T13_].Field2 = T12_.Field2;
	(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 4)) & 7);
	{
		NIM_BOOL T16_;
		NIM_BOOL T17_;
		T16_ = (NIM_BOOL)0;
		T17_ = (NIM_BOOL)0;
		T17_ = isEmptyType_ast_4778((*t).typ);
		T16_ = !(T17_);
		if (!(T16_)) goto LA18_;
		T16_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0));
		LA18_: ;
		if (!T16_) goto LA19_;
		getTemp_cgen_7347(p, (*t).typ, d, NIM_FALSE);
	}
	LA19_: ;
	expr_cgen_11455(p, (*t)._kind_6.sons->data[((NI) 0)], d);
	T21_ = (NI)0;
	{
		NIM_BOOL T24_;
		NI T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T29_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		T24_ = (NIM_BOOL)0;
		T25_ = (NI)0;
		T25_ = len_ast_3197(t);
		T24_ = (((NI) 1) < T25_);
		if (!(T24_)) goto LA26_;
		T24_ = ((*(*t)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
		LA26_: ;
		if (!T24_) goto LA27_;
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T29_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 29);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1049));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA32_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA32_: ;
		T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T34_ = rope_ropes_109(res);
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = indentLine_cgen_272(p, T34_);
		add_ropes_159(T29_, T35_);
		T21_ = startBlockInternal_cgen_13180(p);
	}
	goto LA22_;
	LA27_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T37_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T37_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA40_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA40_: ;
		T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T42_ = rope_ropes_109(res_2);
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = indentLine_cgen_272(p, T42_);
		add_ropes_159(T37_, T43_);
		T21_ = startBlockInternal_cgen_13180(p);
	}
	LA22_: ;
	T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T44_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res_3 = rawNewString(((NI) 80));
	res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629));
	cgFormatValue_cgen_148((&res_3), ((NI64) (lab)));
	res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1050));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA47_;
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA47_: ;
	T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T49_ = rope_ropes_109(res_3);
	T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T50_ = indentLine_cgen_272(p, T49_);
	add_ropes_159(T44_, T50_);
	T51_ = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
	T51_ = X5BX5D__cgen_14736((*p).nestedTryStmts->data, ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0), ((NI) 1));
	(*T51_).Field1 = NIM_TRUE;
	i = ((NI) 1);
	{
		while (1) {
			NIM_BOOL T54_;
			NI T55_;
			NI nextExcept;
			tyTuple__FxkU4d1VDodDMc9ah6Mbagw* T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T139_;
			NimStringDesc* res_9;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T140_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T145_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T146_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T147_;
			NimStringDesc* res_10;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T152_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T153_;
			T54_ = (NIM_BOOL)0;
			T55_ = (NI)0;
			T55_ = len_ast_3197(t);
			T54_ = (i < T55_);
			if (!(T54_)) goto LA56_;
			T54_ = ((*(*t)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
			LA56_: ;
			if (!T54_) goto LA53;
			(*p).labels += ((NI) 1);
			nextExcept = (*p).labels;
			T57_ = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
			T57_ = X5BX5D__cgen_14736((*p).nestedTryStmts->data, ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0), ((NI) 1));
			(*T57_).Field2 = nextExcept;
			{
				NIM_BOOL T60_;
				T60_ = (NIM_BOOL)0;
				T60_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1));
				if (!(T60_)) goto LA61_;
				T60_ = isEmptyType_ast_4778((*t).typ);
				LA61_: ;
				if (!T60_) goto LA62_;
				(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0);
			}
			LA62_: ;
			{
				NI T66_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T77_;
				NimStringDesc* res_4;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T82_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
				NI T84_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T85_;
				NimStringDesc* res_5;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T90_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
				T66_ = (NI)0;
				T66_ = len_ast_3197((*t)._kind_6.sons->data[i]);
				if (!(T66_ == ((NI) 1))) goto LA67_;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T73_;
					tyArray__qTjAvTvKF9anytN1At69aJMQ T74_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T75_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T76_;
					if (!(((NI) 1) < i)) goto LA71_;
					T73_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T73_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T74_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					T75_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T75_ = percent__cgen_16480(T74_, 0);
					T76_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T76_ = indentLine_cgen_272(p, T75_);
					add_ropes_159(T73_, T76_);
				}
				LA71_: ;
				T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T77_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_4 = rawNewString(((NI) 80));
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA80_;
					res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA80_: ;
				T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T82_ = rope_ropes_109(res_4);
				T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T83_ = indentLine_cgen_272(p, T82_);
				add_ropes_159(T77_, T83_);
				T84_ = (NI)0;
				T84_ = startBlockInternal_cgen_13180(p);
				T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T85_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_5 = rawNewString(((NI) 80));
				res_5 = resizeString(res_5, 21);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1052));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA88_;
					res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA88_: ;
				T90_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T90_ = rope_ropes_109(res_5);
				T91_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T91_ = indentLine_cgen_272(p, T90_);
				add_ropes_159(T85_, T91_);
				expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], d);
			}
			goto LA64_;
			LA67_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* orExpr;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T123_;
				NimStringDesc* res_7;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T128_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T129_;
				NI T130_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T131_;
				NimStringDesc* res_8;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T136_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T137_;
				NI T138_;
				orExpr = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
				{
					NI j;
					NI colontmp_;
					NI T94_;
					NI i_2;
					j = (NI)0;
					colontmp_ = (NI)0;
					T94_ = (NI)0;
					T94_ = len_ast_3197((*t)._kind_6.sons->data[i]);
					colontmp_ = (NI)(T94_ - ((NI) 1));
					i_2 = ((NI) 0);
					{
						while (1) {
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* checkFor;
							NimStringDesc* memberName;
							NimStringDesc* res_6;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T114_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T115_;
							if (!(i_2 < colontmp_)) goto LA96;
							j = i_2;
							{
								if (!!((orExpr == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA99_;
								add_ropes_162(&orExpr, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_420));
							}
							LA99_: ;
							{
								if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA103_;
								checkFor = genTypeInfo2Name_cgen_7809((*p).module, (*(*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]).typ);
							}
							goto LA101_;
							LA103_: ;
							{
								checkFor = genTypeInfoV1_cgen_6772((*p).module, (*(*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]).typ, (*(*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]).info);
							}
							LA101_: ;
							{
								NIM_BOOL T108_;
								T108_ = (NIM_BOOL)0;
								T108_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
								if (T108_) goto LA109_;
								T108_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
								LA109_: ;
								if (!T108_) goto LA110_;
								memberName = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1053));
							}
							goto LA106_;
							LA110_: ;
							{
								memberName = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1054));
							}
							LA106_: ;
							res_6 = rawNewString(((NI) 80));
							T113_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T113_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_755));
							cgFormatValue_cgen_141((&res_6), T113_);
							res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
							T114_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T114_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1055));
							cgFormatValue_cgen_141((&res_6), T114_);
							res_6 = resizeString(res_6, 4);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1056));
							cgFormatValue_cgen_145((&res_6), memberName);
							res_6 = resizeString(res_6, 2);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
							cgFormatValue_cgen_141((&res_6), checkFor);
							res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
							T115_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T115_ = rope_ropes_109(res_6);
							add_ropes_159(&orExpr, T115_);
							i_2 += ((NI) 1);
						} LA96: ;
					}
				}
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T120_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T121_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T122_;
					if (!(((NI) 1) < i)) goto LA118_;
					T120_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T120_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					T121_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T121_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1057));
					T122_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T122_ = indentLine_cgen_272(p, T121_);
					add_ropes_159(T120_, T122_);
				}
				LA118_: ;
				T123_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T123_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_7 = rawNewString(((NI) 80));
				res_7 = resizeString(res_7, 4);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				cgFormatValue_cgen_141((&res_7), orExpr);
				res_7 = resizeString(res_7, 3);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1022));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA126_;
					res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA126_: ;
				T128_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T128_ = rope_ropes_109(res_7);
				T129_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T129_ = indentLine_cgen_272(p, T128_);
				add_ropes_159(T123_, T129_);
				T130_ = (NI)0;
				T130_ = startBlockInternal_cgen_13180(p);
				T131_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T131_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_8 = rawNewString(((NI) 80));
				res_8 = resizeString(res_8, 21);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1052));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA134_;
					res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA134_: ;
				T136_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T136_ = rope_ropes_109(res_8);
				T137_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T137_ = indentLine_cgen_272(p, T136_);
				add_ropes_159(T131_, T137_);
				T138_ = (NI)0;
				T138_ = len_ast_3197((*t)._kind_6.sons->data[i]);
				expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[(NI)(T138_ - ((NI) 1))], d);
			}
			LA64_: ;
			T139_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T139_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_9 = rawNewString(((NI) 80));
			T140_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T140_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1035));
			cgFormatValue_cgen_141((&res_9), T140_);
			res_9 = resizeString(res_9, 3);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA143_;
				res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA143_: ;
			T145_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T145_ = rope_ropes_109(res_9);
			T146_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T146_ = indentLine_cgen_272(p, T145_);
			add_ropes_159(T139_, T146_);
			T147_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T147_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_10 = rawNewString(((NI) 80));
			res_10 = resizeString(res_10, 2);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_629));
			cgFormatValue_cgen_148((&res_10), ((NI64) (nextExcept)));
			res_10 = resizeString(res_10, 3);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1050));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA150_;
				res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA150_: ;
			T152_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T152_ = rope_ropes_109(res_10);
			T153_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T153_ = indentLine_cgen_272(p, T152_);
			add_ropes_159(T147_, T153_);
			endBlock_cgen_13201(p);
			i += ((NI) 1);
		} LA53: ;
	}
	nimZeroMem((void*)(&T154_), sizeof(tyTuple__FxkU4d1VDodDMc9ah6Mbagw));
	pop_cgen_13593((&(*p).nestedTryStmts), (&T154_));
	(void)(T154_);
	endBlock_cgen_13201(p);
	{
		NIM_BOOL T157_;
		NI T158_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T162_;
		NimStringDesc* res_11;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T167_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T168_;
		NI T169_;
		T157_ = (NIM_BOOL)0;
		T158_ = (NI)0;
		T158_ = len_ast_3197(t);
		T157_ = (i < T158_);
		if (!(T157_)) goto LA159_;
		T157_ = ((*(*t)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
		LA159_: ;
		if (!T157_) goto LA160_;
		T162_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T162_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_11 = rawNewString(((NI) 80));
		res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA165_;
			res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA165_: ;
		T167_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T167_ = rope_ropes_109(res_11);
		T168_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T168_ = indentLine_cgen_272(p, T167_);
		add_ropes_159(T162_, T168_);
		T169_ = (NI)0;
		T169_ = startBlockInternal_cgen_13180(p);
		{
			NIM_BOOL T172_;
			T172_ = (NIM_BOOL)0;
			T172_ = bodyCanRaise_cgen_16336(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]);
			if (!!(T172_)) goto LA173_;
			genStmts_cgen_11452(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]);
		}
		goto LA170_;
		LA173_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T176_;
			NimStringDesc* res_12;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T181_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T182_;
			NimStringDesc* res_13;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T187_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T188_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T189_;
			NimStringDesc* res_14;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T194_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T195_;
			T176_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T176_ = procSec_cgendata_274(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
			res_12 = rawNewString(((NI) 80));
			res_12 = resizeString(res_12, 21);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1058));
			cgFormatValue_cgen_148((&res_12), ((NI64) (lab)));
			res_12 = resizeString(res_12, 2);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_570));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA179_;
				res_12 = resizeString(res_12, 1);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA179_: ;
			T181_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T181_ = rope_ropes_109(res_12);
			add_ropes_159(T176_, T181_);
			T182_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T182_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_13 = rawNewString(((NI) 80));
			res_13 = resizeString(res_13, 12);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1059));
			cgFormatValue_cgen_148((&res_13), ((NI64) (lab)));
			res_13 = resizeString(res_13, 35);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1060));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA185_;
				res_13 = resizeString(res_13, 1);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA185_: ;
			T187_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T187_ = rope_ropes_109(res_13);
			T188_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T188_ = indentLine_cgen_272(p, T187_);
			add_ropes_159(T182_, T188_);
			genStmts_cgen_11452(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]);
			T189_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T189_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_14 = rawNewString(((NI) 80));
			res_14 = resizeString(res_14, 23);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1061));
			cgFormatValue_cgen_148((&res_14), ((NI64) (lab)));
			res_14 = resizeString(res_14, 2);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_570));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA192_;
				res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA192_: ;
			T194_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T194_ = rope_ropes_109(res_14);
			T195_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T195_ = indentLine_cgen_272(p, T194_);
			add_ropes_159(T189_, T195_);
		}
		LA170_: ;
		endBlock_cgen_13201(p);
	}
	LA160_: ;
	raiseExit_cgen_11476(p);
	{
		if (!hasExcept) goto LA198_;
		(*p).withinTryWithExcept += ((NI) 1);
	}
	LA198_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genRestoreFrameAfterException_cgen_15586)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T22_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
		if (!(((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0)) goto LA3_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T9_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T15_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
			if (!!((((*p).flags &((NU8)1<<((NU)(((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 2))&7U)))!=0))) goto LA7_;
			(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 2)) & 7);
			T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T9_ = procSec_cgendata_274(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
			res = rawNewString(((NI) 80));
			res = resizeString(res, 22);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1070));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA12_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA12_: ;
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = rope_ropes_109(res);
			add_ropes_159(T9_, T14_);
			T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T15_ = procSec_cgendata_274(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 16);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1071));
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1072));
			cgFormatValue_cgen_141((&res_2), T16_);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA19_;
				res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA19_: ;
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T21_ = rope_ropes_109(res_2);
			add_ropes_159(T15_, T21_);
		}
		LA7_: ;
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T22_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1073));
		cgFormatValue_cgen_141((&res_3), T23_);
		res_3 = resizeString(res_3, 15);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1074));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA26_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA26_: ;
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = rope_ropes_109(res_3);
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = indentLine_cgen_272(p, T28_);
		add_ropes_159(T22_, T29_);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_15775)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1057), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTryCpp_cgen_15639)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	NI etmp;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T8_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw T17_;
	NI T18_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T46_;
	NimStringDesc* res_5;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T54_;
	NimStringDesc* res_6;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw* T61_;
	NIM_BOOL hasImportedCppExceptions;
	NI i;
	NIM_BOOL hasIf;
	NIM_BOOL hasElse;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T213_;
	NimStringDesc* res_17;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T218_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T219_;
	NIM_BOOL catchAllPresent;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw T287_;
	includeHeader_cgendata_214((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1062));
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = isEmptyType_ast_4778((*t).typ);
		T3_ = !(T4_);
		if (!(T3_)) goto LA5_;
		T3_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0));
		LA5_: ;
		if (!T3_) goto LA6_;
		getTemp_cgen_7347(p, (*t).typ, d, NIM_FALSE);
	}
	LA6_: ;
	genLineDir_cgen_351(p, t);
	(*p).labels += ((NI) 2);
	etmp = (*p).labels;
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T8_ = procSec_cgendata_274(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
	res = rawNewString(((NI) 80));
	res = resizeString(res, 21);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1063));
	cgFormatValue_cgen_148((&res), ((NI64) (etmp)));
	res = resizeString(res, 12);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1064));
	T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = rope_ropes_109(res);
	add_ropes_159(T8_, T9_);
	{
		NI T12_;
		NI T15_;
		T12_ = (NI)0;
		T12_ = len_ast_3197(t);
		if (!((*(*t)._kind_6.sons->data[(NI)(T12_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA13_;
		T15_ = (NI)0;
		T15_ = len_ast_3197(t);
		fin = (*t)._kind_6.sons->data[(NI)(T15_ - ((NI) 1))];
	}
	goto LA10_;
	LA13_: ;
	{
		fin = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
	}
	LA10_: ;
	nimZeroMem((void*)(&T17_), sizeof(tyTuple__FxkU4d1VDodDMc9ah6Mbagw));
	T17_.Field0 = fin;
	T17_.Field1 = NIM_FALSE;
	T17_.Field2 = ((NI) 0);
	asgnRef((void**) (&(*p).nestedTryStmts), (tySequence__KjgUMUjT3LUKOFIK4xt5ug*) incrSeqV3((TGenericSeq*)((*p).nestedTryStmts), (&NTIseqLtupleLfin58pnode_inexcept58bool_label58naturalTT__KjgUMUjT3LUKOFIK4xt5ug_)));
	T18_ = (*p).nestedTryStmts->Sup.len++;
	asgnRef((void**) (&(*p).nestedTryStmts->data[T18_].Field0), T17_.Field0);
	(*p).nestedTryStmts->data[T18_].Field1 = T17_.Field1;
	(*p).nestedTryStmts->data[T18_].Field2 = T17_.Field2;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T23_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T30_;
		NimStringDesc* res_3;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
		if (!((*t).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154))) goto LA21_;
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T23_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		res_2 = resizeString(res_2, 5);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1065));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA26_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA26_: ;
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = rope_ropes_109(res_2);
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = indentLine_cgen_272(p, T28_);
		add_ropes_159(T23_, T29_);
		expr_cgen_11455(p, (*t)._kind_6.sons->data[((NI) 0)], d);
		T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T30_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_3 = rawNewString(((NI) 80));
		res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA33_;
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA33_: ;
		T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T35_ = rope_ropes_109(res_3);
		T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T36_ = indentLine_cgen_272(p, T35_);
		add_ropes_159(T30_, T36_);
	}
	goto LA19_;
	LA21_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T38_;
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T43_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
		NI T45_;
		T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T38_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_4 = rawNewString(((NI) 80));
		res_4 = resizeString(res_4, 5);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1065));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA41_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA41_: ;
		T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T43_ = rope_ropes_109(res_4);
		T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T44_ = indentLine_cgen_272(p, T43_);
		add_ropes_159(T38_, T44_);
		T45_ = (NI)0;
		T45_ = startBlockInternal_cgen_13180(p);
		expr_cgen_11455(p, (*t)._kind_6.sons->data[((NI) 0)], d);
		endBlock_cgen_13201(p);
	}
	LA19_: ;
	T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T46_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res_5 = rawNewString(((NI) 80));
	res_5 = resizeString(res_5, 7);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1066));
	T47_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T47_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1067));
	cgFormatValue_cgen_141((&res_5), T47_);
	res_5 = resizeString(res_5, 3);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1068));
	cgFormatValue_cgen_148((&res_5), ((NI64) ((NI)(((NI) (etmp)) + ((NI) 1)))));
	res_5 = resizeString(res_5, 4);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1069));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA50_;
		res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA50_: ;
	T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T52_ = rope_ropes_109(res_5);
	T53_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T53_ = indentLine_cgen_272(p, T52_);
	add_ropes_159(T46_, T53_);
	genRestoreFrameAfterException_cgen_15586(p);
	T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T54_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res_6 = rawNewString(((NI) 80));
	res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_164));
	cgFormatValue_cgen_148((&res_6), ((NI64) (etmp)));
	res_6 = resizeString(res_6, 29);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1075));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA57_;
		res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA57_: ;
	T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T59_ = rope_ropes_109(res_6);
	T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T60_ = indentLine_cgen_272(p, T59_);
	add_ropes_159(T54_, T60_);
	T61_ = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
	T61_ = X5BX5D__cgen_14736((*p).nestedTryStmts->data, ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0), ((NI) 1));
	(*T61_).Field1 = NIM_TRUE;
	hasImportedCppExceptions = NIM_FALSE;
	i = ((NI) 1);
	hasIf = NIM_FALSE;
	hasElse = NIM_FALSE;
	{
		while (1) {
			NIM_BOOL T64_;
			NI T65_;
			T64_ = (NIM_BOOL)0;
			T65_ = (NI)0;
			T65_ = len_ast_3197(t);
			T64_ = (i < T65_);
			if (!(T64_)) goto LA66_;
			T64_ = ((*(*t)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
			LA66_: ;
			if (!T64_) goto LA63;
			{
				NIM_BOOL T69_;
				T69_ = (NIM_BOOL)0;
				T69_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1));
				if (!(T69_)) goto LA70_;
				T69_ = isEmptyType_ast_4778((*t).typ);
				LA70_: ;
				if (!T69_) goto LA71_;
				(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0);
			}
			LA71_: ;
			{
				NI T75_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T86_;
				NimStringDesc* res_7;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
				NI T93_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T94_;
				NimStringDesc* res_8;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T99_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T100_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T101_;
				NimStringDesc* res_9;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T102_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
				T75_ = (NI)0;
				T75_ = len_ast_3197((*t)._kind_6.sons->data[i]);
				if (!(T75_ == ((NI) 1))) goto LA76_;
				hasImportedCppExceptions = NIM_TRUE;
				hasElse = NIM_TRUE;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T82_;
					tyArray__qTjAvTvKF9anytN1At69aJMQ T83_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
					if (!hasIf) goto LA80_;
					T82_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T82_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T83_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T84_ = percent__cgen_15775(T83_, 0);
					T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T85_ = indentLine_cgen_272(p, T84_);
					add_ropes_159(T82_, T85_);
				}
				LA80_: ;
				T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T86_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_7 = rawNewString(((NI) 80));
				res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA89_;
					res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA89_: ;
				T91_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T91_ = rope_ropes_109(res_7);
				T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T92_ = indentLine_cgen_272(p, T91_);
				add_ropes_159(T86_, T92_);
				T93_ = (NI)0;
				T93_ = startBlockInternal_cgen_13180(p);
				T94_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T94_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_8 = rawNewString(((NI) 80));
				res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_164));
				cgFormatValue_cgen_148((&res_8), ((NI64) (etmp)));
				res_8 = resizeString(res_8, 12);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1064));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA97_;
					res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA97_: ;
				T99_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T99_ = rope_ropes_109(res_8);
				T100_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T100_ = indentLine_cgen_272(p, T99_);
				add_ropes_159(T94_, T100_);
				expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], d);
				T101_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T101_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_9 = rawNewString(((NI) 80));
				T102_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T102_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1035));
				cgFormatValue_cgen_141((&res_9), T102_);
				res_9 = resizeString(res_9, 3);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA105_;
					res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA105_: ;
				T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T107_ = rope_ropes_109(res_9);
				T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T108_ = indentLine_cgen_272(p, T107_);
				add_ropes_159(T101_, T108_);
				endBlock_cgen_13201(p);
			}
			goto LA73_;
			LA76_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* orExpr;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exvar;
				orExpr = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
				exvar = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
				{
					NI j;
					NI colontmp_;
					NI T111_;
					NI i_2;
					j = (NI)0;
					colontmp_ = (NI)0;
					T111_ = (NI)0;
					T111_ = len_ast_3197((*t)._kind_6.sons->data[i]);
					colontmp_ = (NI)(T111_ - ((NI) 1));
					i_2 = ((NI) 0);
					{
						while (1) {
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeNode;
							if (!(i_2 < colontmp_)) goto LA113;
							j = i_2;
							typeNode = (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j];
							{
								NIM_BOOL T116_;
								T116_ = (NIM_BOOL)0;
								T116_ = isInfixAs_ast_4934((*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]);
								if (!T116_) goto LA117_;
								typeNode = (*(*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)];
								exvar = (*(*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j])._kind_6.sons->data[((NI) 2)];
							}
							LA117_: ;
							{
								NIM_BOOL T121_;
								T121_ = (NIM_BOOL)0;
								T121_ = isImportedException_ast_4903((*typeNode).typ, (*(*(*p).module).g).config);
								if (!T121_) goto LA122_;
								hasImportedCppExceptions = NIM_TRUE;
							}
							goto LA119_;
							LA122_: ;
							{
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* checkFor;
								NimStringDesc* memberName;
								NimStringDesc* res_10;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T141_;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T142_;
								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T143_;
								{
									if (!!((orExpr == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA127_;
									add_ropes_162(&orExpr, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_420));
								}
								LA127_: ;
								{
									if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA131_;
									checkFor = genTypeInfo2Name_cgen_7809((*p).module, (*typeNode).typ);
								}
								goto LA129_;
								LA131_: ;
								{
									checkFor = genTypeInfoV1_cgen_6772((*p).module, (*typeNode).typ, (*typeNode).info);
								}
								LA129_: ;
								{
									NIM_BOOL T136_;
									T136_ = (NIM_BOOL)0;
									T136_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
									if (T136_) goto LA137_;
									T136_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
									LA137_: ;
									if (!T136_) goto LA138_;
									memberName = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1053));
								}
								goto LA134_;
								LA138_: ;
								{
									memberName = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1054));
								}
								LA134_: ;
								res_10 = rawNewString(((NI) 80));
								T141_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T141_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_755));
								cgFormatValue_cgen_141((&res_10), T141_);
								res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
								T142_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T142_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1055));
								cgFormatValue_cgen_141((&res_10), T142_);
								res_10 = resizeString(res_10, 4);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1056));
								cgFormatValue_cgen_145((&res_10), memberName);
								res_10 = resizeString(res_10, 2);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
								cgFormatValue_cgen_141((&res_10), checkFor);
								res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
								T143_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
								T143_ = rope_ropes_109(res_10);
								add_ropes_159(&orExpr, T143_);
							}
							LA119_: ;
							i_2 += ((NI) 1);
						} LA113: ;
					}
				}
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T184_;
					NimStringDesc* res_14;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T189_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T190_;
					NI T191_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T192_;
					NimStringDesc* res_15;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T193_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T198_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T199_;
					if (!!((orExpr == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA146_;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T152_;
						NimStringDesc* res_11;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T157_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T158_;
						NI T159_;
						if (!hasIf) goto LA150_;
						T152_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T152_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_11 = rawNewString(((NI) 80));
						res_11 = resizeString(res_11, 9);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1076));
						cgFormatValue_cgen_141((&res_11), orExpr);
						res_11 = resizeString(res_11, 3);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1022));
						{
							if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA155_;
							res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA155_: ;
						T157_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T157_ = rope_ropes_109(res_11);
						T158_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T158_ = indentLine_cgen_272(p, T157_);
						add_ropes_159(T152_, T158_);
						T159_ = (NI)0;
						T159_ = startBlockInternal_cgen_13180(p);
					}
					goto LA148_;
					LA150_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T161_;
						NimStringDesc* res_12;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T166_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T167_;
						NI T168_;
						T161_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T161_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_12 = rawNewString(((NI) 80));
						res_12 = resizeString(res_12, 4);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
						cgFormatValue_cgen_141((&res_12), orExpr);
						res_12 = resizeString(res_12, 3);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1022));
						{
							if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA164_;
							res_12 = resizeString(res_12, 1);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA164_: ;
						T166_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T166_ = rope_ropes_109(res_12);
						T167_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T167_ = indentLine_cgen_272(p, T166_);
						add_ropes_159(T161_, T167_);
						T168_ = (NI)0;
						T168_ = startBlockInternal_cgen_13180(p);
						hasIf = NIM_TRUE;
					}
					LA148_: ;
					{
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T173_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T174_;
						NimStringDesc* res_13;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T175_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T176_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T177_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T182_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T183_;
						if (!!((exvar == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA171_;
						T173_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T173_ = mangleLocalName_cgen_718(p, (*exvar)._kind_4.sym);
						fillLoc_cgen_65((&(*(*exvar)._kind_4.sym).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1), exvar, T173_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
						T174_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T174_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_13 = rawNewString(((NI) 80));
						T175_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T175_ = getTypeDesc_cgen_6635((*p).module, (*(*exvar)._kind_4.sym).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
						cgFormatValue_cgen_141((&res_13), T175_);
						res_13 = resizeString(res_13, 1);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
						T176_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T176_ = rdLoc_cgen_417((*(*exvar)._kind_4.sym).loc);
						cgFormatValue_cgen_141((&res_13), T176_);
						res_13 = resizeString(res_13, 4);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1077));
						T177_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T177_ = rope_ropes_115(((NI64) ((NI)(((NI) (etmp)) + ((NI) 1)))));
						cgFormatValue_cgen_141((&res_13), T177_);
						res_13 = resizeString(res_13, 2);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_570));
						{
							if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA180_;
							res_13 = resizeString(res_13, 1);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
						}
						LA180_: ;
						T182_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T182_ = rope_ropes_109(res_13);
						T183_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T183_ = indentLine_cgen_272(p, T182_);
						add_ropes_159(T174_, T183_);
					}
					LA171_: ;
					T184_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T184_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res_14 = rawNewString(((NI) 80));
					res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_164));
					cgFormatValue_cgen_148((&res_14), ((NI64) (etmp)));
					res_14 = resizeString(res_14, 12);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1064));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA187_;
						res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA187_: ;
					T189_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T189_ = rope_ropes_109(res_14);
					T190_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T190_ = indentLine_cgen_272(p, T189_);
					add_ropes_159(T184_, T190_);
					T191_ = (NI)0;
					T191_ = len_ast_3197((*t)._kind_6.sons->data[i]);
					expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[(NI)(T191_ - ((NI) 1))], d);
					T192_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T192_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res_15 = rawNewString(((NI) 80));
					T193_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T193_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1035));
					cgFormatValue_cgen_141((&res_15), T193_);
					res_15 = resizeString(res_15, 3);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA196_;
						res_15 = resizeString(res_15, 1);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA196_: ;
					T198_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T198_ = rope_ropes_109(res_15);
					T199_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T199_ = indentLine_cgen_272(p, T198_);
					add_ropes_159(T192_, T199_);
					endBlock_cgen_13201(p);
				}
				LA146_: ;
			}
			LA73_: ;
			i += ((NI) 1);
		} LA63: ;
	}
	{
		NIM_BOOL T202_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T206_;
		NimStringDesc* res_16;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T211_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T212_;
		T202_ = (NIM_BOOL)0;
		T202_ = hasIf;
		if (!(T202_)) goto LA203_;
		T202_ = !(hasElse);
		LA203_: ;
		if (!T202_) goto LA204_;
		T206_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T206_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_16 = rawNewString(((NI) 80));
		res_16 = resizeString(res_16, 11);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1078));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA209_;
			res_16 = resizeString(res_16, 1);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA209_: ;
		T211_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T211_ = rope_ropes_109(res_16);
		T212_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T212_ = indentLine_cgen_272(p, T211_);
		add_ropes_159(T206_, T212_);
	}
	LA204_: ;
	T213_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T213_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res_17 = rawNewString(((NI) 80));
	res_17 = resizeString(res_17, 1);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA216_;
		res_17 = resizeString(res_17, 1);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA216_: ;
	T218_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T218_ = rope_ropes_109(res_17);
	T219_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T219_ = indentLine_cgen_272(p, T218_);
	add_ropes_159(T213_, T219_);
	catchAllPresent = NIM_FALSE;
	(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 3)) & 7);
	{
		if (!hasImportedCppExceptions) goto LA222_;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len_ast_3197(t);
			i_4 = ((NI) 1);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA226;
					i_3 = i_4;
					{
						if (!!(((*(*t)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87)))) goto LA229_;
						goto LA224;
					}
					LA229_: ;
					{
						NIM_BOOL T233_;
						T233_ = (NIM_BOOL)0;
						T233_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1));
						if (!(T233_)) goto LA234_;
						T233_ = isEmptyType_ast_4778((*t).typ);
						LA234_: ;
						if (!T233_) goto LA235_;
						(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0);
					}
					LA235_: ;
					{
						NI T239_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T242_;
						NimStringDesc* res_18;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T243_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T244_;
						NI T245_;
						T239_ = (NI)0;
						T239_ = len_ast_3197((*t)._kind_6.sons->data[i_3]);
						if (!(T239_ == ((NI) 1))) goto LA240_;
						T242_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
						T242_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
						res_18 = rawNewString(((NI) 80));
						res_18 = resizeString(res_18, 13);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1079));
						T243_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T243_ = rope_ropes_109(res_18);
						T244_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T244_ = indentLine_cgen_272(p, T243_);
						add_ropes_159(T242_, T244_);
						T245_ = (NI)0;
						T245_ = startBlockInternal_cgen_13180(p);
						genRestoreFrameAfterException_cgen_15586(p);
						expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 0)], d);
						endBlock_cgen_13201(p);
						catchAllPresent = NIM_TRUE;
					}
					goto LA237_;
					LA240_: ;
					{
						{
							NI j_2;
							NI colontmp__3;
							NI T248_;
							NI i_5;
							j_2 = (NI)0;
							colontmp__3 = (NI)0;
							T248_ = (NI)0;
							T248_ = len_ast_3197((*t)._kind_6.sons->data[i_3]);
							colontmp__3 = (NI)(T248_ - ((NI) 1));
							i_5 = ((NI) 0);
							{
								while (1) {
									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeNode_2;
									if (!(i_5 < colontmp__3)) goto LA250;
									j_2 = i_5;
									typeNode_2 = (*(*t)._kind_6.sons->data[i_3])._kind_6.sons->data[j_2];
									{
										NIM_BOOL T253_;
										T253_ = (NIM_BOOL)0;
										T253_ = isInfixAs_ast_4934((*(*t)._kind_6.sons->data[i_3])._kind_6.sons->data[j_2]);
										if (!T253_) goto LA254_;
										typeNode_2 = (*(*(*t)._kind_6.sons->data[i_3])._kind_6.sons->data[j_2])._kind_6.sons->data[((NI) 1)];
										{
											NIM_BOOL T258_;
											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exvar_2;
											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T261_;
											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T262_;
											NimStringDesc* res_19;
											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T263_;
											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T264_;
											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T269_;
											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T270_;
											NI T271_;
											NI T272_;
											T258_ = (NIM_BOOL)0;
											T258_ = isImportedException_ast_4903((*typeNode_2).typ, (*(*(*p).module).g).config);
											if (!T258_) goto LA259_;
											exvar_2 = (*(*(*t)._kind_6.sons->data[i_3])._kind_6.sons->data[j_2])._kind_6.sons->data[((NI) 2)];
											T261_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
											T261_ = mangleLocalName_cgen_718(p, (*exvar_2)._kind_4.sym);
											fillLoc_cgen_65((&(*(*exvar_2)._kind_4.sym).loc), ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1), exvar_2, T261_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 2));
											T262_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
											T262_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
											res_19 = rawNewString(((NI) 80));
											res_19 = resizeString(res_19, 7);
appendString(res_19, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1066));
											T263_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
											T263_ = getTypeDesc_cgen_6635((*p).module, (*typeNode_2).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
											cgFormatValue_cgen_141((&res_19), T263_);
											res_19 = resizeString(res_19, 2);
appendString(res_19, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1080));
											T264_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
											T264_ = rdLoc_cgen_417((*(*exvar_2)._kind_4.sym).loc);
											cgFormatValue_cgen_141((&res_19), T264_);
											res_19 = resizeString(res_19, 3);
appendString(res_19, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1022));
											{
												if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA267_;
												res_19 = resizeString(res_19, 1);
appendString(res_19, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
											}
											LA267_: ;
											T269_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
											T269_ = rope_ropes_109(res_19);
											T270_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
											T270_ = indentLine_cgen_272(p, T269_);
											add_ropes_159(T262_, T270_);
											T271_ = (NI)0;
											T271_ = startBlockInternal_cgen_13180(p);
											genRestoreFrameAfterException_cgen_15586(p);
											T272_ = (NI)0;
											T272_ = len_ast_3197((*t)._kind_6.sons->data[i_3]);
											expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i_3])._kind_6.sons->data[(NI)(T272_ - ((NI) 1))], d);
											endBlock_cgen_13201(p);
										}
										LA259_: ;
									}
									goto LA251_;
									LA254_: ;
									{
										NIM_BOOL T274_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T277_;
										NimStringDesc* res_20;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T278_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T283_;
										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T284_;
										NI T285_;
										NI T286_;
										T274_ = (NIM_BOOL)0;
										T274_ = isImportedException_ast_4903((*typeNode_2).typ, (*(*(*p).module).g).config);
										if (!T274_) goto LA275_;
										T277_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
										T277_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
										res_20 = rawNewString(((NI) 80));
										res_20 = resizeString(res_20, 7);
appendString(res_20, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1066));
										T278_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T278_ = getTypeDesc_cgen_6635((*p).module, (*(*(*t)._kind_6.sons->data[i_3])._kind_6.sons->data[j_2]).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
										cgFormatValue_cgen_141((&res_20), T278_);
										res_20 = resizeString(res_20, 4);
appendString(res_20, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1081));
										{
											if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA281_;
											res_20 = resizeString(res_20, 1);
appendString(res_20, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
										}
										LA281_: ;
										T283_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T283_ = rope_ropes_109(res_20);
										T284_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
										T284_ = indentLine_cgen_272(p, T283_);
										add_ropes_159(T277_, T284_);
										T285_ = (NI)0;
										T285_ = startBlockInternal_cgen_13180(p);
										genRestoreFrameAfterException_cgen_15586(p);
										T286_ = (NI)0;
										T286_ = len_ast_3197((*t)._kind_6.sons->data[i_3]);
										expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i_3])._kind_6.sons->data[(NI)(T286_ - ((NI) 1))], d);
										endBlock_cgen_13201(p);
									}
									goto LA251_;
									LA275_: ;
									LA251_: ;
									i_5 += ((NI) 1);
								} LA250: ;
							}
						}
					}
					LA237_: ;
					i_4 += ((NI) 1);
				} LA226: ;
			}
		} LA224: ;
	}
	LA222_: ;
	(*p).flags &= ~(((NU8)1) << ((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 3)) & 7));
	nimZeroMem((void*)(&T287_), sizeof(tyTuple__FxkU4d1VDodDMc9ah6Mbagw));
	pop_cgen_13593((&(*p).nestedTryStmts), (&T287_));
	(void)(T287_);
	{
		NIM_BOOL T290_;
		NI T291_;
		NI T293_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T311_;
		NimStringDesc* res_23;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T316_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T317_;
		NI T318_;
		NI T319_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T320_;
		NimStringDesc* res_24;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T325_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T326_;
		T290_ = (NIM_BOOL)0;
		T291_ = (NI)0;
		T291_ = len_ast_3197(t);
		T290_ = (((NI) 0) < T291_);
		if (!(T290_)) goto LA292_;
		T293_ = (NI)0;
		T293_ = len_ast_3197(t);
		T290_ = ((*(*t)._kind_6.sons->data[(NI)(T293_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
		LA292_: ;
		if (!T290_) goto LA294_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T300_;
			NimStringDesc* res_21;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T301_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T302_;
			NI T303_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T304_;
			NimStringDesc* res_22;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T309_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T310_;
			if (!!(catchAllPresent)) goto LA298_;
			T300_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T300_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_21 = rawNewString(((NI) 80));
			res_21 = resizeString(res_21, 13);
appendString(res_21, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1079));
			T301_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T301_ = rope_ropes_109(res_21);
			T302_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T302_ = indentLine_cgen_272(p, T301_);
			add_ropes_159(T300_, T302_);
			T303_ = (NI)0;
			T303_ = startBlockInternal_cgen_13180(p);
			genRestoreFrameAfterException_cgen_15586(p);
			T304_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T304_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_22 = rawNewString(((NI) 80));
			res_22 = resizeString(res_22, 1);
appendString(res_22, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_164));
			cgFormatValue_cgen_148((&res_22), ((NI64) (etmp)));
			res_22 = resizeString(res_22, 29);
appendString(res_22, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1075));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA307_;
				res_22 = resizeString(res_22, 1);
appendString(res_22, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA307_: ;
			T309_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T309_ = rope_ropes_109(res_22);
			T310_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T310_ = indentLine_cgen_272(p, T309_);
			add_ropes_159(T304_, T310_);
			endBlock_cgen_13201(p);
		}
		LA298_: ;
		T311_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T311_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_23 = rawNewString(((NI) 80));
		res_23 = resizeString(res_23, 1);
appendString(res_23, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA314_;
			res_23 = resizeString(res_23, 1);
appendString(res_23, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA314_: ;
		T316_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T316_ = rope_ropes_109(res_23);
		T317_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T317_ = indentLine_cgen_272(p, T316_);
		add_ropes_159(T311_, T317_);
		T318_ = (NI)0;
		T318_ = startBlockInternal_cgen_13180(p);
		T319_ = (NI)0;
		T319_ = len_ast_3197(t);
		genStmts_cgen_11452(p, (*(*t)._kind_6.sons->data[(NI)(T319_ - ((NI) 1))])._kind_6.sons->data[((NI) 0)]);
		T320_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T320_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_24 = rawNewString(((NI) 80));
		res_24 = resizeString(res_24, 5);
appendString(res_24, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1082));
		cgFormatValue_cgen_148((&res_24), ((NI64) (etmp)));
		res_24 = resizeString(res_24, 27);
appendString(res_24, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1083));
		cgFormatValue_cgen_148((&res_24), ((NI64) (etmp)));
		res_24 = resizeString(res_24, 3);
appendString(res_24, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1084));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA323_;
			res_24 = resizeString(res_24, 1);
appendString(res_24, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA323_: ;
		T325_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T325_ = rope_ropes_109(res_24);
		T326_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T326_ = indentLine_cgen_272(p, T325_);
		add_ropes_159(T320_, T326_);
		endBlock_cgen_13201(p);
	}
	LA294_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genTrySetjmp_cgen_16700)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	NIM_BOOL quirkyExceptions;
	NIM_BOOL T8_;
	NIM_BOOL T10_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* safePoint;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw T94_;
	NI T95_;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw* T155_;
	NI i;
	tyTuple__FxkU4d1VDodDMc9ah6Mbagw T266_;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = isEmptyType_ast_4778((*t).typ);
		T3_ = !(T4_);
		if (!(T3_)) goto LA5_;
		T3_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0));
		LA5_: ;
		if (!T3_) goto LA6_;
		getTemp_cgen_7347(p, (*t).typ, d, NIM_FALSE);
	}
	LA6_: ;
	T8_ = (NIM_BOOL)0;
	T8_ = ((*(*(*(*p).module).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 4));
	if (T8_) goto LA9_;
	T10_ = (NIM_BOOL)0;
	T10_ = ((*t).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154));
	if (!(T10_)) goto LA11_;
	T10_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
	LA11_: ;
	T8_ = T10_;
	LA9_: ;
	quirkyExceptions = T8_;
	{
		if (!!(quirkyExceptions)) goto LA14_;
		includeHeader_cgendata_214((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1085));
	}
	goto LA12_;
	LA14_: ;
	{
		(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 3)) & 7);
	}
	LA12_: ;
	genLineDir_cgen_351(p, t);
	T17_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T17_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1067));
	(void)(T17_);
	safePoint = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T22_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T30_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T80_;
		NimStringDesc* res_7;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T86_;
		if (!!(quirkyExceptions)) goto LA20_;
		safePoint = getTempName_cgen_410((*p).module);
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T22_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		res = rawNewString(((NI) 80));
		T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1086));
		cgFormatValue_cgen_141((&res), T23_);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
		cgFormatValue_cgen_141((&res), safePoint);
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_93));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA26_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA26_: ;
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = rope_ropes_109(res);
		T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = indentLine_cgen_272(p, T28_);
		add_ropes_159(T22_, T29_);
		T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T30_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1087));
		cgFormatValue_cgen_141((&res_2), T31_);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_102));
		cgFormatValue_cgen_141((&res_2), safePoint);
		res_2 = resizeString(res_2, 2);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA34_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA34_: ;
		T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T36_ = rope_ropes_109(res_2);
		T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T37_ = indentLine_cgen_272(p, T36_);
		add_ropes_159(T30_, T37_);
		{
			NIM_BOOL T40_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T43_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
			T40_ = (NIM_BOOL)0;
			T40_ = isDefined_options_2277((*(*(*p).module).g).config, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1088));
			if (!T40_) goto LA41_;
			T43_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T43_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_3), safePoint);
			res_3 = resizeString(res_3, 17);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1089));
			cgFormatValue_cgen_141((&res_3), safePoint);
			res_3 = resizeString(res_3, 10);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1090));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA46_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA46_: ;
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T48_ = rope_ropes_109(res_3);
			T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T49_ = indentLine_cgen_272(p, T48_);
			add_ropes_159(T43_, T49_);
		}
		goto LA38_;
		LA41_: ;
		{
			NIM_BOOL T51_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T54_;
			NimStringDesc* res_4;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
			T51_ = (NIM_BOOL)0;
			T51_ = isDefined_options_2277((*(*(*p).module).g).config, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1091));
			if (!T51_) goto LA52_;
			T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T54_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_4 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_4), safePoint);
			res_4 = resizeString(res_4, 20);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1092));
			cgFormatValue_cgen_141((&res_4), safePoint);
			res_4 = resizeString(res_4, 13);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1093));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA57_;
				res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA57_: ;
			T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T59_ = rope_ropes_109(res_4);
			T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T60_ = indentLine_cgen_272(p, T59_);
			add_ropes_159(T54_, T60_);
		}
		goto LA38_;
		LA52_: ;
		{
			NIM_BOOL T62_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T65_;
			NimStringDesc* res_5;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
			T62_ = (NIM_BOOL)0;
			T62_ = isDefined_options_2277((*(*(*p).module).g).config, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1094));
			if (!T62_) goto LA63_;
			T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T65_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_5 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_5), safePoint);
			res_5 = resizeString(res_5, 18);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1095));
			cgFormatValue_cgen_141((&res_5), safePoint);
			res_5 = resizeString(res_5, 10);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1090));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA68_;
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA68_: ;
			T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T70_ = rope_ropes_109(res_5);
			T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T71_ = indentLine_cgen_272(p, T70_);
			add_ropes_159(T65_, T71_);
		}
		goto LA38_;
		LA63_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T73_;
			NimStringDesc* res_6;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
			T73_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T73_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_6 = rawNewString(((NI) 80));
			cgFormatValue_cgen_141((&res_6), safePoint);
			res_6 = resizeString(res_6, 17);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1089));
			cgFormatValue_cgen_141((&res_6), safePoint);
			res_6 = resizeString(res_6, 10);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1090));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA76_;
				res_6 = resizeString(res_6, 1);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA76_: ;
			T78_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T78_ = rope_ropes_109(res_6);
			T79_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T79_ = indentLine_cgen_272(p, T78_);
			add_ropes_159(T73_, T79_);
		}
		LA38_: ;
		T80_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T80_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_7 = rawNewString(((NI) 80));
		res_7 = resizeString(res_7, 4);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		cgFormatValue_cgen_141((&res_7), safePoint);
		res_7 = resizeString(res_7, 15);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1096));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA83_;
			res_7 = resizeString(res_7, 1);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA83_: ;
		T85_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T85_ = rope_ropes_109(res_7);
		T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T86_ = indentLine_cgen_272(p, T85_);
		add_ropes_159(T80_, T86_);
	}
	LA20_: ;
	{
		NI T89_;
		NI T92_;
		T89_ = (NI)0;
		T89_ = len_ast_3197(t);
		if (!((*(*t)._kind_6.sons->data[(NI)(T89_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA90_;
		T92_ = (NI)0;
		T92_ = len_ast_3197(t);
		fin = (*t)._kind_6.sons->data[(NI)(T92_ - ((NI) 1))];
	}
	goto LA87_;
	LA90_: ;
	{
		fin = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
	}
	LA87_: ;
	nimZeroMem((void*)(&T94_), sizeof(tyTuple__FxkU4d1VDodDMc9ah6Mbagw));
	T94_.Field0 = fin;
	T94_.Field1 = quirkyExceptions;
	T94_.Field2 = ((NI) 0);
	asgnRef((void**) (&(*p).nestedTryStmts), (tySequence__KjgUMUjT3LUKOFIK4xt5ug*) incrSeqV3((TGenericSeq*)((*p).nestedTryStmts), (&NTIseqLtupleLfin58pnode_inexcept58bool_label58naturalTT__KjgUMUjT3LUKOFIK4xt5ug_)));
	T95_ = (*p).nestedTryStmts->Sup.len++;
	asgnRef((void**) (&(*p).nestedTryStmts->data[T95_].Field0), T94_.Field0);
	(*p).nestedTryStmts->data[T95_].Field1 = T94_.Field1;
	(*p).nestedTryStmts->data[T95_].Field2 = T94_.Field2;
	expr_cgen_11455(p, (*t)._kind_6.sons->data[((NI) 0)], d);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T100_;
		NimStringDesc* res_8;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T101_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T106_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T107_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T108_;
		NimStringDesc* res_9;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T114_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T115_;
		NimStringDesc* res_10;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T120_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T121_;
		NI T122_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T123_;
		NimStringDesc* res_11;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T124_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T129_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T130_;
		if (!!(quirkyExceptions)) goto LA98_;
		T100_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T100_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_8 = rawNewString(((NI) 80));
		T101_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T101_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1034));
		cgFormatValue_cgen_141((&res_8), T101_);
		res_8 = resizeString(res_8, 3);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA104_;
			res_8 = resizeString(res_8, 1);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA104_: ;
		T106_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T106_ = rope_ropes_109(res_8);
		T107_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T107_ = indentLine_cgen_272(p, T106_);
		add_ropes_159(T100_, T107_);
		T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T108_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_9 = rawNewString(((NI) 80));
		res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_297));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA111_;
			res_9 = resizeString(res_9, 1);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA111_: ;
		T113_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T113_ = rope_ropes_109(res_9);
		T114_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T114_ = indentLine_cgen_272(p, T113_);
		add_ropes_159(T108_, T114_);
		T115_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T115_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_10 = rawNewString(((NI) 80));
		res_10 = resizeString(res_10, 6);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1097));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA118_;
			res_10 = resizeString(res_10, 1);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA118_: ;
		T120_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T120_ = rope_ropes_109(res_10);
		T121_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T121_ = indentLine_cgen_272(p, T120_);
		add_ropes_159(T115_, T121_);
		T122_ = (NI)0;
		T122_ = startBlockInternal_cgen_13180(p);
		T123_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T123_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_11 = rawNewString(((NI) 80));
		T124_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T124_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1034));
		cgFormatValue_cgen_141((&res_11), T124_);
		res_11 = resizeString(res_11, 3);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA127_;
			res_11 = resizeString(res_11, 1);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA127_: ;
		T129_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T129_ = rope_ropes_109(res_11);
		T130_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T130_ = indentLine_cgen_272(p, T129_);
		add_ropes_159(T123_, T130_);
		genRestoreFrameAfterException_cgen_15586(p);
	}
	goto LA96_;
	LA98_: ;
	{
		NIM_BOOL T132_;
		NI T133_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T137_;
		NimStringDesc* res_12;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T138_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T143_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T144_;
		NI T145_;
		T132_ = (NIM_BOOL)0;
		T133_ = (NI)0;
		T133_ = len_ast_3197(t);
		T132_ = (((NI) 1) < T133_);
		if (!(T132_)) goto LA134_;
		T132_ = ((*(*t)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
		LA134_: ;
		if (!T132_) goto LA135_;
		T137_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T137_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_12 = rawNewString(((NI) 80));
		res_12 = resizeString(res_12, 4);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		T138_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T138_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1055));
		cgFormatValue_cgen_141((&res_12), T138_);
		res_12 = resizeString(res_12, 5);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1098));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA141_;
			res_12 = resizeString(res_12, 1);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA141_: ;
		T143_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T143_ = rope_ropes_109(res_12);
		T144_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T144_ = indentLine_cgen_272(p, T143_);
		add_ropes_159(T137_, T144_);
		T145_ = (NI)0;
		T145_ = startBlockInternal_cgen_13180(p);
	}
	goto LA96_;
	LA135_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T147_;
		NimStringDesc* res_13;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T152_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T153_;
		NI T154_;
		T147_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T147_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_13 = rawNewString(((NI) 80));
		res_13 = resizeString(res_13, 1);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA150_;
			res_13 = resizeString(res_13, 1);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA150_: ;
		T152_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T152_ = rope_ropes_109(res_13);
		T153_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T153_ = indentLine_cgen_272(p, T152_);
		add_ropes_159(T147_, T153_);
		T154_ = (NI)0;
		T154_ = startBlockInternal_cgen_13180(p);
	}
	LA96_: ;
	T155_ = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
	T155_ = X5BX5D__cgen_14736((*p).nestedTryStmts->data, ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0), ((NI) 1));
	(*T155_).Field1 = NIM_TRUE;
	i = ((NI) 1);
	{
		while (1) {
			NIM_BOOL T158_;
			NI T159_;
			T158_ = (NIM_BOOL)0;
			T159_ = (NI)0;
			T159_ = len_ast_3197(t);
			T158_ = (i < T159_);
			if (!(T158_)) goto LA160_;
			T158_ = ((*(*t)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
			LA160_: ;
			if (!T158_) goto LA157;
			{
				NIM_BOOL T163_;
				T163_ = (NIM_BOOL)0;
				T163_ = ((*d).k == ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 1));
				if (!(T163_)) goto LA164_;
				T163_ = isEmptyType_ast_4778((*t).typ);
				LA164_: ;
				if (!T163_) goto LA165_;
				(*d).k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 0);
			}
			LA165_: ;
			{
				NI T169_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T180_;
				NimStringDesc* res_14;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T185_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T186_;
				NI T187_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T199_;
				NimStringDesc* res_16;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T200_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T205_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T206_;
				T169_ = (NI)0;
				T169_ = len_ast_3197((*t)._kind_6.sons->data[i]);
				if (!(T169_ == ((NI) 1))) goto LA170_;
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T176_;
					tyArray__qTjAvTvKF9anytN1At69aJMQ T177_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T178_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T179_;
					if (!(((NI) 1) < i)) goto LA174_;
					T176_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T176_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					nimZeroMem((void*)T177_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
					T178_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T178_ = percent__cgen_16480(T177_, 0);
					T179_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T179_ = indentLine_cgen_272(p, T178_);
					add_ropes_159(T176_, T179_);
				}
				LA174_: ;
				T180_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T180_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_14 = rawNewString(((NI) 80));
				res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA183_;
					res_14 = resizeString(res_14, 1);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA183_: ;
				T185_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T185_ = rope_ropes_109(res_14);
				T186_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T186_ = indentLine_cgen_272(p, T185_);
				add_ropes_159(T180_, T186_);
				T187_ = (NI)0;
				T187_ = startBlockInternal_cgen_13180(p);
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T192_;
					NimStringDesc* res_15;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T197_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T198_;
					if (!!(quirkyExceptions)) goto LA190_;
					T192_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T192_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res_15 = rawNewString(((NI) 80));
					cgFormatValue_cgen_141((&res_15), safePoint);
					res_15 = resizeString(res_15, 12);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1099));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA195_;
						res_15 = resizeString(res_15, 1);
appendString(res_15, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA195_: ;
					T197_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T197_ = rope_ropes_109(res_15);
					T198_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T198_ = indentLine_cgen_272(p, T197_);
					add_ropes_159(T192_, T198_);
				}
				LA190_: ;
				expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], d);
				T199_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T199_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_16 = rawNewString(((NI) 80));
				T200_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T200_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1035));
				cgFormatValue_cgen_141((&res_16), T200_);
				res_16 = resizeString(res_16, 3);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA203_;
					res_16 = resizeString(res_16, 1);
appendString(res_16, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA203_: ;
				T205_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T205_ = rope_ropes_109(res_16);
				T206_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T206_ = indentLine_cgen_272(p, T205_);
				add_ropes_159(T199_, T206_);
				endBlock_cgen_13201(p);
			}
			goto LA167_;
			LA170_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* orExpr;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T238_;
				NimStringDesc* res_18;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T243_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T244_;
				NI T245_;
				NI T257_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T258_;
				NimStringDesc* res_20;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T259_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T264_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T265_;
				orExpr = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
				{
					NI j;
					NI colontmp_;
					NI T209_;
					NI i_2;
					j = (NI)0;
					colontmp_ = (NI)0;
					T209_ = (NI)0;
					T209_ = len_ast_3197((*t)._kind_6.sons->data[i]);
					colontmp_ = (NI)(T209_ - ((NI) 1));
					i_2 = ((NI) 0);
					{
						while (1) {
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* checkFor;
							NimStringDesc* memberName;
							NimStringDesc* res_17;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T228_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T229_;
							tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T230_;
							if (!(i_2 < colontmp_)) goto LA211;
							j = i_2;
							{
								if (!!((orExpr == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA214_;
								add_ropes_162(&orExpr, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_420));
							}
							LA214_: ;
							{
								if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA218_;
								checkFor = genTypeInfo2Name_cgen_7809((*p).module, (*(*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]).typ);
							}
							goto LA216_;
							LA218_: ;
							{
								checkFor = genTypeInfoV1_cgen_6772((*p).module, (*(*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]).typ, (*(*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]).info);
							}
							LA216_: ;
							{
								NIM_BOOL T223_;
								T223_ = (NIM_BOOL)0;
								T223_ = ((*(*(*(*p).module).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
								if (T223_) goto LA224_;
								T223_ = (((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
								LA224_: ;
								if (!T223_) goto LA225_;
								memberName = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1053));
							}
							goto LA221_;
							LA225_: ;
							{
								memberName = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1054));
							}
							LA221_: ;
							res_17 = rawNewString(((NI) 80));
							T228_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T228_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_755));
							cgFormatValue_cgen_141((&res_17), T228_);
							res_17 = resizeString(res_17, 1);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
							T229_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T229_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1055));
							cgFormatValue_cgen_141((&res_17), T229_);
							res_17 = resizeString(res_17, 4);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1056));
							cgFormatValue_cgen_145((&res_17), memberName);
							res_17 = resizeString(res_17, 2);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
							cgFormatValue_cgen_141((&res_17), checkFor);
							res_17 = resizeString(res_17, 1);
appendString(res_17, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_67));
							T230_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
							T230_ = rope_ropes_109(res_17);
							add_ropes_159(&orExpr, T230_);
							i_2 += ((NI) 1);
						} LA211: ;
					}
				}
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T235_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T236_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T237_;
					if (!(((NI) 1) < i)) goto LA233_;
					T235_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T235_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					T236_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T236_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1057));
					T237_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T237_ = indentLine_cgen_272(p, T236_);
					add_ropes_159(T235_, T237_);
				}
				LA233_: ;
				T238_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T238_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_18 = rawNewString(((NI) 80));
				res_18 = resizeString(res_18, 4);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
				cgFormatValue_cgen_141((&res_18), orExpr);
				res_18 = resizeString(res_18, 3);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1022));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA241_;
					res_18 = resizeString(res_18, 1);
appendString(res_18, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA241_: ;
				T243_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T243_ = rope_ropes_109(res_18);
				T244_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T244_ = indentLine_cgen_272(p, T243_);
				add_ropes_159(T238_, T244_);
				T245_ = (NI)0;
				T245_ = startBlockInternal_cgen_13180(p);
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T250_;
					NimStringDesc* res_19;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T255_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T256_;
					if (!!(quirkyExceptions)) goto LA248_;
					T250_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
					T250_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
					res_19 = rawNewString(((NI) 80));
					cgFormatValue_cgen_141((&res_19), safePoint);
					res_19 = resizeString(res_19, 12);
appendString(res_19, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1099));
					{
						if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA253_;
						res_19 = resizeString(res_19, 1);
appendString(res_19, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					}
					LA253_: ;
					T255_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T255_ = rope_ropes_109(res_19);
					T256_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T256_ = indentLine_cgen_272(p, T255_);
					add_ropes_159(T250_, T256_);
				}
				LA248_: ;
				T257_ = (NI)0;
				T257_ = len_ast_3197((*t)._kind_6.sons->data[i]);
				expr_cgen_11455(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[(NI)(T257_ - ((NI) 1))], d);
				T258_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T258_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_20 = rawNewString(((NI) 80));
				T259_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T259_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1035));
				cgFormatValue_cgen_141((&res_20), T259_);
				res_20 = resizeString(res_20, 3);
appendString(res_20, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA262_;
					res_20 = resizeString(res_20, 1);
appendString(res_20, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA262_: ;
				T264_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T264_ = rope_ropes_109(res_20);
				T265_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T265_ = indentLine_cgen_272(p, T264_);
				add_ropes_159(T258_, T265_);
				endBlock_cgen_13201(p);
			}
			LA167_: ;
			i += ((NI) 1);
		} LA157: ;
	}
	nimZeroMem((void*)(&T266_), sizeof(tyTuple__FxkU4d1VDodDMc9ah6Mbagw));
	pop_cgen_13593((&(*p).nestedTryStmts), (&T266_));
	(void)(T266_);
	endBlock_cgen_13201(p);
	{
		NIM_BOOL T269_;
		NI T270_;
		NI T274_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T275_;
		NimStringDesc* res_21;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T280_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T281_;
		NI T282_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T298_;
		T269_ = (NIM_BOOL)0;
		T270_ = (NI)0;
		T270_ = len_ast_3197(t);
		T269_ = (i < T270_);
		if (!(T269_)) goto LA271_;
		T269_ = ((*(*t)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
		LA271_: ;
		if (!T269_) goto LA272_;
		asgnRef((void**) (&(*p).finallySafePoints), (tySequence__WwUFq9cJ2xKRlsAWVEHyPRg*) incrSeqV3((TGenericSeq*)((*p).finallySafePoints), (&NTIseqLropeT__WwUFq9cJ2xKRlsAWVEHyPRg_)));
		T274_ = (*p).finallySafePoints->Sup.len++;
		asgnRef((void**) (&(*p).finallySafePoints->data[T274_]), safePoint);
		T275_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T275_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_21 = rawNewString(((NI) 80));
		res_21 = resizeString(res_21, 1);
appendString(res_21, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA278_;
			res_21 = resizeString(res_21, 1);
appendString(res_21, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA278_: ;
		T280_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T280_ = rope_ropes_109(res_21);
		T281_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T281_ = indentLine_cgen_272(p, T280_);
		add_ropes_159(T275_, T281_);
		T282_ = (NI)0;
		T282_ = startBlockInternal_cgen_13180(p);
		genStmts_cgen_11452(p, (*(*t)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]);
		{
			NIM_BOOL T285_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T287_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T290_;
			NimStringDesc* res_22;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T291_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T296_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T297_;
			T285_ = (NIM_BOOL)0;
			T285_ = !(quirkyExceptions);
			if (!(T285_)) goto LA286_;
			T287_ = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
			T287_ = getCompilerProc_magicsys_145((*(*(*p).module).g).graph, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1100));
			T285_ = !((T287_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			LA286_: ;
			if (!T285_) goto LA288_;
			T290_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T290_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_22 = rawNewString(((NI) 80));
			res_22 = resizeString(res_22, 4);
appendString(res_22, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
			cgFormatValue_cgen_141((&res_22), safePoint);
			res_22 = resizeString(res_22, 14);
appendString(res_22, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1036));
			T291_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T291_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1100));
			cgFormatValue_cgen_141((&res_22), T291_);
			res_22 = resizeString(res_22, 3);
appendString(res_22, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA294_;
				res_22 = resizeString(res_22, 1);
appendString(res_22, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA294_: ;
			T296_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T296_ = rope_ropes_109(res_22);
			T297_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T297_ = indentLine_cgen_272(p, T296_);
			add_ropes_159(T290_, T297_);
		}
		LA288_: ;
		endBlock_cgen_13201(p);
		T298_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T298_ = pop_ropes_180((&(*p).finallySafePoints));
		(void)(T298_);
	}
	LA272_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T303_;
		NimStringDesc* res_23;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T304_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T309_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T310_;
		if (!!(quirkyExceptions)) goto LA301_;
		T303_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T303_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_23 = rawNewString(((NI) 80));
		res_23 = resizeString(res_23, 4);
appendString(res_23, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_348));
		cgFormatValue_cgen_141((&res_23), safePoint);
		res_23 = resizeString(res_23, 14);
appendString(res_23, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1036));
		T304_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T304_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1101));
		cgFormatValue_cgen_141((&res_23), T304_);
		res_23 = resizeString(res_23, 3);
appendString(res_23, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA307_;
			res_23 = resizeString(res_23, 1);
appendString(res_23, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA307_: ;
		T309_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T309_ = rope_ropes_109(res_23);
		T310_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T310_ = indentLine_cgen_272(p, T309_);
		add_ropes_159(T303_, T310_);
	}
	LA301_: ;
}
static N_INLINE(void, genSimpleBlock_cgen_13471)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* stmts) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T1_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	NI T8_;
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T1_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res = rawNewString(((NI) 80));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA4_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA4_: ;
	T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T6_ = rope_ropes_109(res);
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = indentLine_cgen_272(p, T6_);
	add_ropes_159(T1_, T7_);
	T8_ = (NI)0;
	T8_ = startBlockInternal_cgen_13180(p);
	genStmts_cgen_11452(p, stmts);
	endBlock_cgen_13201(p);
}
N_LIB_PRIVATE N_NIMCALL(void, finallyActions_cgen_14767)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p) {
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NI T6_;
		tyTuple__FxkU4d1VDodDMc9ah6Mbagw* T8_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finallyBlock;
		tyTuple__FxkU4d1VDodDMc9ah6Mbagw* T11_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((*(*(*(*p).module).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3)));
		if (!(T4_)) goto LA5_;
		T6_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
		T4_ = (((NI) 0) < T6_);
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA7_;
		T8_ = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
		T8_ = X5BX5D__cgen_14736((*p).nestedTryStmts->data, ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0), ((NI) 1));
		T3_ = (*T8_).Field1;
		LA7_: ;
		if (!T3_) goto LA9_;
		T11_ = (tyTuple__FxkU4d1VDodDMc9ah6Mbagw*)0;
		T11_ = X5BX5D__cgen_14736((*p).nestedTryStmts->data, ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0), ((NI) 1));
		finallyBlock = (*T11_).Field0;
		{
			if (!!((finallyBlock == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA14_;
			genSimpleBlock_cgen_13471(p, (*finallyBlock)._kind_6.sons->data[((NI) 0)]);
		}
		LA14_: ;
	}
	LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14849)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1102), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14892)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1105), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genRaiseStmt_cgen_14831)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* gotoInstr;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* e;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
		if (!!(((*(*t)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExprSingleUse_cgen_11482(p, (*t)._kind_6.sons->data[((NI) 0)], (&a));
		finallyActions_cgen_14767(p);
		e = rdLoc_cgen_417(a);
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = getTypeDesc_cgen_6635((*p).module, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
		(void)(T5_);
		typ = skipTypes_ast_3734((*(*t)._kind_6.sons->data[((NI) 0)]).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_268);
		{
			NI T10_;
			if (!((*(*(*(*p).module).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 2))) goto LA8_;
			T10_ = (NI)0;
			T10_ = inExceptBlockLen_cgen_13145(p);
			blockLeaveActions_cgen_13555(p, ((NI) 0), T10_);
		}
		LA8_: ;
		genLineDir_cgen_351(p, t);
		{
			NIM_BOOL T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T16_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T17_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			T13_ = (NIM_BOOL)0;
			T13_ = isImportedException_ast_4903(typ, (*(*(*p).module).g).config);
			if (!T13_) goto LA14_;
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T16_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T17_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T17_[0] = e;
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = percent__cgen_14849(T17_, 1);
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = indentLine_cgen_272(p, T18_);
			add_ropes_159(T16_, T19_);
		}
		goto LA11_;
		LA14_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T21_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
			NimStringDesc* T25_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
			NI T33_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T21_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res = rawNewString(((NI) 80));
			T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T22_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1103));
			cgFormatValue_cgen_141((&res), T22_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_213));
			T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T23_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1067));
			cgFormatValue_cgen_141((&res), T23_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1104));
			cgFormatValue_cgen_141((&res), e);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = makeCString_msgs_50((*(*(*typ).sym).name).s);
			cgFormatValue_cgen_141((&res), T24_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T25_ = (NimStringDesc*)0;
			{
				if (!!(((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA28_;
				T25_ = copyString((*(*(*p).prc).name).s);
			}
			goto LA26_;
			LA28_: ;
			{
				T25_ = copyString((*(*(*(*p).module).module).name).s);
			}
			LA26_: ;
			T31_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = makeCString_msgs_50(T25_);
			cgFormatValue_cgen_141((&res), T31_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T32_ = quotedFilename_msgs_1464((*(*(*p).module).g).config, (*t).info);
			cgFormatValue_cgen_141((&res), T32_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_36));
			T33_ = (NI)0;
			T33_ = toLinenumber_msgs_609((*t).info);
			cgFormatValue_cgen_148((&res), ((NI64) (T33_)));
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_246));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA36_;
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA36_: ;
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = rope_ropes_109(res);
			T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = indentLine_cgen_272(p, T38_);
			add_ropes_159(T21_, T39_);
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T44_;
				NimStringDesc* res_2;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
				if (!(((*(*(*(*p).module).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA42_;
				T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T44_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res_2 = rawNewString(((NI) 80));
				cgFormatValue_cgen_141((&res_2), e);
				res_2 = resizeString(res_2, 11);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_389));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA47_;
					res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA47_: ;
				T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T49_ = rope_ropes_109(res_2);
				T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T50_ = indentLine_cgen_272(p, T49_);
				add_ropes_159(T44_, T50_);
			}
			LA42_: ;
		}
		LA11_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		finallyActions_cgen_14767(p);
		genLineDir_cgen_351(p, t);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T56_;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
			if (!((*(*(*(*p).module).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 2))) goto LA54_;
			T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T56_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T57_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T58_ = percent__cgen_14892(T57_, 0);
			T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T59_ = indentLine_cgen_272(p, T58_);
			add_ropes_159(T56_, T59_);
		}
		goto LA52_;
		LA54_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T61_;
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
			T61_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T61_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			res_3 = rawNewString(((NI) 80));
			T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T62_ = cgsym_cgen_120((*p).module, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1101));
			cgFormatValue_cgen_141((&res_3), T62_);
			res_3 = resizeString(res_3, 3);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
			{
				if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA65_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA65_: ;
			T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T67_ = rope_ropes_109(res_3);
			T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T68_ = indentLine_cgen_272(p, T67_);
			add_ropes_159(T61_, T68_);
		}
		LA52_: ;
	}
	LA1_: ;
	gotoInstr = raiseInstr_cgen_406(p);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T73_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T74_;
		if (!!((gotoInstr == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA71_;
		T73_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T73_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T74_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T74_ = indentLine_cgen_272(p, gotoInstr);
		add_ropes_159(T73_, T74_);
	}
	LA71_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genTypeSection_cgen_10281)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg, determineSection_cgen_17212)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg result;
	result = (tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg)0;
	result = ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 8);
	{
		NIM_BOOL T3_;
		NI T4_;
		NimStringDesc* sec;
		T3_ = (NIM_BOOL)0;
		T4_ = (NI)0;
		T4_ = len_ast_3197(n);
		T3_ = (((NI) 1) <= T4_);
		if (!(T3_)) goto LA5_;
		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*n)._kind_6.sons->data[((NI) 0)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
		LA5_: ;
		if (!T3_) goto LA6_;
		sec = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_3.strVal;
		{
			NIM_BOOL T10_;
			T10_ = (NIM_BOOL)0;
			T10_ = nsuStartsWith(sec, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1106));
			if (!T10_) goto LA11_;
			result = ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4);
		}
		goto LA8_;
		LA11_: ;
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = nsuStartsWith(sec, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1107));
			if (!T14_) goto LA15_;
			result = ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10);
		}
		goto LA8_;
		LA15_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = nsuStartsWith(sec, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1108));
			if (!T18_) goto LA19_;
			result = ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 1);
		}
		goto LA8_;
		LA19_: ;
		LA8_: ;
	}
	LA6_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genEmit_cgen_17234)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
	s = genAsmOrEmitStmt_cgen_17153(p, (*t)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
	{
		tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg section;
		if (!((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
		section = determineSection_cgen_17212((*t)._kind_6.sons->data[((NI) 1)]);
		genCLineDir_cgen_343(&(*(*p).module).s[(section)- 0], (*t).info, (*(*(*p).module).g).config);
		add_ropes_159(&(*(*p).module).s[(section)- 0], s);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		genLineDir_cgen_351(p, t);
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T6_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = indentLine_cgen_272(p, s);
		add_ropes_159(T6_, T7_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genPragma_cgen_17245)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** it;
		tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
		NI i;
		NI L;
		NI T2_;
		it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
		colontmp_ = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
		colontmp_ = (*n)._kind_6.sons;
		i = ((NI) 0);
		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T5_;
				if (!(i < L)) goto LA4;
				it = &colontmp_->data[i];
				T5_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
				T5_ = whichPragma_trees_244((*it));
				switch (T5_) {
				case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 214):
				{
					genEmit_cgen_17234(p, (*it));
				}
				break;
				default:
				{
				}
				break;
				}
				i += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14613)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1109), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14619)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1110), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_14627)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1111), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genParForStmt_cgen_14574)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	NI oldBreakIdxX60gensym1976_;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* forLoopVar;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA rangeA;
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA rangeB;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T27_;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
	(*p).withinLoop += ((NI) 1);
	genLineDir_cgen_351(p, t);
	oldBreakIdxX60gensym1976_ = (*p).breakIdx;
	forLoopVar = (*(*t)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
	nimZeroMem((void*)(&rangeA), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	nimZeroMem((void*)(&rangeB), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	assignLocalVar_cgen_11094(p, (*t)._kind_6.sons->data[((NI) 0)]);
	call = (*t)._kind_6.sons->data[((NI) 1)];
	initLocExpr_cgen_11478(p, (*call)._kind_6.sons->data[((NI) 1)], (&rangeA));
	initLocExpr_cgen_11478(p, (*call)._kind_6.sons->data[((NI) 2)], (&rangeB));
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len_ast_3197(call);
		if (!(T3_ == ((NI) 4))) goto LA4_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
			tyArray__f7nG5LD47BH5K9c6mASit3g T11_;
			NimStringDesc* T12_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
			if (!eqStrings((*(*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_420))) goto LA8_;
			T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T11_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
			T11_[0] = rdLoc_cgen_417((*forLoopVar).loc);
			T11_[1] = rdLoc_cgen_417(rangeA);
			T11_[2] = rdLoc_cgen_417(rangeB);
			T12_ = (NimStringDesc*)0;
			T12_ = getStr_ast_4609((*call)._kind_6.sons->data[((NI) 3)]);
			T11_[3] = rope_ropes_109(T12_);
			T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = percent__cgen_14613(T11_, 4);
			T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = indentLine_cgen_272(p, T13_);
			add_ropes_159(T10_, T14_);
		}
		goto LA6_;
		LA8_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T16_;
			tyArray__f7nG5LD47BH5K9c6mASit3g T17_;
			NimStringDesc* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
			T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T16_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			nimZeroMem((void*)T17_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
			T17_[0] = rdLoc_cgen_417((*forLoopVar).loc);
			T17_[1] = rdLoc_cgen_417(rangeA);
			T17_[2] = rdLoc_cgen_417(rangeB);
			T18_ = (NimStringDesc*)0;
			T18_ = getStr_ast_4609((*call)._kind_6.sons->data[((NI) 3)]);
			T17_[3] = rope_ropes_109(T18_);
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = percent__cgen_14619(T17_, 4);
			T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T20_ = indentLine_cgen_272(p, T19_);
			add_ropes_159(T16_, T20_);
		}
		LA6_: ;
	}
	goto LA1_;
	LA4_: ;
	{
		tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA step;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T22_;
		tyArray__duFhZXIIlrbrM62cWjNekg T23_;
		NimStringDesc* T24_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		nimZeroMem((void*)(&step), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
		initLocExpr_cgen_11478(p, (*call)._kind_6.sons->data[((NI) 3)], (&step));
		T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T22_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		nimZeroMem((void*)T23_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
		T23_[0] = rdLoc_cgen_417((*forLoopVar).loc);
		T23_[1] = rdLoc_cgen_417(rangeA);
		T23_[2] = rdLoc_cgen_417(rangeB);
		T23_[3] = rdLoc_cgen_417(step);
		T24_ = (NimStringDesc*)0;
		T24_ = getStr_ast_4609((*call)._kind_6.sons->data[((NI) 4)]);
		T23_[4] = rope_ropes_109(T24_);
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = percent__cgen_14627(T23_, 5);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = indentLine_cgen_272(p, T25_);
		add_ropes_159(T22_, T26_);
	}
	LA1_: ;
	T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T27_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	res = rawNewString(((NI) 80));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
	{
		if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA30_;
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA30_: ;
	T32_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T32_ = rope_ropes_109(res);
	T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T33_ = indentLine_cgen_272(p, T32_);
	add_ropes_159(T27_, T33_);
	(*p).breakIdx = startBlockInternal_cgen_13180(p);
	(*p).blocks->data[(*p).breakIdx].isLoop = NIM_TRUE;
	genStmts_cgen_11452(p, (*t)._kind_6.sons->data[((NI) 2)]);
	endBlock_cgen_13201(p);
	(*p).breakIdx = oldBreakIdxX60gensym1976_;
	(*p).withinLoop -= ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, genState_cgen_13507)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n0;
	{
		NI T3_;
		NimStringDesc* argX60gensym1666_;
		T3_ = (NI)0;
		T3_ = len_ast_3197(n);
		if (!!((T3_ == ((NI) 1)))) goto LA4_;
		argX60gensym1666_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_1112);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, argX60gensym1666_, TM__MQdRN7fpbG7rPm4JpVVAhA_1112);
	}
	LA4_: ;
	n0 = (*n)._kind_6.sons->data[((NI) 0)];
	{
		NI64 idx;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T10_;
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		if (!((*n0).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA8_;
		idx = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T10_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res = rawNewString(((NI) 80));
		res = resizeString(res, 5);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1113));
		cgFormatValue_cgen_148((&res), idx);
		res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1114));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA13_;
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA13_: ;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = rope_ropes_109(res);
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = indentLine_cgen_272(p, T15_);
		add_ropes_159(T10_, T16_);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T20_;
		NimStringDesc* res_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		if (!((*n0).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20))) goto LA18_;
		T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T20_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		res_2 = rawNewString(((NI) 80));
		cgFormatValue_cgen_145((&res_2), (*n0)._kind_3.strVal);
		res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1114));
		{
			if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA23_;
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA23_: ;
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = rope_ropes_109(res_2);
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = indentLine_cgen_272(p, T25_);
		add_ropes_159(T20_, T26_);
	}
	goto LA6_;
	LA18_: ;
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13684)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1115), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13692)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1116), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13719)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1118), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genGotoState_cgen_13670)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T1_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T5_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T6_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
	NI T9_;
	NI T10_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T11_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T12_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
	tyObject_Int128__9a9axPfb75jdWY25AamJewkA statesCounter;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* prefix;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T37_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T38_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T39_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T1_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T2_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T2_[0] = rdLoc_cgen_417(a);
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = percent__cgen_13675(T2_, 1);
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = indentLine_cgen_272(p, T3_);
	add_ropes_159(T1_, T4_);
	(*p).flags |= ((NU8)1)<<((((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 0)) & 7);
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T5_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T6_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T7_ = percent__cgen_13684(T6_, 0);
	T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T8_ = indentLine_cgen_272(p, T7_);
	add_ropes_159(T5_, T8_);
	T9_ = ((*p).nestedTryStmts ? (*p).nestedTryStmts->Sup.len : 0);
	T10_ = (NI)0;
	T10_ = inExceptBlockLen_cgen_13145(p);
	blockLeaveActions_cgen_13555(p, T9_, T10_);
	T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T11_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T12_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T13_ = percent__cgen_13692(T12_, 0);
	T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T14_ = indentLine_cgen_272(p, T13_);
	add_ropes_159(T11_, T14_);
	statesCounter = lastOrd_types_1470((*(*(*p).module).g).config, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
	{
		NIM_BOOL T17_;
		NI T18_;
		T17_ = (NIM_BOOL)0;
		T18_ = (NI)0;
		T18_ = len_ast_3197(n);
		T17_ = (((NI) 2) <= T18_);
		if (!(T17_)) goto LA19_;
		T17_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
		LA19_: ;
		if (!T17_) goto LA20_;
		statesCounter = getInt_ast_4591((*n)._kind_6.sons->data[((NI) 1)]);
	}
	LA20_: ;
	{
		NIM_BOOL T24_;
		NI T25_;
		T24_ = (NIM_BOOL)0;
		T25_ = (NI)0;
		T25_ = len_ast_3197(n);
		T24_ = (T25_ == ((NI) 3));
		if (!(T24_)) goto LA26_;
		T24_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20));
		LA26_: ;
		if (!T24_) goto LA27_;
		prefix = rope_ropes_109((*(*n)._kind_6.sons->data[((NI) 2)])._kind_3.strVal);
	}
	goto LA22_;
	LA27_: ;
	{
		prefix = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1117));
	}
	LA22_: ;
	{
		NI64 i;
		NI64 colontmp_;
		NI64 res;
		i = (NI64)0;
		colontmp_ = (NI64)0;
		colontmp_ = toInt64_int495056_88(statesCounter);
		res = IL64(0);
		{
			while (1) {
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T33_;
				tyArray__mrugoXXRZUEeG9bEXo9auBKw T34_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
				if (!(res <= colontmp_)) goto LA32;
				i = res;
				T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T33_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				nimZeroMem((void*)T34_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
				T34_[0] = prefix;
				T34_[1] = rope_ropes_115(i);
				T35_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T35_ = percent__cgen_13719(T34_, 2);
				T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T36_ = indentLine_cgen_272(p, T35_);
				add_ropes_159(T33_, T36_);
				res += ((NI) 1);
			} LA32: ;
		}
	}
	T37_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	T37_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
	nimZeroMem((void*)T38_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T39_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T39_ = percent__cgen_7509(T38_, 0);
	T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T40_ = indentLine_cgen_272(p, T39_);
	add_ropes_159(T37_, T40_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13740)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1119), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_13746)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1120), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genBreakState_cgen_13728)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	initLoc_cgen_60(d, ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 6), n, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155))) goto LA3_;
		initLocExpr_cgen_11478(p, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], (&a));
		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = rdLoc_cgen_417(a);
		unsureAsgnRef((void**) (&(*d).r), percent__cgen_13740(T5_, 1));
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__JiWwrsTRC6xqNlGcBthSVA T7_;
		initLocExpr_cgen_11478(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
		nimZeroMem((void*)T7_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T7_[0] = rdLoc_cgen_417(a);
		unsureAsgnRef((void**) (&(*d).r), percent__cgen_13746(T7_, 1));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, expr_cgen_11455)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA* d) {
	(*p).currLineInfo = (*n).info;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
		sym = (*n)._kind_4.sym;
		switch ((*sym).kind) {
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
		{
			{
				NIM_BOOL T5_;
				T5_ = (NIM_BOOL)0;
				T5_ = (((*(*p).module).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 6))&7U)))!=0);
				if (T5_) goto LA6_;
				T5_ = !(((1073741840 & (*sym).flags) == 0));
				LA6_: ;
				if (!T5_) goto LA7_;
				fillProcLoc_cgen_11423((*p).module, n);
				genProcPrototype_cgen_11459((*p).module, sym);
			}
			goto LA3_;
			LA7_: ;
			{
				genProc_cgen_403((*p).module, sym);
			}
			LA3_: ;
			putLocIntoDest_cgen_11462(p, d, (*sym).loc);
		}
		break;
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
		{
			{
				NimStringDesc* T15_;
				if (!(((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA13_;
				T15_ = (NimStringDesc*)0;
				T15_ = rawNewString(((*(*sym).name).s ? (*(*sym).name).s->Sup.len : 0) + 48);
appendString(T15_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_510));
appendString(T15_, (*(*sym).name).s);
				liMessage_msgs_1118((*(*(*p).module).g).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__MQdRN7fpbG7rPm4JpVVAhA_511, NIM_FALSE);
			}
			LA13_: ;
			{
				NIM_BOOL T18_;
				T18_ = (NIM_BOOL)0;
				T18_ = (((*(*p).module).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 6))&7U)))!=0);
				if (!(T18_)) goto LA19_;
				T18_ = !(((*(*sym).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5)));
				LA19_: ;
				if (!T18_) goto LA20_;
				fillProcLoc_cgen_11423((*p).module, n);
				genProcPrototype_cgen_11459((*p).module, sym);
			}
			goto LA16_;
			LA20_: ;
			{
				genProc_cgen_403((*p).module, sym);
			}
			LA16_: ;
			{
				NIM_BOOL T25_;
				NimStringDesc* T29_;
				T25_ = (NIM_BOOL)0;
				T25_ = ((*sym).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
				if (T25_) goto LA26_;
				T25_ = ((*sym).loc.lode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
				LA26_: ;
				if (!T25_) goto LA27_;
				T29_ = (NimStringDesc*)0;
				T29_ = rawNewString(((*(*sym).name).s ? (*(*sym).name).s->Sup.len : 0) + 20);
appendString(T29_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_512));
appendString(T29_, (*(*sym).name).s);
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T29_, TM__MQdRN7fpbG7rPm4JpVVAhA_513);
			}
			LA27_: ;
			putLocIntoDest_cgen_11462(p, d, (*sym).loc);
		}
		break;
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
		{
			{
				NIM_BOOL T33_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
				T33_ = (NIM_BOOL)0;
				T33_ = isSimpleConst_cgen_89((*sym).typ);
				if (!T33_) goto LA34_;
				T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T36_ = genLiteral_cgen_17603(p, (*sym).ast, (*sym).typ);
				putIntoDest_cgen_18621(p, d, n, T36_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 1));
			}
			goto LA31_;
			LA34_: ;
			{
				if (!(((*(*p).module).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 6))&7U)))!=0)) goto LA38_;
				genConstHeader_cgen_24213((*p).module, (*p).module, p, sym);
				putLocIntoDest_cgen_11462(p, d, (*sym).loc);
			}
			goto LA31_;
			LA38_: ;
			{
				genComplexConst_cgen_23936(p, sym, d);
			}
			LA31_: ;
		}
		break;
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
			T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T42_ = rope_ropes_115(((NI64) ((*sym).position)));
			putIntoDest_cgen_18621(p, d, n, T42_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		break;
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
		{
			{
				if (!!(((67108872 & (*sym).flags) == 0))) goto LA46_;
				genVarPrototype_cgen_11446((*p).module, n);
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T52_;
					if (!(((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA50_;
					T52_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T52_ = astdef_ast_3482(sym);
					genSingleVar_cgen_13797(p, sym, n, T52_);
				}
				LA50_: ;
			}
			LA46_: ;
			{
				NIM_BOOL T55_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T57_;
				NimStringDesc* T60_;
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym5619_;
				NimStringDesc* T61_;
				T55_ = (NIM_BOOL)0;
				T55_ = ((*sym).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
				if (T55_) goto LA56_;
				T57_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T57_ = t_cgen_79((*sym).loc);
				T55_ = (T57_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
				LA56_: ;
				if (!T55_) goto LA58_;
				T60_ = (NimStringDesc*)0;
				xX60gensym5619_ = sym;
				T61_ = (NimStringDesc*)0;
				T61_ = dollar__systemZdollars_3((NI)((NI)((NU64)(((NI) ((*xX60gensym5619_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym5619_).Sup.itemId.item))));
				T60_ = rawNewString(((*(*sym).name).s ? (*(*sym).name).s->Sup.len : 0) + (T61_ ? T61_->Sup.len : 0) + 20);
appendString(T60_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_620));
appendString(T60_, (*(*sym).name).s);
appendString(T60_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
appendString(T60_, T61_);
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T60_, TM__MQdRN7fpbG7rPm4JpVVAhA_621);
			}
			LA58_: ;
			{
				if (!(((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0)) goto LA64_;
				accessThreadLocalVar_cgen_398(p, sym);
				{
					NIM_BOOL T68_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
					T68_ = (NIM_BOOL)0;
					T68_ = emulatedThreadVars_cgen_401((*(*(*p).module).g).config);
					if (!T68_) goto LA69_;
					T71_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T71_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_536), (*sym).loc.r);
					putIntoDest_cgen_18621(p, d, (*sym).loc.lode, T71_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
				}
				goto LA66_;
				LA69_: ;
				{
					putLocIntoDest_cgen_11462(p, d, (*sym).loc);
				}
				LA66_: ;
			}
			goto LA62_;
			LA64_: ;
			{
				putLocIntoDest_cgen_11462(p, d, (*sym).loc);
			}
			LA62_: ;
		}
		break;
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5):
		{
			{
				NIM_BOOL T77_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T79_;
				NimStringDesc* T82_;
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym5625_;
				NimStringDesc* T83_;
				T77_ = (NIM_BOOL)0;
				T77_ = ((*sym).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
				if (T77_) goto LA78_;
				T79_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T79_ = t_cgen_79((*sym).loc);
				T77_ = (T79_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
				LA78_: ;
				if (!T77_) goto LA80_;
				T82_ = (NimStringDesc*)0;
				xX60gensym5625_ = sym;
				T83_ = (NimStringDesc*)0;
				T83_ = dollar__systemZdollars_3((NI)((NI)((NU64)(((NI) ((*xX60gensym5625_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym5625_).Sup.itemId.item))));
				T82_ = rawNewString(((*(*sym).name).s ? (*(*sym).name).s->Sup.len : 0) + (T83_ ? T83_->Sup.len : 0) + 21);
appendString(T82_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_622));
appendString(T82_, (*(*sym).name).s);
appendString(T82_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
appendString(T82_, T83_);
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T82_, TM__MQdRN7fpbG7rPm4JpVVAhA_623);
			}
			LA80_: ;
			putLocIntoDest_cgen_11462(p, d, (*sym).loc);
		}
		break;
		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
		{
			{
				NIM_BOOL T87_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T89_;
				NimStringDesc* T92_;
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym5629_;
				NimStringDesc* T93_;
				T87_ = (NIM_BOOL)0;
				T87_ = ((*sym).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
				if (T87_) goto LA88_;
				T89_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T89_ = t_cgen_79((*sym).loc);
				T87_ = (T89_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
				LA88_: ;
				if (!T87_) goto LA90_;
				T92_ = (NimStringDesc*)0;
				xX60gensym5629_ = sym;
				T93_ = (NimStringDesc*)0;
				T93_ = dollar__systemZdollars_3((NI)((NI)((NU64)(((NI) ((*xX60gensym5629_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym5629_).Sup.itemId.item))));
				T92_ = rawNewString(((*(*sym).name).s ? (*(*sym).name).s->Sup.len : 0) + (T93_ ? T93_->Sup.len : 0) + 22);
appendString(T92_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_624));
appendString(T92_, (*(*sym).name).s);
appendString(T92_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
appendString(T92_, T93_);
				internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T92_, TM__MQdRN7fpbG7rPm4JpVVAhA_625);
			}
			LA90_: ;
			putLocIntoDest_cgen_11462(p, d, (*sym).loc);
		}
		break;
		default:
		{
			NimStringDesc* T95_;
			T95_ = (NimStringDesc*)0;
			T95_ = rawNewString((reprEnum((NI)(*sym).kind, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)) ? reprEnum((NI)(*sym).kind, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))->Sup.len : 0) + 22);
appendString(T95_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_626));
appendString(T95_, reprEnum((NI)(*sym).kind, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
appendString(T95_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_627));
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T95_, TM__MQdRN7fpbG7rPm4JpVVAhA_628);
		}
		break;
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		{
			NIM_BOOL T99_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T102_;
			T99_ = (NIM_BOOL)0;
			T99_ = isEmptyType_ast_4778((*n).typ);
			if (!!(T99_)) goto LA100_;
			T102_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T102_ = genLiteral_cgen_11468(p, n);
			putIntoDest_cgen_18621(p, d, n, T102_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		LA100_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T104_;
		T104_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T104_ = genLiteral_cgen_11468(p, n);
		putDataIntoDest_cgen_18607(p, d, n, T104_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T106_;
		T106_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T106_ = genLiteral_cgen_11468(p, n);
		putIntoDest_cgen_18621(p, d, n, T106_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
		genLineDir_cgen_351(p, n);
		op = (*n)._kind_6.sons->data[((NI) 0)];
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
			if (!((*n).typ == 0)) goto LA110_;
			nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			{
				NIM_BOOL T114_;
				T114_ = (NIM_BOOL)0;
				T114_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
				if (!(T114_)) goto LA115_;
				T114_ = !(((*(*op)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
				LA115_: ;
				if (!T114_) goto LA116_;
				genMagicExpr_cgen_23222(p, n, (&a), (*(*op)._kind_4.sym).magic);
			}
			goto LA112_;
			LA116_: ;
			{
				genCall_cgen_13069(p, n, (&a));
			}
			LA112_: ;
		}
		goto LA108_;
		LA110_: ;
		{
			{
				NIM_BOOL T122_;
				T122_ = (NIM_BOOL)0;
				T122_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
				if (!(T122_)) goto LA123_;
				T122_ = !(((*(*op)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
				LA123_: ;
				if (!T122_) goto LA124_;
				genMagicExpr_cgen_23222(p, n, d, (*(*op)._kind_4.sym).magic);
			}
			goto LA120_;
			LA124_: ;
			{
				genCall_cgen_13069(p, n, d);
			}
			LA120_: ;
		}
		LA108_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
	{
		{
			NIM_BOOL T130_;
			NI T132_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T135_;
			T130_ = (NIM_BOOL)0;
			T130_ = isDeepConstExpr_trees_171(n, NIM_FALSE);
			if (!(T130_)) goto LA131_;
			T132_ = (NI)0;
			T132_ = len_ast_3197(n);
			T130_ = !((T132_ == ((NI) 0)));
			LA131_: ;
			if (!T130_) goto LA133_;
			T135_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T135_ = genSetNode_cgen_17733(p, n);
			putIntoDest_cgen_18621(p, d, n, T135_, ((tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw) 0));
		}
		goto LA128_;
		LA133_: ;
		{
			genSetConstr_cgen_23750(p, n, d);
		}
		LA128_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
	{
		{
			NIM_BOOL T140_;
			NI T142_;
			T140_ = (NIM_BOOL)0;
			T140_ = isDeepConstExpr_trees_171(n, NIM_FALSE);
			if (!(T140_)) goto LA141_;
			T142_ = (NI)0;
			T142_ = len_ast_3197(n);
			T140_ = !((T142_ == ((NI) 0)));
			LA141_: ;
			if (!T140_) goto LA143_;
			exprComplexConst_cgen_24173(p, n, d);
		}
		goto LA138_;
		LA143_: ;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg* T146_;
			T146_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
			T146_ = skipTypes_ast_3734((*n).typ, TM__MQdRN7fpbG7rPm4JpVVAhA_202);
			if (!((*T146_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA147_;
			genSeqConstr_cgen_21064(p, n, d);
		}
		goto LA138_;
		LA147_: ;
		{
			genArrayConstr_cgen_23914(p, n, d);
		}
		LA138_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		{
			NIM_BOOL T153_;
			NIM_BOOL T154_;
			NI T157_;
			T153_ = (NIM_BOOL)0;
			T154_ = (NIM_BOOL)0;
			T154_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
			if (!(T154_)) goto LA155_;
			T154_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
			LA155_: ;
			T153_ = T154_;
			if (!(T153_)) goto LA156_;
			T157_ = (NI)0;
			T157_ = len_ast_3197(n);
			T153_ = (T157_ == ((NI) 2));
			LA156_: ;
			if (!T153_) goto LA158_;
			genClosure_cgen_23871(p, n, d);
		}
		goto LA151_;
		LA158_: ;
		{
			NIM_BOOL T161_;
			NI T163_;
			T161_ = (NIM_BOOL)0;
			T161_ = isDeepConstExpr_trees_171(n, NIM_FALSE);
			if (!(T161_)) goto LA162_;
			T163_ = (NI)0;
			T163_ = len_ast_3197(n);
			T161_ = !((T163_ == ((NI) 0)));
			LA162_: ;
			if (!T161_) goto LA164_;
			exprComplexConst_cgen_24173(p, n, d);
		}
		goto LA151_;
		LA164_: ;
		{
			genTupleConstr_cgen_23824(p, n, d);
		}
		LA151_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		genObjConstr_cgen_10365(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		genCast_cgen_22709(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
	{
		genConv_cgen_22830(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		genAddr_cgen_19429(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
	{
		genBracketExpr_cgen_20144(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
	{
		genDeref_cgen_19271(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		genRecordField_cgen_19549(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		genCheckedRecordField_cgen_19777(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
	{
		genBlock_cgen_14531(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	{
		genStmtListExpr_cgen_23953(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	{
		genStmtList_cgen_24007(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
	{
		genIf_cgen_14052(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
	{
		expr_cgen_11455(p, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
	{
		downConv_cgen_24127(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
	{
		upConv_cgen_24061(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		genRangeChck_cgen_22756(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
	{
		convStrToCStr_cgen_22837(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		convCStrToStr_cgen_22852(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym_2;
		sym_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		genProc_cgen_403((*p).module, sym_2);
		{
			NIM_BOOL T188_;
			NimStringDesc* T192_;
			T188_ = (NIM_BOOL)0;
			T188_ = ((*sym_2).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
			if (T188_) goto LA189_;
			T188_ = ((*sym_2).loc.lode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
			LA189_: ;
			if (!T188_) goto LA190_;
			T192_ = (NimStringDesc*)0;
			T192_ = rawNewString(((*(*sym_2).name).s ? (*(*sym_2).name).s->Sup.len : 0) + 20);
appendString(T192_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_512));
appendString(T192_, (*(*sym_2).name).s);
			internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T192_, TM__MQdRN7fpbG7rPm4JpVVAhA_988);
		}
		LA190_: ;
		putLocIntoDest_cgen_11462(p, d, (*sym_2).loc);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		genClosure_cgen_23871(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
	{
		genWhileStmt_cgen_14454(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
	{
		genVarStmt_cgen_14032(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
	{
		{
			if (!(((*(*p).module).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 6))&7U)))!=0)) goto LA200_;
			genConstStmt_cgen_24288(p, n);
		}
		LA200_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
	{
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1016), TM__MQdRN7fpbG7rPm4JpVVAhA_1017);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
	{
		genCase_cgen_15469(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		genReturnStmt_cgen_14135(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		genBreakStmt_cgen_14650(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	{
		cow_cgen_19421(p, (*n)._kind_6.sons->data[((NI) 1)]);
		{
			if (!!((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 15))&31U)))!=0))) goto LA209_;
			genAsgn_cgen_17387(p, n, NIM_FALSE);
		}
		LA209_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		cow_cgen_19421(p, (*n)._kind_6.sons->data[((NI) 1)]);
		{
			if (!!((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 15))&31U)))!=0))) goto LA214_;
			genAsgn_cgen_17387(p, n, !(((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))));
		}
		LA214_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex;
		ex = (*n)._kind_6.sons->data[((NI) 0)];
		{
			tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T221_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T222_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T223_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T224_;
			if (!!(((*ex).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA219_;
			genLineDir_cgen_351(p, n);
			nimZeroMem((void*)(&a_2), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
			initLocExprSingleUse_cgen_11482(p, ex, (&a_2));
			T221_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T221_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			T222_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T222_ = amp__ropes_144(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1045), a_2.r);
			T223_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T223_ = amp__ropes_140(T222_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1015));
			T224_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T224_ = indentLine_cgen_272(p, T223_);
			add_ropes_159(T221_, T224_);
		}
		LA219_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
	{
		genAsmStmt_cgen_17197(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
	{
		switch ((*(*(*(*p).module).g).config).exc) {
		case ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3):
		{
			genTryGoto_cgen_16356(p, n, d);
		}
		break;
		case ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 2):
		{
			genTryCpp_cgen_15639(p, n, d);
		}
		break;
		default:
		{
			genTrySetjmp_cgen_16700(p, n, d);
		}
		break;
		}
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		genRaiseStmt_cgen_14831(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
	{
		genTypeSection_cgen_10281((*p).module, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 119):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		genPragma_cgen_17245(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T235_;
		T235_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T235_ = lastSon_ast_4831(n);
		expr_cgen_11455(p, T235_, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
	{
		{
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
			if (!((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA239_;
			prc = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
			{
				if (!(((*(*p).module).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 6))&7U)))!=0)) goto LA243_;
				{
					NIM_BOOL T247_;
					T247_ = (NIM_BOOL)0;
					T247_ = contains_astalgo_3496((&(*(*p).module).alive), ((NI) ((*prc).Sup.itemId.item)));
					if (!(T247_)) goto LA248_;
					T247_ = ((*prc).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0) || (*prc).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155) || (*prc).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 154));
					LA248_: ;
					if (!T247_) goto LA249_;
					genProc_cgen_403((*p).module, prc);
				}
				LA249_: ;
			}
			goto LA241_;
			LA243_: ;
			{
				NIM_BOOL T252_;
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T253_;
				T252_ = (NIM_BOOL)0;
				T253_ = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
				T253_ = skipGenericOwner_ast_4657(prc);
				T252_ = ((*T253_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6));
				if (!(T252_)) goto LA254_;
				T252_ = !((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0));
				LA254_: ;
				if (!T252_) goto LA255_;
				{
					NIM_BOOL T259_;
					NIM_BOOL T260_;
					NIM_BOOL T262_;
					T259_ = (NIM_BOOL)0;
					T260_ = (NIM_BOOL)0;
					T260_ = ((262272 & (*prc).flags) == 128);
					if (T260_) goto LA261_;
					T262_ = (NIM_BOOL)0;
					T262_ = (((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 7))&63U)))!=0);
					if (!(T262_)) goto LA263_;
					T262_ = (((*prc).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 5))&15U)))!=0);
					LA263_: ;
					T260_ = T262_;
					LA261_: ;
					T259_ = T260_;
					if (T259_) goto LA264_;
					T259_ = ((*prc).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
					LA264_: ;
					if (!T259_) goto LA265_;
					genProc_cgen_403((*p).module, prc);
				}
				LA265_: ;
			}
			goto LA241_;
			LA255_: ;
			LA241_: ;
		}
		LA239_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
	{
		genParForStmt_cgen_14574(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
	{
		genState_cgen_13507(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
	{
		(*p).splitDecls += ((NI) 1);
		genGotoState_cgen_13670(p, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
	{
		genBreakState_cgen_13728(p, n, d);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
	}
	break;
	default:
	{
		NimStringDesc* T273_;
		T273_ = (NimStringDesc*)0;
		T273_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 25);
appendString(T273_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_626));
appendString(T273_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendString(T273_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1121));
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, (*n).info, T273_, TM__MQdRN7fpbG7rPm4JpVVAhA_1122);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, genStmts_cgen_11452)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t) {
	tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA a;
	NIM_BOOL isPush;
	nimZeroMem((void*)(&a), sizeof(tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA));
	isPush = hasHint_options_515((*(*(*p).module).g).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 100));
	{
		if (!isPush) goto LA3_;
		pushInfoContext_msgs_490((*(*(*p).module).g).config, (*t).info, ((NimStringDesc*) NIM_NIL));
	}
	LA3_: ;
	expr_cgen_11455(p, t, (&a));
	{
		if (!isPush) goto LA7_;
		popInfoContext_msgs_507((*(*(*p).module).g).config);
	}
	LA7_: ;
	{
		NimStringDesc* argX60gensym3112_;
		if (!!(((71 &((NU16)1<<((NU)(a.k)&15U)))!=0))) goto LA11_;
		argX60gensym3112_ = toFileLineCol_msgs_615(TM__MQdRN7fpbG7rPm4JpVVAhA_1123);
		internalErrorImpl_msgs_1431((*(*(*p).module).g).config, unknownLineInfo_lineinfos_280, argX60gensym3112_, TM__MQdRN7fpbG7rPm4JpVVAhA_1123);
	}
	LA11_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addHcrInitGuards_cgen_28329)(tyObject_TCProc__g7nhmFb7KltrkyRKuP8k2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL* inInitGuard) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA3_;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
			child = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen_ast_3190(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA8;
						i = i_2;
						child = (*n)._kind_6.sons->data[i];
						addHcrInitGuards_cgen_28329(p, child, inInitGuard);
						i_2 += ((NI) 1);
					} LA8: ;
				}
			}
		}
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL stmtShouldExecute;
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100));
		if (T10_) goto LA11_;
		T10_ = (((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 20))&31U)))!=0);
		LA11_: ;
		stmtShouldExecute = T10_;
		{
			if (!(*inInitGuard)) goto LA14_;
			{
				if (!stmtShouldExecute) goto LA18_;
				endBlock_cgen_13201(p);
				(*inInitGuard) = NIM_FALSE;
			}
			LA18_: ;
		}
		goto LA12_;
		LA14_: ;
		{
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T25_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T28_;
				NimStringDesc* res;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
				NI T35_;
				if (!!(stmtShouldExecute)) goto LA23_;
				T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T25_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T26_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_11));
				T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T27_ = indentLine_cgen_272(p, T26_);
				add_ropes_159(T25_, T27_);
				T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
				T28_ = s_cgendata_225(p, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
				res = rawNewString(((NI) 80));
				res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_12));
				{
					if (!!((((*(*(*(*p).module).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA31_;
					res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA31_: ;
				T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T33_ = rope_ropes_109(res);
				T34_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T34_ = indentLine_cgen_272(p, T33_);
				add_ropes_159(T28_, T34_);
				T35_ = (NI)0;
				T35_ = startBlockInternal_cgen_13180(p);
				(*inInitGuard) = NIM_TRUE;
			}
			LA23_: ;
		}
		LA12_: ;
		genStmts_cgen_11452(p, n);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genTopLevelStmt_cgen_28360)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedN;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = skipCodegen_passes_49((*(*m).g).config, n);
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	(*(*m).initProc).options = initProcOptions_cgen_28125(m);
	transformedN = transformStmt_transf_1873((*(*m).g).graph, (*m).Sup.idgen, (*m).module, n);
	{
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 42))&63U)))!=0)) goto LA8_;
		transformedN = injectDestructorCalls_injectdestructors_10100((*(*m).g).graph, (*m).Sup.idgen, (*m).module, transformedN);
	}
	LA8_: ;
	{
		NIM_BOOL T12_;
		T12_ = (NIM_BOOL)0;
		T12_ = hcrOn_cgen_42(m);
		if (!T12_) goto LA13_;
		addHcrInitGuards_cgen_28329((*m).initProc, transformedN, (&(*m).inHcrInitGuard));
	}
	goto LA10_;
	LA13_: ;
	{
		genProcBody_cgen_25917((*m).initProc, transformedN);
	}
	LA10_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myProcess_cgen_28368)(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = n;
	{
		tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m;
		if (!!((b == ((tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*) NIM_NIL)))) goto LA3_;
		m = ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) (b));
		genTopLevelStmt_cgen_28360(m, n);
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, moduleHasChanged_passes_207)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, finalCodegenActions_cgen_28413)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* mm;
	NI T82_;
{	{
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA3_;
		{
			NIM_BOOL T7_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			T7_ = (NIM_BOOL)0;
			T7_ = ((*(*(*m).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3));
			if (!(T7_)) goto LA8_;
			T9_ = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
			T9_ = getCompilerProc_magicsys_145(graph, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1124));
			T7_ = !((T9_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			LA8_: ;
			if (!T7_) goto LA10_;
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1124));
			(void)(T12_);
		}
		LA10_: ;
		{
			if (!((2097536 & (*(*(*m).g).config).globalOptions) == 0)) goto LA15_;
			{
				NI i;
				NI colontmp_;
				NI T18_;
				NI res;
				i = (NI)0;
				colontmp_ = (NI)0;
				T18_ = (((*graph).globalDestructors ? (*graph).globalDestructors->Sup.len : 0)-1);
				colontmp_ = T18_;
				res = colontmp_;
				{
					while (1) {
						if (!(((NI) 0) <= res)) goto LA20;
						i = res;
						add_ast_4796(n, (*graph).globalDestructors->data[i]);
						res -= ((NI) 1);
					} LA20: ;
				}
			}
		}
		LA15_: ;
	}
	LA3_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = skipCodegen_passes_49((*(*m).g).config, n);
		if (!T23_) goto LA24_;
		goto BeforeRet_;
	}
	LA24_: ;
	{
		NIM_BOOL T28_;
		T28_ = (NIM_BOOL)0;
		T28_ = moduleHasChanged_passes_207(graph, (*m).module);
		if (!T28_) goto LA29_;
		{
			if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA33_;
			(*(*m).initProc).options = initProcOptions_cgen_28125(m);
			genProcBody_cgen_25917((*m).initProc, n);
		}
		LA33_: ;
		{
			NIM_BOOL T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			T37_ = (NIM_BOOL)0;
			T37_ = hcrOn_cgen_42(m);
			if (!T37_) goto LA38_;
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1125));
			(void)(T40_);
			{
				if (!(*m).inHcrInitGuard) goto LA43_;
				endBlock_cgen_13201((*m).initProc);
			}
			LA43_: ;
		}
		LA38_: ;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* disp;
			if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA47_;
			{
				NIM_BOOL T51_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
				T51_ = (NIM_BOOL)0;
				T51_ = hcrOn_cgen_42(m);
				if (!T51_) goto LA52_;
				T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T54_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_421));
				(void)(T54_);
				T55_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T55_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_425));
				(void)(T55_);
				T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T56_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_434));
				(void)(T56_);
				T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T57_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1126));
				(void)(T57_);
				T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T58_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1127));
				(void)(T58_);
			}
			LA52_: ;
			{
				NIM_BOOL T61_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
				T61_ = (NIM_BOOL)0;
				T61_ = !(((*(*(*m).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 29)));
				if (!(T61_)) goto LA62_;
				T61_ = !(((*(*(*m).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 1)));
				LA62_: ;
				if (!T61_) goto LA63_;
				T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T65_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1128));
				(void)(T65_);
			}
			LA63_: ;
			{
				NIM_BOOL T68_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
				T68_ = (NIM_BOOL)0;
				T68_ = emulatedThreadVars_cgen_401((*(*m).g).config);
				if (!(T68_)) goto LA69_;
				T68_ = !(((*(*(*m).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 29)));
				LA69_: ;
				if (!T68_) goto LA70_;
				T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T72_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1129));
				(void)(T72_);
			}
			LA70_: ;
			{
				NI T75_;
				T75_ = ((*(*m).g).forwardedProcs ? (*(*m).g).forwardedProcs->Sup.len : 0);
				if (!(T75_ == ((NI) 0))) goto LA76_;
				(*m).flags |= ((NU8)1)<<((((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 5)) & 7);
			}
			LA76_: ;
			disp = generateMethodDispatchers_cgmeth_546(graph);
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
				x = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				{
					NI i_2;
					NI colontmp__2;
					NI i_3;
					i_2 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = safeLen_ast_3190(disp);
					i_3 = ((NI) 0);
					{
						while (1) {
							if (!(i_3 < colontmp__2)) goto LA81;
							i_2 = i_3;
							x = (*disp)._kind_6.sons->data[i_2];
							genProcAux_cgen_25981(m, (*x)._kind_4.sym);
							i_3 += ((NI) 1);
						} LA81: ;
					}
				}
			}
		}
		LA47_: ;
	}
	LA29_: ;
	mm = m;
	asgnRef((void**) (&(*(*m).g).modulesClosed), (tySequence__SHVxAqOYtIy7teT1q4s0zQ*) incrSeqV3((TGenericSeq*)((*(*m).g).modulesClosed), (&NTIseqLbmoduleT__SHVxAqOYtIy7teT1q4s0zQ_)));
	T82_ = (*(*m).g).modulesClosed->Sup.len++;
	asgnRef((void**) (&(*(*m).g).modulesClosed->data[T82_]), mm);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myClose_cgen_28484)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = n;
	{
		if (!(b == ((tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	finalCodegenActions_cgen_28413(graph, ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) (b)), n);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, pop_icZic_2460)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** s) {
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
	NI L;
	NI T1_;
	result = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
	T1_ = ((*s) ? (*s)->Sup.len : 0);
	L = (NI)(T1_ - ((NI) 1));
	result = (*s)->data[L];
	unsureAsgnRef((void**) (&(*s)), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_), ((NI) (L))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genForwardedProcs_cgen_28493)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g) {
	{
		while (1) {
			NI T3_;
			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
			tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m;
			T3_ = ((*g).forwardedProcs ? (*g).forwardedProcs->Sup.len : 0);
			if (!(((NI) 0) < T3_)) goto LA2;
			prc = pop_icZic_2460((&(*g).forwardedProcs));
			m = (*g).modules->data[(*prc).Sup.itemId.module];
			{
				NimStringDesc* T8_;
				if (!(((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0)) goto LA6_;
				T8_ = (NimStringDesc*)0;
				T8_ = rawNewString(((*(*prc).name).s ? (*(*prc).name).s->Sup.len : 0) + 17);
appendString(T8_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1130));
appendString(T8_, (*(*prc).name).s);
				internalErrorImpl_msgs_1431((*(*m).g).config, (*prc).info, T8_, TM__MQdRN7fpbG7rPm4JpVVAhA_1131);
			}
			LA6_: ;
			genProcNoForward_cgen_26332(m, prc);
		} LA2: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getSomeNameForModule_cgen_26848)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NimStringDesc* T6_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NimStringDesc* T5_;
		if (!((49152 & (*m).flags) == 0)) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = mangle_ccgutils_112((*(*(*m).owner).name).s);
		result = rope_ropes_109(T5_);
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
	}
	LA3_: ;
	T6_ = (NimStringDesc*)0;
	T6_ = mangle_ccgutils_112((*(*m).name).s);
	add_ropes_162(&result, T6_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getSomeInitName_cgen_26873)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* suffix) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42(m);
		if (!!(T3_)) goto LA4_;
		result = getSomeNameForModule_cgen_26848((*m).module);
	}
	LA4_: ;
	add_ropes_162(&result, suffix);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getInitName_cgen_26877)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA3_;
		result = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1132));
	}
	goto LA1_;
	LA3_: ;
	{
		result = getSomeInitName_cgen_26873(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1133));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27740)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1134), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27858)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1142), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27867)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1143), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27872)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1144), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27877)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1147), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27911)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1148), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27751)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1149), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27962)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1154), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getHcrInitName_cgen_26887)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = getSomeInitName_cgen_26873(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1155));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27795)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1158), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27800)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1159), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, hcrGetProcLoadCode_cgen_26890)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NimStringDesc* sym, NimStringDesc* prefix, NimStringDesc* handle, NimStringDesc* getProcFunc) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
	NimStringDesc* extname;
	NimStringDesc* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyArray__duFhZXIIlrbrM62cWjNekg T10_;
	NimStringDesc* T11_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	prc = getCompilerProc_magicsys_145((*(*m).g).graph, sym);
	fillProcLoc_cgen_11423(m, (*(*prc).ast)._kind_6.sons->data[((NI) 0)]);
	T1_ = (NimStringDesc*)0;
	T1_ = rawNewString((prefix ? prefix->Sup.len : 0) + (sym ? sym->Sup.len : 0) + 0);
appendString(T1_, prefix);
appendString(T1_, sym);
	extname = T1_;
	tmp = mangleDynLibProc_cgen_3773(prc);
	asgnRef((void**) (&(*prc).loc.r), tmp);
	asgnRef((void**) (&(*(*prc).typ).sym), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym6326_;
		NIM_BOOL T4_;
		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		xX60gensym6326_ = prc;
		T4_ = (NIM_BOOL)0;
		T4_ = containsOrIncl_astalgo_402((&(*m).declaredThings), (NI)((NI)((NU64)(((NI) ((*xX60gensym6326_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym6326_).Sup.itemId.item))));
		if (!!(T4_)) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
		T7_[0] = (*prc).loc.r;
		T8_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T8_ = t_cgen_79((*prc).loc);
		T7_[1] = getTypeDesc_cgen_6635(m, T8_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__cgen_27795(T7_, 2);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 10))- 0], T9_);
	}
	LA5_: ;
	nimZeroMem((void*)T10_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
	T10_[0] = tmp;
	T10_[1] = getTypeDesc_cgen_6635(m, (*prc).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
	T10_[2] = rope_ropes_109(getProcFunc);
	T10_[3] = rope_ropes_109(handle);
	T11_ = (NimStringDesc*)0;
	T11_ = rawNewString((prefix ? prefix->Sup.len : 0) + (sym ? sym->Sup.len : 0) + 0);
appendString(T11_, prefix);
appendString(T11_, sym);
	T10_[4] = makeCString_msgs_50(T11_);
	result = percent__cgen_27800(T10_, 5);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28087)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1162), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getDatInitName_cgen_26884)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = getSomeInitName_cgen_26873(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1163));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genDatInitCode_cgen_27737)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	NIM_BOOL moduleDatInitRequired;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* prc;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
	NimStringDesc* T2_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T17_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
	moduleDatInitRequired = hcrOn_cgen_42(m);
	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T2_ = (NimStringDesc*)0;
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = hcrOn_cgen_42(m);
		if (!T5_) goto LA6_;
		T2_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1135));
	}
	goto LA3_;
	LA6_: ;
	{
		T2_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1136));
	}
	LA3_: ;
	T1_[0] = rope_ropes_109(T2_);
	T1_[1] = getDatInitName_cgen_26884(m);
	prc = percent__cgen_27740(T1_, 2);
	genCLineDir_cgen_326(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1137), ((NI) 999999), (*(*m).g).config);
	{
		tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg i;
		NI res;
		i = (tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg)0;
		res = ((NI) 14);
		{
			while (1) {
				if (!(res <= ((NI) 18))) goto LA11;
				i = ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) (res));
				{
					NI T14_;
					T14_ = (NI)0;
					T14_ = len_ropes_10((*m).s[(i)- 0]);
					if (!!((T14_ == ((NI) 0)))) goto LA15_;
					moduleDatInitRequired = NIM_TRUE;
					add_ropes_159(&prc, (*m).s[(i)- 0]);
				}
				LA15_: ;
				res += ((NI) 1);
			} LA11: ;
		}
	}
	nimZeroMem((void*)T17_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T18_ = percent__cgen_27751(T17_, 0);
	add_ropes_159(&prc, T18_);
	{
		if (!moduleDatInitRequired) goto LA21_;
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 13))- 0], prc);
	}
	LA21_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28097)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1164), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27243)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1165), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27255)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1166), args, argsLen_0);
	return result;
}
static N_INLINE(NU64, hiXorLo_pureZhashes_79)(NU64 a, NU64 b) {
	NU64 result;
	result = (NU64)0;
	__uint128_t r = a; r *= b; result = (r >> 64) ^ r;
	return result;
}
static N_INLINE(NI, hashWangYi1_pureZhashes_136)(NU64 x) {
	NI result;
	NU64 T1_;
	NU64 T2_;
	result = (NI)0;
	T1_ = (NU64)0;
	T1_ = hiXorLo_pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
	T2_ = (NU64)0;
	T2_ = hiXorLo_pureZhashes_79(T1_, 16952864883938283885ULL);
	result = ((NI) (T2_));
	return result;
}
static N_INLINE(NI, hash_ast_779)(NI32 x) {
	NI result;
	result = (NI)0;
	result = hashWangYi1_pureZhashes_136(((NU64) (x)));
	return result;
}
static N_INLINE(NI, rawGet_cgen_27266)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash_ast_779(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled_pureZcollectionsZtables_31(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry_pureZcollectionsZtables_34(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27587)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1167), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27592)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1168), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27597)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1169), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27606)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1170), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27611)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1171), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27620)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1172), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27625)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1173), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27180)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1174), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27634)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1175), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27639)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1176), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27644)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1177), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27649)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1178), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27659)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1183), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27664)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1184), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_27175)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1187), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, registerModuleToMain_cgen_27238)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* init;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* datInit;
{	init = getInitName_cgen_26877(m);
	datInit = getDatInitName_cgen_26884(m);
	{
		NIM_BOOL T3_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* hcrModuleMeta;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* systemModulePath;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* mainModulePath;
		NI hcX60gensym6274_;
		NI indexX60gensym6274_;
		NIM_BOOL hasKeyX60gensym6274_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T23_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T25_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T27_;
		tyArray__qtqsWM5aXmcpMIVmvq3kAA T28_;
		NimStringDesc* T29_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42(m);
		if (!T3_) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		hcrModuleMeta = percent__cgen_27243(T6_, 0);
		systemModulePath = getModuleDllPath_cgen_136(m, (*(*g).modules->data[(*(*(*g).graph).config).m.systemFileIdx]).module);
		mainModulePath = getModuleDllPath_cgen_136(m, (*m).module);
		{
			tyArray__JiWwrsTRC6xqNlGcBthSVA T11_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
			if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA9_;
			nimZeroMem((void*)T11_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T11_[0] = systemModulePath;
			T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = percent__cgen_27255(T11_, 1);
			add_ropes_159(&hcrModuleMeta, T12_);
		}
		LA9_: ;
		hcX60gensym6274_ = (NI)0;
		indexX60gensym6274_ = rawGet_cgen_27266((*(*g).graph).importDeps, ((NI32) ((*(*m).module).position)), (&hcX60gensym6274_));
		hasKeyX60gensym6274_ = (((NI) 0) <= indexX60gensym6274_);
		{
			tySequence__48JTohSgTy339bRxHzUD8KA** deps;
			if (!hasKeyX60gensym6274_) goto LA15_;
			deps = (&(*(*g).graph).importDeps.data->data[indexX60gensym6274_].Field2);
			{
				NI32* curr;
				NI i;
				NI L;
				NI T18_;
				curr = (NI32*)0;
				i = ((NI) 0);
				T18_ = ((*deps) ? (*deps)->Sup.len : 0);
				L = T18_;
				{
					while (1) {
						tyArray__JiWwrsTRC6xqNlGcBthSVA T21_;
						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
						if (!(i < L)) goto LA20;
						curr = (&(*deps)->data[i]);
						nimZeroMem((void*)T21_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
						T21_[0] = getModuleDllPath_cgen_136(m, (*(*g).modules->data[(*curr)]).module);
						T22_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
						T22_ = percent__cgen_27255(T21_, 1);
						add_ropes_159(&hcrModuleMeta, T22_);
						i += ((NI) 1);
					} LA20: ;
				}
			}
		}
		LA15_: ;
		nimZeroMem((void*)T23_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T24_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = percent__cgen_27587(T23_, 0);
		add_ropes_159(&hcrModuleMeta, T24_);
		nimZeroMem((void*)T25_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T26_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = percent__cgen_27592(T25_, 0);
		add_ropes_159(&hcrModuleMeta, T26_);
		nimZeroMem((void*)T27_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		nimZeroMem((void*)T28_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
		sigHash_sighashes_522((*m).module, T28_);
		T29_ = (NimStringDesc*)0;
		T29_ = dollar__modulegraphs_8947(T28_);
		T27_[0] = rope_ropes_109(T29_);
		T30_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T30_ = percent__cgen_27597(T27_, 1);
		add_ropes_159(&hcrModuleMeta, T30_);
		{
			tyArray__qTjAvTvKF9anytN1At69aJMQ T35_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T37_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T39_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T41_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T43_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T45_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T47_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T49_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T51_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
			tyArray__qTjAvTvKF9anytN1At69aJMQ T53_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* osModulePath;
			NimStringDesc* T55_;
			NimStringDesc* T56_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T57_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T59_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
			tyArray__JiWwrsTRC6xqNlGcBthSVA T61_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
			if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA33_;
			add_ropes_159(&(*g).mainModProcs, hcrModuleMeta);
			nimZeroMem((void*)T35_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T36_ = percent__cgen_27606(T35_, 0);
			add_ropes_159(&(*g).mainModProcs, T36_);
			nimZeroMem((void*)T37_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T37_[0] = init;
			T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = percent__cgen_27611(T37_, 1);
			add_ropes_159(&(*g).mainModProcs, T38_);
			nimZeroMem((void*)T39_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T39_[0] = datInit;
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = percent__cgen_27611(T39_, 1);
			add_ropes_159(&(*g).mainModProcs, T40_);
			nimZeroMem((void*)T41_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T41_[0] = getHcrInitName_cgen_26887(m);
			T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T42_ = percent__cgen_27620(T41_, 1);
			add_ropes_159(&(*g).mainModProcs, T42_);
			nimZeroMem((void*)T43_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T44_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T44_ = percent__cgen_27625(T43_, 0);
			add_ropes_159(&(*g).mainModProcs, T44_);
			nimZeroMem((void*)T45_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T45_[0] = init;
			T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T46_ = percent__cgen_27180(T45_, 1);
			add_ropes_159(&(*g).mainModInit, T46_);
			nimZeroMem((void*)T47_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
			T47_[0] = mainModulePath;
			T47_[1] = systemModulePath;
			T47_[2] = datInit;
			T48_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T48_ = percent__cgen_27634(T47_, 3);
			add_ropes_159(&(*g).otherModsInit, T48_);
			nimZeroMem((void*)T49_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T49_[0] = getHcrInitName_cgen_26887(m);
			T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T50_ = percent__cgen_27639(T49_, 1);
			add_ropes_159(&(*g).mainDatInit, T50_);
			nimZeroMem((void*)T51_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T51_[0] = mainModulePath;
			T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T52_ = percent__cgen_27644(T51_, 1);
			add_ropes_159(&(*g).mainDatInit, T52_);
			nimZeroMem((void*)T53_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T54_ = percent__cgen_27649(T53_, 0);
			add_ropes_159(&(*g).mainDatInit, T54_);
			T55_ = (NimStringDesc*)0;
			T55_ = dollar__ropes_250(systemModulePath);
			T56_ = (NimStringDesc*)0;
			T56_ = nsuReplaceStr(T55_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1179), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1180));
			osModulePath = rope_ropes_109(T56_);
			nimZeroMem((void*)T57_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T57_[0] = osModulePath;
			T58_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T58_ = percent__cgen_27644(T57_, 1);
			add_ropes_159(&(*g).mainDatInit, T58_);
			add_ropes_162(&(*g).mainDatInit, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1181));
			add_ropes_162(&(*g).mainDatInit, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1182));
			nimZeroMem((void*)T59_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T59_[0] = osModulePath;
			T60_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T60_ = percent__cgen_27659(T59_, 1);
			add_ropes_159(&(*g).mainDatInit, T60_);
			nimZeroMem((void*)T61_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
			T61_[0] = osModulePath;
			T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T62_ = percent__cgen_27664(T61_, 1);
			add_ropes_159(&(*g).mainDatInit, T62_);
			add_ropes_162(&(*g).mainDatInit, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1185));
			add_ropes_162(&(*g).mainDatInit, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1186));
		}
		goto LA31_;
		LA33_: ;
		{
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0], hcrModuleMeta);
		}
		LA31_: ;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		NI T66_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T69_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T70_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T71_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
		T66_ = (NI)0;
		T66_ = len_ropes_10((*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 13))- 0]);
		if (!(((NI) 0) < T66_)) goto LA67_;
		nimZeroMem((void*)T69_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T69_[0] = datInit;
		T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T70_ = percent__cgen_27175(T69_, 1);
		add_ropes_159(&(*g).mainModProcs, T70_);
		nimZeroMem((void*)T71_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T71_[0] = datInit;
		T72_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T72_ = percent__cgen_27180(T71_, 1);
		add_ropes_159(&(*g).mainDatInit, T72_);
	}
	LA67_: ;
	{
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA75_;
		{
			NIM_BOOL T79_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
			T79_ = (NIM_BOOL)0;
			T79_ = emulatedThreadVars_cgen_401((*(*m).g).config);
			if (!(T79_)) goto LA80_;
			T79_ = !(((*(*(*m).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 29)));
			LA80_: ;
			if (!T79_) goto LA81_;
			res = rawNewString(((NI) 80));
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
			T83_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T83_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1129));
			cgFormatValue_cgen_141((&res), T83_);
			res = resizeString(res, 4);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1188));
			T84_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T84_ = rope_ropes_109(res);
			add_ropes_159(&(*g).mainDatInit, T84_);
		}
		LA81_: ;
		{
			NIM_BOOL T87_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
			T87_ = (NIM_BOOL)0;
			T87_ = !(((*(*(*m).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 29)));
			if (!(T87_)) goto LA88_;
			T87_ = !(((50 &((NU16)1<<((NU)((*(*(*m).g).config).selectedGC)&15U)))!=0));
			LA88_: ;
			if (!T87_) goto LA89_;
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
			T91_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T91_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1128));
			cgFormatValue_cgen_141((&res_2), T91_);
			res_2 = resizeString(res_2, 18);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1189));
			T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T92_ = rope_ropes_109(res_2);
			add_ropes_159(&(*g).mainDatInit, T92_);
		}
		LA89_: ;
	}
	LA75_: ;
	{
		NI T95_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T98_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T99_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* initCall;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T100_;
		T95_ = (NI)0;
		T95_ = len_ropes_10((*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0]);
		if (!(((NI) 0) < T95_)) goto LA96_;
		nimZeroMem((void*)T98_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T98_[0] = init;
		T99_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T99_ = percent__cgen_27175(T98_, 1);
		add_ropes_159(&(*g).mainModProcs, T99_);
		nimZeroMem((void*)T100_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T100_[0] = init;
		initCall = percent__cgen_27180(T100_, 1);
		{
			if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA103_;
			add_ropes_159(&(*g).mainModInit, initCall);
		}
		goto LA101_;
		LA103_: ;
		{
			if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA106_;
			add_ropes_159(&(*g).mainDatInit, initCall);
		}
		goto LA101_;
		LA106_: ;
		{
			add_ropes_159(&(*g).otherModsInit, initCall);
		}
		LA101_: ;
	}
	LA96_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genInitCode_cgen_27805)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	NIM_BOOL moduleInitRequired;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* initname;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* prc;
	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
	NimStringDesc* T2_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T109_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T110_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T213_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T214_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T215_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T216_;
	moduleInitRequired = hcrOn_cgen_42(m);
	initname = getInitName_cgen_26877(m);
	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
	T2_ = (NimStringDesc*)0;
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = hcrOn_cgen_42(m);
		if (!T5_) goto LA6_;
		T2_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1135));
	}
	goto LA3_;
	LA6_: ;
	{
		T2_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1136));
	}
	LA3_: ;
	T1_[0] = rope_ropes_109(T2_);
	T1_[1] = initname;
	prc = percent__cgen_27740(T1_, 2);
	genCLineDir_cgen_326(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1137), ((NI) 999999), (*(*m).g).config);
	{
		if (!(((NI) 0) < (*m).typeNodes)) goto LA11_;
		{
			NIM_BOOL T15_;
			NimStringDesc* res;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
			NimStringDesc* res_2;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
			T15_ = (NIM_BOOL)0;
			T15_ = hcrOn_cgen_42(m);
			if (!T15_) goto LA16_;
			res = rawNewString(((NI) 80));
			res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
			T18_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T18_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_130));
			cgFormatValue_cgen_141((&res), T18_);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1138));
			cgFormatValue_cgen_141((&res), (*m).typeNodesName);
			res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_509));
			T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T19_ = rope_ropes_109(res);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 14))- 0], T19_);
			res_2 = rawNewString(((NI) 80));
			res_2 = resizeString(res_2, 19);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1139));
			T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T20_ = getModuleDllPath_cgen_136(m, (*m).module);
			cgFormatValue_cgen_141((&res_2), T20_);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_553));
			cgFormatValue_cgen_141((&res_2), (*m).typeNodesName);
			res_2 = resizeString(res_2, 1);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_3));
			cgFormatValue_cgen_148((&res_2), ((NI64) ((*m).typeNodes)));
			res_2 = resizeString(res_2, 22);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1140));
			cgFormatValue_cgen_148((&res_2), ((NI64) ((*m).typeNodes)));
			res_2 = resizeString(res_2, 17);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1141));
			cgFormatValue_cgen_141((&res_2), (*m).typeNodesName);
			res_2 = resizeString(res_2, 3);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1015));
			T21_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T21_ = rope_ropes_109(res_2);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 14))- 0], T21_);
		}
		goto LA13_;
		LA16_: ;
		{
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 7);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_28));
			T23_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T23_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_130));
			cgFormatValue_cgen_141((&res_3), T23_);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
			cgFormatValue_cgen_141((&res_3), (*m).typeNodesName);
			res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
			cgFormatValue_cgen_148((&res_3), ((NI64) ((*m).typeNodes)));
			res_3 = resizeString(res_3, 2);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_301));
			{
				if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA26_;
				res_3 = resizeString(res_3, 1);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
			}
			LA26_: ;
			T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T28_ = rope_ropes_109(res_3);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 14))- 0], T28_);
		}
		LA13_: ;
	}
	LA11_: ;
	{
		NimStringDesc* res_4;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
		if (!(((NI) 0) < (*m).nimTypes)) goto LA31_;
		res_4 = rawNewString(((NI) 80));
		res_4 = resizeString(res_4, 7);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_28));
		T33_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_129));
		cgFormatValue_cgen_141((&res_4), T33_);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_16));
		cgFormatValue_cgen_141((&res_4), (*m).nimTypesName);
		res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_175));
		cgFormatValue_cgen_148((&res_4), ((NI64) ((*m).nimTypes)));
		res_4 = resizeString(res_4, 2);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_301));
		{
			if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA36_;
			res_4 = resizeString(res_4, 1);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
		}
		LA36_: ;
		T38_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T38_ = rope_ropes_109(res_4);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 14))- 0], T38_);
	}
	LA31_: ;
	{
		NIM_BOOL T41_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T44_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
		T41_ = (NIM_BOOL)0;
		T41_ = hcrOn_cgen_42(m);
		if (!T41_) goto LA42_;
		nimZeroMem((void*)T44_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T44_[0] = getModuleDllPath_cgen_136(m, (*m).module);
		T45_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T45_ = percent__cgen_27858(T44_, 1);
		add_ropes_159(&prc, T45_);
	}
	LA42_: ;
	{
		NIM_BOOL T48_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T49_;
		NI T50_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T52_;
		NI T53_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T56_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T58_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T107_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T108_;
		T48_ = (NIM_BOOL)0;
		T49_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T49_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
		T50_ = (NI)0;
		T50_ = len_ropes_10((*T49_));
		T48_ = (((NI) 0) < T50_);
		if (T48_) goto LA51_;
		T52_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T52_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T53_ = (NI)0;
		T53_ = len_ropes_10((*T52_));
		T48_ = (((NI) 0) < T53_);
		LA51_: ;
		if (!T48_) goto LA54_;
		nimZeroMem((void*)T56_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T57_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T57_ = percent__cgen_27867(T56_, 0);
		add_ropes_159(&prc, T57_);
		nimZeroMem((void*)T58_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T59_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T59_ = percent__cgen_27872(T58_, 0);
		add_ropes_159(&prc, T59_);
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T62_;
			NI T63_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T70_;
			T62_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T62_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
			T63_ = (NI)0;
			T63_ = len_ropes_10((*T62_));
			if (!(((NI) 0) < T63_)) goto LA64_;
			moduleInitRequired = NIM_TRUE;
			{
				if (!NIM_FALSE) goto LA68_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1145));
			}
			LA68_: ;
			T70_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T70_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
			add_ropes_159(&prc, (*T70_));
			{
				if (!NIM_FALSE) goto LA73_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1146));
			}
			LA73_: ;
		}
		LA64_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T77_;
			NI T78_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T86_;
			T77_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T77_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
			T78_ = (NI)0;
			T78_ = len_ropes_10((*T77_));
			if (!(((NI) 0) < T78_)) goto LA79_;
			moduleInitRequired = NIM_TRUE;
			{
				NIM_BOOL T83_;
				T83_ = (NIM_BOOL)0;
				T83_ = hcrOn_cgen_42(m);
				if (!T83_) goto LA84_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1145));
			}
			LA84_: ;
			T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T86_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
			add_ropes_159(&prc, (*T86_));
			{
				NIM_BOOL T89_;
				T89_ = (NIM_BOOL)0;
				T89_ = hcrOn_cgen_42(m);
				if (!T89_) goto LA90_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1146));
			}
			LA90_: ;
		}
		LA79_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T94_;
			NI T95_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T102_;
			T94_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T94_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			T95_ = (NI)0;
			T95_ = len_ropes_10((*T94_));
			if (!(((NI) 0) < T95_)) goto LA96_;
			moduleInitRequired = NIM_TRUE;
			{
				if (!NIM_FALSE) goto LA100_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1145));
			}
			LA100_: ;
			T102_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T102_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			add_ropes_159(&prc, (*T102_));
			{
				if (!NIM_FALSE) goto LA105_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1146));
			}
			LA105_: ;
		}
		LA96_: ;
		nimZeroMem((void*)T107_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T108_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T108_ = percent__cgen_27877(T107_, 0);
		add_ropes_159(&prc, T108_);
	}
	LA54_: ;
	nimZeroMem((void*)T109_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T110_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T110_ = percent__cgen_27867(T109_, 0);
	add_ropes_159(&prc, T110_);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T113_;
		NI T114_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T121_;
		T113_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T113_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		T114_ = (NI)0;
		T114_ = len_ropes_10((*T113_));
		if (!(((NI) 0) < T114_)) goto LA115_;
		moduleInitRequired = NIM_TRUE;
		{
			if (!NIM_FALSE) goto LA119_;
			add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1145));
		}
		LA119_: ;
		T121_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T121_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 0));
		add_ropes_159(&prc, (*T121_));
		{
			if (!NIM_FALSE) goto LA124_;
			add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1146));
		}
		LA124_: ;
	}
	LA115_: ;
	{
		NIM_BOOL T128_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T129_;
		NI T130_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T132_;
		NI T133_;
		T128_ = (NIM_BOOL)0;
		T129_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T129_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
		T130_ = (NI)0;
		T130_ = len_ropes_10((*T129_));
		T128_ = (((NI) 0) < T130_);
		if (T128_) goto LA131_;
		T132_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T132_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T133_ = (NI)0;
		T133_ = len_ropes_10((*T132_));
		T128_ = (((NI) 0) < T133_);
		LA131_: ;
		if (!T128_) goto LA134_;
		moduleInitRequired = NIM_TRUE;
		{
			NIM_BOOL T138_;
			T138_ = (NIM_BOOL)0;
			T138_ = (((*(*m).initProc).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0);
			if (!(T138_)) goto LA139_;
			T138_ = !((((*m).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 2))&7U)))!=0));
			LA139_: ;
			if (!T138_) goto LA140_;
			(*m).flags |= ((NU8)1)<<((((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 2)) & 7);
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* procname;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T146_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T147_;
				if (!!((((*m).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 0))&7U)))!=0))) goto LA144_;
				procname = makeCString_msgs_50((*(*(*m).module).name).s);
				T146_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T146_ = quotedFilename_msgs_1464((*(*m).g).config, (*(*m).module).info);
				T147_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T147_ = initFrame_cgen_17448((*m).initProc, procname, T146_);
				add_ropes_159(&prc, T147_);
			}
			goto LA142_;
			LA144_: ;
			{
				tyArray__qTjAvTvKF9anytN1At69aJMQ T149_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T150_;
				nimZeroMem((void*)T149_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
				T150_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T150_ = percent__cgen_27872(T149_, 0);
				add_ropes_159(&prc, T150_);
			}
			LA142_: ;
		}
		LA140_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T153_;
			NI T154_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T162_;
			T153_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T153_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
			T154_ = (NI)0;
			T154_ = len_ropes_10((*T153_));
			if (!(((NI) 0) < T154_)) goto LA155_;
			moduleInitRequired = NIM_TRUE;
			{
				NIM_BOOL T159_;
				T159_ = (NIM_BOOL)0;
				T159_ = hcrOn_cgen_42(m);
				if (!T159_) goto LA160_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1145));
			}
			LA160_: ;
			T162_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T162_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
			add_ropes_159(&prc, (*T162_));
			{
				NIM_BOOL T165_;
				T165_ = (NIM_BOOL)0;
				T165_ = hcrOn_cgen_42(m);
				if (!T165_) goto LA166_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1146));
			}
			LA166_: ;
		}
		LA155_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T170_;
			NI T171_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T178_;
			T170_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T170_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			T171_ = (NI)0;
			T171_ = len_ropes_10((*T170_));
			if (!(((NI) 0) < T171_)) goto LA172_;
			moduleInitRequired = NIM_TRUE;
			{
				if (!NIM_FALSE) goto LA176_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1145));
			}
			LA176_: ;
			T178_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
			T178_ = s_cgendata_225((*m).initProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
			add_ropes_159(&prc, (*T178_));
			{
				if (!NIM_FALSE) goto LA181_;
				add_ropes_162(&prc, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1146));
			}
			LA181_: ;
		}
		LA172_: ;
		{
			tyArray__qTjAvTvKF9anytN1At69aJMQ T187_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T188_;
			if (!(((*(*m).initProc).flags &((NU8)1<<((NU)(((tyEnum_TCProcFlag__LgBeaca7tT1nUR7RL1RjPQ) 0))&7U)))!=0)) goto LA185_;
			nimZeroMem((void*)T187_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
			T188_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T188_ = percent__cgen_27911(T187_, 0);
			add_ropes_159(&prc, T188_);
		}
		LA185_: ;
		{
			NIM_BOOL T191_;
			T191_ = (NIM_BOOL)0;
			T191_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0);
			if (!(T191_)) goto LA192_;
			T191_ = ((*(*(*m).g).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3));
			LA192_: ;
			if (!T191_) goto LA193_;
			{
				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T197_;
				NimStringDesc* res_5;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T200_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T205_;
				T197_ = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*)0;
				T197_ = getCompilerProc_magicsys_145((*(*m).g).graph, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1124));
				if (!!((T197_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA198_;
				res_5 = rawNewString(((NI) 80));
				res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
				T200_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T200_ = cgsym_cgen_120(m, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1124));
				cgFormatValue_cgen_141((&res_5), T200_);
				res_5 = resizeString(res_5, 3);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_398));
				{
					if (!!((((*(*(*m).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0))) goto LA203_;
					res_5 = resizeString(res_5, 1);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
				}
				LA203_: ;
				T205_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T205_ = rope_ropes_109(res_5);
				add_ropes_159(&prc, T205_);
			}
			LA198_: ;
		}
		LA193_: ;
		{
			NIM_BOOL T208_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T212_;
			T208_ = (NIM_BOOL)0;
			T208_ = (((*(*m).initProc).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0);
			if (!(T208_)) goto LA209_;
			T208_ = !((((*m).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 0))&7U)))!=0));
			LA209_: ;
			if (!T208_) goto LA210_;
			T212_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T212_ = deinitFrame_cgen_17518((*m).initProc);
			add_ropes_159(&prc, T212_);
		}
		LA210_: ;
	}
	LA134_: ;
	nimZeroMem((void*)T213_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T214_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T214_ = percent__cgen_26181(T213_, 0);
	add_ropes_159(&prc, T214_);
	nimZeroMem((void*)T215_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T216_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T216_ = percent__cgen_27751(T215_, 0);
	add_ropes_159(&prc, T216_);
	{
		NIM_BOOL T219_;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ* procsToLoad;
		NimStringDesc* T222_;
		NimStringDesc* T223_;
		NimStringDesc* T224_;
		NimStringDesc* T225_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T226_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T227_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T241_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T242_;
		T219_ = (NIM_BOOL)0;
		T219_ = hcrOn_cgen_42(m);
		if (!T219_) goto LA220_;
		procsToLoad = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 4);
		T222_ = (NimStringDesc*)0;
		T222_ = procsToLoad->data[0]; procsToLoad->data[0] = copyStringRC1(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1150));
		if (T222_) nimGCunrefNoCycle(T222_);
		T223_ = (NimStringDesc*)0;
		T223_ = procsToLoad->data[1]; procsToLoad->data[1] = copyStringRC1(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1151));
		if (T223_) nimGCunrefNoCycle(T223_);
		T224_ = (NimStringDesc*)0;
		T224_ = procsToLoad->data[2]; procsToLoad->data[2] = copyStringRC1(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1152));
		if (T224_) nimGCunrefNoCycle(T224_);
		T225_ = (NimStringDesc*)0;
		T225_ = procsToLoad->data[3]; procsToLoad->data[3] = copyStringRC1(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1153));
		if (T225_) nimGCunrefNoCycle(T225_);
		nimZeroMem((void*)T226_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T226_[0] = getHcrInitName_cgen_26887(m);
		T227_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T227_ = percent__cgen_27962(T226_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0], T227_);
		{
			NI T232_;
			NimStringDesc* T233_;
			NI T234_;
			NimStringDesc* T235_;
			if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA230_;
			procsToLoad = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(procsToLoad), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
			T232_ = procsToLoad->Sup.len++;
			T233_ = (NimStringDesc*)0;
			T233_ = procsToLoad->data[T232_]; procsToLoad->data[T232_] = copyStringRC1(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1156));
			if (T233_) nimGCunrefNoCycle(T233_);
			procsToLoad = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(procsToLoad), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
			T234_ = procsToLoad->Sup.len++;
			T235_ = (NimStringDesc*)0;
			T235_ = procsToLoad->data[T234_]; procsToLoad->data[T234_] = copyStringRC1(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1157));
			if (T235_) nimGCunrefNoCycle(T235_);
		}
		LA230_: ;
		{
			NimStringDesc** curr;
			NI i;
			NI L;
			NI T237_;
			curr = (NimStringDesc**)0;
			i = ((NI) 0);
			T237_ = (procsToLoad ? procsToLoad->Sup.len : 0);
			L = T237_;
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T240_;
					if (!(i < L)) goto LA239;
					curr = (&procsToLoad->data[i]);
					T240_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T240_ = hcrGetProcLoadCode_cgen_26890(m, (*curr), ((NimStringDesc*) NIM_NIL), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1160), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1161));
					add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0], T240_);
					i += ((NI) 1);
				} LA239: ;
			}
		}
		nimZeroMem((void*)T241_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T242_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T242_ = percent__cgen_27751(T241_, 0);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0], T242_);
	}
	LA220_: ;
	{
		NIM_CHAR i_2;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* el;
		NIM_CHAR i_3;
		i_2 = (NIM_CHAR)0;
		el = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		i_3 = 48;
		{
			while (1) {
				i_2 = i_3;
				el = (*m).extensionLoaders[(((NU8)(i_3)))- 48];
				{
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* ex;
					tyArray__mrugoXXRZUEeG9bEXo9auBKw T250_;
					if (!!((el == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA248_;
					nimZeroMem((void*)T250_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
					T250_[0] = rope_ropes_115(((NI64) ((NI)(((NU8)(i_2)) - ((NI) 48)))));
					T250_[1] = el;
					ex = percent__cgen_28087(T250_, 2);
					moduleInitRequired = NIM_TRUE;
					add_ropes_159(&prc, ex);
				}
				LA248_: ;
				{
					if (!((NU8)(57) <= (NU8)(((NIM_CHAR) (((NU8)(i_3))))))) goto LA253_;
					goto LA244;
				}
				LA253_: ;
				i_3 += ((NI) 1);
			}
		} LA244: ;
	}
	{
		NIM_BOOL T257_;
		T257_ = (NIM_BOOL)0;
		T257_ = moduleInitRequired;
		if (T257_) goto LA258_;
		T257_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0);
		LA258_: ;
		if (!T257_) goto LA259_;
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0], prc);
	}
	LA259_: ;
	genDatInitCode_cgen_27737(m);
	{
		NIM_BOOL T263_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T266_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T267_;
		tyArray__qTjAvTvKF9anytN1At69aJMQ T268_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T269_;
		T263_ = (NIM_BOOL)0;
		T263_ = hcrOn_cgen_42(m);
		if (!T263_) goto LA264_;
		nimZeroMem((void*)T266_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T267_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T267_ = percent__cgen_28097(T266_, 0);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0], T267_);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0], (*m).hcrCreateTypeInfosProc);
		nimZeroMem((void*)T268_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
		T269_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T269_ = percent__cgen_27751(T268_, 0);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0], T269_);
	}
	LA264_: ;
	registerModuleToMain_cgen_27238((*m).g, m);
}
N_LIB_PRIVATE N_NIMCALL(void, seqV2ContentType_cgen_3445)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check) {
	tyArray__qtqsWM5aXmcpMIVmvq3kAA sig;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	nimZeroMem((void*)sig, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	hashType_sighashes_462(t, 2, sig);
	result = cacheGetType_cgen_1345((*m).typeCache, sig);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = getTypeDescAux_cgen_1306(m, t, check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		(void)(T5_);
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
		res = rawNewString(((NI) 80));
		res = resizeString(res, 2);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1190));
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1191));
		cgFormatValue_cgen_141((&res), T7_);
		res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1192));
		cgFormatValue_cgen_141((&res), result);
		res = resizeString(res, 12);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1193));
		T8_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1191));
		cgFormatValue_cgen_141((&res), T8_);
		res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1194));
		cgFormatValue_cgen_141((&res), result);
		res = resizeString(res, 19);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1195));
		cgFormatValue_cgen_141((&res), result);
		res = resizeString(res, 19);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1196));
		T9_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
		T9_ = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = getTypeDescAux_cgen_1306(m, (*T9_).sons->data[((NI) 0)], check, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
		cgFormatValue_cgen_141((&res), T10_);
		res = resizeString(res, 24);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1197));
		T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1191));
		cgFormatValue_cgen_141((&res), T11_);
		res = resizeString(res, 13);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1198));
		T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = rope_ropes_109(res);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 4))- 0], T12_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, finishTypeDescriptions_cgen_6684)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	NI i;
	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
	i = ((NI) 0);
	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
	initIntSet_pureZcollectionsZintsets_238((&check));
	{
		while (1) {
			NI T3_;
			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
			T3_ = ((*m).typeStack ? (*m).typeStack->Sup.len : 0);
			if (!(i < T3_)) goto LA2;
			t = (*m).typeStack->data[i];
			{
				NIM_BOOL T6_;
				tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
				T6_ = (NIM_BOOL)0;
				T6_ = (((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
				if (!(T6_)) goto LA7_;
				T8_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*)0;
				T8_ = skipTypes_ast_3734(t, TM__MQdRN7fpbG7rPm4JpVVAhA_39);
				T6_ = ((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
				LA7_: ;
				if (!T6_) goto LA9_;
				seqV2ContentType_cgen_3445(m, t, (&check));
			}
			goto LA4_;
			LA9_: ;
			{
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
				T12_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T12_ = getTypeDescAux_cgen_1306(m, t, (&check), ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
				(void)(T12_);
			}
			LA4_: ;
			i += ((NI) 1);
		} LA2: ;
	}
	asgnRef((void**) (&(*m).typeStack), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) setLengthSeqV2(&((*m).typeStack)->Sup, (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) 0)));
}
static N_NIMCALL(void, Marker_tyRef__UjwNQwrGjW3X9ahveEH9bnWA)(void* p, NI op) {
	tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw* a;
	a = (tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw*)p;
	nimGCvisit((void*)(*a).m1, op);
}
N_LIB_PRIVATE N_CLOSURE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, loadLib_cgen_26899)(NimStringDesc* handle, NimStringDesc* name, void* ClE_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw* colonenvP_;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
	NimStringDesc* res;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	colonenvP_ = (tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw*) ClE_0;
	prc = getCompilerProc_magicsys_145((*(*(*colonenvP_).m1).g).graph, name);
	n = newStrNode_ast_3812(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*(*(*prc).annex).path)._kind_3.strVal);
	(*n).info = (*(*(*prc).annex).path).info;
	res = rawNewString(((NI) 80));
	res = resizeString(res, 7);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1200));
	cgFormatValue_cgen_145((&res), handle);
	res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_91));
	T1_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = cgsym_cgen_120((*colonenvP_).m1, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_421));
	cgFormatValue_cgen_141((&res), T1_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = genStringLiteral_cgen_600((*colonenvP_).m1, n);
	cgFormatValue_cgen_141((&res), T2_);
	res = resizeString(res, 6);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1201));
	T3_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = cgsym_cgen_120((*colonenvP_).m1, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_425));
	cgFormatValue_cgen_141((&res), T3_);
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_68));
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = genStringLiteral_cgen_600((*colonenvP_).m1, n);
	cgFormatValue_cgen_141((&res), T4_);
	res = resizeString(res, 3);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1015));
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T5_ = rope_ropes_109(res);
	add_ropes_159(&result, T5_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, closeNamespaceNim_cgen_25631)(void) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_294));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, openNamespaceNim_cgen_25628)(NimStringDesc* namespace_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1231));
	add_ropes_162(&result, namespace_0);
	add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1232));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genMainProc_cgen_26896)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw* colonenv_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* preMainCode;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* initStackBottomCall;
	NimStringDesc* res_2;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
	colonenv_ = (tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw*)0;
	colonenv_ = (tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw*) newObj((&NTIrefobject__UjwNQwrGjW3X9ahveEH9bnWA_), sizeof(tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw));
	(*colonenv_).Sup.m_type = (&NTIobject__IDX4istqRyOZp3l6j9aUesw_);
	asgnRef((void**) (&(*colonenv_).m1), m);
	preMainCode = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		tyProc__G7yv7dCrMxuDBcXNy2RR1w T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyProc__G7yv7dCrMxuDBcXNy2RR1w T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_cgen_42((*colonenv_).m1);
		if (!T3_) goto LA4_;
		nimZeroMem((void*)(&T6_), sizeof(tyProc__G7yv7dCrMxuDBcXNy2RR1w));
		T6_.ClP_0 = loadLib_cgen_26899; T6_.ClE_0 = colonenv_;
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = T6_.ClE_0? T6_.ClP_0(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1202), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1151), T6_.ClE_0):((TM__MQdRN7fpbG7rPm4JpVVAhA_1203)(T6_.ClP_0))(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1202), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1151));
		add_ropes_159(&preMainCode, T7_);
		add_ropes_162(&preMainCode, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1204));
		nimZeroMem((void*)(&T8_), sizeof(tyProc__G7yv7dCrMxuDBcXNy2RR1w));
		T8_.ClP_0 = loadLib_cgen_26899; T8_.ClE_0 = colonenv_;
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = T8_.ClE_0? T8_.ClP_0(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1205), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1206), T8_.ClE_0):((TM__MQdRN7fpbG7rPm4JpVVAhA_1207)(T8_.ClP_0))(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1205), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1206));
		add_ropes_159(&preMainCode, T9_);
		T10_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = hcrGetProcLoadCode_cgen_26890((*colonenv_).m1, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1206), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1208), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1205), ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_434));
		add_ropes_159(&preMainCode, T10_);
		add_ropes_162(&preMainCode, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1209));
		add_ropes_162(&preMainCode, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1210));
		add_ropes_162(&preMainCode, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1211));
	}
	goto LA1_;
	LA4_: ;
	{
		add_ropes_162(&preMainCode, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1212));
	}
	LA1_: ;
	{
		NIM_BOOL T14_;
		T14_ = (NIM_BOOL)0;
		T14_ = ((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
		if (!(T14_)) goto LA15_;
		T14_ = !((((*(*(*(*colonenv_).m1).g).config).globalOptions & 640) == 0));
		LA15_: ;
		if (!T14_) goto LA16_;
		includeHeader_cgendata_214((*colonenv_).m1, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1213));
	}
	goto LA12_;
	LA16_: ;
	{
		if (!((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 26))) goto LA19_;
		includeHeader_cgendata_214((*colonenv_).m1, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1214));
	}
	goto LA12_;
	LA19_: ;
	LA12_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = ((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 29));
		if (T23_) goto LA24_;
		T23_ = ((*(*(*(*colonenv_).m1).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 1));
		LA24_: ;
		if (!T23_) goto LA25_;
		initStackBottomCall = rope_ropes_109(((NimStringDesc*) NIM_NIL));
	}
	goto LA21_;
	LA25_: ;
	{
		NimStringDesc* res;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
		res = rawNewString(((NI) 80));
		res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_10));
		T28_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = cgsym_cgen_120((*colonenv_).m1, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1128));
		cgFormatValue_cgen_141((&res), T28_);
		res = resizeString(res, 18);
appendString(res, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1189));
		initStackBottomCall = rope_ropes_109(res);
	}
	LA21_: ;
	(*(*colonenv_).m1).labels += ((NI) 1);
	res_2 = rawNewString(((NI) 80));
	res_2 = resizeString(res_2, 41);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1215));
	cgFormatValue_cgen_141((&res_2), (*(*(*colonenv_).m1).g).otherModsInit);
	res_2 = resizeString(res_2, 177);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1216));
	cgFormatValue_cgen_141((&res_2), (*(*(*colonenv_).m1).g).mainDatInit);
	res_2 = resizeString(res_2, 16);
appendString(res_2, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1217));
	T29_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T29_ = rope_ropes_109(res_2);
	add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T29_);
	{
		NIM_BOOL T32_;
		T32_ = (NIM_BOOL)0;
		T32_ = ((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
		if (!(T32_)) goto LA33_;
		T32_ = !((((*(*(*(*colonenv_).m1).g).config).globalOptions & 640) == 0));
		LA33_: ;
		if (!T32_) goto LA34_;
		{
			NimStringDesc* res_3;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
			if (!(((*(*(*(*colonenv_).m1).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0)) goto LA38_;
			res_3 = rawNewString(((NI) 80));
			res_3 = resizeString(res_3, 50);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1218));
			cgFormatValue_cgen_141((&res_3), (*(*(*colonenv_).m1).g).mainModInit);
			res_3 = resizeString(res_3, 65);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1219));
			cgFormatValue_cgen_141((&res_3), preMainCode);
			res_3 = resizeString(res_3, 23);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1220));
			cgFormatValue_cgen_141((&res_3), initStackBottomCall);
			res_3 = resizeString(res_3, 16);
appendString(res_3, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1217));
			T40_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = rope_ropes_109(res_3);
			add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T40_);
		}
		goto LA36_;
		LA38_: ;
		{
			NimStringDesc* res_4;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T42_;
			res_4 = rawNewString(((NI) 80));
			res_4 = resizeString(res_4, 50);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1218));
			cgFormatValue_cgen_141((&res_4), (*(*(*colonenv_).m1).g).mainModInit);
			res_4 = resizeString(res_4, 78);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1221));
			cgFormatValue_cgen_141((&res_4), preMainCode);
			res_4 = resizeString(res_4, 23);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1220));
			cgFormatValue_cgen_141((&res_4), initStackBottomCall);
			res_4 = resizeString(res_4, 16);
appendString(res_4, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1217));
			T42_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T42_ = rope_ropes_109(res_4);
			add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T42_);
		}
		LA36_: ;
	}
	goto LA30_;
	LA34_: ;
	{
		NimStringDesc* res_5;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
		if (!((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 26))) goto LA44_;
		res_5 = rawNewString(((NI) 80));
		res_5 = resizeString(res_5, 143);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1222));
		cgFormatValue_cgen_141((&res_5), (*(*(*colonenv_).m1).g).mainModInit);
		res_5 = resizeString(res_5, 65);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1219));
		cgFormatValue_cgen_141((&res_5), preMainCode);
		res_5 = resizeString(res_5, 23);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1220));
		cgFormatValue_cgen_141((&res_5), initStackBottomCall);
		res_5 = resizeString(res_5, 16);
appendString(res_5, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1217));
		T46_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T46_ = rope_ropes_109(res_5);
		add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T46_);
	}
	goto LA30_;
	LA44_: ;
	{
		NimStringDesc* res_6;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
		if (!(((*(*(*(*colonenv_).m1).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0)) goto LA48_;
		res_6 = rawNewString(((NI) 80));
		res_6 = resizeString(res_6, 50);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1218));
		cgFormatValue_cgen_141((&res_6), (*(*(*colonenv_).m1).g).mainModInit);
		res_6 = resizeString(res_6, 78);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1221));
		cgFormatValue_cgen_141((&res_6), preMainCode);
		res_6 = resizeString(res_6, 23);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1220));
		cgFormatValue_cgen_141((&res_6), initStackBottomCall);
		res_6 = resizeString(res_6, 16);
appendString(res_6, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1217));
		T50_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T50_ = rope_ropes_109(res_6);
		add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T50_);
	}
	goto LA30_;
	LA48_: ;
	{
		NimStringDesc* res_7;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
		if (!((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 29))) goto LA52_;
		res_7 = rawNewString(((NI) 80));
		res_7 = resizeString(res_7, 50);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1218));
		cgFormatValue_cgen_141((&res_7), (*(*(*colonenv_).m1).g).mainModInit);
		res_7 = resizeString(res_7, 65);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1219));
		cgFormatValue_cgen_141((&res_7), preMainCode);
		res_7 = resizeString(res_7, 23);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1220));
		cgFormatValue_cgen_141((&res_7), initStackBottomCall);
		res_7 = resizeString(res_7, 16);
appendString(res_7, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1217));
		T54_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = rope_ropes_109(res_7);
		add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T54_);
	}
	goto LA30_;
	LA52_: ;
	{
		NimStringDesc* res_8;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
		res_8 = rawNewString(((NI) 80));
		res_8 = resizeString(res_8, 50);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1218));
		cgFormatValue_cgen_141((&res_8), (*(*(*colonenv_).m1).g).mainModInit);
		res_8 = resizeString(res_8, 65);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1219));
		cgFormatValue_cgen_141((&res_8), preMainCode);
		res_8 = resizeString(res_8, 23);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1220));
		cgFormatValue_cgen_141((&res_8), initStackBottomCall);
		res_8 = resizeString(res_8, 16);
appendString(res_8, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1217));
		T56_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T56_ = rope_ropes_109(res_8);
		add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T56_);
	}
	LA30_: ;
	{
		if (!!((((*(*(*(*colonenv_).m1).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 21))&63U)))!=0))) goto LA59_;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
			if (!(((NI) 0) < ((*(*(*(*colonenv_).m1).g).config).cppCustomNamespace ? (*(*(*(*colonenv_).m1).g).config).cppCustomNamespace->Sup.len : 0))) goto LA63_;
			T65_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T65_ = closeNamespaceNim_cgen_25631();
			T66_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T66_ = amp__ropes_140(T65_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1223));
			T67_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T67_ = amp__ropes_140(T66_, (*(*(*(*colonenv_).m1).g).config).cppCustomNamespace);
			T68_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T68_ = amp__ropes_140(T67_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_509));
			add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T68_);
		}
		LA63_: ;
		{
			NIM_BOOL T71_;
			T71_ = (NIM_BOOL)0;
			T71_ = ((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
			if (!(T71_)) goto LA72_;
			T71_ = !((((*(*(*(*colonenv_).m1).g).config).globalOptions & 640) == 0));
			LA72_: ;
			if (!T71_) goto LA73_;
			{
				NimStringDesc* res_9;
				NimStringDesc* T79_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T86_;
				if (!(((*(*(*(*colonenv_).m1).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0)) goto LA77_;
				res_9 = rawNewString(((NI) 80));
				res_9 = resizeString(res_9, 176);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1224));
				T79_ = (NimStringDesc*)0;
				{
					NIM_BOOL T82_;
					T82_ = (NIM_BOOL)0;
					T82_ = hcrOn_cgen_42((*colonenv_).m1);
					if (!T82_) goto LA83_;
					T79_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
				}
				goto LA80_;
				LA83_: ;
				{
					T79_ = ((NimStringDesc*) NIM_NIL);
				}
				LA80_: ;
				cgFormatValue_cgen_145((&res_9), T79_);
				res_9 = resizeString(res_9, 23);
appendString(res_9, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1225));
				T86_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T86_ = rope_ropes_109(res_9);
				add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T86_);
			}
			goto LA75_;
			LA77_: ;
			{
				NimStringDesc* res_10;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T88_;
				res_10 = rawNewString(((NI) 80));
				res_10 = resizeString(res_10, 167);
appendString(res_10, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1226));
				T88_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T88_ = rope_ropes_109(res_10);
				add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T88_);
			}
			LA75_: ;
		}
		goto LA69_;
		LA73_: ;
		{
			NimStringDesc* res_11;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
			if (!((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 26))) goto LA90_;
			res_11 = rawNewString(((NI) 80));
			res_11 = resizeString(res_11, 268);
appendString(res_11, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1227));
			T92_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T92_ = rope_ropes_109(res_11);
			add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T92_);
		}
		goto LA69_;
		LA90_: ;
		{
			NimStringDesc* res_12;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T96_;
			if (!(((*(*(*(*colonenv_).m1).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0)) goto LA94_;
			res_12 = rawNewString(((NI) 80));
			res_12 = resizeString(res_12, 69);
appendString(res_12, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1228));
			T96_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T96_ = rope_ropes_109(res_12);
			add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T96_);
		}
		goto LA69_;
		LA94_: ;
		{
			NimStringDesc* res_13;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T100_;
			if (!((*(*(*(*colonenv_).m1).g).config).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 29))) goto LA98_;
			res_13 = rawNewString(((NI) 80));
			res_13 = resizeString(res_13, 43);
appendString(res_13, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1229));
			T100_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T100_ = rope_ropes_109(res_13);
			add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T100_);
		}
		goto LA69_;
		LA98_: ;
		{
			NimStringDesc* res_14;
			NimStringDesc* T102_;
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T109_;
			res_14 = rawNewString(((NI) 80));
			res_14 = resizeString(res_14, 114);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1230));
			T102_ = (NimStringDesc*)0;
			{
				NIM_BOOL T105_;
				T105_ = (NIM_BOOL)0;
				T105_ = hcrOn_cgen_42((*colonenv_).m1);
				if (!T105_) goto LA106_;
				T102_ = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_58));
			}
			goto LA103_;
			LA106_: ;
			{
				T102_ = ((NimStringDesc*) NIM_NIL);
			}
			LA103_: ;
			cgFormatValue_cgen_145((&res_14), T102_);
			res_14 = resizeString(res_14, 23);
appendString(res_14, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1225));
			T109_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T109_ = rope_ropes_109(res_14);
			add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T109_);
		}
		LA69_: ;
		{
			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T114_;
			if (!(((NI) 0) < ((*(*(*(*colonenv_).m1).g).config).cppCustomNamespace ? (*(*(*(*colonenv_).m1).g).config).cppCustomNamespace->Sup.len : 0))) goto LA112_;
			T114_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
			T114_ = openNamespaceNim_cgen_25628((*(*(*(*colonenv_).m1).g).config).cppCustomNamespace);
			add_ropes_159(&(*(*colonenv_).m1).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T114_);
		}
		LA112_: ;
	}
	LA59_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11238)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1233), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, generateThreadVarsSize_cgen_11223)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	{
		NimStringDesc* externc;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T12_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
		if (!!(((*(*m).g).nimtv == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = ((*(*(*m).g).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
			if (T7_) goto LA8_;
			T7_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
			LA8_: ;
			if (!T7_) goto LA9_;
			externc = copyString(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_506));
		}
		goto LA5_;
		LA9_: ;
		{
			externc = ((NimStringDesc*) NIM_NIL);
		}
		LA5_: ;
		nimZeroMem((void*)T12_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T12_[0] = rope_ropes_109(externc);
		T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T13_ = percent__cgen_11238(T12_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 11))- 0], T13_);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26826)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1234), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, headerTop_cgen_26824)(void) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T1_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)T1_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T1_[0] = rope_ropes_109(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1235));
	result = percent__cgen_26826(T1_, 1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26839)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1236), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getCopyright_cgen_26831)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = headerTop_cgen_26824();
	{
		tyArray__f7nG5LD47BH5K9c6mASit3g T5_;
		NimStringDesc* T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		if (!!((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
		T5_[0] = rope_ropes_109(OS_platform_504[((*conf).target.targetOS)- 1].Field0);
		T5_[1] = rope_ropes_109(CPU_platform_691[((*conf).target.targetCPU)- 1].Field0);
		T5_[2] = rope_ropes_109(CC_extccomp_508[((*conf).cCompiler)- 1].Field0);
		T6_ = (NimStringDesc*)0;
		T6_ = getCompileCFileCmd_extccomp_997(conf, cfile, NIM_FALSE, NIM_FALSE);
		T5_[3] = rope_ropes_109(T6_);
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_26839(T5_, 4);
		add_ropes_159(&result, T7_);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_26819)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1238), args, argsLen_0);
	return result;
}
static N_INLINE(void, addNimDefines_cgen_26816)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	tyArray__JiWwrsTRC6xqNlGcBthSVA T1_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
	nimZeroMem((void*)T1_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T1_[0] = rope_ropes_115(((NI64) (CPU_platform_691[((*conf).target.targetCPU)- 1].Field1)));
	T2_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = percent__cgen_26819(T1_, 1);
	add_ropes_159(result, T2_);
	{
		if (!(((NI) 0) < ((*conf).cppCustomNamespace ? (*conf).cppCustomNamespace->Sup.len : 0))) goto LA5_;
		add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1239));
		add_ropes_162(result, (*conf).cppCustomNamespace);
		add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
	}
	LA5_: ;
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = isDefined_options_2277(conf, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1240));
		if (!T9_) goto LA10_;
		add_ropes_162(result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1241));
	}
	LA10_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getFileHeader_cgen_26844)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = getCopyright_cgen_26831(conf, cfile);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hcrOn_options_567(conf);
		if (!T3_) goto LA4_;
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1237));
	}
	LA4_: ;
	addNimDefines_cgen_26816(&result, conf);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_11218)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1242), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, generateThreadLocalStorage_cgen_11200)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T14_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*(*m).g).nimtv == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = (((*m).flags &((NU8)1<<((NU)(((tyEnum_CodegenFlag__9c7EibnXBApMXwrQsaaMb6Q) 1))&7U)))!=0);
		if (T5_) goto LA6_;
		T5_ = (((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0);
		LA6_: ;
		T3_ = T5_;
		LA4_: ;
		if (!T3_) goto LA7_;
		{
			tyObject_TType__facALICuu8zUj0hjvbTLFg** t;
			NI i;
			NI L;
			NI T10_;
			t = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
			i = ((NI) 0);
			T10_ = ((*(*m).g).nimtvDeps ? (*(*m).g).nimtvDeps->Sup.len : 0);
			L = T10_;
			{
				while (1) {
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
					if (!(i < L)) goto LA12;
					t = &(*(*m).g).nimtvDeps->data[i];
					T13_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T13_ = getTypeDesc_cgen_6635(m, (*t), ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
					(void)(T13_);
					i += ((NI) 1);
				} LA12: ;
			}
		}
		finishTypeDescriptions_cgen_6684(m);
		nimZeroMem((void*)T14_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T14_[0] = (*(*m).g).nimtv;
		T15_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = percent__cgen_11218(T14_, 1);
		add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 5))- 0], T15_);
	}
	LA7_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25618)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1244), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_25623)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1245), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, generateHeaders_cgen_25608)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 1))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1243));
	{
		NimStringDesc** it;
		NI i;
		NI L;
		NI T2_;
		it = (NimStringDesc**)0;
		i = ((NI) 0);
		T2_ = ((*m).headerFiles ? (*m).headerFiles->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				it = (&(*m).headerFiles->data[i]);
				{
					NimStringDesc* T9_;
					NimStringDesc* T10_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
					if (!((NU8)((*it)->data[((NI) 0)]) == (NU8)(35))) goto LA7_;
					T9_ = (NimStringDesc*)0;
					T10_ = (NimStringDesc*)0;
					T10_ = nsuReplaceChar((*it), 96, 34);
					T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 1);
appendString(T9_, T10_);
appendString(T9_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_13));
					T11_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T11_ = rope_ropes_109(T9_);
					add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 1))- 0], T11_);
				}
				goto LA5_;
				LA7_: ;
				{
					tyArray__JiWwrsTRC6xqNlGcBthSVA T15_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
					if (!!((((NU8)((*it)->data[((NI) 0)])) == ((NU8)(34)) || ((NU8)((*it)->data[((NI) 0)])) == ((NU8)(60))))) goto LA13_;
					nimZeroMem((void*)T15_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T15_[0] = rope_ropes_109((*it));
					T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T16_ = percent__cgen_25618(T15_, 1);
					add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 1))- 0], T16_);
				}
				goto LA5_;
				LA13_: ;
				{
					tyArray__JiWwrsTRC6xqNlGcBthSVA T18_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
					nimZeroMem((void*)T18_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
					T18_[0] = rope_ropes_109((*it));
					T19_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T19_ = percent__cgen_25623(T18_, 1);
					add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 1))- 0], T19_);
				}
				LA5_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	add_ropes_162(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 1))- 0], ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1246));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genModule_cgen_28115)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NIM_BOOL moduleIsEmpty;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	moduleIsEmpty = NIM_TRUE;
	result = getFileHeader_cgen_26844((*(*m).g).config, cfile);
	generateThreadLocalStorage_cgen_11200(m);
	generateHeaders_cgen_25608(m);
	add_ropes_159(&result, (*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 1))- 0]);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		if (!(((NI) 0) < ((*(*(*m).g).config).cppCustomNamespace ? (*(*(*m).g).config).cppCustomNamespace->Sup.len : 0))) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = openNamespaceNim_cgen_25628((*(*(*m).g).config).cppCustomNamespace);
		add_ropes_159(&result, T5_);
	}
	LA3_: ;
	{
		NI T8_;
		T8_ = (NI)0;
		T8_ = len_ropes_10((*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 2))- 0]);
		if (!(((NI) 0) < T8_)) goto LA9_;
		add_ropes_159(&result, (*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 2))- 0]);
	}
	goto LA6_;
	LA9_: ;
	{
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1247));
	}
	LA6_: ;
	{
		tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg i;
		NI res;
		i = (tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg)0;
		res = ((NI) 3);
		{
			while (1) {
				if (!(res <= ((NI) 11))) goto LA14;
				i = ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) (res));
				{
					NI T17_;
					T17_ = (NI)0;
					T17_ = len_ropes_10((*m).s[(i)- 0]);
					if (!(((NI) 0) < T17_)) goto LA18_;
					moduleIsEmpty = NIM_FALSE;
					add_ropes_159(&result, (*m).s[(i)- 0]);
				}
				LA18_: ;
				res += ((NI) 1);
			} LA14: ;
		}
	}
	{
		NI T22_;
		T22_ = (NI)0;
		T22_ = len_ropes_10((*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0]);
		if (!(((NI) 0) < T22_)) goto LA23_;
		moduleIsEmpty = NIM_FALSE;
		add_ropes_159(&result, (*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0]);
	}
	LA23_: ;
	{
		NIM_BOOL T27_;
		NI T28_;
		T27_ = (NIM_BOOL)0;
		T28_ = (NI)0;
		T28_ = len_ropes_10((*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 13))- 0]);
		T27_ = (((NI) 0) < T28_);
		if (T27_) goto LA29_;
		T27_ = hcrOn_cgen_42(m);
		LA29_: ;
		if (!T27_) goto LA30_;
		moduleIsEmpty = NIM_FALSE;
		add_ropes_159(&result, (*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 13))- 0]);
	}
	LA30_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
		if (!(((NI) 0) < ((*(*(*m).g).config).cppCustomNamespace ? (*(*(*m).g).config).cppCustomNamespace->Sup.len : 0))) goto LA34_;
		T36_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T36_ = closeNamespaceNim_cgen_25631();
		add_ropes_159(&result, T36_);
	}
	LA34_: ;
	{
		if (!moduleIsEmpty) goto LA39_;
		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
	}
	LA39_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldRecompile_cgen_28377)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* code, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		if (!!((((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 1))&63U)))!=0))) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = moduleHasChanged_passes_207((*(*m).g).graph, (*m).module);
			if (!!(T7_)) goto LA8_;
			result = NIM_FALSE;
		}
		goto LA5_;
		LA8_: ;
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = equalsFile_ropes_453(code, (*cfile).cname);
			if (!!(T11_)) goto LA12_;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = writeRope_ropes_241(code, (*cfile).cname);
				if (!!(T16_)) goto LA17_;
				liMessage_msgs_1118((*(*m).g).config, unknownLineInfo_lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 4), (*cfile).cname, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__MQdRN7fpbG7rPm4JpVVAhA_1248, NIM_FALSE);
			}
			LA17_: ;
			result = NIM_TRUE;
		}
		goto LA5_;
		LA12_: ;
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = nosfileExists((*cfile).obj);
			if (!(T20_)) goto LA21_;
			T20_ = nosfileNewer((*cfile).obj, (*cfile).cname);
			LA21_: ;
			if (!T20_) goto LA22_;
			result = NIM_FALSE;
		}
		goto LA5_;
		LA22_: ;
		{
			result = NIM_TRUE;
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NIM_BOOL T28_;
			T28_ = (NIM_BOOL)0;
			T28_ = writeRope_ropes_241(code, (*cfile).cname);
			if (!!(T28_)) goto LA29_;
			liMessage_msgs_1118((*(*m).g).config, unknownLineInfo_lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 4), (*cfile).cname, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__MQdRN7fpbG7rPm4JpVVAhA_1249, NIM_FALSE);
		}
		LA29_: ;
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, writeModule_cgen_28386)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m, NIM_BOOL pending) {
	NimStringDesc* cfile;
	tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg cf;
	NimStringDesc* T10_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* code;
	cfile = getCFile_cgen_123(m);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = moduleHasChanged_passes_207((*(*m).g).graph, (*m).module);
		if (!T3_) goto LA4_;
		genInitCode_cgen_27805(m);
		finishTypeDescriptions_cgen_6684(m);
		{
			if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA8_;
			genMainProc_cgen_26896(m);
			add_ropes_159(&(*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 8))- 0], (*(*m).g).mainModProcs);
			generateThreadVarsSize_cgen_11223(m);
		}
		LA8_: ;
	}
	LA4_: ;
	nimZeroMem((void*)(&cf), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
	nimZeroMem((void*)(&cf), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
	cf.nimname = copyString((*(*(*m).module).name).s);
	cf.cname = copyString(cfile);
	T10_ = (NimStringDesc*)0;
	T10_ = toObjFile_extccomp_718((*(*m).g).config, cfile);
	cf.obj = completeCfilePath_extccomp_713((*(*m).g).config, T10_, NIM_TRUE);
	cf.flags = 0;
	code = genModule_cgen_28115(m, (&cf));
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = !((code == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
		if (T13_) goto LA14_;
		T13_ = !(((*(*(*m).g).config).symbolFiles == ((tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ) 0)));
		LA14_: ;
		if (!T13_) goto LA15_;
		{
			NIM_BOOL T19_;
			T19_ = (NIM_BOOL)0;
			T19_ = shouldRecompile_cgen_28377(m, code, (&cf));
			if (!!(T19_)) goto LA20_;
			cf.flags = 1;
		}
		LA20_: ;
		addFileToCompile_extccomp_722((*(*m).g).config, (&cf));
	}
	LA15_: ;
	close_ndi_31((&(*m).ndi), (*(*m).g).config);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28274)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1250), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28280)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1251), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28299)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1252), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent__cgen_28304)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	result = runtimeFormat_ropes_271(((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1253), args, argsLen_0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, writeHeader_cgen_28271)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* guard;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T1_;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T2_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T3_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyArray__qTjAvTvKF9anytN1At69aJMQ T19_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T26_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
	result = headerTop_cgen_26824();
	nimZeroMem((void*)T1_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	nimZeroMem((void*)(&T2_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	splitFile_pathutils_26((*m).filename, (&T2_));
	T1_[0] = rope_ropes_109(T2_.Field1);
	guard = percent__cgen_28274(T1_, 1);
	nimZeroMem((void*)T3_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T3_[0] = guard;
	T4_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = percent__cgen_28280(T3_, 1);
	add_ropes_159(&result, T4_);
	addNimDefines_cgen_26816(&result, (*(*m).g).config);
	generateHeaders_cgen_25608(m);
	generateThreadLocalStorage_cgen_11200(m);
	{
		tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg i;
		NI res;
		i = (tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg)0;
		res = ((NI) 1);
		{
			while (1) {
				if (!(res <= ((NI) 11))) goto LA7;
				i = ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) (res));
				add_ropes_159(&result, (*m).s[(i)- 0]);
				{
					NIM_BOOL T10_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
					T10_ = (NIM_BOOL)0;
					T10_ = (((NI) 0) < ((*(*(*m).g).config).cppCustomNamespace ? (*(*(*m).g).config).cppCustomNamespace->Sup.len : 0));
					if (!(T10_)) goto LA11_;
					T10_ = (i == ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 1));
					LA11_: ;
					if (!T10_) goto LA12_;
					T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T14_ = openNamespaceNim_cgen_25628((*(*(*m).g).config).cppCustomNamespace);
					add_ropes_159(&result, T14_);
				}
				LA12_: ;
				res += ((NI) 1);
			} LA7: ;
		}
	}
	add_ropes_159(&result, (*m).s[(((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) 12))- 0]);
	{
		if (!(((*(*(*m).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0)) goto LA17_;
		add_ropes_162(&result, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_26));
	}
	LA17_: ;
	nimZeroMem((void*)T19_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
	T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T20_ = percent__cgen_28299(T19_, 0);
	add_ropes_159(&result, T20_);
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
		if (!(((NI) 0) < ((*(*(*m).g).config).cppCustomNamespace ? (*(*(*m).g).config).cppCustomNamespace->Sup.len : 0))) goto LA23_;
		T25_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T25_ = closeNamespaceNim_cgen_25631();
		add_ropes_159(&result, T25_);
	}
	LA23_: ;
	nimZeroMem((void*)T26_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T26_[0] = guard;
	T27_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T27_ = percent__cgen_28304(T26_, 1);
	add_ropes_159(&result, T27_);
	{
		NIM_BOOL T30_;
		T30_ = (NIM_BOOL)0;
		T30_ = writeRope_ropes_241(result, (*m).filename);
		if (!!(T30_)) goto LA31_;
		liMessage_msgs_1118((*(*m).g).config, unknownLineInfo_lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 4), (*m).filename, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__MQdRN7fpbG7rPm4JpVVAhA_1254, NIM_FALSE);
	}
	LA31_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, cgenWriteModules_cgen_28507)(RootObj* backend, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
	tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g;
	g = ((tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA*) (backend));
	asgnRef((void**) (&(*g).config), config);
	genForwardedProcs_cgen_28493(g);
	{
		tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m;
		m = (tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*)0;
		{
			tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow** m_2;
			NI i;
			NI L;
			NI T3_;
			m_2 = (tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow**)0;
			i = ((NI) 0);
			T3_ = ((*g).modulesClosed ? (*g).modulesClosed->Sup.len : 0);
			L = T3_;
			{
				while (1) {
					if (!(i < L)) goto LA5;
					m_2 = &(*g).modulesClosed->data[i];
					m = (*m_2);
					writeModule_cgen_28386(m, NIM_TRUE);
					i += ((NI) 1);
				} LA5: ;
			}
		}
	}
	writeMapping_extccomp_2650(config, (*g).mapping);
	{
		if (!!(((*g).generatedHeader == ((tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow*) NIM_NIL)))) goto LA8_;
		writeHeader_cgen_28271((*g).generatedHeader);
	}
	LA8_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g, whichInitProcs_cgen_27207)(tyObject_TCGen__9cG6VsX22pOhho6kxyhFVow* m) {
	tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g result;
	nimZeroMem((void*)(&result), sizeof(tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g));
	result = 0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T6_;
		NI T7_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** T9_;
		NI T10_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = hcrOn_cgen_42(m);
		if (T4_) goto LA5_;
		T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T6_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 1));
		T7_ = (NI)0;
		T7_ = len_ropes_10((*T6_));
		T4_ = (((NI) 0) < T7_);
		LA5_: ;
		T3_ = T4_;
		if (T3_) goto LA8_;
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
		T9_ = s_cgendata_225((*m).preInitProc, ((tyEnum_TCProcSection__0r9aIOfveOcxZqJ7OwbI2gg) 2));
		T10_ = (NI)0;
		T10_ = len_ropes_10((*T9_));
		T3_ = (((NI) 0) < T10_);
		LA8_: ;
		if (!T3_) goto LA11_;
		result |= ((NU8)1)<<((((tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g) 1)) & 7);
	}
	LA11_: ;
	{
		tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg i;
		NI res;
		i = (tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg)0;
		res = ((NI) 14);
		{
			while (1) {
				if (!(res <= ((NI) 18))) goto LA15;
				i = ((tyEnum_TCFileSection__NR9cMDOmG9cHJhM0tCKvXNzg) (res));
				{
					NI T18_;
					T18_ = (NI)0;
					T18_ = len_ropes_10((*m).s[(i)- 0]);
					if (!!((T18_ == ((NI) 0)))) goto LA19_;
					result |= ((NU8)1)<<((((tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g) 0)) & 7);
					goto LA13;
				}
				LA19_: ;
				res += ((NI) 1);
			} LA15: ;
		}
	} LA13: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, registerInitProcs_cgen_27165)(tyObject_BModuleListcolonObjectType___CpP4eJLbv5ZwofQXpESuGA* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g flags) {
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* datInit;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T6_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T8_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
		if (!((flags &((NU8)1<<((NU)(((tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g) 0))&7U)))!=0)) goto LA3_;
		T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T5_ = getSomeNameForModule_cgen_26848(m);
		datInit = amp__ropes_140(T5_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1163));
		nimZeroMem((void*)T6_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T6_[0] = datInit;
		T7_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__cgen_27175(T6_, 1);
		add_ropes_159(&(*g).mainModProcs, T7_);
		nimZeroMem((void*)T8_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T8_[0] = datInit;
		T9_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__cgen_27180(T8_, 1);
		add_ropes_159(&(*g).mainDatInit, T9_);
	}
	LA3_: ;
	{
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* init;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T15_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* initCall;
		tyArray__JiWwrsTRC6xqNlGcBthSVA T17_;
		if (!((flags &((NU8)1<<((NU)(((tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g) 1))&7U)))!=0)) goto LA12_;
		T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = getSomeNameForModule_cgen_26848(m);
		init = amp__ropes_140(T14_, ((NimStringDesc*) &TM__MQdRN7fpbG7rPm4JpVVAhA_1133));
		nimZeroMem((void*)T15_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T15_[0] = init;
		T16_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = percent__cgen_27175(T15_, 1);
		add_ropes_159(&(*g).mainModProcs, T16_);
		nimZeroMem((void*)T17_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
		T17_[0] = init;
		initCall = percent__cgen_27180(T17_, 1);
		{
			if (!(((*m).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA20_;
			add_ropes_159(&(*g).mainModInit, initCall);
		}
		goto LA18_;
		LA20_: ;
		{
			if (!(((*m).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA23_;
			add_ropes_159(&(*g).mainDatInit, initCall);
		}
		goto LA18_;
		LA23_: ;
		{
			add_ropes_159(&(*g).otherModsInit, initCall);
		}
		LA18_: ;
	}
	LA12_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_cgenDatInit000)(void) {
static TNimNode* TM__MQdRN7fpbG7rPm4JpVVAhA_1011_2[2];
static TNimNode* TM__MQdRN7fpbG7rPm4JpVVAhA_1199_2[2];
static TNimNode TM__MQdRN7fpbG7rPm4JpVVAhA_0[6];
NTItupleLloc58tloc_tp58ropeT__9cSd9cjH9cnPQaBRO0ioKSxRA_.size = sizeof(tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA);
NTItupleLloc58tloc_tp58ropeT__9cSd9cjH9cnPQaBRO0ioKSxRA_.align = NIM_ALIGNOF(tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA);
NTItupleLloc58tloc_tp58ropeT__9cSd9cjH9cnPQaBRO0ioKSxRA_.kind = 18;
NTItupleLloc58tloc_tp58ropeT__9cSd9cjH9cnPQaBRO0ioKSxRA_.base = 0;
TM__MQdRN7fpbG7rPm4JpVVAhA_1011_2[0] = &TM__MQdRN7fpbG7rPm4JpVVAhA_0[1];
TM__MQdRN7fpbG7rPm4JpVVAhA_0[1].kind = 1;
TM__MQdRN7fpbG7rPm4JpVVAhA_0[1].offset = offsetof(tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA, Field0);
TM__MQdRN7fpbG7rPm4JpVVAhA_0[1].typ = (&NTItloc__EtHNvCB0bgfu9bFjzx9cb6aA_);
TM__MQdRN7fpbG7rPm4JpVVAhA_0[1].name = "Field0";
TM__MQdRN7fpbG7rPm4JpVVAhA_1011_2[1] = &TM__MQdRN7fpbG7rPm4JpVVAhA_0[2];
TM__MQdRN7fpbG7rPm4JpVVAhA_0[2].kind = 1;
TM__MQdRN7fpbG7rPm4JpVVAhA_0[2].offset = offsetof(tyTuple__9cSd9cjH9cnPQaBRO0ioKSxRA, Field1);
TM__MQdRN7fpbG7rPm4JpVVAhA_0[2].typ = (&NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM__MQdRN7fpbG7rPm4JpVVAhA_0[2].name = "Field1";
TM__MQdRN7fpbG7rPm4JpVVAhA_0[0].len = 2; TM__MQdRN7fpbG7rPm4JpVVAhA_0[0].kind = 2; TM__MQdRN7fpbG7rPm4JpVVAhA_0[0].sons = &TM__MQdRN7fpbG7rPm4JpVVAhA_1011_2[0];
NTItupleLloc58tloc_tp58ropeT__9cSd9cjH9cnPQaBRO0ioKSxRA_.node = &TM__MQdRN7fpbG7rPm4JpVVAhA_0[0];
NTIseqLtupleLloc58tloc_tp58ropeTT__sno9c9bXUVS2CqhtWOJadaCw_.size = sizeof(tySequence__sno9c9bXUVS2CqhtWOJadaCw*);
NTIseqLtupleLloc58tloc_tp58ropeTT__sno9c9bXUVS2CqhtWOJadaCw_.align = NIM_ALIGNOF(tySequence__sno9c9bXUVS2CqhtWOJadaCw*);
NTIseqLtupleLloc58tloc_tp58ropeTT__sno9c9bXUVS2CqhtWOJadaCw_.kind = 24;
NTIseqLtupleLloc58tloc_tp58ropeTT__sno9c9bXUVS2CqhtWOJadaCw_.base = (&NTItupleLloc58tloc_tp58ropeT__9cSd9cjH9cnPQaBRO0ioKSxRA_);
NTIseqLtupleLloc58tloc_tp58ropeTT__sno9c9bXUVS2CqhtWOJadaCw_.marker = Marker_tySequence__sno9c9bXUVS2CqhtWOJadaCw;
NTIobject__IDX4istqRyOZp3l6j9aUesw_.size = sizeof(tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw);
NTIobject__IDX4istqRyOZp3l6j9aUesw_.align = NIM_ALIGNOF(tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw);
NTIobject__IDX4istqRyOZp3l6j9aUesw_.kind = 17;
NTIobject__IDX4istqRyOZp3l6j9aUesw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__MQdRN7fpbG7rPm4JpVVAhA_1199_2[0] = &TM__MQdRN7fpbG7rPm4JpVVAhA_0[4];
TM__MQdRN7fpbG7rPm4JpVVAhA_0[4].kind = 1;
TM__MQdRN7fpbG7rPm4JpVVAhA_0[4].offset = offsetof(tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw, colonstate_);
TM__MQdRN7fpbG7rPm4JpVVAhA_0[4].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__MQdRN7fpbG7rPm4JpVVAhA_0[4].name = ":state";
TM__MQdRN7fpbG7rPm4JpVVAhA_1199_2[1] = &TM__MQdRN7fpbG7rPm4JpVVAhA_0[5];
TM__MQdRN7fpbG7rPm4JpVVAhA_0[5].kind = 1;
TM__MQdRN7fpbG7rPm4JpVVAhA_0[5].offset = offsetof(tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw, m1);
TM__MQdRN7fpbG7rPm4JpVVAhA_0[5].typ = (&NTIbmodule__NkKlBfvvsMUW70DxvxLVIg_);
TM__MQdRN7fpbG7rPm4JpVVAhA_0[5].name = "m1";
TM__MQdRN7fpbG7rPm4JpVVAhA_0[3].len = 2; TM__MQdRN7fpbG7rPm4JpVVAhA_0[3].kind = 2; TM__MQdRN7fpbG7rPm4JpVVAhA_0[3].sons = &TM__MQdRN7fpbG7rPm4JpVVAhA_1199_2[0];
NTIobject__IDX4istqRyOZp3l6j9aUesw_.node = &TM__MQdRN7fpbG7rPm4JpVVAhA_0[3];
NTIrefobject__UjwNQwrGjW3X9ahveEH9bnWA_.size = sizeof(tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw*);
NTIrefobject__UjwNQwrGjW3X9ahveEH9bnWA_.align = NIM_ALIGNOF(tyObject_Env_cgendotnim_genMainProc___IDX4istqRyOZp3l6j9aUesw*);
NTIrefobject__UjwNQwrGjW3X9ahveEH9bnWA_.kind = 22;
NTIrefobject__UjwNQwrGjW3X9ahveEH9bnWA_.base = (&NTIobject__IDX4istqRyOZp3l6j9aUesw_);
NTIrefobject__UjwNQwrGjW3X9ahveEH9bnWA_.marker = Marker_tyRef__UjwNQwrGjW3X9ahveEH9bnWA;
}

