1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
22 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
23 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
24 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
25 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
26 typedef struct RootObj RootObj;
27 typedef struct TNimType TNimType;
28 typedef struct TNimNode TNimNode;
29 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
30 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
31 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
32 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
33 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
34 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
35 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
36 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
37 typedef struct NimStringDesc NimStringDesc;
38 typedef struct TGenericSeq TGenericSeq;
39 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
40 typedef struct tyObject_Con__mVYRtnERc9advo79cBQUudxg tyObject_Con__mVYRtnERc9advo79cBQUudxg;
41 typedef struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
42 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
43 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
44 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
45 typedef struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg;
46 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
47 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
48 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
49 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
50 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
51 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
52 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
53 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
54 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
55 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
56 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
57 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
58 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
59 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
60 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
61 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
62 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
63 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
64 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
65 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
66 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
67 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
68 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
69 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
70 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
71 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
72 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
73 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
74 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
75 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
76 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
77 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
78 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
79 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
80 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
81 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
82 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
83 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
84 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
85 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
86 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
87 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
88 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
89 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
90 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
91 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
92 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
93 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
94 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
95 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
96 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
97 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
98 typedef struct tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g;
99 typedef struct tySequence__sh9b9afdJBB3bJbViXY7yNAg tySequence__sh9b9afdJBB3bJbViXY7yNAg;
100 typedef struct tyTuple__YXXBMUJBtW9corlxevWVfYQ tyTuple__YXXBMUJBtW9corlxevWVfYQ;
101 typedef struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ tyTuple__EFqgCXJ4d8PgqOdFJmldsQ;
102 typedef struct tySequence__mFtVDW3p7w6wfPPNodKzsA tySequence__mFtVDW3p7w6wfPPNodKzsA;
103 typedef struct tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw;
104 typedef struct tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ;
105 typedef struct tySequence__Y6pVop4P8VSwSorRqc2aQA tySequence__Y6pVop4P8VSwSorRqc2aQA;
106 typedef struct tyTuple__TeyVVRby9bj1JQeNMm9aeI2w tyTuple__TeyVVRby9bj1JQeNMm9aeI2w;
107 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
108 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
109 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
110 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
111 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
112 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
113 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
114 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
115 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
116 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
117 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
118 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
119 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
120 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
121 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
122 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
123 typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
124 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
125 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
126 typedef struct Exception Exception;
127 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
128 typedef struct tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ;
129 typedef struct tySequence__JGK6WZYU2JHWLoPdKRO4AQ tySequence__JGK6WZYU2JHWLoPdKRO4AQ;
130 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
131 typedef struct tyTuple__jCPpzNasrXtz9cFJFxT1NHQ tyTuple__jCPpzNasrXtz9cFJFxT1NHQ;
132 typedef struct tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ;
133 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
134 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
135 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
136 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
137 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
138 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
139 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
140 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
141 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
142 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
143 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
144 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
145 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
146 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
147 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
148 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
149 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
150 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
151 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
152 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
153 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
154 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
155 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
156 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
157 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
158 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
159 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
160 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
161 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
162 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
163 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
164 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
165 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
166 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
167 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
168 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
169 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
170 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
171 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
172 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
173 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
174 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
175 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
176 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
177 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
178 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
179 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
180 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
181 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
182 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
183 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
184 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
185 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
186 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
187 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
188 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
189 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
190 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
191 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
192 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
193 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
194 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
195 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
196 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
197 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
198 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
199 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
200 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
201 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
202 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
203 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
204 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
205 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
206 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
207 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
208 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
209 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
210 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
211 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
212 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
213 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
214 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
215 struct TNimType {
216 NI size;
217 NI align;
218 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
219 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
220 TNimType* base;
221 TNimNode* node;
222 void* finalizer;
223 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
224 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
225 };
226 struct RootObj {
227 TNimType* m_type;
228 };
229 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
230 NI32 module;
231 NI32 item;
232 };
233 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
234   RootObj Sup;
235 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
236 };
237 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
238 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
239 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
240 NU16 line;
241 NI16 col;
242 NI32 fileIndex;
243 };
244 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
245 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
246 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
247 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
248 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
249 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
250 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
251 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
252 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
253 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
254 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
255 };
256 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
257   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
258 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
259 union{
260 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
261 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
262 } _kind_1;
263 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
264 NI bitsize;
265 NI alignment;
266 } _kind_2;
267 };
268 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
269 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
270 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
271 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
272 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
273 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
274 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
275 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
276 NI position;
277 NI offset;
278 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
279 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
280 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
281 };
282 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
283 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
284 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
285 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
286 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
287   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
288 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
289 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
290 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
291 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
292 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
293 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
294 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
295 NI64 size;
296 NI16 align;
297 NI16 paddingAtEnd;
298 NI16 lockLevel;
299 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
300 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
301 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
302 };
303 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
304 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
305 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
306 struct TGenericSeq {
307 NI len;
308 NI reserved;
309 };
310 struct NimStringDesc {
311   TGenericSeq Sup;
312 NIM_CHAR data[SEQ_DECL_SIZE];
313 };
314 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
315 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
316 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
317 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
318 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
319 union{
320 struct {NI64 intVal;
321 } _kind_1;
322 struct {NF floatVal;
323 } _kind_2;
324 struct {NimStringDesc* strVal;
325 } _kind_3;
326 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
327 } _kind_4;
328 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
329 } _kind_5;
330 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
331 } _kind_6;
332 };
333 };
334 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
335 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
336 NI elems;
337 NI counter;
338 NI max;
339 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
340 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
341 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
342 };
343 struct tyObject_Con__mVYRtnERc9advo79cBQUudxg {
344 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
345 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* g;
346 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
347 NI inLoop;
348 NI inSpawn;
349 NI inLoopCond;
350 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA uninit;
351 NIM_BOOL uninitComputed;
352 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
353 };
354 typedef NU8 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ;
355 struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg {
356 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
357 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ kind;
358 union{
359 NI dest;
360 };
361 };
362 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
363 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
364 NI counter;
365 };
366 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
367 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
368 NI counter;
369 };
370 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
371 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
372 NI counter;
373 };
374 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
375 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
376 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
377 NI counter;
378 };
379 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
380 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
381 NI counter;
382 };
383 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
384 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
385 NI counter;
386 };
387 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
388 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
389 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
390 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
391 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
392 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
393 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
394 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
395 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
396 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
397 };
398 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
399 NI counter;
400 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
401 };
402 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
403 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
404 NI counter;
405 };
406 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
407 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
408 NI counter;
409 };
410 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
411 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
412 NI counter;
413 };
414 typedef struct {
415 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
416 void* ClE_0;
417 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
418 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
419 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
420 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
421 NI counter;
422 };
423 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
424 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
425 NI counter;
426 };
427 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
428 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
429 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
430 tySequence__23SMqauuRsbDANhthj9bWlA* data;
431 NI counter;
432 };
433 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
434 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
435 NI counter;
436 };
437 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
438 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
439 NI counter;
440 };
441 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
442 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
443 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
444 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
445 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
446 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
447 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
448 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
449 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
450 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
451 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
452 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
453 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
454 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
455 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
456 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
457 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
458 };
459 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
460 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
461 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
462 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
463 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
464 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
465 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
466 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
467 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
468 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
469 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
470 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
471 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
472 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
473 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
474 NIM_BOOL suggestMode;
475 NIM_BOOL invalidTransitiveClosure;
476 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
477 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
478 RootObj* backend;
479 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
480 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
481 RootObj* vm;
482 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
483 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
484 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
485 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
486 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
487 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
488 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
489 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
490 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
491 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
492 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
493 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
494 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
495 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
496 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
497 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
498 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
499 tySequence__MAQKEADohlpnXTModtugbQ* passes;
500 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
501 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
502 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
503 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
504 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
505 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
506 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
507 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
508 };
509 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
510 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
511 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
512 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
513 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
514 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
515 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
516 NI intSize;
517 NI floatSize;
518 NI ptrSize;
519 NimStringDesc* tnl;
520 };
521 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
522 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
523 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
524 NIM_BOOL trackPosAttached;
525 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
526 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
527 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
528 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
529 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
530 NI32 systemFileIdx;
531 };
532 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
533 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
534 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
535 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
536 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
537 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
538 NI counter;
539 };
540 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
541 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
542 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
543 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
544 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
545 NI Field0;
546 NI Field1;
547 NI Field2;
548 };
549 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
550 typedef struct {
551 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
552 void* ClE_0;
553 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
554 typedef struct {
555 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
556 void* ClE_0;
557 } tyProc__k2HFjxisIgDALbEUFojxaQ;
558 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
559 typedef struct {
560 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
561 void* ClE_0;
562 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
563 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
564 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
565 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
566 NI linesCompiled;
567 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
568 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
569 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
570 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
571 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
572 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
573 NimStringDesc* unitSep;
574 NI evalTemplateCounter;
575 NI evalMacroCounter;
576 NI8 exitcode;
577 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
578 NimStringDesc* cmdInput;
579 NIM_BOOL projectIsCmd;
580 NIM_BOOL implicitCmd;
581 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
582 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
583 NIM_BOOL hintProcessingDots;
584 NI verbosity;
585 NI numberOfProcessors;
586 NF lastCmdTime;
587 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
588 NI spellSuggestMax;
589 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
590 NimStringDesc* headerFile;
591 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
592 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
593 NimStringDesc* arguments;
594 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
595 NIM_BOOL oldNewlines;
596 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
597 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
598 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
599 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
600 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
601 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
602 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
603 NI mainPackageId;
604 NI errorCounter;
605 NI hintCounter;
606 NI warnCounter;
607 NI errorMax;
608 NI maxLoopIterationsVM;
609 NIM_BOOL isVmTrace;
610 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
611 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
612 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
613 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
614 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
615 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
616 NimStringDesc* outFile;
617 NimStringDesc* outDir;
618 NimStringDesc* jsonBuildFile;
619 NimStringDesc* prefixDir;
620 NimStringDesc* libpath;
621 NimStringDesc* nimcacheDir;
622 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
623 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
624 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
625 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
626 NimStringDesc* projectName;
627 NimStringDesc* projectPath;
628 NimStringDesc* projectFull;
629 NIM_BOOL projectIsStdin;
630 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
631 NI32 projectMainIdx;
632 NI32 projectMainIdx2;
633 NimStringDesc* command;
634 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
635 NimStringDesc* commandLine;
636 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
637 NIM_BOOL keepComments;
638 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
639 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
640 NimStringDesc* docSeeSrcUrl;
641 NimStringDesc* docRoot;
642 NimStringDesc* docCmd;
643 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
644 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
645 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
646 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
647 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
648 NimStringDesc* linkOptionsCmd;
649 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
650 NimStringDesc* linkOptions;
651 NimStringDesc* compileOptions;
652 NimStringDesc* cCompilerPath;
653 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
654 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
655 NI suggestVersion;
656 NI suggestMaxResults;
657 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
658 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
659 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
660 NimStringDesc* cppCustomNamespace;
661 NimStringDesc* nimMainPrefix;
662 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
663 };
664 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
665 struct tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g {
666 tySequence__sh9b9afdJBB3bJbViXY7yNAg* data;
667 NI counter;
668 };
669 struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ {
670 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
671 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
672 };
673 typedef NU8 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg;
674 struct tyTuple__YXXBMUJBtW9corlxevWVfYQ {
675 NI Field0;
676 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ Field1;
677 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg Field2;
678 };
679 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
680 struct TNimNode {
681 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
682 NI offset;
683 TNimType* typ;
684 NCSTRING name;
685 NI len;
686 TNimNode** sons;
687 };
688 struct tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ {
689 tySequence__Y6pVop4P8VSwSorRqc2aQA* data;
690 NI counter;
691 };
692 struct tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw {
693 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA lastReads;
694 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReads;
695 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA notLastReads;
696 tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ alreadySeen;
697 };
698 struct tyTuple__TeyVVRby9bj1JQeNMm9aeI2w {
699 NI Field0;
700 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
701 };
702 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
703 NI refcount;
704 TNimType* typ;
705 };
706 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
707 void* bottom;
708 };
709 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
710 NI len;
711 NI cap;
712 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
713 };
714 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
715 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
716 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
717 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
718 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
719 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
720 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
721 };
722 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
723 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
724 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
725 NI key;
726 NI upperBound;
727 NI level;
728 };
729 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
730 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
731 NI Field1;
732 };
733 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
734 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
735 NI len;
736 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
737 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
738 };
739 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
740 NI minLargeObj;
741 NI maxLargeObj;
742 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
743 NU32 flBitmap;
744 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
745 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
746 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
747 NI currMem;
748 NI maxMem;
749 NI freeMem;
750 NI occ;
751 NI lastSize;
752 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
753 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
754 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
755 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
756 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
757 NIM_BOOL locked;
758 NIM_BOOL blockChunkSizeIncrease;
759 NI nextChunkSize;
760 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
761 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
762 };
763 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
764 NI stackScans;
765 NI cycleCollections;
766 NI maxThreshold;
767 NI maxStackSize;
768 NI maxStackCells;
769 NI cycleTableSize;
770 NI64 maxPause;
771 };
772 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
773 NI counter;
774 NI max;
775 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
776 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
777 };
778 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
779 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
780 NI cycleThreshold;
781 NI zctThreshold;
782 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
783 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
784 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
785 NI recGcLock;
786 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
787 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
788 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
789 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
790 NI gcThreadId;
791 };
792 struct Exception {
793   RootObj Sup;
794 Exception* parent;
795 NCSTRING name;
796 NimStringDesc* message;
797 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
798 Exception* up;
799 };
800 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
801   Exception Sup;
802 };
803 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
804   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
805 };
806 struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
807   tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
808 };
809 typedef NU tyArray__cC4ce9cdvDKtIpar5g9cDejA[16];
810 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
811 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
812 NI key;
813 tyArray__cC4ce9cdvDKtIpar5g9cDejA bits;
814 };
815 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
816 struct tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ {
817 tySequence__JGK6WZYU2JHWLoPdKRO4AQ* data;
818 NI counter;
819 };
820 struct tyTuple__jCPpzNasrXtz9cFJFxT1NHQ {
821 NI Field0;
822 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
823 tySequence__qwqHTkRvwhrRyENtudHQ7g* Field2;
824 };
825 struct tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ {
826 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* vars;
827 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* wasMoved;
828 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* final;
829 NIM_BOOL needsTry;
830 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent;
831 };
832 typedef NU8 tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw;
833 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
834 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
835 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
836 NI32 module;
837 NI32 symId;
838 NI32 typeId_0;
839 NIM_BOOL sealed;
840 };
841 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
842 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
843 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
844 typedef NU8 tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g;
845 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
846 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
847 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
848 NimStringDesc* Field0;
849 NI Field1;
850 NI Field2;
851 };
852 typedef NimStringDesc* tyArray__JXkBzVsE9bvmcpuZvrueLVg[5];
853 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
854 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
855 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
856 NI a;
857 NI b;
858 };
859 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
860 NI id;
861 NimStringDesc* s;
862 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
863 NI h;
864 };
865 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
866 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
867 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
868 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
869 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
870 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__cypz0nHJsd9cnKgpO7fP5hQ[1];
871 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
872 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
873 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
874 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
875 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
876 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
877 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
878 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
879 };
880 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
881 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
882 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
883 };
884 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
885 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
886 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
887 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
888 };
889 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
890 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
891 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
892 };
893 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
894 NimStringDesc* definedSymbols;
895 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
896 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
897 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
898 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
899 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
900 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
901 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
902 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
903 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
904 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
905 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
906 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
907 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
908 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
909 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
910 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
911 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
912 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
913 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
914 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
915 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
916 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
917 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
918 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
919 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
920 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
921 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
922 };
923 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
924 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
925 NI counter;
926 };
927 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
928 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
929 NIM_BOOL symsInit;
930 NIM_BOOL typesInit;
931 NIM_BOOL loadedButAliveSetChanged;
932 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
933 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
934 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
935 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
936 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
937 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
938 };
939 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
940 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
941 NI counter;
942 };
943 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
944 NI32 thisModule;
945 NI32 lastFile;
946 NU32 lastLit;
947 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
948 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
949 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
950 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
951 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
952 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
953 };
954 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
955 NU32 module;
956 NI32 item;
957 };
958 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
959 NI module;
960 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
961 };
962 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
963 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
964 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
965 };
966 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
967 NI Field0;
968 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
969 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
970 };
971 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
972 NI module;
973 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
974 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
975 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
976 };
977 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
978 NI Field0;
979 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
980 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
981 };
982 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
983 NI Field0;
984 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
985 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
986 };
987 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
988 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
989 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
990 };
991 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
992 NI Field0;
993 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
994 };
995 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
996 NI Field0;
997 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
998 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
999 };
1000 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1001 NI Field0;
1002 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1003 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1004 };
1005 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1006 NI Field0;
1007 NimStringDesc* Field1;
1008 NI32 Field2;
1009 };
1010 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1011 NI Field0;
1012 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1013 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1014 };
1015 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1016 NI Field0;
1017 NI32 Field1;
1018 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1019 };
1020 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1021 NI Field0;
1022 NI32 Field1;
1023 NI32 Field2;
1024 };
1025 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1026 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1027 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1028 };
1029 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1030 NI Field0;
1031 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1032 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1033 };
1034 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1035 NI Field0;
1036 NI Field1;
1037 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1038 };
1039 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1040 NI Field0;
1041 NimStringDesc* Field1;
1042 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1043 };
1044 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1045 NI Field0;
1046 NimStringDesc* Field1;
1047 NI64 Field2;
1048 };
1049 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1050 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1051 NI entries;
1052 };
1053 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1054 NI Field0;
1055 NimStringDesc* Field1;
1056 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1057 };
1058 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1059 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1060 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1061 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1062 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1063 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1064 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1065 NIM_BOOL Field3;
1066 };
1067 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1068 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1069 NimStringDesc* Field1;
1070 };
1071 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1072 NimStringDesc* fullPath;
1073 NimStringDesc* projPath;
1074 NimStringDesc* shortName;
1075 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1076 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1077 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1078 NimStringDesc* dirtyFile;
1079 NimStringDesc* hash;
1080 NIM_BOOL dirty;
1081 };
1082 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1083 NI Field0;
1084 NimStringDesc* Field1;
1085 };
1086 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1087 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1088 NimStringDesc* nimname;
1089 NimStringDesc* cname;
1090 NimStringDesc* obj;
1091 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1092 NimStringDesc* customArgs;
1093 };
1094 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
1095 NCSTRING procname;
1096 NI line;
1097 NCSTRING filename;
1098 };
1099 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1100 NU32 Field0;
1101 NimStringDesc* Field1;
1102 };
1103 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1104 NU16 line;
1105 NI16 col;
1106 NU32 file;
1107 };
1108 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1109 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1110 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1111 NI32 operand;
1112 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1113 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1114 };
1115 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1116 NU32 Field0;
1117 NI32 Field1;
1118 };
1119 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1120 NU32 Field0;
1121 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1122 };
1123 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1124 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1125 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1126 };
1127 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1128 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1129 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1130 };
1131 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1132 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1133 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1134 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1135 };
1136 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1137 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1138 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1139 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1140 };
1141 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1142 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1143 NI Field1;
1144 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1145 };
1146 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1147 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1148 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1149 NIM_BOOL generated;
1150 NIM_BOOL isOverriden;
1151 NU32 name;
1152 NI32 path;
1153 };
1154 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1155 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1156 NU32 name;
1157 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1158 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1159 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1160 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1161 NI32 ast;
1162 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1163 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1164 NI bitsize;
1165 NI alignment;
1166 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1167 NI position;
1168 NI offset;
1169 NU32 externalName;
1170 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1171 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1172 NI32 constraint;
1173 };
1174 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1175 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1176 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1177 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1178 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1179 NI32 n;
1180 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1181 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1182 NI64 size;
1183 NI16 align;
1184 NI16 paddingAtEnd;
1185 NI16 lockLevel;
1186 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1187 NI32 nonUniqueId;
1188 };
1189 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1190 NI Field0;
1191 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1192 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1193 };
1194 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1195 NI Field0;
1196 NI32 Field1;
1197 NU32 Field2;
1198 };
1199 struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ {
1200   TGenericSeq Sup;
1201   tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg data[SEQ_DECL_SIZE];
1202 };
1203 struct tySequence__sh9b9afdJBB3bJbViXY7yNAg {
1204   TGenericSeq Sup;
1205   tyTuple__YXXBMUJBtW9corlxevWVfYQ data[SEQ_DECL_SIZE];
1206 };
1207 struct tySequence__mFtVDW3p7w6wfPPNodKzsA {
1208   TGenericSeq Sup;
1209   tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* data[SEQ_DECL_SIZE];
1210 };
1211 struct tySequence__Y6pVop4P8VSwSorRqc2aQA {
1212   TGenericSeq Sup;
1213   tyTuple__TeyVVRby9bj1JQeNMm9aeI2w data[SEQ_DECL_SIZE];
1214 };
1215 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
1216   TGenericSeq Sup;
1217   NI data[SEQ_DECL_SIZE];
1218 };
1219 struct tySequence__JGK6WZYU2JHWLoPdKRO4AQ {
1220   TGenericSeq Sup;
1221   tyTuple__jCPpzNasrXtz9cFJFxT1NHQ data[SEQ_DECL_SIZE];
1222 };
1223 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1224   TGenericSeq Sup;
1225   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1226 };
1227 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1228   TGenericSeq Sup;
1229   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1230 };
1231 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1232   TGenericSeq Sup;
1233   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1234 };
1235 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1236   TGenericSeq Sup;
1237   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1238 };
1239 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1240   TGenericSeq Sup;
1241   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1242 };
1243 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1244   TGenericSeq Sup;
1245   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1246 };
1247 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1248   TGenericSeq Sup;
1249   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1250 };
1251 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1252   TGenericSeq Sup;
1253   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1254 };
1255 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1256   TGenericSeq Sup;
1257   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1258 };
1259 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1260   TGenericSeq Sup;
1261   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1262 };
1263 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1264   TGenericSeq Sup;
1265   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1266 };
1267 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1268   TGenericSeq Sup;
1269   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1270 };
1271 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1272   TGenericSeq Sup;
1273   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1274 };
1275 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1276   TGenericSeq Sup;
1277   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1278 };
1279 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1280   TGenericSeq Sup;
1281   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1282 };
1283 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1284   TGenericSeq Sup;
1285   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1286 };
1287 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1288   TGenericSeq Sup;
1289   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1290 };
1291 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1292   TGenericSeq Sup;
1293   NI32 data[SEQ_DECL_SIZE];
1294 };
1295 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1296   TGenericSeq Sup;
1297   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1298 };
1299 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1300   TGenericSeq Sup;
1301   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1302 };
1303 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1304   TGenericSeq Sup;
1305   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1306 };
1307 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1308   TGenericSeq Sup;
1309   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1310 };
1311 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1312   TGenericSeq Sup;
1313   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1314 };
1315 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1316   TGenericSeq Sup;
1317   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1318 };
1319 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1320   TGenericSeq Sup;
1321   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1322 };
1323 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1324   TGenericSeq Sup;
1325   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1326 };
1327 struct tySequence__MAQKEADohlpnXTModtugbQ {
1328   TGenericSeq Sup;
1329   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1330 };
1331 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1332   TGenericSeq Sup;
1333   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1334 };
1335 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1336   TGenericSeq Sup;
1337   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1338 };
1339 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1340   TGenericSeq Sup;
1341   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1342 };
1343 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1344   TGenericSeq Sup;
1345   NimStringDesc* data[SEQ_DECL_SIZE];
1346 };
1347 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1348   TGenericSeq Sup;
1349   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1350 };
1351 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
1352   TGenericSeq Sup;
1353   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
1354 };
1355 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1356   TGenericSeq Sup;
1357   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1358 };
1359 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1360   TGenericSeq Sup;
1361   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1362 };
1363 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1364   TGenericSeq Sup;
1365   NU32 data[SEQ_DECL_SIZE];
1366 };
1367 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1368   TGenericSeq Sup;
1369   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1370 };
1371 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1372   TGenericSeq Sup;
1373   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1374 };
1375 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1376   TGenericSeq Sup;
1377   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1378 };
1379 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1380   TGenericSeq Sup;
1381   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1382 };
1383 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1384   TGenericSeq Sup;
1385   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1386 };
1387 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1388   TGenericSeq Sup;
1389   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1390 };
1391 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1392   TGenericSeq Sup;
1393   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1394 };
1395 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1396   TGenericSeq Sup;
1397   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1398 };
1399 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1400   TGenericSeq Sup;
1401   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1402 };
1403 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1404   TGenericSeq Sup;
1405   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1406 };
1407 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1408   TGenericSeq Sup;
1409   NI64 data[SEQ_DECL_SIZE];
1410 };
1411 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1412   TGenericSeq Sup;
1413   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1414 };
1415 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1416   TGenericSeq Sup;
1417   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1418 };
1419 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1420   TGenericSeq Sup;
1421   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1422 };
1423 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1424   TGenericSeq Sup;
1425   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1426 };
1427 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1428 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1429 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1430 N_LIB_PRIVATE N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*, constructCfg__dfa_1135)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
1431 N_LIB_PRIVATE N_NIMCALL(void, computeCursors__varpartitions_1784)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
1432 N_LIB_PRIVATE N_NIMCALL(void, computeLastReadsAndFirstWrites__injectdestructors_3780)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg);
1433 N_LIB_PRIVATE N_NIMCALL(void, initTable__injectdestructors_3782)(NI initialSize, tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* Result);
1434 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1435 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
1436 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_177)(NI x);
1437 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1438 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1439 static N_NIMCALL(void, Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)(void* p, NI op);
1440 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1441 N_LIB_PRIVATE N_NIMCALL(void, preprocessCfg__injectdestructors_1924)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ** cfg);
1442 N_LIB_PRIVATE N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA*, newSeq__injectdestructors_3802)(NI len);
1443 static N_NIMCALL(void, Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)(void* p, NI op);
1444 static N_NIMCALL(void, Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)(void* p, NI op);
1445 static N_NIMCALL(void, Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)(void* p, NI op);
1446 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1447 static N_INLINE(void, asgnRef)(void** dest, void* src);
1448 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1449 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1450 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
1451 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1452 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1453 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1454 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1455 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1456 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
1457 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliasesCached__injectdestructors_121)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field);
1458 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__injectdestructors_174)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key);
1459 static N_INLINE(NI, rawGet__injectdestructors_181)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI* hc);
1460 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_188)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x);
1461 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val);
1462 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_118)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1463 static N_INLINE(NI, hash__pureZhashes_124)(void* x);
1464 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1465 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1466 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1467 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b);
1468 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h);
1469 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1470 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___injectdestructors_430)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ y);
1471 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1472 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___injectdestructors_509)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val);
1473 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_708)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t);
1474 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_894)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t);
1475 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_1229)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tySequence__sh9b9afdJBB3bJbViXY7yNAg** data, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val, NI hc, NI h);
1476 static N_INLINE(NI, rawGetKnownHC__injectdestructors_1410)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI hc);
1477 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliases__dfa_792)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field);
1478 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*, X5BX5D___injectdestructors_1731)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key);
1479 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__injectdestructors_1802)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) __attribute__((noreturn));
1480 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1481 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1482 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1483 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___injectdestructors_1854)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x);
1484 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1485 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1486 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__injectdestructors_1880)(NimStringDesc** s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1487 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1488 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1489 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
1490 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1491 N_LIB_PRIVATE N_NIMCALL(void, excl__reorder_264)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1492 N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_1361)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* a);
1493 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
1494 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1495 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_2169)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ s);
1496 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode);
1497 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2395)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key);
1498 static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_49)(NI count);
1499 static N_INLINE(NI, rawGet__injectdestructors_2482)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc);
1500 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash);
1501 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_2730)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t);
1502 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_2922)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s);
1503 static N_INLINE(NI, rawGetKnownHC__injectdestructors_3173)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc);
1504 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_3539)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tySequence__Y6pVop4P8VSwSorRqc2aQA** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc, NI h);
1505 N_LIB_PRIVATE N_NIMCALL(void, mergeStates__injectdestructors_1944)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** a, tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* b);
1506 N_LIB_PRIVATE N_NIMCALL(void, incl__importer_1492)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other);
1507 N_LIB_PRIVATE N_NIMCALL(void, excl__injectdestructors_2012)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other);
1508 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2107)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ other);
1509 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1510 N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4045)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1511 N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt);
1512 static N_INLINE(void, plus___injectdestructors_4122)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1513 N_LIB_PRIVATE N_NIMCALL(void, union__injectdestructors_4127)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1514 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3920)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src);
1515 static N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**, X5BX5D___injectdestructors_4096)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** s, NI sLen_0, NI i);
1516 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g**, mgetOrPut__injectdestructors_4249)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val);
1517 static N_NIMCALL(void, Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)(void* p, NI op);
1518 static N_INLINE(NI, rawGet__injectdestructors_4322)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc);
1519 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_4652)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t);
1520 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_4838)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t);
1521 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_5169)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tySequence__JGK6WZYU2JHWLoPdKRO4AQ** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val, NI hc, NI h);
1522 static N_INLINE(NI, rawGetKnownHC__injectdestructors_5350)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc);
1523 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1524 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_5743)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t);
1525 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1526 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, p__injectdestructors_105)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw mode);
1527 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1528 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1529 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1530 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1531 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, shallowCopy__ast_4413)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1532 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1533 N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_72)(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* Result);
1534 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, processScope__injectdestructors_7016)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret);
1535 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1536 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1537 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1538 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTryFinally__lowerings_202)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* final);
1539 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getTemp__injectdestructors_61)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1540 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSym__ast_3445)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
1541 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
1542 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1543 static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_49)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1544 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDestroy__injectdestructors_6527)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1545 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1546 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6430)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1547 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
1548 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1549 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1550 N_LIB_PRIVATE N_NIMCALL(void, hashType__sighashes_462)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g flags, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
1551 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getOrDefault__liftdestructors_976)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
1552 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);
1553 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1554 N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_6380)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NimStringDesc* opname);
1555 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1556 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1557 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1558 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1559 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
1560 static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_1246)(NimStringDesc* s, NIM_CHAR prefix);
1561 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, comment__ast_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1562 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1563 N_LIB_PRIVATE N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s);
1564 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
1565 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
1566 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b);
1567 static N_INLINE(NIM_BOOL, isSinkType__ast_5045)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1568 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6420)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1569 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1570 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__injectdestructors_6416)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
1571 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1572 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1573 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1574 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, moveOrCopy__injectdestructors_110)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, NIM_BOOL isDecl);
1575 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_8432)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1576 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_8436)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1577 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_6369)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genSink__injectdestructors_6564)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL isDecl);
1579 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAnalysableFieldAccess__dfa_903)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1580 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_6120)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvDfa__dfa_780)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1582 static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_6553)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1583 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_6103)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1584 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genWasMoved__injectdestructors_6739)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1585 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, createMagic__modulegraphs_9008)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1586 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, destructiveMoveVar__injectdestructors_6760)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1587 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1588 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3588)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1589 N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_6612)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1590 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_1366)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1591 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, callCodegenProc__lowerings_635)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg1, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg2, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg3, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* optionalArgs);
1592 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genBuiltin__liftdestructors_113)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic, NimStringDesc* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i);
1593 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1594 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopy__injectdestructors_6647)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1595 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopyNoCheck__injectdestructors_6634)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1596 N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_6598)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, NIM_BOOL isFromSink);
1597 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, boolLit__liftdestructors_427)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NIM_BOOL value);
1598 static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_6591)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1599 static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_6847)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1600 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1601 static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_6532)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1602 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pRaiseStmt__injectdestructors_7126)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1603 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1604 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_6860)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1605 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1606 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, passCopyToSink__injectdestructors_6805)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1607 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLValue__parampatterns_497)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1608 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_6797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1609 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getRoot__trees_390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1610 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1611 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupFieldAgain__types_4053)(tyObject_TType__facALICuu8zUj0hjvbTLFg* ty, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field);
1612 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ensureDestruction__injectdestructors_6885)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1613 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1614 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3519)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1615 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1616 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaise__ast_5088)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
1617 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);
1618 N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_6967)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res);
1619 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDefaultCall__injectdestructors_6751)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1620 N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_6908)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1621 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
1622 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1623 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscriminantField__astalgo_4335)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1624 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDiscriminantAsgn__injectdestructors_6668)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1625 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, produceDestructorForDiscriminator__liftdestructors_2002)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1626 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getMagicEqSymForType__magicsys_171)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1627 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1628 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1629 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, optimize__optimizer_390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1630 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsthasKey)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key);
1631 N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
1632 N_LIB_PRIVATE TNimType NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_;
1633 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
1634 extern TNimType NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_;
1635 extern TNimType NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_;
1636 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_;
1637 extern TNimType NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_;
1638 N_LIB_PRIVATE TNimType NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_;
1639 extern TNimType NTIpackedset__IhxwDBRi51nGrosBGFKcsA_;
1640 N_LIB_PRIVATE TNimType NTIhashset__YByQS2i9cOlUupxNMscAMwQ_;
1641 N_LIB_PRIVATE TNimType NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_;
1642 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
1643 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_;
1644 N_LIB_PRIVATE TNimType NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_;
1645 N_LIB_PRIVATE TNimType NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_;
1646 extern TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_;
1647 extern TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_;
1648 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6, "key not found: ", 15);
1649 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_7, "(", 1);
1650 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8, ", ", 2);
1651 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9, "nil", 3);
1652 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_10, ",", 1);
1653 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11, ")", 1);
1654 N_LIB_PRIVATE TNimType NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_;
1655 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1656 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_;
1657 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__dJ4qrEWDmqGA8FWJ0TYKJQ_13 = {
1658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
1659 0x00, 0x00, 0x00, 0xb0, 0x03, 0x04, 0x09, 0xc0,
1660 0x00, 0x00, 0x00, 0x00, 0x00}
1661 ;
1662 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_14, ":tmpD", 5);
1663 extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
1664 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15 = {
1665 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1666 0x00}
1667 ;
1668 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16, "internal error: \'", 17);
1669 extern NIM_CONST tyArray__JXkBzVsE9bvmcpuZvrueLVg AttachedOpToStr__ast_3848;
1670 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_17, "\' operator not found for type ", 30);
1671 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19, "/home/runner/work/nightlies/nightlies/nim/compiler/injectdestructors.nim", 72);
1672 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_18 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1673 ((NI) 284),
1674 ((NI) 15)}
1675 ;
1676 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_20, "\' operator is generic", 21);
1677 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_21 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1678 ((NI) 287),
1679 ((NI) 15)}
1680 ;
1681 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_22, "\'", 1);
1682 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_23, "\' is not available for type <", 29);
1683 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_24, ">", 1);
1684 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_25, "=", 1);
1685 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26, "=copy", 5);
1686 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_27, "; requires a copy because it\'s not the last read of \'", 53);
1687 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28, "; another read is done here: ", 29);
1688 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_29, "; try to make ", 14);
1689 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_30, " a \'sink\' parameter", 19);
1690 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_31, "; routine: ", 11);
1691 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_32 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1692 ((NI) 263),
1693 ((NI) 12)}
1694 ;
1695 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1696 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_33, "wasMoved", 8);
1697 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_34, "blitTmp", 7);
1698 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35 = {
1699 0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1700 0x00}
1701 ;
1702 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36, "nimMarkCyclic", 13);
1703 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_37, "accessEnv", 9);
1704 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38 = {
1705 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1706 0x00}
1707 ;
1708 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_39, "passing \'$1\' to a sink parameter introduces an implicit copy; if possible, rearrange your program\'s control flow to prevent it", 126);
1709 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_40 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1710 ((NI) 462),
1711 ((NI) 13)}
1712 ;
1713 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_41, "cannot create an implicit openArray copy to be passed to a sink parameter", 73);
1714 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_42 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1715 ((NI) 469),
1716 ((NI) 16)}
1717 ;
1718 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43 = {
1719 0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
1720 0x00}
1721 ;
1722 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_44, "default", 7);
1723 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_45, "\'$#\' creates an uncollectable ref cycle; annotate \'$#\' with .cursor", 67);
1724 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_46, "\'$#\' creates an uncollectable ref cycle", 39);
1725 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_47 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1726 ((NI) 535),
1727 ((NI) 13)}
1728 ;
1729 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_48, "Assignment to discriminant for objects with user defined destructor is not supported, object must have default destructor.\012It is best to factor out piece of object that needs custom destructor into separate object or not use discriminator assignment", 249);
1730 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_49 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1731 ((NI) 393),
1732 ((NI) 16)}
1733 ;
1734 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1735 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50, "not", 3);
1736 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_51, "nkWhileStmt should have been handled earlier", 44);
1737 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_52 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1738 ((NI) 906),
1739 ((NI) 19)}
1740 ;
1741 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_53, "cannot inject destructors to node kind: ", 40);
1742 extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
1743 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_54 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1744 ((NI) 993),
1745 ((NI) 19)}
1746 ;
1747 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_55 = {
1748 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1749 0x00}
1750 ;
1751 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_56, "--expandArc: ", 13);
1752 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_58, "-- end of expandArc ------------------------", 44);
1753 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__dJ4qrEWDmqGA8FWJ0TYKJQ_57 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_58)}
1754 ;
1755 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_INLINE(NIM_BOOL,isInlineIterator__ast_4989)1756 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
1757 	NIM_BOOL result;
1758 	NIM_BOOL T1_;
1759 	NIM_BOOL T2_;
1760 	result = (NIM_BOOL)0;
1761 	T1_ = (NIM_BOOL)0;
1762 	T2_ = (NIM_BOOL)0;
1763 	T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
1764 	if (!(T2_)) goto LA3_;
1765 	T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
1766 	LA3_: ;
1767 	T1_ = T2_;
1768 	if (!(T1_)) goto LA4_;
1769 	T1_ = !(((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
1770 	LA4_: ;
1771 	result = T1_;
1772 	return result;
1773 }
N_INLINE(void,nimSetMem__systemZmemory_7)1774 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1775 	void* T1_;
1776 	T1_ = (void*)0;
1777 	T1_ = memset(a, v, ((size_t) (size)));
1778 }
N_INLINE(void,nimZeroMem)1779 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1780 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
1781 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1782 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1783 	NI result;
1784 	result = (NI)0;
1785 	result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1786 	return result;
1787 }
N_NIMCALL(void,Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)1788 static N_NIMCALL(void, Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)(void* p, NI op) {
1789 	tySequence__sh9b9afdJBB3bJbViXY7yNAg* a;
1790 	NI T1_;
1791 	a = (tySequence__sh9b9afdJBB3bJbViXY7yNAg*)p;
1792 	T1_ = (NI)0;
1793 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1794 	nimGCvisit((void*)a->data[T1_].Field1.Field0, op);
1795 	nimGCvisit((void*)a->data[T1_].Field1.Field1, op);
1796 	}
1797 }
N_NIMCALL(void,initTable__injectdestructors_3782)1798 N_LIB_PRIVATE N_NIMCALL(void, initTable__injectdestructors_3782)(NI initialSize, tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* Result) {
1799 	NI correctSizeX60gensym33_;
1800 	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1801 	(*Result).counter = 0;
1802 	correctSizeX60gensym33_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1803 	(*Result).counter = ((NI) 0);
1804 	unsureAsgnRef((void**) (&(*Result).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym33_))));
1805 }
N_NIMCALL(void,preprocessCfg__injectdestructors_1924)1806 N_LIB_PRIVATE N_NIMCALL(void, preprocessCfg__injectdestructors_1924)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ** cfg) {
1807 	{
1808 		NI i;
1809 		NI colontmp_;
1810 		NI T2_;
1811 		NI i_2;
1812 		i = (NI)0;
1813 		colontmp_ = (NI)0;
1814 		T2_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1815 		colontmp_ = T2_;
1816 		i_2 = ((NI) 0);
1817 		{
1818 			while (1) {
1819 				if (!(i_2 < colontmp_)) goto LA4;
1820 				i = i_2;
1821 				{
1822 					NIM_BOOL T7_;
1823 					NI T9_;
1824 					NI T12_;
1825 					T7_ = (NIM_BOOL)0;
1826 					T7_ = ((3 &((NU8)1<<((NU)((*cfg)->data[i].kind)&7U)))!=0);
1827 					if (!(T7_)) goto LA8_;
1828 					T9_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1829 					T7_ = (T9_ < (NI)(i + (*cfg)->data[i].dest));
1830 					LA8_: ;
1831 					if (!T7_) goto LA10_;
1832 					T12_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1833 					(*cfg)->data[i].dest = (NI)(T12_ - i);
1834 				}
1835 				LA10_: ;
1836 				i_2 += ((NI) 1);
1837 			} LA4: ;
1838 		}
1839 	}
1840 }
N_NIMCALL(void,Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)1841 static N_NIMCALL(void, Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)(void* p, NI op) {
1842 	tySequence__Y6pVop4P8VSwSorRqc2aQA* a;
1843 	NI T1_;
1844 	a = (tySequence__Y6pVop4P8VSwSorRqc2aQA*)p;
1845 	T1_ = (NI)0;
1846 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1847 	nimGCvisit((void*)a->data[T1_].Field1, op);
1848 	}
1849 }
N_NIMCALL(void,Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)1850 static N_NIMCALL(void, Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)(void* p, NI op) {
1851 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* a;
1852 	NI T1_;
1853 	NI T2_;
1854 	NI T3_;
1855 	a = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*)p;
1856 	nimGCvisit((void*)(*a).lastReads.head, op);
1857 	nimGCvisit((void*)(*a).lastReads.data, op);
1858 	T1_ = (NI)0;
1859 	nimGCvisit((void*)(*a).potentialLastReads.head, op);
1860 	nimGCvisit((void*)(*a).potentialLastReads.data, op);
1861 	T2_ = (NI)0;
1862 	nimGCvisit((void*)(*a).notLastReads.head, op);
1863 	nimGCvisit((void*)(*a).notLastReads.data, op);
1864 	T3_ = (NI)0;
1865 	nimGCvisit((void*)(*a).alreadySeen.data, op);
1866 }
N_NIMCALL(void,Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)1867 static N_NIMCALL(void, Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)(void* p, NI op) {
1868 	tySequence__mFtVDW3p7w6wfPPNodKzsA* a;
1869 	NI T1_;
1870 	a = (tySequence__mFtVDW3p7w6wfPPNodKzsA*)p;
1871 	T1_ = (NI)0;
1872 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1873 	nimGCvisit((void*)a->data[T1_], op);
1874 	}
1875 }
N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA *,newSeq__injectdestructors_3802)1876 N_LIB_PRIVATE N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA*, newSeq__injectdestructors_3802)(NI len) {
1877 	tySequence__mFtVDW3p7w6wfPPNodKzsA* result;
1878 	result = NIM_NIL;
1879 	result = (tySequence__mFtVDW3p7w6wfPPNodKzsA*) newSeq((&NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_), len);
1880 	return result;
1881 }
N_INLINE(NI,pluspercent___system_696)1882 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1883 	NI result;
1884 	result = (NI)0;
1885 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1886 	return result;
1887 }
N_INLINE(void,incRef__system_5308)1888 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1889 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1890 }
N_INLINE(NI,minuspercent___system_716)1891 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1892 	NI result;
1893 	result = (NI)0;
1894 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1895 	return result;
1896 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)1897 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
1898 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1899 	NI T1_;
1900 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1901 	T1_ = (NI)0;
1902 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1903 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1904 	return result;
1905 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1906 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1907 	NIM_BOOL result;
1908 	result = (NIM_BOOL)0;
1909 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1910 	return result;
1911 }
N_INLINE(void,rtlAddZCT__system_5313)1912 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1913 	addZCT__system_5264((&gch__system_5217.zct), c);
1914 }
N_INLINE(void,decRef__system_5315)1915 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1916 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1917 	{
1918 		NIM_BOOL T3_;
1919 		T3_ = (NIM_BOOL)0;
1920 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1921 		if (!T3_) goto LA4_;
1922 		rtlAddZCT__system_5313(c);
1923 	}
1924 	LA4_: ;
1925 }
N_INLINE(void,asgnRef)1926 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1927 	{
1928 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1929 		if (!!((src == NIM_NIL))) goto LA3_;
1930 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1931 		T5_ = usrToCell__system_5270(src);
1932 		incRef__system_5308(T5_);
1933 	}
1934 	LA3_: ;
1935 	{
1936 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1937 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1938 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1939 		T10_ = usrToCell__system_5270((*dest));
1940 		decRef__system_5315(T10_);
1941 	}
1942 	LA8_: ;
1943 	(*dest) = src;
1944 }
N_INLINE(NI,emarkamp___pureZhashes_3)1945 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val) {
1946 	NI result;
1947 	NU h_2;
1948 	NU val_2;
1949 	NU res;
1950 	result = (NI)0;
1951 	h_2 = ((NU) (h));
1952 	val_2 = ((NU) (val));
1953 	res = (NU)((NU32)(h_2) + (NU32)(val_2));
1954 	res = (NU)((NU32)(res) + (NU32)((NU)((NU32)(res) << (NU32)(((NI) 10)))));
1955 	res = (NU)(res ^ (NU)((NU32)(res) >> (NU32)(((NI) 6))));
1956 	result = ((NI) (res));
1957 	return result;
1958 }
N_INLINE(NU64,hiXorLoFallback64__pureZhashes_35)1959 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) {
1960 	NU64 result;
1961 	NU64 aH;
1962 	NU64 aL;
1963 	NU64 bH;
1964 	NU64 bL;
1965 	NU64 rHH;
1966 	NU64 rHL;
1967 	NU64 rLH;
1968 	NU64 rLL;
1969 	NU64 t;
1970 	NU64 c;
1971 	NU64 lo;
1972 	NU64 T6_;
1973 	NU64 hi;
1974 {	result = (NU64)0;
1975 	aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
1976 	aL = (NU64)(a & 4294967295ULL);
1977 	bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
1978 	bL = (NU64)(b & 4294967295ULL);
1979 	rHH = (NU64)((NU64)(aH) * (NU64)(bH));
1980 	rHL = (NU64)((NU64)(aH) * (NU64)(bL));
1981 	rLH = (NU64)((NU64)(aL) * (NU64)(bH));
1982 	rLL = (NU64)((NU64)(aL) * (NU64)(bL));
1983 	t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
1984 	{
1985 		if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
1986 		c = 1ULL;
1987 	}
1988 	goto LA1_;
1989 	LA3_: ;
1990 	{
1991 		c = 0ULL;
1992 	}
1993 	LA1_: ;
1994 	lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
1995 	T6_ = (NU64)0;
1996 	{
1997 		if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
1998 		T6_ = 1ULL;
1999 	}
2000 	goto LA7_;
2001 	LA9_: ;
2002 	{
2003 		T6_ = 0ULL;
2004 	}
2005 	LA7_: ;
2006 	c += T6_;
2007 	hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
2008 	result = (NU64)(hi ^ lo);
2009 	goto BeforeRet_;
2010 	}BeforeRet_: ;
2011 	return result;
2012 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)2013 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
2014 	NU64 result;
2015 	result = (NU64)0;
2016 	result = hiXorLoFallback64__pureZhashes_35(a, b);
2017 	return result;
2018 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)2019 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
2020 	NI result;
2021 	NU64 T1_;
2022 	NU64 T2_;
2023 	result = (NI)0;
2024 	T1_ = (NU64)0;
2025 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
2026 	T2_ = (NU64)0;
2027 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
2028 	result = ((NI) (T2_));
2029 	return result;
2030 }
N_INLINE(NI,hash__pureZhashes_128)2031 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
2032 	NI result;
2033 	result = (NI)0;
2034 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
2035 	return result;
2036 }
N_INLINE(NI,hash__pureZhashes_124)2037 static N_INLINE(NI, hash__pureZhashes_124)(void* x) {
2038 	NI result;
2039 	NI y;
2040 	result = (NI)0;
2041 	y = ((NI) (ptrdiff_t) (x));
2042 	result = hash__pureZhashes_128(y);
2043 	return result;
2044 }
N_NIMCALL(NI,hash__injectdestructors_118)2045 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_118)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2046 	NI result;
2047 	result = (NI)0;
2048 	result = hash__pureZhashes_124(((void*) (n)));
2049 	return result;
2050 }
N_INLINE(NI,emarkdollar___pureZhashes_18)2051 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h) {
2052 	NI result;
2053 	NU h_2;
2054 	NU res;
2055 	result = (NI)0;
2056 	h_2 = ((NU) (h));
2057 	res = (NU)((NU32)(h_2) + (NU32)((NU)((NU32)(h_2) << (NU32)(((NI) 3)))));
2058 	res = (NU)(res ^ (NU)((NU32)(res) >> (NU32)(((NI) 11))));
2059 	res = (NU)((NU32)(res) + (NU32)((NU)((NU32)(res) << (NU32)(((NI) 15)))));
2060 	result = ((NI) (res));
2061 	return result;
2062 }
N_NIMCALL(NI,hash__injectdestructors_188)2063 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_188)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x) {
2064 	NI result;
2065 	NI T1_;
2066 	NI T2_;
2067 	result = (NI)0;
2068 	T1_ = (NI)0;
2069 	T1_ = hash__injectdestructors_118(x.Field0);
2070 	result = emarkamp___pureZhashes_3(result, T1_);
2071 	T2_ = (NI)0;
2072 	T2_ = hash__injectdestructors_118(x.Field1);
2073 	result = emarkamp___pureZhashes_3(result, T2_);
2074 	result = emarkdollar___pureZhashes_18(result);
2075 	return result;
2076 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)2077 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
2078 	NIM_BOOL result;
2079 	result = (NIM_BOOL)0;
2080 	result = !((hcode == ((NI) 0)));
2081 	return result;
2082 }
N_NIMCALL(NIM_BOOL,eqeq___injectdestructors_430)2083 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___injectdestructors_430)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ y) {
2084 	NIM_BOOL result;
2085 {	result = (NIM_BOOL)0;
2086 	{
2087 		if (!!((x.Field0 == y.Field0))) goto LA3_;
2088 		result = NIM_FALSE;
2089 		goto BeforeRet_;
2090 	}
2091 	LA3_: ;
2092 	{
2093 		if (!!((x.Field1 == y.Field1))) goto LA7_;
2094 		result = NIM_FALSE;
2095 		goto BeforeRet_;
2096 	}
2097 	LA7_: ;
2098 	result = NIM_TRUE;
2099 	goto BeforeRet_;
2100 	}BeforeRet_: ;
2101 	return result;
2102 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)2103 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
2104 	NI result;
2105 	result = (NI)0;
2106 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2107 	return result;
2108 }
N_INLINE(NI,rawGet__injectdestructors_181)2109 static N_INLINE(NI, rawGet__injectdestructors_181)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI* hc) {
2110 	NI result;
2111 	NI h;
2112 	NI T10_;
2113 {	result = (NI)0;
2114 	(*hc) = hash__injectdestructors_188(key);
2115 	{
2116 		if (!((*hc) == ((NI) 0))) goto LA3_;
2117 		(*hc) = ((NI) 314159265);
2118 	}
2119 	LA3_: ;
2120 	{
2121 		NI T7_;
2122 		T7_ = (t.data ? t.data->Sup.len : 0);
2123 		if (!(T7_ == ((NI) 0))) goto LA8_;
2124 		result = ((NI) -1);
2125 		goto BeforeRet_;
2126 	}
2127 	LA8_: ;
2128 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2129 	h = (NI)((*hc) & T10_);
2130 	{
2131 		while (1) {
2132 			NIM_BOOL T13_;
2133 			NI T20_;
2134 			T13_ = (NIM_BOOL)0;
2135 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2136 			if (!T13_) goto LA12;
2137 			{
2138 				NIM_BOOL T16_;
2139 				T16_ = (NIM_BOOL)0;
2140 				T16_ = (t.data->data[h].Field0 == (*hc));
2141 				if (!(T16_)) goto LA17_;
2142 				T16_ = eqeq___injectdestructors_430(t.data->data[h].Field1, key);
2143 				LA17_: ;
2144 				if (!T16_) goto LA18_;
2145 				result = h;
2146 				goto BeforeRet_;
2147 			}
2148 			LA18_: ;
2149 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2150 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
2151 		} LA12: ;
2152 	}
2153 	result = (NI)(((NI) -1) - h);
2154 	}BeforeRet_: ;
2155 	return result;
2156 }
N_NIMCALL(NIM_BOOL,hasKey__injectdestructors_174)2157 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__injectdestructors_174)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2158 	NIM_BOOL result;
2159 	NI hc;
2160 	NI T1_;
2161 	result = (NIM_BOOL)0;
2162 	hc = (NI)0;
2163 	T1_ = (NI)0;
2164 	T1_ = rawGet__injectdestructors_181(t, key, (&hc));
2165 	result = (((NI) 0) <= T1_);
2166 	return result;
2167 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_708)2168 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_708)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t) {
2169 	NIM_BOOL result;
2170 	NIM_BOOL T1_;
2171 	NI T2_;
2172 	NI T4_;
2173 	result = (NIM_BOOL)0;
2174 	T1_ = (NIM_BOOL)0;
2175 	T2_ = (t.data ? t.data->Sup.len : 0);
2176 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2177 	if (T1_) goto LA3_;
2178 	T4_ = (t.data ? t.data->Sup.len : 0);
2179 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2180 	LA3_: ;
2181 	result = T1_;
2182 	return result;
2183 }
N_NIMCALL(void,rawInsert__injectdestructors_1229)2184 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_1229)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tySequence__sh9b9afdJBB3bJbViXY7yNAg** data, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val, NI hc, NI h) {
2185 	asgnRef((void**) (&(*data)->data[h].Field1.Field0), key.Field0);
2186 	asgnRef((void**) (&(*data)->data[h].Field1.Field1), key.Field1);
2187 	(*data)->data[h].Field2 = val;
2188 	(*data)->data[h].Field0 = hc;
2189 }
N_NIMCALL(void,enlarge__injectdestructors_894)2190 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_894)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t) {
2191 	tySequence__sh9b9afdJBB3bJbViXY7yNAg* n;
2192 	NI T1_;
2193 	tySequence__sh9b9afdJBB3bJbViXY7yNAg* T2_;
2194 	n = NIM_NIL;
2195 	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2196 	n = (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2197 	T2_ = NIM_NIL;
2198 	T2_ = (*t).data;
2199 	unsureAsgnRef((void**) (&(*t).data), n);
2200 	n = T2_;
2201 	{
2202 		NI i;
2203 		NI colontmp_;
2204 		NI T4_;
2205 		NI res;
2206 		i = (NI)0;
2207 		colontmp_ = (NI)0;
2208 		T4_ = ((n ? n->Sup.len : 0)-1);
2209 		colontmp_ = T4_;
2210 		res = ((NI) 0);
2211 		{
2212 			while (1) {
2213 				NI eh;
2214 				if (!(res <= colontmp_)) goto LA6;
2215 				i = res;
2216 				eh = n->data[i].Field0;
2217 				{
2218 					NIM_BOOL T9_;
2219 					NI j;
2220 					NI T12_;
2221 					tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T17_;
2222 					tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T18_;
2223 					T9_ = (NIM_BOOL)0;
2224 					T9_ = isFilled__pureZcollectionsZtables_31(eh);
2225 					if (!T9_) goto LA10_;
2226 					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2227 					j = (NI)(eh & T12_);
2228 					{
2229 						while (1) {
2230 							NIM_BOOL T15_;
2231 							NI T16_;
2232 							T15_ = (NIM_BOOL)0;
2233 							T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
2234 							if (!T15_) goto LA14;
2235 							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2236 							j = nextTry__pureZcollectionsZtables_34(j, T16_);
2237 						} LA14: ;
2238 					}
2239 					nimZeroMem((void*)(&T17_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2240 					T17_.Field0 = n->data[i].Field1.Field0;
2241 					T17_.Field1 = n->data[i].Field1.Field1;
2242 					unsureAsgnRef((void**)&n->data[i].Field1.Field0, NIM_NIL);
2243 					unsureAsgnRef((void**)&n->data[i].Field1.Field1, NIM_NIL);
2244 					T18_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2245 					T18_ = n->data[i].Field2;
2246 					n->data[i].Field2 = 0;
2247 					rawInsert__injectdestructors_1229(t, (&(*t).data), T17_, T18_, eh, j);
2248 				}
2249 				LA10_: ;
2250 				res += ((NI) 1);
2251 			} LA6: ;
2252 		}
2253 	}
2254 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_1410)2255 static N_INLINE(NI, rawGetKnownHC__injectdestructors_1410)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI hc) {
2256 	NI result;
2257 	NI h;
2258 	NI T6_;
2259 {	result = (NI)0;
2260 	{
2261 		NI T3_;
2262 		T3_ = (t.data ? t.data->Sup.len : 0);
2263 		if (!(T3_ == ((NI) 0))) goto LA4_;
2264 		result = ((NI) -1);
2265 		goto BeforeRet_;
2266 	}
2267 	LA4_: ;
2268 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2269 	h = (NI)(hc & T6_);
2270 	{
2271 		while (1) {
2272 			NIM_BOOL T9_;
2273 			NI T16_;
2274 			T9_ = (NIM_BOOL)0;
2275 			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2276 			if (!T9_) goto LA8;
2277 			{
2278 				NIM_BOOL T12_;
2279 				T12_ = (NIM_BOOL)0;
2280 				T12_ = (t.data->data[h].Field0 == hc);
2281 				if (!(T12_)) goto LA13_;
2282 				T12_ = eqeq___injectdestructors_430(t.data->data[h].Field1, key);
2283 				LA13_: ;
2284 				if (!T12_) goto LA14_;
2285 				result = h;
2286 				goto BeforeRet_;
2287 			}
2288 			LA14_: ;
2289 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2290 			h = nextTry__pureZcollectionsZtables_34(h, T16_);
2291 		} LA8: ;
2292 	}
2293 	result = (NI)(((NI) -1) - h);
2294 	}BeforeRet_: ;
2295 	return result;
2296 }
N_NIMCALL(void,X5BX5Deq___injectdestructors_509)2297 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___injectdestructors_509)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val) {
2298 	NI hc;
2299 	NI index;
2300 	{
2301 		NI T3_;
2302 		NI correctSizeX60gensym7_;
2303 		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
2304 		if (!(T3_ == ((NI) 0))) goto LA4_;
2305 		correctSizeX60gensym7_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2306 		(*t).counter = ((NI) 0);
2307 		unsureAsgnRef((void**) (&(*t).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym7_))));
2308 	}
2309 	LA4_: ;
2310 	hc = (NI)0;
2311 	index = rawGet__injectdestructors_181((*t), key, (&hc));
2312 	{
2313 		if (!(((NI) 0) <= index)) goto LA8_;
2314 		(*t).data->data[index].Field2 = val;
2315 	}
2316 	goto LA6_;
2317 	LA8_: ;
2318 	{
2319 		{
2320 			NI T13_;
2321 			NI correctSizeX60gensym10_;
2322 			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
2323 			if (!(T13_ == ((NI) 0))) goto LA14_;
2324 			correctSizeX60gensym10_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2325 			(*t).counter = ((NI) 0);
2326 			unsureAsgnRef((void**) (&(*t).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym10_))));
2327 		}
2328 		LA14_: ;
2329 		{
2330 			NIM_BOOL T18_;
2331 			T18_ = (NIM_BOOL)0;
2332 			T18_ = mustRehash__injectdestructors_708((*t));
2333 			if (!T18_) goto LA19_;
2334 			enlarge__injectdestructors_894(t);
2335 			index = rawGetKnownHC__injectdestructors_1410((*t), key, hc);
2336 		}
2337 		LA19_: ;
2338 		index = (NI)(((NI) -1) - index);
2339 		rawInsert__injectdestructors_1229(t, (&(*t).data), key, val, hc, index);
2340 		(*t).counter += ((NI) 1);
2341 	}
2342 	LA6_: ;
2343 }
N_INLINE(void,nimCopyMem)2344 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2345 	void* T1_;
2346 	T1_ = (void*)0;
2347 	T1_ = memcpy(dest, source, ((size_t) (size)));
2348 }
N_INLINE(void,copyMem__system_1727)2349 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2350 	nimCopyMem(dest, source, size);
2351 }
N_INLINE(void,appendString)2352 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2353 	{
2354 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2355 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2356 		(*dest).Sup.len += (*src).Sup.len;
2357 	}
2358 	LA3_: ;
2359 }
N_NIMCALL(void,addQuoted__injectdestructors_1880)2360 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__injectdestructors_1880)(NimStringDesc** s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
2361 	NimStringDesc* T1_;
2362 	T1_ = NIM_NIL;
2363 	T1_ = dollar___renderer_2106(x);
2364 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), (T1_ ? T1_->Sup.len : 0) + 0));
2365 appendString((*s), T1_);
2366 }
N_NIMCALL(NimStringDesc *,dollar___injectdestructors_1854)2367 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___injectdestructors_1854)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x) {
2368 	NimStringDesc* result;
2369 	NI count;
2370 	result = NIM_NIL;
2371 	result = copyString(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_7));
2372 	count = ((NI) 0);
2373 	{
2374 		if (!(((NI) 0) < count)) goto LA3_;
2375 		result = resizeString(result, 2);
2376 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8));
2377 	}
2378 	LA3_: ;
2379 	count += ((NI) 1);
2380 	{
2381 		if (!(x.Field0 == 0)) goto LA7_;
2382 		result = resizeString(result, 3);
2383 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9));
2384 	}
2385 	goto LA5_;
2386 	LA7_: ;
2387 	{
2388 		addQuoted__injectdestructors_1880((&result), x.Field0);
2389 	}
2390 	LA5_: ;
2391 	{
2392 		if (!(((NI) 0) < count)) goto LA12_;
2393 		result = resizeString(result, 2);
2394 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8));
2395 	}
2396 	LA12_: ;
2397 	count += ((NI) 1);
2398 	{
2399 		if (!(x.Field1 == 0)) goto LA16_;
2400 		result = resizeString(result, 3);
2401 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9));
2402 	}
2403 	goto LA14_;
2404 	LA16_: ;
2405 	{
2406 		addQuoted__injectdestructors_1880((&result), x.Field1);
2407 	}
2408 	LA14_: ;
2409 	{
2410 		if (!(count == ((NI) 1))) goto LA21_;
2411 		result = resizeString(result, 1);
2412 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_10));
2413 	}
2414 	LA21_: ;
2415 	result = resizeString(result, 1);
2416 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11));
2417 	return result;
2418 }
N_NOINLINE(void,raiseKeyError__injectdestructors_1802)2419 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__injectdestructors_1802)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2420 	tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T1_;
2421 	NimStringDesc* T2_;
2422 	NimStringDesc* T3_;
2423 	T1_ = NIM_NIL;
2424 	T1_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
2425 	(*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
2426 	(*T1_).Sup.Sup.Sup.name = "KeyError";
2427 	T2_ = NIM_NIL;
2428 	T3_ = NIM_NIL;
2429 	T3_ = dollar___injectdestructors_1854(key);
2430 	T2_ = rawNewString((T3_ ? T3_->Sup.len : 0) + 15);
2431 appendString(T2_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6));
2432 appendString(T2_, T3_);
2433 	asgnRef((void**) (&(*T1_).Sup.Sup.Sup.message), T2_);
2434 	asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
2435 	raiseExceptionEx((Exception*)T1_, "KeyError", "raiseKeyError", "tables.nim", 234);
2436 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg *,X5BX5D___injectdestructors_1731)2437 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*, X5BX5D___injectdestructors_1731)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2438 	tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg* result;
2439 	NI hcX60gensym22_;
2440 	NI indexX60gensym22_;
2441 	result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*)0;
2442 	hcX60gensym22_ = (NI)0;
2443 	indexX60gensym22_ = rawGet__injectdestructors_181((*t), key, (&hcX60gensym22_));
2444 	{
2445 		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
2446 		result = (&(*t).data->data[indexX60gensym22_].Field2);
2447 	}
2448 	goto LA1_;
2449 	LA3_: ;
2450 	{
2451 		raiseKeyError__injectdestructors_1802(key);
2452 	}
2453 	LA1_: ;
2454 	return result;
2455 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg,aliasesCached__injectdestructors_121)2456 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliasesCached__injectdestructors_121)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field) {
2457 	tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg result;
2458 	tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key;
2459 	tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg* T7_;
2460 	result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2461 	nimZeroMem((void*)(&key), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2462 	key.Field0 = obj;
2463 	key.Field1 = field;
2464 	{
2465 		NIM_BOOL T3_;
2466 		tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T6_;
2467 		T3_ = (NIM_BOOL)0;
2468 		T3_ = hasKey__injectdestructors_174((*cache), key);
2469 		if (!!(T3_)) goto LA4_;
2470 		T6_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2471 		T6_ = aliases__dfa_792(obj, field);
2472 		X5BX5Deq___injectdestructors_509(cache, key, T6_);
2473 	}
2474 	LA4_: ;
2475 	T7_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*)0;
2476 	T7_ = X5BX5D___injectdestructors_1731(cache, key);
2477 	result = (*T7_);
2478 	return result;
2479 }
N_INLINE(void,appendChar)2480 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
2481 	(*dest).data[(*dest).Sup.len] = c;
2482 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
2483 	(*dest).Sup.len += ((NI) 1);
2484 }
N_NIMCALL(NI,len__injectdestructors_2169)2485 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_2169)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ s) {
2486 	NI result;
2487 	result = (NI)0;
2488 	result = s.counter;
2489 	return result;
2490 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZsets_38)2491 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode) {
2492 	NIM_BOOL result;
2493 	result = (NIM_BOOL)0;
2494 	result = !((hcode == ((NI) 0)));
2495 	return result;
2496 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZsets_49)2497 static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_49)(NI count) {
2498 	NI result;
2499 	result = (NI)0;
2500 	result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
2501 	return result;
2502 }
N_INLINE(NI,nextTry__pureZcollectionsZsets_41)2503 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash) {
2504 	NI result;
2505 	result = (NI)0;
2506 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2507 	return result;
2508 }
N_INLINE(NI,rawGet__injectdestructors_2482)2509 static N_INLINE(NI, rawGet__injectdestructors_2482)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc) {
2510 	NI result;
2511 	NI h;
2512 	NI T10_;
2513 {	result = (NI)0;
2514 	(*hc) = hash__injectdestructors_118(key);
2515 	{
2516 		if (!((*hc) == ((NI) 0))) goto LA3_;
2517 		(*hc) = ((NI) 314159265);
2518 	}
2519 	LA3_: ;
2520 	{
2521 		NI T7_;
2522 		T7_ = (t.data ? t.data->Sup.len : 0);
2523 		if (!(T7_ == ((NI) 0))) goto LA8_;
2524 		result = ((NI) -1);
2525 		goto BeforeRet_;
2526 	}
2527 	LA8_: ;
2528 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2529 	h = (NI)((*hc) & T10_);
2530 	{
2531 		while (1) {
2532 			NIM_BOOL T13_;
2533 			NI T20_;
2534 			T13_ = (NIM_BOOL)0;
2535 			T13_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
2536 			if (!T13_) goto LA12;
2537 			{
2538 				NIM_BOOL T16_;
2539 				T16_ = (NIM_BOOL)0;
2540 				T16_ = (t.data->data[h].Field0 == (*hc));
2541 				if (!(T16_)) goto LA17_;
2542 				T16_ = (t.data->data[h].Field1 == key);
2543 				LA17_: ;
2544 				if (!T16_) goto LA18_;
2545 				result = h;
2546 				goto BeforeRet_;
2547 			}
2548 			LA18_: ;
2549 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2550 			h = nextTry__pureZcollectionsZsets_41(h, T20_);
2551 		} LA12: ;
2552 	}
2553 	result = (NI)(((NI) -1) - h);
2554 	}BeforeRet_: ;
2555 	return result;
2556 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_2730)2557 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_2730)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t) {
2558 	NIM_BOOL result;
2559 	NIM_BOOL T1_;
2560 	NI T2_;
2561 	NI T4_;
2562 	result = (NIM_BOOL)0;
2563 	T1_ = (NIM_BOOL)0;
2564 	T2_ = (t.data ? t.data->Sup.len : 0);
2565 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2566 	if (T1_) goto LA3_;
2567 	T4_ = (t.data ? t.data->Sup.len : 0);
2568 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2569 	LA3_: ;
2570 	result = T1_;
2571 	return result;
2572 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_3173)2573 static N_INLINE(NI, rawGetKnownHC__injectdestructors_3173)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc) {
2574 	NI result;
2575 	NI h;
2576 	NI T6_;
2577 {	result = (NI)0;
2578 	{
2579 		NI T3_;
2580 		T3_ = (t.data ? t.data->Sup.len : 0);
2581 		if (!(T3_ == ((NI) 0))) goto LA4_;
2582 		result = ((NI) -1);
2583 		goto BeforeRet_;
2584 	}
2585 	LA4_: ;
2586 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2587 	h = (NI)(hc & T6_);
2588 	{
2589 		while (1) {
2590 			NIM_BOOL T9_;
2591 			NI T16_;
2592 			T9_ = (NIM_BOOL)0;
2593 			T9_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
2594 			if (!T9_) goto LA8;
2595 			{
2596 				NIM_BOOL T12_;
2597 				T12_ = (NIM_BOOL)0;
2598 				T12_ = (t.data->data[h].Field0 == hc);
2599 				if (!(T12_)) goto LA13_;
2600 				T12_ = (t.data->data[h].Field1 == key);
2601 				LA13_: ;
2602 				if (!T12_) goto LA14_;
2603 				result = h;
2604 				goto BeforeRet_;
2605 			}
2606 			LA14_: ;
2607 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2608 			h = nextTry__pureZcollectionsZsets_41(h, T16_);
2609 		} LA8: ;
2610 	}
2611 	result = (NI)(((NI) -1) - h);
2612 	}BeforeRet_: ;
2613 	return result;
2614 }
N_NIMCALL(void,rawInsert__injectdestructors_3539)2615 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_3539)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tySequence__Y6pVop4P8VSwSorRqc2aQA** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc, NI h) {
2616 	{
2617 		NI T3_;
2618 		NI correctSizeX60gensym32_;
2619 		T3_ = ((*data) ? (*data)->Sup.len : 0);
2620 		if (!(T3_ == ((NI) 0))) goto LA4_;
2621 		correctSizeX60gensym32_ = slotsNeeded__pureZcollectionsZsets_49(((NI) 64));
2622 		(*s).counter = ((NI) 0);
2623 		unsureAsgnRef((void**) (&(*s).data), (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) (correctSizeX60gensym32_))));
2624 	}
2625 	LA4_: ;
2626 	asgnRef((void**) (&(*data)->data[h].Field1), key);
2627 	(*data)->data[h].Field0 = hc;
2628 }
N_NIMCALL(void,enlarge__injectdestructors_2922)2629 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_2922)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s) {
2630 	tySequence__Y6pVop4P8VSwSorRqc2aQA* n;
2631 	NI T1_;
2632 	tySequence__Y6pVop4P8VSwSorRqc2aQA* T2_;
2633 	n = NIM_NIL;
2634 	T1_ = ((*s).data ? (*s).data->Sup.len : 0);
2635 	n = (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2636 	T2_ = NIM_NIL;
2637 	T2_ = (*s).data;
2638 	unsureAsgnRef((void**) (&(*s).data), n);
2639 	n = T2_;
2640 	{
2641 		NI i;
2642 		NI colontmp_;
2643 		NI T4_;
2644 		NI res;
2645 		i = (NI)0;
2646 		colontmp_ = (NI)0;
2647 		T4_ = ((n ? n->Sup.len : 0)-1);
2648 		colontmp_ = T4_;
2649 		res = ((NI) 0);
2650 		{
2651 			while (1) {
2652 				if (!(res <= colontmp_)) goto LA6;
2653 				i = res;
2654 				{
2655 					NIM_BOOL T9_;
2656 					NI j;
2657 					NI T12_;
2658 					T9_ = (NIM_BOOL)0;
2659 					T9_ = isFilled__pureZcollectionsZsets_38(n->data[i].Field0);
2660 					if (!T9_) goto LA10_;
2661 					T12_ = (NI)0;
2662 					T12_ = rawGetKnownHC__injectdestructors_3173((*s), n->data[i].Field1, n->data[i].Field0);
2663 					j = (NI)(((NI) -1) - T12_);
2664 					rawInsert__injectdestructors_3539(s, (&(*s).data), n->data[i].Field1, n->data[i].Field0, j);
2665 				}
2666 				LA10_: ;
2667 				res += ((NI) 1);
2668 			} LA6: ;
2669 		}
2670 	}
2671 }
N_NIMCALL(void,incl__injectdestructors_2395)2672 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2395)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key) {
2673 	NI hc;
2674 	NI index;
2675 	{
2676 		NI T3_;
2677 		NI correctSizeX60gensym23_;
2678 		T3_ = ((*s).data ? (*s).data->Sup.len : 0);
2679 		if (!(T3_ == ((NI) 0))) goto LA4_;
2680 		correctSizeX60gensym23_ = slotsNeeded__pureZcollectionsZsets_49(((NI) 64));
2681 		(*s).counter = ((NI) 0);
2682 		unsureAsgnRef((void**) (&(*s).data), (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) (correctSizeX60gensym23_))));
2683 	}
2684 	LA4_: ;
2685 	hc = (NI)0;
2686 	index = rawGet__injectdestructors_2482((*s), key, (&hc));
2687 	{
2688 		if (!(index < ((NI) 0))) goto LA8_;
2689 		{
2690 			NIM_BOOL T12_;
2691 			T12_ = (NIM_BOOL)0;
2692 			T12_ = mustRehash__injectdestructors_2730((*s));
2693 			if (!T12_) goto LA13_;
2694 			enlarge__injectdestructors_2922(s);
2695 			index = rawGetKnownHC__injectdestructors_3173((*s), key, hc);
2696 		}
2697 		LA13_: ;
2698 		rawInsert__injectdestructors_3539(s, (&(*s).data), key, hc, (NI)(((NI) -1) - index));
2699 		(*s).counter += ((NI) 1);
2700 	}
2701 	LA8_: ;
2702 }
N_NIMCALL(void,excl__injectdestructors_2012)2703 N_LIB_PRIVATE N_NIMCALL(void, excl__injectdestructors_2012)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other) {
2704 	{
2705 		NI item;
2706 		item = (NI)0;
2707 		{
2708 			if (!((*other).elems <= ((NI) 34))) goto LA4_;
2709 			{
2710 				NI i;
2711 				NI i_2;
2712 				i = (NI)0;
2713 				i_2 = ((NI) 0);
2714 				{
2715 					while (1) {
2716 						if (!(i_2 < (*other).elems)) goto LA8;
2717 						i = i_2;
2718 						item = (*other).a[(i)- 0];
2719 						excl__reorder_264(s, item);
2720 						i_2 += ((NI) 1);
2721 					} LA8: ;
2722 				}
2723 			}
2724 		}
2725 		goto LA2_;
2726 		LA4_: ;
2727 		{
2728 			tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
2729 			r = (*other).head;
2730 			{
2731 				while (1) {
2732 					NI i_3;
2733 					if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA11;
2734 					i_3 = ((NI) 0);
2735 					{
2736 						while (1) {
2737 							NU w;
2738 							NI j;
2739 							if (!(i_3 <= ((NI) 15))) goto LA13;
2740 							w = (*r).bits[(i_3)- 0];
2741 							j = ((NI) 0);
2742 							{
2743 								while (1) {
2744 									if (!!((w == ((NU) 0)))) goto LA15;
2745 									{
2746 										NI T20_;
2747 										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA18_;
2748 										T20_ = (NI)0;
2749 										T20_ = pluspercent___system_696((NI)((NU32)(i_3) << (NU32)(((NI) 5))), j);
2750 										item = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T20_);
2751 										excl__reorder_264(s, item);
2752 									}
2753 									LA18_: ;
2754 									j += ((NI) 1);
2755 									w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
2756 								} LA15: ;
2757 							}
2758 							i_3 += ((NI) 1);
2759 						} LA13: ;
2760 					}
2761 					r = (*r).next;
2762 				} LA11: ;
2763 			}
2764 		}
2765 		LA2_: ;
2766 	}
2767 }
N_NIMCALL(void,incl__injectdestructors_2107)2768 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2107)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ other) {
2769 	{
2770 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* item;
2771 		NI length;
2772 		item = NIM_NIL;
2773 		length = len__injectdestructors_2169(other);
2774 		{
2775 			NI h;
2776 			NI colontmp_;
2777 			NI T3_;
2778 			NI res;
2779 			h = (NI)0;
2780 			colontmp_ = (NI)0;
2781 			T3_ = ((other.data ? other.data->Sup.len : 0)-1);
2782 			colontmp_ = T3_;
2783 			res = ((NI) 0);
2784 			{
2785 				while (1) {
2786 					if (!(res <= colontmp_)) goto LA5;
2787 					h = res;
2788 					{
2789 						NIM_BOOL T8_;
2790 						T8_ = (NIM_BOOL)0;
2791 						T8_ = isFilled__pureZcollectionsZsets_38(other.data->data[h].Field0);
2792 						if (!T8_) goto LA9_;
2793 						item = other.data->data[h].Field1;
2794 						incl__injectdestructors_2395(s, item);
2795 					}
2796 					LA9_: ;
2797 					res += ((NI) 1);
2798 				} LA5: ;
2799 			}
2800 		}
2801 	}
2802 }
N_NIMCALL(void,mergeStates__injectdestructors_1944)2803 N_LIB_PRIVATE N_NIMCALL(void, mergeStates__injectdestructors_1944)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** a, tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* b) {
2804 	{
2805 		if (!((*a) == ((tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) NIM_NIL))) goto LA3_;
2806 		unsureAsgnRef((void**) (&(*a)), b);
2807 	}
2808 	goto LA1_;
2809 	LA3_: ;
2810 	{
2811 		incl__importer_1492((&(*(*a)).lastReads), (&(*b).lastReads));
2812 		incl__importer_1492((&(*(*a)).potentialLastReads), (&(*b).potentialLastReads));
2813 		excl__injectdestructors_2012((&(*(*a)).potentialLastReads), (&(*(*a)).notLastReads));
2814 		excl__injectdestructors_2012((&(*(*a)).potentialLastReads), (&(*b).notLastReads));
2815 		incl__importer_1492((&(*(*a)).notLastReads), (&(*b).notLastReads));
2816 		incl__injectdestructors_2107((&(*(*a)).alreadySeen), (*b).alreadySeen);
2817 	}
2818 	LA1_: ;
2819 }
N_INLINE(void,minus___sem_4040)2820 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2821 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
2822 	nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2823 	difference__sem_4045(s1, s2, (&T1_));
2824 	genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
2825 }
N_NIMCALL(void,union__injectdestructors_4127)2826 N_LIB_PRIVATE N_NIMCALL(void, union__injectdestructors_4127)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2827 	NI T1_;
2828 	(*Result).elems = 0;
2829 	(*Result).counter = 0;
2830 	(*Result).max = 0;
2831 	unsureAsgnRef((void**)&(*Result).head, NIM_NIL);
2832 	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
2833 	T1_ = (NI)0;
2834 	for (T1_ = 0; T1_ < 34; T1_++) {
2835 	(*Result).a[T1_] = 0;
2836 	}
2837 	assign__types_3920(Result, s1);
2838 	incl__importer_1492(Result, s2);
2839 }
N_INLINE(void,plus___injectdestructors_4122)2840 static N_INLINE(void, plus___injectdestructors_4122)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2841 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
2842 	nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2843 	union__injectdestructors_4127(s1, s2, (&T1_));
2844 	genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
2845 }
N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw **,X5BX5D___injectdestructors_4096)2846 static N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**, X5BX5D___injectdestructors_4096)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** s, NI sLen_0, NI i) {
2847 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** result;
2848 	result = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
2849 	result = &s[(NI)(sLen_0 - i)];
2850 	return result;
2851 }
N_NIMCALL(void,Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)2852 static N_NIMCALL(void, Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)(void* p, NI op) {
2853 	tySequence__JGK6WZYU2JHWLoPdKRO4AQ* a;
2854 	NI T1_;
2855 	a = (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*)p;
2856 	T1_ = (NI)0;
2857 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
2858 	nimGCvisit((void*)a->data[T1_].Field1, op);
2859 	nimGCvisit((void*)a->data[T1_].Field2, op);
2860 	}
2861 }
N_INLINE(NI,rawGet__injectdestructors_4322)2862 static N_INLINE(NI, rawGet__injectdestructors_4322)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc) {
2863 	NI result;
2864 	NI h;
2865 	NI T10_;
2866 {	result = (NI)0;
2867 	(*hc) = hash__injectdestructors_118(key);
2868 	{
2869 		if (!((*hc) == ((NI) 0))) goto LA3_;
2870 		(*hc) = ((NI) 314159265);
2871 	}
2872 	LA3_: ;
2873 	{
2874 		NI T7_;
2875 		T7_ = (t.data ? t.data->Sup.len : 0);
2876 		if (!(T7_ == ((NI) 0))) goto LA8_;
2877 		result = ((NI) -1);
2878 		goto BeforeRet_;
2879 	}
2880 	LA8_: ;
2881 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2882 	h = (NI)((*hc) & T10_);
2883 	{
2884 		while (1) {
2885 			NIM_BOOL T13_;
2886 			NI T20_;
2887 			T13_ = (NIM_BOOL)0;
2888 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2889 			if (!T13_) goto LA12;
2890 			{
2891 				NIM_BOOL T16_;
2892 				T16_ = (NIM_BOOL)0;
2893 				T16_ = (t.data->data[h].Field0 == (*hc));
2894 				if (!(T16_)) goto LA17_;
2895 				T16_ = (t.data->data[h].Field1 == key);
2896 				LA17_: ;
2897 				if (!T16_) goto LA18_;
2898 				result = h;
2899 				goto BeforeRet_;
2900 			}
2901 			LA18_: ;
2902 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2903 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
2904 		} LA12: ;
2905 	}
2906 	result = (NI)(((NI) -1) - h);
2907 	}BeforeRet_: ;
2908 	return result;
2909 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_4652)2910 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_4652)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t) {
2911 	NIM_BOOL result;
2912 	NIM_BOOL T1_;
2913 	NI T2_;
2914 	NI T4_;
2915 	result = (NIM_BOOL)0;
2916 	T1_ = (NIM_BOOL)0;
2917 	T2_ = (t.data ? t.data->Sup.len : 0);
2918 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2919 	if (T1_) goto LA3_;
2920 	T4_ = (t.data ? t.data->Sup.len : 0);
2921 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2922 	LA3_: ;
2923 	result = T1_;
2924 	return result;
2925 }
N_NIMCALL(void,rawInsert__injectdestructors_5169)2926 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_5169)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tySequence__JGK6WZYU2JHWLoPdKRO4AQ** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val, NI hc, NI h) {
2927 	asgnRef((void**) (&(*data)->data[h].Field1), key);
2928 	genericSeqAssign((&(*data)->data[h].Field2), val, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
2929 	(*data)->data[h].Field0 = hc;
2930 }
N_NIMCALL(void,enlarge__injectdestructors_4838)2931 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_4838)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t) {
2932 	tySequence__JGK6WZYU2JHWLoPdKRO4AQ* n;
2933 	NI T1_;
2934 	tySequence__JGK6WZYU2JHWLoPdKRO4AQ* T2_;
2935 	n = NIM_NIL;
2936 	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2937 	n = (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2938 	T2_ = NIM_NIL;
2939 	T2_ = (*t).data;
2940 	unsureAsgnRef((void**) (&(*t).data), n);
2941 	n = T2_;
2942 	{
2943 		NI i;
2944 		NI colontmp_;
2945 		NI T4_;
2946 		NI res;
2947 		i = (NI)0;
2948 		colontmp_ = (NI)0;
2949 		T4_ = ((n ? n->Sup.len : 0)-1);
2950 		colontmp_ = T4_;
2951 		res = ((NI) 0);
2952 		{
2953 			while (1) {
2954 				NI eh;
2955 				if (!(res <= colontmp_)) goto LA6;
2956 				i = res;
2957 				eh = n->data[i].Field0;
2958 				{
2959 					NIM_BOOL T9_;
2960 					NI j;
2961 					NI T12_;
2962 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
2963 					tySequence__qwqHTkRvwhrRyENtudHQ7g* T18_;
2964 					T9_ = (NIM_BOOL)0;
2965 					T9_ = isFilled__pureZcollectionsZtables_31(eh);
2966 					if (!T9_) goto LA10_;
2967 					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2968 					j = (NI)(eh & T12_);
2969 					{
2970 						while (1) {
2971 							NIM_BOOL T15_;
2972 							NI T16_;
2973 							T15_ = (NIM_BOOL)0;
2974 							T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
2975 							if (!T15_) goto LA14;
2976 							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2977 							j = nextTry__pureZcollectionsZtables_34(j, T16_);
2978 						} LA14: ;
2979 					}
2980 					T17_ = NIM_NIL;
2981 					T17_ = n->data[i].Field1;
2982 					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
2983 					T18_ = NIM_NIL;
2984 					T18_ = n->data[i].Field2;
2985 					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
2986 					rawInsert__injectdestructors_5169(t, (&(*t).data), T17_, T18_, eh, j);
2987 				}
2988 				LA10_: ;
2989 				res += ((NI) 1);
2990 			} LA6: ;
2991 		}
2992 	}
2993 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_5350)2994 static N_INLINE(NI, rawGetKnownHC__injectdestructors_5350)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc) {
2995 	NI result;
2996 	NI h;
2997 	NI T6_;
2998 {	result = (NI)0;
2999 	{
3000 		NI T3_;
3001 		T3_ = (t.data ? t.data->Sup.len : 0);
3002 		if (!(T3_ == ((NI) 0))) goto LA4_;
3003 		result = ((NI) -1);
3004 		goto BeforeRet_;
3005 	}
3006 	LA4_: ;
3007 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
3008 	h = (NI)(hc & T6_);
3009 	{
3010 		while (1) {
3011 			NIM_BOOL T9_;
3012 			NI T16_;
3013 			T9_ = (NIM_BOOL)0;
3014 			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
3015 			if (!T9_) goto LA8;
3016 			{
3017 				NIM_BOOL T12_;
3018 				T12_ = (NIM_BOOL)0;
3019 				T12_ = (t.data->data[h].Field0 == hc);
3020 				if (!(T12_)) goto LA13_;
3021 				T12_ = (t.data->data[h].Field1 == key);
3022 				LA13_: ;
3023 				if (!T12_) goto LA14_;
3024 				result = h;
3025 				goto BeforeRet_;
3026 			}
3027 			LA14_: ;
3028 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
3029 			h = nextTry__pureZcollectionsZtables_34(h, T16_);
3030 		} LA8: ;
3031 	}
3032 	result = (NI)(((NI) -1) - h);
3033 	}BeforeRet_: ;
3034 	return result;
3035 }
N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g **,mgetOrPut__injectdestructors_4249)3036 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g**, mgetOrPut__injectdestructors_4249)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val) {
3037 	tySequence__qwqHTkRvwhrRyENtudHQ7g** result;
3038 	NI hc;
3039 	NI index;
3040 	result = (tySequence__qwqHTkRvwhrRyENtudHQ7g**)0;
3041 	{
3042 		NI T3_;
3043 		NI correctSizeX60gensym66_;
3044 		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
3045 		if (!(T3_ == ((NI) 0))) goto LA4_;
3046 		correctSizeX60gensym66_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
3047 		(*t).counter = ((NI) 0);
3048 		unsureAsgnRef((void**) (&(*t).data), (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) (correctSizeX60gensym66_))));
3049 	}
3050 	LA4_: ;
3051 	hc = (NI)0;
3052 	index = rawGet__injectdestructors_4322((*t), key, (&hc));
3053 	{
3054 		if (!(index < ((NI) 0))) goto LA8_;
3055 		{
3056 			NI T12_;
3057 			NI correctSizeX60gensym71_;
3058 			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
3059 			if (!(T12_ == ((NI) 0))) goto LA13_;
3060 			correctSizeX60gensym71_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
3061 			(*t).counter = ((NI) 0);
3062 			unsureAsgnRef((void**) (&(*t).data), (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) (correctSizeX60gensym71_))));
3063 		}
3064 		LA13_: ;
3065 		{
3066 			NIM_BOOL T17_;
3067 			T17_ = (NIM_BOOL)0;
3068 			T17_ = mustRehash__injectdestructors_4652((*t));
3069 			if (!T17_) goto LA18_;
3070 			enlarge__injectdestructors_4838(t);
3071 			index = rawGetKnownHC__injectdestructors_5350((*t), key, hc);
3072 		}
3073 		LA18_: ;
3074 		index = (NI)(((NI) -1) - index);
3075 		rawInsert__injectdestructors_5169(t, (&(*t).data), key, val, hc, index);
3076 		(*t).counter += ((NI) 1);
3077 	}
3078 	LA8_: ;
3079 	result = (&(*t).data->data[index].Field2);
3080 	return result;
3081 }
N_NIMCALL(NI,len__injectdestructors_5743)3082 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_5743)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t) {
3083 	NI result;
3084 	result = (NI)0;
3085 	result = t.counter;
3086 	return result;
3087 }
N_NIMCALL(void,computeLastReadsAndFirstWrites__injectdestructors_3780)3088 N_LIB_PRIVATE N_NIMCALL(void, computeLastReadsAndFirstWrites__injectdestructors_3780)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg) {
3089 	tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g cache;
3090 	tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg_2;
3091 	tySequence__mFtVDW3p7w6wfPPNodKzsA* states;
3092 	NI T1_;
3093 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T2_;
3094 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA lastReads;
3095 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T125_;
3096 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T126_;
3097 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T127_;
3098 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T128_;
3099 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T129_;
3100 	tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ lastReadTable;
3101 	nimZeroMem((void*)(&cache), sizeof(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g));
3102 	initTable__injectdestructors_3782(((NI) 32), (&cache));
3103 	genericSeqAssign((&cfg_2), cfg, (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_));
3104 	preprocessCfg__injectdestructors_1924((&cfg_2));
3105 	T1_ = (cfg_2 ? cfg_2->Sup.len : 0);
3106 	states = newSeq__injectdestructors_3802(((NI) ((NI)(T1_ + ((NI) 1)))));
3107 	T2_ = NIM_NIL;
3108 	T2_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) newObj((&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_), sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw));
3109 	asgnRef((void**) (&states->data[((NI) 0)]), T2_);
3110 	{
3111 		NI pc;
3112 		NI colontmp_;
3113 		NI T4_;
3114 		NI i;
3115 		pc = (NI)0;
3116 		colontmp_ = (NI)0;
3117 		T4_ = (cfg_2 ? cfg_2->Sup.len : 0);
3118 		colontmp_ = T4_;
3119 		i = ((NI) 0);
3120 		{
3121 			while (1) {
3122 				if (!(i < colontmp_)) goto LA6;
3123 				pc = i;
3124 				{
3125 					if (!!((states->data[pc] == ((tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) NIM_NIL)))) goto LA9_;
3126 					switch (cfg_2->data[pc].kind) {
3127 					case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 2):
3128 					{
3129 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReadsCopy;
3130 						NIM_BOOL alreadySeenThisNode;
3131 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T77_;
3132 						nimZeroMem((void*)(&potentialLastReadsCopy), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3133 						genericAssign((void*)(&potentialLastReadsCopy), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3134 						{
3135 							NI r;
3136 							r = (NI)0;
3137 							{
3138 								if (!(potentialLastReadsCopy.elems <= ((NI) 34))) goto LA15_;
3139 								{
3140 									NI i_2;
3141 									NI i_3;
3142 									i_2 = (NI)0;
3143 									i_3 = ((NI) 0);
3144 									{
3145 										while (1) {
3146 											if (!(i_3 < potentialLastReadsCopy.elems)) goto LA19;
3147 											i_2 = i_3;
3148 											r = potentialLastReadsCopy.a[(i_2)- 0];
3149 											{
3150 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T22_;
3151 												T22_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3152 												T22_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r].n);
3153 												if (!(T22_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0))) goto LA23_;
3154 												incl__pureZcollectionsZintsets_55((&(*states->data[pc]).lastReads), r);
3155 												excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3156 											}
3157 											goto LA20_;
3158 											LA23_: ;
3159 											{
3160 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T26_;
3161 												NimStringDesc* T29_;
3162 												NimStringDesc* T30_;
3163 												T26_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3164 												T26_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r].n, cfg_2->data[pc].n);
3165 												if (!!((T26_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)))) goto LA27_;
3166 												T29_ = NIM_NIL;
3167 												T30_ = NIM_NIL;
3168 												T30_ = dollar___systemZdollars_3(pc);
3169 												T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + 1);
3170 appendChar(T29_, 10);
3171 appendString(T29_, T30_);
3172 												commenteq___ast_1361(cfg_2->data[r].n, T29_);
3173 												excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3174 												incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r);
3175 											}
3176 											goto LA20_;
3177 											LA27_: ;
3178 											LA20_: ;
3179 											i_3 += ((NI) 1);
3180 										} LA19: ;
3181 									}
3182 								}
3183 							}
3184 							goto LA13_;
3185 							LA15_: ;
3186 							{
3187 								tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r_2;
3188 								r_2 = potentialLastReadsCopy.head;
3189 								{
3190 									while (1) {
3191 										NI i_4;
3192 										if (!!((r_2 == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA33;
3193 										i_4 = ((NI) 0);
3194 										{
3195 											while (1) {
3196 												NU w;
3197 												NI j;
3198 												if (!(i_4 <= ((NI) 15))) goto LA35;
3199 												w = (*r_2).bits[(i_4)- 0];
3200 												j = ((NI) 0);
3201 												{
3202 													while (1) {
3203 														if (!!((w == ((NU) 0)))) goto LA37;
3204 														{
3205 															NI T42_;
3206 															if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA40_;
3207 															T42_ = (NI)0;
3208 															T42_ = pluspercent___system_696((NI)((NU32)(i_4) << (NU32)(((NI) 5))), j);
3209 															r = (NI)((NI)((NU32)((*r_2).key) << (NU32)(((NI) 9))) | T42_);
3210 															{
3211 																tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T45_;
3212 																T45_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3213 																T45_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r].n);
3214 																if (!(T45_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0))) goto LA46_;
3215 																incl__pureZcollectionsZintsets_55((&(*states->data[pc]).lastReads), r);
3216 																excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3217 															}
3218 															goto LA43_;
3219 															LA46_: ;
3220 															{
3221 																tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T49_;
3222 																NimStringDesc* T52_;
3223 																NimStringDesc* T53_;
3224 																T49_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3225 																T49_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r].n, cfg_2->data[pc].n);
3226 																if (!!((T49_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)))) goto LA50_;
3227 																T52_ = NIM_NIL;
3228 																T53_ = NIM_NIL;
3229 																T53_ = dollar___systemZdollars_3(pc);
3230 																T52_ = rawNewString((T53_ ? T53_->Sup.len : 0) + 1);
3231 appendChar(T52_, 10);
3232 appendString(T52_, T53_);
3233 																commenteq___ast_1361(cfg_2->data[r].n, T52_);
3234 																excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3235 																incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r);
3236 															}
3237 															goto LA43_;
3238 															LA50_: ;
3239 															LA43_: ;
3240 														}
3241 														LA40_: ;
3242 														j += ((NI) 1);
3243 														w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
3244 													} LA37: ;
3245 												}
3246 												i_4 += ((NI) 1);
3247 											} LA35: ;
3248 										}
3249 										r_2 = (*r_2).next;
3250 									} LA33: ;
3251 								}
3252 							}
3253 							LA13_: ;
3254 						}
3255 						alreadySeenThisNode = NIM_FALSE;
3256 						{
3257 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
3258 							tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ colontmp__2;
3259 							NI length;
3260 							s = NIM_NIL;
3261 							nimZeroMem((void*)(&colontmp__2), sizeof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ));
3262 							colontmp__2.data = (*states->data[pc]).alreadySeen.data;
3263 							colontmp__2.counter = (*states->data[pc]).alreadySeen.counter;
3264 							length = len__injectdestructors_2169(colontmp__2);
3265 							{
3266 								NI h;
3267 								NI colontmp__3;
3268 								NI T56_;
3269 								NI res;
3270 								h = (NI)0;
3271 								colontmp__3 = (NI)0;
3272 								T56_ = ((colontmp__2.data ? colontmp__2.data->Sup.len : 0)-1);
3273 								colontmp__3 = T56_;
3274 								res = ((NI) 0);
3275 								{
3276 									while (1) {
3277 										if (!(res <= colontmp__3)) goto LA58;
3278 										h = res;
3279 										{
3280 											NIM_BOOL T61_;
3281 											T61_ = (NIM_BOOL)0;
3282 											T61_ = isFilled__pureZcollectionsZsets_38(colontmp__2.data->data[h].Field0);
3283 											if (!T61_) goto LA62_;
3284 											s = colontmp__2.data->data[h].Field1;
3285 											{
3286 												NIM_BOOL T66_;
3287 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T67_;
3288 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T69_;
3289 												T66_ = (NIM_BOOL)0;
3290 												T67_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3291 												T67_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, s);
3292 												T66_ = !((T67_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3293 												if (T66_) goto LA68_;
3294 												T69_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3295 												T69_ = aliasesCached__injectdestructors_121((&cache), s, cfg_2->data[pc].n);
3296 												T66_ = !((T69_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3297 												LA68_: ;
3298 												if (!T66_) goto LA70_;
3299 												alreadySeenThisNode = NIM_TRUE;
3300 												goto LA54;
3301 											}
3302 											LA70_: ;
3303 										}
3304 										LA62_: ;
3305 										res += ((NI) 1);
3306 									} LA58: ;
3307 								}
3308 							}
3309 						} LA54: ;
3310 						{
3311 							if (!alreadySeenThisNode) goto LA74_;
3312 							(*cfg_2->data[pc].n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22)) & 31));
3313 						}
3314 						goto LA72_;
3315 						LA74_: ;
3316 						{
3317 							(*cfg_2->data[pc].n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22)) & 31);
3318 						}
3319 						LA72_: ;
3320 						incl__injectdestructors_2395((&(*states->data[pc]).alreadySeen), cfg_2->data[pc].n);
3321 						T77_ = NIM_NIL;
3322 						T77_ = states->data[pc];
3323 						asgnRef((void**) (&states->data[pc]), NIM_NIL);
3324 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T77_);
3325 					}
3326 					break;
3327 					case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3):
3328 					{
3329 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReadsCopy_2;
3330 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T119_;
3331 						nimZeroMem((void*)(&potentialLastReadsCopy_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3332 						genericAssign((void*)(&potentialLastReadsCopy_2), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3333 						{
3334 							NI r_3;
3335 							r_3 = (NI)0;
3336 							{
3337 								if (!(potentialLastReadsCopy_2.elems <= ((NI) 34))) goto LA82_;
3338 								{
3339 									NI i_5;
3340 									NI i_6;
3341 									i_5 = (NI)0;
3342 									i_6 = ((NI) 0);
3343 									{
3344 										while (1) {
3345 											if (!(i_6 < potentialLastReadsCopy_2.elems)) goto LA86;
3346 											i_5 = i_6;
3347 											r_3 = potentialLastReadsCopy_2.a[(i_5)- 0];
3348 											{
3349 												NIM_BOOL T89_;
3350 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T90_;
3351 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T92_;
3352 												NimStringDesc* T95_;
3353 												NimStringDesc* T96_;
3354 												T89_ = (NIM_BOOL)0;
3355 												T90_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3356 												T90_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r_3].n);
3357 												T89_ = !((T90_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3358 												if (T89_) goto LA91_;
3359 												T92_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3360 												T92_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r_3].n, cfg_2->data[pc].n);
3361 												T89_ = !((T92_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3362 												LA91_: ;
3363 												if (!T89_) goto LA93_;
3364 												T95_ = NIM_NIL;
3365 												T96_ = NIM_NIL;
3366 												T96_ = dollar___systemZdollars_3(pc);
3367 												T95_ = rawNewString((T96_ ? T96_->Sup.len : 0) + 1);
3368 appendChar(T95_, 10);
3369 appendString(T95_, T96_);
3370 												commenteq___ast_1361(cfg_2->data[r_3].n, T95_);
3371 												excl__reorder_264((&(*states->data[pc]).potentialLastReads), r_3);
3372 												incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r_3);
3373 											}
3374 											LA93_: ;
3375 											i_6 += ((NI) 1);
3376 										} LA86: ;
3377 									}
3378 								}
3379 							}
3380 							goto LA80_;
3381 							LA82_: ;
3382 							{
3383 								tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r_4;
3384 								r_4 = potentialLastReadsCopy_2.head;
3385 								{
3386 									while (1) {
3387 										NI i_7;
3388 										if (!!((r_4 == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA99;
3389 										i_7 = ((NI) 0);
3390 										{
3391 											while (1) {
3392 												NU w_2;
3393 												NI j_2;
3394 												if (!(i_7 <= ((NI) 15))) goto LA101;
3395 												w_2 = (*r_4).bits[(i_7)- 0];
3396 												j_2 = ((NI) 0);
3397 												{
3398 													while (1) {
3399 														if (!!((w_2 == ((NU) 0)))) goto LA103;
3400 														{
3401 															NI T108_;
3402 															if (!!(((NU)(w_2 & ((NU) 1)) == ((NU) 0)))) goto LA106_;
3403 															T108_ = (NI)0;
3404 															T108_ = pluspercent___system_696((NI)((NU32)(i_7) << (NU32)(((NI) 5))), j_2);
3405 															r_3 = (NI)((NI)((NU32)((*r_4).key) << (NU32)(((NI) 9))) | T108_);
3406 															{
3407 																NIM_BOOL T111_;
3408 																tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T112_;
3409 																tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T114_;
3410 																NimStringDesc* T117_;
3411 																NimStringDesc* T118_;
3412 																T111_ = (NIM_BOOL)0;
3413 																T112_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3414 																T112_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r_3].n);
3415 																T111_ = !((T112_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3416 																if (T111_) goto LA113_;
3417 																T114_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3418 																T114_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r_3].n, cfg_2->data[pc].n);
3419 																T111_ = !((T114_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3420 																LA113_: ;
3421 																if (!T111_) goto LA115_;
3422 																T117_ = NIM_NIL;
3423 																T118_ = NIM_NIL;
3424 																T118_ = dollar___systemZdollars_3(pc);
3425 																T117_ = rawNewString((T118_ ? T118_->Sup.len : 0) + 1);
3426 appendChar(T117_, 10);
3427 appendString(T117_, T118_);
3428 																commenteq___ast_1361(cfg_2->data[r_3].n, T117_);
3429 																excl__reorder_264((&(*states->data[pc]).potentialLastReads), r_3);
3430 																incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r_3);
3431 															}
3432 															LA115_: ;
3433 														}
3434 														LA106_: ;
3435 														j_2 += ((NI) 1);
3436 														w_2 = (NU)((NU32)(w_2) >> (NU32)(((NI) 1)));
3437 													} LA103: ;
3438 												}
3439 												i_7 += ((NI) 1);
3440 											} LA101: ;
3441 										}
3442 										r_4 = (*r_4).next;
3443 									} LA99: ;
3444 								}
3445 							}
3446 							LA80_: ;
3447 						}
3448 						incl__pureZcollectionsZintsets_55((&(*states->data[pc]).potentialLastReads), pc);
3449 						incl__injectdestructors_2395((&(*states->data[pc]).alreadySeen), cfg_2->data[pc].n);
3450 						T119_ = NIM_NIL;
3451 						T119_ = states->data[pc];
3452 						asgnRef((void**) (&states->data[pc]), NIM_NIL);
3453 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T119_);
3454 					}
3455 					break;
3456 					case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0):
3457 					{
3458 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T121_;
3459 						T121_ = NIM_NIL;
3460 						T121_ = states->data[pc];
3461 						asgnRef((void**) (&states->data[pc]), NIM_NIL);
3462 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + cfg_2->data[pc].dest)], T121_);
3463 					}
3464 					break;
3465 					case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1):
3466 					{
3467 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* copy;
3468 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T123_;
3469 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T124_;
3470 						T123_ = NIM_NIL;
3471 						T123_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) newObj((&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_), sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw));
3472 						copy = T123_;
3473 						genericAssign((void*)(&(*copy).lastReads), (void*)(&(*states->data[pc]).lastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3474 						genericAssign((void*)(&(*copy).potentialLastReads), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3475 						genericAssign((void*)(&(*copy).notLastReads), (void*)(&(*states->data[pc]).notLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3476 						genericSeqAssign((&(*copy).alreadySeen.data), (*states->data[pc]).alreadySeen.data, (&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_));
3477 						(*copy).alreadySeen.counter = (*states->data[pc]).alreadySeen.counter;
3478 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + cfg_2->data[pc].dest)], copy);
3479 						T124_ = NIM_NIL;
3480 						T124_ = states->data[pc];
3481 						asgnRef((void**) (&states->data[pc]), NIM_NIL);
3482 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T124_);
3483 					}
3484 					break;
3485 					}
3486 				}
3487 				LA9_: ;
3488 				i += ((NI) 1);
3489 			} LA6: ;
3490 		}
3491 	}
3492 	nimZeroMem((void*)(&lastReads), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3493 	T125_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3494 	T125_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3495 	T126_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3496 	T126_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3497 	nimZeroMem((void*)(&T127_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3498 	plus___injectdestructors_4122((&(*(*T125_)).lastReads), (&(*(*T126_)).potentialLastReads), (&T127_));
3499 	T128_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3500 	T128_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3501 	nimZeroMem((void*)(&T129_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3502 	minus___sem_4040((&T127_), (&(*(*T128_)).notLastReads), (&T129_));
3503 	nimCopyMem((void*)(&lastReads), (NIM_CONST void*)(&T129_), sizeof(lastReads));
3504 	nimZeroMem((void*)(&lastReadTable), sizeof(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ));
3505 	{
3506 		NI position;
3507 		tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg node;
3508 		NI i_8;
3509 		NI L;
3510 		NI T131_;
3511 		position = (NI)0;
3512 		nimZeroMem((void*)(&node), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
3513 		i_8 = ((NI) 0);
3514 		T131_ = (cfg_2 ? cfg_2->Sup.len : 0);
3515 		L = T131_;
3516 		{
3517 			while (1) {
3518 				if (!(i_8 < L)) goto LA133;
3519 				position = i_8;
3520 				nimCopyMem((void*)(&node), (NIM_CONST void*)(&cfg_2->data[i_8]), sizeof(node));
3521 				{
3522 					tySequence__qwqHTkRvwhrRyENtudHQ7g* T138_;
3523 					tySequence__qwqHTkRvwhrRyENtudHQ7g** T139_;
3524 					NI T140_;
3525 					if (!(node.kind == ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3))) goto LA136_;
3526 					T138_ = NIM_NIL;
3527 					T138_ = NIM_NIL;
3528 					T139_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g**)0;
3529 					T139_ = mgetOrPut__injectdestructors_4249((&lastReadTable), node.n, T138_);
3530 					unsureAsgnRef((void**) (&(*T139_)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*T139_)), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
3531 					T140_ = (*T139_)->Sup.len++;
3532 					(*T139_)->data[T140_] = position;
3533 				}
3534 				LA136_: ;
3535 				i_8 += ((NI) 1);
3536 			} LA133: ;
3537 		}
3538 	}
3539 	{
3540 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node_2;
3541 		tySequence__qwqHTkRvwhrRyENtudHQ7g* positions;
3542 		NI L_2;
3543 		node_2 = NIM_NIL;
3544 		positions = NIM_NIL;
3545 		L_2 = len__injectdestructors_5743(lastReadTable);
3546 		{
3547 			NI h_2;
3548 			NI colontmp__4;
3549 			NI T143_;
3550 			NI res_2;
3551 			h_2 = (NI)0;
3552 			colontmp__4 = (NI)0;
3553 			T143_ = ((lastReadTable.data ? lastReadTable.data->Sup.len : 0)-1);
3554 			colontmp__4 = T143_;
3555 			res_2 = ((NI) 0);
3556 			{
3557 				while (1) {
3558 					if (!(res_2 <= colontmp__4)) goto LA145;
3559 					h_2 = res_2;
3560 					{
3561 						NIM_BOOL T148_;
3562 						T148_ = (NIM_BOOL)0;
3563 						T148_ = isFilled__pureZcollectionsZtables_31(lastReadTable.data->data[h_2].Field0);
3564 						if (!T148_) goto LA149_;
3565 						node_2 = lastReadTable.data->data[h_2].Field1;
3566 						positions = lastReadTable.data->data[h_2].Field2;
3567 						{
3568 							{
3569 								NI* p;
3570 								NI i_9;
3571 								NI L_3;
3572 								NI T153_;
3573 								p = (NI*)0;
3574 								i_9 = ((NI) 0);
3575 								T153_ = (positions ? positions->Sup.len : 0);
3576 								L_3 = T153_;
3577 								{
3578 									while (1) {
3579 										if (!(i_9 < L_3)) goto LA155;
3580 										p = (&positions->data[i_9]);
3581 										{
3582 											NIM_BOOL T158_;
3583 											T158_ = (NIM_BOOL)0;
3584 											T158_ = contains__astalgo_3496((&lastReads), (*p));
3585 											if (!!(T158_)) goto LA159_;
3586 											goto LA151;
3587 										}
3588 										LA159_: ;
3589 										i_9 += ((NI) 1);
3590 									} LA155: ;
3591 								}
3592 							}
3593 							(*node_2).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 21)) & 31);
3594 						} LA151: ;
3595 					}
3596 					LA149_: ;
3597 					res_2 += ((NI) 1);
3598 				} LA145: ;
3599 			}
3600 		}
3601 	}
3602 }
N_INLINE(NI,len__ast_3198)3603 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3604 	NI result;
3605 	NI T1_;
3606 	result = (NI)0;
3607 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
3608 	result = T1_;
3609 	return result;
3610 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)3611 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3612 	NIM_BOOL result;
3613 	NIM_BOOL T1_;
3614 	result = (NIM_BOOL)0;
3615 	T1_ = (NIM_BOOL)0;
3616 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
3617 	if (T1_) goto LA2_;
3618 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
3619 	LA2_: ;
3620 	result = T1_;
3621 	return result;
3622 }
N_NIMCALL(void,nestedScope__injectdestructors_72)3623 N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_72)(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* Result) {
3624 	unsureAsgnRef((void**)&(*Result).vars, NIM_NIL);
3625 	unsureAsgnRef((void**)&(*Result).wasMoved, NIM_NIL);
3626 	unsureAsgnRef((void**)&(*Result).final, NIM_NIL);
3627 	(*Result).needsTry = 0;
3628 	(*Result).parent = NIM_NIL;
3629 	unsureAsgnRef((void**) (&(*Result).vars), NIM_NIL);
3630 	unsureAsgnRef((void**) (&(*Result).wasMoved), NIM_NIL);
3631 	unsureAsgnRef((void**) (&(*Result).final), NIM_NIL);
3632 	(*Result).needsTry = NIM_FALSE;
3633 	(*Result).parent = parent;
3634 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,processScope__injectdestructors_7016)3635 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, processScope__injectdestructors_7016)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret) {
3636 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3637 	result = NIM_NIL;
3638 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*ret).info);
3639 	{
3640 		NI T3_;
3641 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSection;
3642 		T3_ = ((*s).vars ? (*s).vars->Sup.len : 0);
3643 		if (!(((NI) 0) < T3_)) goto LA4_;
3644 		varSection = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*ret).info);
3645 		{
3646 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmp;
3647 			NI i;
3648 			NI L;
3649 			NI T7_;
3650 			tmp = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3651 			i = ((NI) 0);
3652 			T7_ = ((*s).vars ? (*s).vars->Sup.len : 0);
3653 			L = T7_;
3654 			{
3655 				while (1) {
3656 					tyArray__T6RKPw8xfAeNaoei9aZGzXg T10_;
3657 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
3658 					if (!(i < L)) goto LA9;
3659 					tmp = &(*s).vars->data[i];
3660 					nimZeroMem((void*)T10_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3661 					T10_[0] = newSymNode__ast_3716((*tmp));
3662 					T10_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*ret).info);
3663 					T10_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*ret).info);
3664 					T11_ = NIM_NIL;
3665 					T11_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T10_, 3);
3666 					add__ast_4797(varSection, T11_);
3667 					i += ((NI) 1);
3668 				} LA9: ;
3669 			}
3670 		}
3671 		add__ast_4797(result, varSection);
3672 	}
3673 	LA4_: ;
3674 	{
3675 		NIM_BOOL T14_;
3676 		NI T15_;
3677 		NI T17_;
3678 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSection;
3679 		T14_ = (NIM_BOOL)0;
3680 		T15_ = ((*s).wasMoved ? (*s).wasMoved->Sup.len : 0);
3681 		T14_ = (((NI) 0) < T15_);
3682 		if (T14_) goto LA16_;
3683 		T17_ = ((*s).final ? (*s).final->Sup.len : 0);
3684 		T14_ = (((NI) 0) < T17_);
3685 		LA16_: ;
3686 		if (!T14_) goto LA18_;
3687 		finSection = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*ret).info);
3688 		{
3689 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** m;
3690 			NI i_2;
3691 			NI L_2;
3692 			NI T21_;
3693 			m = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
3694 			i_2 = ((NI) 0);
3695 			T21_ = ((*s).wasMoved ? (*s).wasMoved->Sup.len : 0);
3696 			L_2 = T21_;
3697 			{
3698 				while (1) {
3699 					if (!(i_2 < L_2)) goto LA23;
3700 					m = &(*s).wasMoved->data[i_2];
3701 					add__ast_4797(finSection, (*m));
3702 					i_2 += ((NI) 1);
3703 				} LA23: ;
3704 			}
3705 		}
3706 		{
3707 			NI i_3;
3708 			NI colontmp_;
3709 			NI T25_;
3710 			NI res;
3711 			i_3 = (NI)0;
3712 			colontmp_ = (NI)0;
3713 			T25_ = (((*s).final ? (*s).final->Sup.len : 0)-1);
3714 			colontmp_ = T25_;
3715 			res = colontmp_;
3716 			{
3717 				while (1) {
3718 					if (!(((NI) 0) <= res)) goto LA27;
3719 					i_3 = res;
3720 					add__ast_4797(finSection, (*s).final->data[i_3]);
3721 					res -= ((NI) 1);
3722 				} LA27: ;
3723 			}
3724 		}
3725 		{
3726 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
3727 			if (!(*s).needsTry) goto LA30_;
3728 			T32_ = NIM_NIL;
3729 			T32_ = newTryFinally__lowerings_202(ret, finSection);
3730 			add__ast_4797(result, T32_);
3731 		}
3732 		goto LA28_;
3733 		LA30_: ;
3734 		{
3735 			add__ast_4797(result, ret);
3736 			add__ast_4797(result, finSection);
3737 		}
3738 		LA28_: ;
3739 	}
3740 	goto LA12_;
3741 	LA18_: ;
3742 	{
3743 		add__ast_4797(result, ret);
3744 	}
3745 	LA12_: ;
3746 	{
3747 		NIM_BOOL T39_;
3748 		if (!!(((*s).parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA37_;
3749 		T39_ = (NIM_BOOL)0;
3750 		T39_ = (*(*s).parent).needsTry;
3751 		if (T39_) goto LA40_;
3752 		T39_ = (*s).needsTry;
3753 		LA40_: ;
3754 		(*(*s).parent).needsTry = T39_;
3755 	}
3756 	LA37_: ;
3757 	return result;
3758 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)3759 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3760 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3761 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3762 	(*x).symId += ((NI) 1);
3763 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3764 	result.module = (*x).module;
3765 	result.item = (*x).symId;
3766 	return result;
3767 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getTemp__injectdestructors_61)3768 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getTemp__injectdestructors_61)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
3769 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3770 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
3771 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
3772 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
3773 	NI T3_;
3774 	result = NIM_NIL;
3775 	T1_ = NIM_NIL;
3776 	T1_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_14));
3777 	T2_ = nextSymId__ast_3132((*c).idgen);
3778 	sym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5), T1_, T2_, (*c).owner, info, 0);
3779 	asgnRef((void**) (&(*sym).typ), typ);
3780 	unsureAsgnRef((void**) (&(*s).vars), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*s).vars), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
3781 	T3_ = (*s).vars->Sup.len++;
3782 	asgnRef((void**) (&(*s).vars->data[T3_]), sym);
3783 	result = newSymNode__ast_3716(sym);
3784 	return result;
3785 }
N_INLINE(NIM_BOOL,hasDestructor__injectdestructors_49)3786 static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_49)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3787 	NIM_BOOL result;
3788 	result = (NIM_BOOL)0;
3789 	result = !(((IL64(2147483664) & (*t).flags) == 0));
3790 	return result;
3791 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)3792 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3793 	NIM_BOOL result;
3794 	NIM_BOOL T1_;
3795 	result = (NIM_BOOL)0;
3796 	T1_ = (NIM_BOOL)0;
3797 	T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3798 	if (!(T1_)) goto LA2_;
3799 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
3800 	LA2_: ;
3801 	result = T1_;
3802 	return result;
3803 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)3804 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3805 	NIM_BOOL result;
3806 	NIM_BOOL T1_;
3807 	NIM_BOOL T2_;
3808 	result = (NIM_BOOL)0;
3809 	T1_ = (NIM_BOOL)0;
3810 	T2_ = (NIM_BOOL)0;
3811 	T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3812 	if (!(T2_)) goto LA3_;
3813 	T2_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
3814 	LA3_: ;
3815 	T1_ = T2_;
3816 	if (!(T1_)) goto LA4_;
3817 	T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
3818 	LA4_: ;
3819 	result = T1_;
3820 	return result;
3821 }
N_INLINE(int,nimCmpMem)3822 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
3823 	int result;
3824 	result = (int)0;
3825 	result = memcmp(a, b, ((size_t) (size)));
3826 	return result;
3827 }
N_INLINE(NIM_BOOL,equalMem__system_1735)3828 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
3829 	NIM_BOOL result;
3830 	int T1_;
3831 	result = (NIM_BOOL)0;
3832 	T1_ = (int)0;
3833 	T1_ = nimCmpMem(a, b, size);
3834 	result = (T1_ == ((NI32) 0));
3835 	return result;
3836 }
N_INLINE(NIM_BOOL,eqStrings)3837 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
3838 	NIM_BOOL result;
3839 	NI alen;
3840 	NI blen;
3841 {	result = (NIM_BOOL)0;
3842 	alen = (a ? a->Sup.len : 0);
3843 	blen = (b ? b->Sup.len : 0);
3844 	{
3845 		if (!(alen == blen)) goto LA3_;
3846 		{
3847 			if (!(alen == ((NI) 0))) goto LA7_;
3848 			result = NIM_TRUE;
3849 			goto BeforeRet_;
3850 		}
3851 		LA7_: ;
3852 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
3853 		goto BeforeRet_;
3854 	}
3855 	LA3_: ;
3856 	}BeforeRet_: ;
3857 	return result;
3858 }
N_INLINE(NIM_BOOL,startsWith__pureZstrutils_1246)3859 static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_1246)(NimStringDesc* s, NIM_CHAR prefix) {
3860 	NIM_BOOL result;
3861 	NIM_BOOL T1_;
3862 	result = (NIM_BOOL)0;
3863 	T1_ = (NIM_BOOL)0;
3864 	T1_ = (((NI) 0) < (s ? s->Sup.len : 0));
3865 	if (!(T1_)) goto LA2_;
3866 	T1_ = ((NU8)(s->data[((NI) 0)]) == (NU8)(prefix));
3867 	LA2_: ;
3868 	result = T1_;
3869 	return result;
3870 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_3215)3871 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
3872 	NimStringDesc* result;
3873 	NI a;
3874 	NI L;
3875 	result = NIM_NIL;
3876 	a = x.a;
3877 	L = (NI)((NI)((NI)((s ? s->Sup.len : 0) - x.b) - a) + ((NI) 1));
3878 	result = mnewString(((NI) (L)));
3879 	{
3880 		NI i;
3881 		NI i_2;
3882 		i = (NI)0;
3883 		i_2 = ((NI) 0);
3884 		{
3885 			while (1) {
3886 				if (!(i_2 < L)) goto LA3;
3887 				i = i_2;
3888 				result->data[i] = s->data[(NI)(i + a)];
3889 				i_2 += ((NI) 1);
3890 			} LA3: ;
3891 		}
3892 	}
3893 	return result;
3894 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___stdZenumutils_80)3895 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
3896 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
3897 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
3898 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
3899 	result.a = a;
3900 	result.b = b;
3901 	return result;
3902 }
N_INLINE(NIM_BOOL,isSinkType__ast_5045)3903 static N_INLINE(NIM_BOOL, isSinkType__ast_5045)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3904 	NIM_BOOL result;
3905 	NIM_BOOL T1_;
3906 	result = (NIM_BOOL)0;
3907 	T1_ = (NIM_BOOL)0;
3908 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
3909 	if (T1_) goto LA2_;
3910 	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
3911 	LA2_: ;
3912 	result = T1_;
3913 	return result;
3914 }
N_NIMCALL(void,checkForErrorPragma__injectdestructors_6380)3915 N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_6380)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NimStringDesc* opname) {
3916 	NimStringDesc* m;
3917 	NimStringDesc* T1_;
3918 	NimStringDesc* T2_;
3919 	T1_ = NIM_NIL;
3920 	T2_ = NIM_NIL;
3921 	T2_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3922 	T1_ = rawNewString((opname ? opname->Sup.len : 0) + (T2_ ? T2_->Sup.len : 0) + 31);
3923 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_22));
3924 appendString(T1_, opname);
3925 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_23));
3926 appendString(T1_, T2_);
3927 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_24));
3928 	m = T1_;
3929 	{
3930 		NIM_BOOL T5_;
3931 		NIM_BOOL T6_;
3932 		NimStringDesc* T11_;
3933 		T5_ = (NIM_BOOL)0;
3934 		T6_ = (NIM_BOOL)0;
3935 		T6_ = eqStrings(opname, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_25));
3936 		if (T6_) goto LA7_;
3937 		T6_ = eqStrings(opname, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26));
3938 		LA7_: ;
3939 		T5_ = T6_;
3940 		if (!(T5_)) goto LA8_;
3941 		T5_ = !((ri == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3942 		LA8_: ;
3943 		if (!T5_) goto LA9_;
3944 		m = resizeString(m, 53);
3945 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_27));
3946 		T11_ = NIM_NIL;
3947 		T11_ = renderTree__renderer_46(ri, 0);
3948 		m = resizeString(m, (T11_ ? T11_->Sup.len : 0) + 0);
3949 appendString(m, T11_);
3950 		m = addChar(m, 39);
3951 		{
3952 			NimStringDesc* T14_;
3953 			NIM_BOOL T15_;
3954 			NimStringDesc* T18_;
3955 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T19_;
3956 			NimStringDesc* T20_;
3957 			NI T21_;
3958 			NimStringDesc* T22_;
3959 			T14_ = NIM_NIL;
3960 			T14_ = comment__ast_993(ri);
3961 			T15_ = (NIM_BOOL)0;
3962 			T15_ = startsWith__pureZstrutils_1246(T14_, 10);
3963 			if (!T15_) goto LA16_;
3964 			m = resizeString(m, 29);
3965 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28));
3966 			T18_ = NIM_NIL;
3967 			T18_ = comment__ast_993(ri);
3968 			T19_ = dotdot___stdZenumutils_80(((NI) 1), ((NI) 1));
3969 			T20_ = NIM_NIL;
3970 			T20_ = X5BX5D___pureZunicode_3215(T18_, T19_);
3971 			T21_ = (NI)0;
3972 			T21_ = nsuParseInt(T20_);
3973 			T22_ = NIM_NIL;
3974 			T22_ = dollar___msgs_624((*(*c).graph).config, (*(*c).g->data[T21_].n).info);
3975 			m = resizeString(m, (T22_ ? T22_->Sup.len : 0) + 0);
3976 appendString(m, T22_);
3977 		}
3978 		goto LA12_;
3979 		LA16_: ;
3980 		{
3981 			NIM_BOOL T24_;
3982 			NIM_BOOL T25_;
3983 			NIM_BOOL T28_;
3984 			NimStringDesc* T31_;
3985 			T24_ = (NIM_BOOL)0;
3986 			T25_ = (NIM_BOOL)0;
3987 			T25_ = ((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3988 			if (!(T25_)) goto LA26_;
3989 			T25_ = ((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
3990 			LA26_: ;
3991 			T24_ = T25_;
3992 			if (!(T24_)) goto LA27_;
3993 			T28_ = (NIM_BOOL)0;
3994 			T28_ = isSinkType__ast_5045((*(*ri)._kind_4.sym).typ);
3995 			T24_ = !(T28_);
3996 			LA27_: ;
3997 			if (!T24_) goto LA29_;
3998 			m = resizeString(m, 14);
3999 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_29));
4000 			T31_ = NIM_NIL;
4001 			T31_ = renderTree__renderer_46(ri, 0);
4002 			m = resizeString(m, (T31_ ? T31_->Sup.len : 0) + 0);
4003 appendString(m, T31_);
4004 			m = resizeString(m, 19);
4005 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_30));
4006 		}
4007 		goto LA12_;
4008 		LA29_: ;
4009 		LA12_: ;
4010 	}
4011 	LA9_: ;
4012 	m = resizeString(m, 11);
4013 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_31));
4014 	m = resizeString(m, ((*(*(*c).owner).name).s ? (*(*(*c).owner).name).s->Sup.len : 0) + 0);
4015 appendString(m, (*(*(*c).owner).name).s);
4016 	liMessage__msgs_1118((*(*c).graph).config, (*ri).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), m, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_32, NIM_FALSE);
4017 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)4018 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
4019 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
4020 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4021 	(*x).typeId_0 += ((NI) 1);
4022 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4023 	result.module = (*x).module;
4024 	result.item = (*x).typeId_0;
4025 	return result;
4026 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,makePtrType__injectdestructors_6416)4027 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__injectdestructors_6416)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType) {
4028 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
4029 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
4030 	result = NIM_NIL;
4031 	T1_ = nextTypeId__ast_3151((*c).idgen);
4032 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), T1_, (*c).owner);
4033 	addSonSkipIntLit__magicsys_136(result, baseType, (*c).idgen);
4034 	return result;
4035 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genOp__injectdestructors_6420)4036 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6420)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4037 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4038 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* addrExp;
4039 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
4040 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
4041 	result = NIM_NIL;
4042 	T1_ = NIM_NIL;
4043 	T1_ = makePtrType__injectdestructors_6416(c, (*dest).typ);
4044 	addrExp = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*dest).info, T1_);
4045 	add__ast_4797(addrExp, dest);
4046 	nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4047 	T2_[0] = newSymNode__ast_3716(op);
4048 	T2_[1] = addrExp;
4049 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T2_, 2);
4050 	return result;
4051 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genOp__injectdestructors_6430)4052 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6430)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
4053 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4054 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
4055 	result = NIM_NIL;
4056 	op = getAttachedOp__modulegraphs_4011((*c).graph, t, kind);
4057 	{
4058 		NIM_BOOL T3_;
4059 		tyArray__qtqsWM5aXmcpMIVmvq3kAA h;
4060 		tyObject_TType__facALICuu8zUj0hjvbTLFg* canon;
4061 		T3_ = (NIM_BOOL)0;
4062 		T3_ = (op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
4063 		if (T3_) goto LA4_;
4064 		T3_ = isGenericRoutine__ast_4627((*op).ast);
4065 		LA4_: ;
4066 		if (!T3_) goto LA5_;
4067 		nimZeroMem((void*)h, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
4068 		hashType__sighashes_462(t, 50, h);
4069 		canon = getOrDefault__liftdestructors_976((*(*c).graph).canonTypes, h);
4070 		{
4071 			if (!!((canon == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9_;
4072 			op = getAttachedOp__modulegraphs_4011((*c).graph, canon, kind);
4073 		}
4074 		LA9_: ;
4075 	}
4076 	LA5_: ;
4077 	{
4078 		NimStringDesc* T15_;
4079 		NimStringDesc* T16_;
4080 		if (!(op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA13_;
4081 		T15_ = NIM_NIL;
4082 		T16_ = NIM_NIL;
4083 		T16_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4084 		T15_ = rawNewString((AttachedOpToStr__ast_3848[(kind)- 0] ? AttachedOpToStr__ast_3848[(kind)- 0]->Sup.len : 0) + (T16_ ? T16_->Sup.len : 0) + 47);
4085 appendString(T15_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16));
4086 appendString(T15_, AttachedOpToStr__ast_3848[(kind)- 0]);
4087 appendString(T15_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_17));
4088 appendString(T15_, T16_);
4089 		liMessage__msgs_1118((*(*c).graph).config, (*dest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_18, NIM_FALSE);
4090 	}
4091 	goto LA11_;
4092 	LA13_: ;
4093 	{
4094 		NIM_BOOL T18_;
4095 		NimStringDesc* T21_;
4096 		T18_ = (NIM_BOOL)0;
4097 		T18_ = isGenericRoutine__ast_4627((*op).ast);
4098 		if (!T18_) goto LA19_;
4099 		T21_ = NIM_NIL;
4100 		T21_ = rawNewString((AttachedOpToStr__ast_3848[(kind)- 0] ? AttachedOpToStr__ast_3848[(kind)- 0]->Sup.len : 0) + 38);
4101 appendString(T21_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16));
4102 appendString(T21_, AttachedOpToStr__ast_3848[(kind)- 0]);
4103 appendString(T21_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_20));
4104 		liMessage__msgs_1118((*(*c).graph).config, (*dest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_21, NIM_FALSE);
4105 	}
4106 	goto LA11_;
4107 	LA19_: ;
4108 	LA11_: ;
4109 	{
4110 		if (!(((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA24_;
4111 		checkForErrorPragma__injectdestructors_6380((&(*c)), t, ri, AttachedOpToStr__ast_3848[(kind)- 0]);
4112 	}
4113 	LA24_: ;
4114 	result = genOp__injectdestructors_6420(c, op, dest);
4115 	return result;
4116 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDestroy__injectdestructors_6527)4117 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDestroy__injectdestructors_6527)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4118 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4119 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4120 	result = NIM_NIL;
4121 	t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4122 	result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0), dest, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4123 	return result;
4124 }
N_NIMCALL(NIM_BOOL,sameConstant__injectdestructors_8436)4125 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_8436)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4126 	NIM_BOOL result;
4127 	NIM_BOOL T1_;
4128 	result = (NIM_BOOL)0;
4129 	T1_ = (NIM_BOOL)0;
4130 	T1_ = ((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
4131 	if (!(T1_)) goto LA2_;
4132 	T1_ = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
4133 	LA2_: ;
4134 	result = T1_;
4135 	return result;
4136 }
N_NIMCALL(NIM_BOOL,sameLocation__injectdestructors_8432)4137 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_8432)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4138 	NIM_BOOL result;
4139 	result = (NIM_BOOL)0;
4140 	{
4141 		NIM_BOOL T3_;
4142 		T3_ = (NIM_BOOL)0;
4143 		T3_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
4144 		if (!(T3_)) goto LA4_;
4145 		T3_ = ((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
4146 		LA4_: ;
4147 		if (!T3_) goto LA5_;
4148 		{
4149 			if (!((*a).kind == (*b).kind)) goto LA9_;
4150 			switch ((*a).kind) {
4151 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4152 			{
4153 				result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
4154 			}
4155 			break;
4156 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4157 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4158 			{
4159 				NIM_BOOL T13_;
4160 				T13_ = (NIM_BOOL)0;
4161 				T13_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
4162 				if (!(T13_)) goto LA14_;
4163 				T13_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4164 				LA14_: ;
4165 				result = T13_;
4166 			}
4167 			break;
4168 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
4169 			{
4170 				NIM_BOOL T16_;
4171 				T16_ = (NIM_BOOL)0;
4172 				T16_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
4173 				if (!(T16_)) goto LA17_;
4174 				T16_ = sameConstant__injectdestructors_8436((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4175 				LA17_: ;
4176 				result = T16_;
4177 			}
4178 			break;
4179 			default:
4180 			{
4181 				result = NIM_FALSE;
4182 			}
4183 			break;
4184 			}
4185 		}
4186 		goto LA7_;
4187 		LA9_: ;
4188 		{
4189 			result = NIM_FALSE;
4190 		}
4191 		LA7_: ;
4192 	}
4193 	goto LA1_;
4194 	LA5_: ;
4195 	{
4196 		switch ((*a).kind) {
4197 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4198 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4199 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4200 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
4201 		{
4202 			result = sameLocation__injectdestructors_8432(b, a);
4203 		}
4204 		break;
4205 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
4206 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
4207 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
4208 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
4209 		{
4210 			result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], b);
4211 		}
4212 		break;
4213 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
4214 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
4215 		{
4216 			result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], b);
4217 		}
4218 		break;
4219 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
4220 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
4221 		{
4222 			result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 1)], b);
4223 		}
4224 		break;
4225 		default:
4226 		{
4227 			result = NIM_FALSE;
4228 		}
4229 		break;
4230 		}
4231 	}
4232 	LA1_: ;
4233 	return result;
4234 }
N_NIMCALL(NIM_BOOL,isCursor__injectdestructors_6369)4235 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_6369)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4236 	NIM_BOOL result;
4237 	result = (NIM_BOOL)0;
4238 	switch ((*n).kind) {
4239 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4240 	{
4241 		result = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
4242 	}
4243 	break;
4244 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4245 	{
4246 		result = isCursor__injectdestructors_6369((*n)._kind_6.sons->data[((NI) 1)]);
4247 	}
4248 	break;
4249 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4250 	{
4251 		result = isCursor__injectdestructors_6369((*n)._kind_6.sons->data[((NI) 0)]);
4252 	}
4253 	break;
4254 	default:
4255 	{
4256 		result = NIM_FALSE;
4257 	}
4258 	break;
4259 	}
4260 	return result;
4261 }
N_NIMCALL(NIM_BOOL,isFirstWrite__injectdestructors_6120)4262 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_6120)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
4263 	NIM_BOOL result;
4264 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4265 	result = (NIM_BOOL)0;
4266 	m = skipConvDfa__dfa_780(n);
4267 	result = (((*m).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22))&31U)))!=0);
4268 	return result;
4269 }
N_INLINE(NIM_BOOL,isNoInit__injectdestructors_6553)4270 static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_6553)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4271 	NIM_BOOL result;
4272 	NIM_BOOL T1_;
4273 	result = (NIM_BOOL)0;
4274 	T1_ = (NIM_BOOL)0;
4275 	T1_ = ((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4276 	if (!(T1_)) goto LA2_;
4277 	T1_ = (((*(*dest)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0);
4278 	LA2_: ;
4279 	result = T1_;
4280 	return result;
4281 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genSink__injectdestructors_6564)4282 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genSink__injectdestructors_6564)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL isDecl) {
4283 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4284 	result = NIM_NIL;
4285 	{
4286 		NIM_BOOL T3_;
4287 		NIM_BOOL T4_;
4288 		NIM_BOOL T6_;
4289 		NIM_BOOL T7_;
4290 		NIM_BOOL T8_;
4291 		NIM_BOOL T9_;
4292 		NIM_BOOL T14_;
4293 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T19_;
4294 		T3_ = (NIM_BOOL)0;
4295 		T4_ = (NIM_BOOL)0;
4296 		T4_ = ((*c).inLoopCond == ((NI) 0));
4297 		if (!(T4_)) goto LA5_;
4298 		T6_ = (NIM_BOOL)0;
4299 		T7_ = (NIM_BOOL)0;
4300 		T8_ = (NIM_BOOL)0;
4301 		T9_ = (NIM_BOOL)0;
4302 		T9_ = ((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4303 		if (!(T9_)) goto LA10_;
4304 		T9_ = ((*(*dest)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
4305 		LA10_: ;
4306 		T8_ = T9_;
4307 		if (!(T8_)) goto LA11_;
4308 		T8_ = ((*(*(*dest)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
4309 		LA11_: ;
4310 		T7_ = T8_;
4311 		if (T7_) goto LA12_;
4312 		T7_ = isDecl;
4313 		LA12_: ;
4314 		T6_ = T7_;
4315 		if (T6_) goto LA13_;
4316 		T14_ = (NIM_BOOL)0;
4317 		T14_ = isAnalysableFieldAccess__dfa_903(dest, (*c).owner);
4318 		if (!(T14_)) goto LA15_;
4319 		T14_ = isFirstWrite__injectdestructors_6120(dest, c);
4320 		LA15_: ;
4321 		T6_ = T14_;
4322 		LA13_: ;
4323 		T4_ = T6_;
4324 		LA5_: ;
4325 		T3_ = T4_;
4326 		if (T3_) goto LA16_;
4327 		T3_ = isNoInit__injectdestructors_6553(dest);
4328 		LA16_: ;
4329 		if (!T3_) goto LA17_;
4330 		nimZeroMem((void*)T19_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4331 		T19_[0] = dest;
4332 		T19_[1] = ri;
4333 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T19_, 2);
4334 	}
4335 	goto LA1_;
4336 	LA17_: ;
4337 	{
4338 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4339 		t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4340 		{
4341 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
4342 			T23_ = NIM_NIL;
4343 			T23_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4344 			if (!!((T23_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA24_;
4345 			result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2), dest, ri);
4346 			add__ast_4797(result, ri);
4347 		}
4348 		goto LA21_;
4349 		LA24_: ;
4350 		{
4351 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T27_;
4352 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T28_;
4353 			nimZeroMem((void*)T27_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4354 			T27_[0] = genDestroy__injectdestructors_6527(c, dest);
4355 			nimZeroMem((void*)T28_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4356 			T28_[0] = dest;
4357 			T28_[1] = ri;
4358 			T27_[1] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T28_, 2);
4359 			result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T27_, 2);
4360 		}
4361 		LA21_: ;
4362 	}
4363 	LA1_: ;
4364 	return result;
4365 }
N_NIMCALL(NIM_BOOL,isLastRead__injectdestructors_6103)4366 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_6103)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
4367 	NIM_BOOL result;
4368 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4369 	NIM_BOOL T1_;
4370 	NIM_BOOL T2_;
4371 	result = (NIM_BOOL)0;
4372 	m = skipConvDfa__dfa_780(n);
4373 	T1_ = (NIM_BOOL)0;
4374 	T2_ = (NIM_BOOL)0;
4375 	T2_ = ((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4376 	if (!(T2_)) goto LA3_;
4377 	T2_ = (((*(*m)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45))&63U)))!=0);
4378 	LA3_: ;
4379 	T1_ = T2_;
4380 	if (T1_) goto LA4_;
4381 	T1_ = (((*m).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 21))&31U)))!=0);
4382 	LA4_: ;
4383 	result = T1_;
4384 	return result;
4385 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genWasMoved__injectdestructors_6739)4386 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genWasMoved__injectdestructors_6739)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4387 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4388 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
4389 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
4390 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
4391 	result = NIM_NIL;
4392 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
4393 	T1_ = NIM_NIL;
4394 	T1_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_33), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149));
4395 	T2_ = NIM_NIL;
4396 	T2_ = newSymNode__ast_3716(T1_);
4397 	add__ast_4797(result, T2_);
4398 	T3_ = NIM_NIL;
4399 	T3_ = copyTree__ast_4431(n);
4400 	add__ast_4797(result, T3_);
4401 	return result;
4402 }
N_NIMCALL(void,genMarkCyclic__injectdestructors_6612)4403 N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_6612)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4404 	{
4405 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4406 		if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5))) goto LA3_;
4407 		t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35);
4408 		{
4409 			NIM_BOOL T7_;
4410 			T7_ = (NIM_BOOL)0;
4411 			T7_ = cyclicType__liftdestructors_1366(t);
4412 			if (!T7_) goto LA8_;
4413 			{
4414 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
4415 				if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA12_;
4416 				T14_ = NIM_NIL;
4417 				T14_ = callCodegenProc__lowerings_635((*c).graph, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36), (*dest).info, dest, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4418 				add__ast_4797(result, T14_);
4419 			}
4420 			goto LA10_;
4421 			LA12_: ;
4422 			{
4423 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xenv;
4424 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4425 				xenv = genBuiltin__liftdestructors_113((*c).graph, (*c).idgen, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_37), dest);
4426 				asgnRef((void**) (&(*xenv).typ), getSysType__magicsys_60((*c).graph, (*dest).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
4427 				T16_ = NIM_NIL;
4428 				T16_ = callCodegenProc__lowerings_635((*c).graph, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36), (*dest).info, xenv, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4429 				add__ast_4797(result, T16_);
4430 			}
4431 			LA10_: ;
4432 		}
4433 		LA8_: ;
4434 	}
4435 	LA3_: ;
4436 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,destructiveMoveVar__injectdestructors_6760)4437 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, destructiveMoveVar__injectdestructors_6760)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
4438 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4439 	result = NIM_NIL;
4440 	{
4441 		NIM_BOOL T3_;
4442 		T3_ = (NIM_BOOL)0;
4443 		T3_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
4444 		if (!!(T3_)) goto LA4_;
4445 		result = copyTree__ast_4431(n);
4446 	}
4447 	goto LA1_;
4448 	LA4_: ;
4449 	{
4450 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* temp;
4451 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T7_;
4452 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T8_;
4453 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
4454 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempAsNode;
4455 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* vpart;
4456 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn;
4457 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* wasMovedCall;
4458 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info, (*n).typ);
4459 		T7_ = NIM_NIL;
4460 		T7_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_34));
4461 		T8_ = nextSymId__ast_3132((*c).idgen);
4462 		temp = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), T7_, T8_, (*c).owner, (*n).info, 0);
4463 		asgnRef((void**) (&(*temp).typ), (*n).typ);
4464 		v = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100), (*n).info);
4465 		tempAsNode = newSymNode__ast_3716(temp);
4466 		vpart = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*tempAsNode).info, ((NI) 3));
4467 		asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 0)]), tempAsNode);
4468 		asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 1)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*tempAsNode).info));
4469 		asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 2)]), n);
4470 		add__ast_4797(v, vpart);
4471 		add__ast_4797(result, v);
4472 		nn = skipConv__types_3588(n);
4473 		genMarkCyclic__injectdestructors_6612(c, result, nn);
4474 		wasMovedCall = genWasMoved__injectdestructors_6739(c, nn);
4475 		add__ast_4797(result, wasMovedCall);
4476 		add__ast_4797(result, tempAsNode);
4477 	}
4478 	LA1_: ;
4479 	return result;
4480 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genCopyNoCheck__injectdestructors_6634)4481 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopyNoCheck__injectdestructors_6634)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
4482 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4483 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4484 	result = NIM_NIL;
4485 	t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4486 	result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1), dest, ri);
4487 	return result;
4488 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genCopy__injectdestructors_6647)4489 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopy__injectdestructors_6647)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
4490 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4491 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4492 	result = NIM_NIL;
4493 	t = (*dest).typ;
4494 	{
4495 		NIM_BOOL T3_;
4496 		T3_ = (NIM_BOOL)0;
4497 		T3_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
4498 		if (!(T3_)) goto LA4_;
4499 		T3_ = !(((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
4500 		LA4_: ;
4501 		if (!T3_) goto LA5_;
4502 		checkForErrorPragma__injectdestructors_6380((&(*c)), t, ri, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26));
4503 	}
4504 	LA5_: ;
4505 	result = genCopyNoCheck__injectdestructors_6634(c, dest, ri);
4506 	return result;
4507 }
N_INLINE(NIM_BOOL,isCriticalLink__injectdestructors_6591)4508 static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_6591)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4509 	NIM_BOOL result;
4510 	result = (NIM_BOOL)0;
4511 	result = !(((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
4512 	return result;
4513 }
N_NIMCALL(void,finishCopy__injectdestructors_6598)4514 N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_6598)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, NIM_BOOL isFromSink) {
4515 	{
4516 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4517 		if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5))) goto LA3_;
4518 		t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35);
4519 		{
4520 			NIM_BOOL T7_;
4521 			NIM_BOOL T10_;
4522 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
4523 			T7_ = (NIM_BOOL)0;
4524 			T7_ = cyclicType__liftdestructors_1366(t);
4525 			if (!T7_) goto LA8_;
4526 			T10_ = (NIM_BOOL)0;
4527 			T10_ = isFromSink;
4528 			if (T10_) goto LA11_;
4529 			T10_ = isCriticalLink__injectdestructors_6591(dest);
4530 			LA11_: ;
4531 			T12_ = NIM_NIL;
4532 			T12_ = boolLit__liftdestructors_427((*c).graph, (*result).info, T10_);
4533 			add__ast_4797(result, T12_);
4534 		}
4535 		LA8_: ;
4536 	}
4537 	LA3_: ;
4538 }
N_INLINE(NIM_BOOL,isDangerousSeq__injectdestructors_6847)4539 static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_6847)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4540 	NIM_BOOL result;
4541 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
4542 	NIM_BOOL T1_;
4543 	result = (NIM_BOOL)0;
4544 	t_2 = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
4545 	T1_ = (NIM_BOOL)0;
4546 	T1_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
4547 	if (!(T1_)) goto LA2_;
4548 	T1_ = !((((*(*t_2).sons->data[((NI) 0)]).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0));
4549 	LA2_: ;
4550 	result = T1_;
4551 	return result;
4552 }
N_INLINE(NIM_BOOL,isSinkParam__ast_5030)4553 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
4554 	NIM_BOOL result;
4555 	NIM_BOOL T1_;
4556 	NIM_BOOL T3_;
4557 	result = (NIM_BOOL)0;
4558 	T1_ = (NIM_BOOL)0;
4559 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
4560 	if (!(T1_)) goto LA2_;
4561 	T3_ = (NIM_BOOL)0;
4562 	T3_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4563 	if (T3_) goto LA4_;
4564 	T3_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
4565 	LA4_: ;
4566 	T1_ = T3_;
4567 	LA2_: ;
4568 	result = T1_;
4569 	return result;
4570 }
N_INLINE(NIM_BOOL,canBeMoved__injectdestructors_6532)4571 static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_6532)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4572 	NIM_BOOL result;
4573 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
4574 	result = (NIM_BOOL)0;
4575 	t_2 = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4576 	{
4577 		NIM_BOOL T5_;
4578 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
4579 		if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA3_;
4580 		T5_ = (NIM_BOOL)0;
4581 		T5_ = !(((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
4582 		if (!(T5_)) goto LA6_;
4583 		T7_ = NIM_NIL;
4584 		T7_ = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4585 		T5_ = !((T7_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4586 		LA6_: ;
4587 		result = T5_;
4588 	}
4589 	goto LA1_;
4590 	LA3_: ;
4591 	{
4592 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
4593 		T9_ = NIM_NIL;
4594 		T9_ = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4595 		result = !((T9_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4596 	}
4597 	LA1_: ;
4598 	return result;
4599 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pRaiseStmt__injectdestructors_7126)4600 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pRaiseStmt__injectdestructors_7126)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
4601 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4602 	result = NIM_NIL;
4603 	{
4604 		NIM_BOOL T3_;
4605 		T3_ = (NIM_BOOL)0;
4606 		T3_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
4607 		if (!(T3_)) goto LA4_;
4608 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
4609 		LA4_: ;
4610 		if (!T3_) goto LA5_;
4611 		{
4612 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
4613 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA9_;
4614 			call = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4615 			result = copyNode__ast_4336(n);
4616 			add__ast_4797(result, call);
4617 		}
4618 		goto LA7_;
4619 		LA9_: ;
4620 		{
4621 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
4622 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4623 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
4624 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
4625 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toDisarm;
4626 			tyArray__jlWPjgtbdjE069arIWHC9c9bg T25_;
4627 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
4628 			tmp = getTemp__injectdestructors_61(c, s, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
4629 			m = genCopyNoCheck__injectdestructors_6634(c, tmp, (*n)._kind_6.sons->data[((NI) 0)]);
4630 			T12_ = NIM_NIL;
4631 			T12_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4632 			add__ast_4797(m, T12_);
4633 			finishCopy__injectdestructors_6598(c, m, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
4634 			nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4635 			T13_[0] = genWasMoved__injectdestructors_6739(c, tmp);
4636 			T13_[1] = m;
4637 			result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T13_, 2);
4638 			toDisarm = (*n)._kind_6.sons->data[((NI) 0)];
4639 			{
4640 				if (!((*toDisarm).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA16_;
4641 				toDisarm = lastSon__ast_4832(toDisarm);
4642 			}
4643 			LA16_: ;
4644 			{
4645 				NIM_BOOL T20_;
4646 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
4647 				T20_ = (NIM_BOOL)0;
4648 				T20_ = ((*toDisarm).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4649 				if (!(T20_)) goto LA21_;
4650 				T20_ = ((*(*toDisarm)._kind_4.sym).owner == (*c).owner);
4651 				LA21_: ;
4652 				if (!T20_) goto LA22_;
4653 				T24_ = NIM_NIL;
4654 				T24_ = genWasMoved__injectdestructors_6739(c, toDisarm);
4655 				add__ast_4797(result, T24_);
4656 			}
4657 			LA22_: ;
4658 			nimZeroMem((void*)T25_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4659 			T25_[0] = tmp;
4660 			T26_ = NIM_NIL;
4661 			T26_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T25_, 1);
4662 			add__ast_4797(result, T26_);
4663 		}
4664 		LA7_: ;
4665 	}
4666 	goto LA1_;
4667 	LA5_: ;
4668 	{
4669 		result = copyNode__ast_4336(n);
4670 		{
4671 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
4672 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA30_;
4673 			T32_ = NIM_NIL;
4674 			T32_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
4675 			add__ast_4797(result, T32_);
4676 		}
4677 		goto LA28_;
4678 		LA30_: ;
4679 		{
4680 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
4681 			T34_ = NIM_NIL;
4682 			T34_ = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
4683 			add__ast_4797(result, T34_);
4684 		}
4685 		LA28_: ;
4686 	}
4687 	LA1_: ;
4688 	(*s).needsTry = NIM_TRUE;
4689 	return result;
4690 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,moveOrCopy__injectdestructors_110)4691 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, moveOrCopy__injectdestructors_110)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, NIM_BOOL isDecl) {
4692 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4693 {	result = NIM_NIL;
4694 	{
4695 		NIM_BOOL T3_;
4696 		T3_ = (NIM_BOOL)0;
4697 		T3_ = sameLocation__injectdestructors_8432(dest, ri);
4698 		if (!T3_) goto LA4_;
4699 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*dest).info);
4700 	}
4701 	goto LA1_;
4702 	LA4_: ;
4703 	{
4704 		NIM_BOOL T7_;
4705 		T7_ = (NIM_BOOL)0;
4706 		T7_ = isCursor__injectdestructors_6369(dest);
4707 		if (!T7_) goto LA8_;
4708 		switch ((*ri).kind) {
4709 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4710 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
4711 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
4712 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4713 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
4714 		{
4715 			switch ((*ri).kind) {
4716 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4717 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4718 			{
4719 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
4720 				{
4721 					NI T14_;
4722 					T14_ = (NI)0;
4723 					T14_ = len__ast_3198(ri);
4724 					if (!(T14_ == ((NI) 0))) goto LA15_;
4725 					result = ri;
4726 					goto BeforeRet_;
4727 				}
4728 				LA15_: ;
4729 				result = copyNode__ast_4336(ri);
4730 				{
4731 					NI iX60gensym501_;
4732 					NI colontmp_;
4733 					NI T18_;
4734 					NI i;
4735 					iX60gensym501_ = (NI)0;
4736 					colontmp_ = (NI)0;
4737 					T18_ = (NI)0;
4738 					T18_ = len__ast_3198(ri);
4739 					colontmp_ = (NI)(T18_ - ((NI) 1));
4740 					i = ((NI) 0);
4741 					{
4742 						while (1) {
4743 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
4744 							if (!(i < colontmp_)) goto LA20;
4745 							iX60gensym501_ = i;
4746 							T21_ = NIM_NIL;
4747 							T21_ = p__injectdestructors_105((*ri)._kind_6.sons->data[iX60gensym501_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4748 							add__ast_4797(result, T21_);
4749 							i += ((NI) 1);
4750 						} LA20: ;
4751 					}
4752 				}
4753 				T22_ = NIM_NIL;
4754 				{
4755 					NI T25_;
4756 					NIM_BOOL T26_;
4757 					NI T29_;
4758 					T25_ = (NI)0;
4759 					T25_ = len__ast_3198(ri);
4760 					T26_ = (NIM_BOOL)0;
4761 					T26_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))]).typ);
4762 					if (!T26_) goto LA27_;
4763 					T29_ = (NI)0;
4764 					T29_ = len__ast_3198(ri);
4765 					T22_ = p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(T29_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4766 				}
4767 				goto LA23_;
4768 				LA27_: ;
4769 				{
4770 					NI T31_;
4771 					T31_ = (NI)0;
4772 					T31_ = len__ast_3198(ri);
4773 					T22_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[(NI)(T31_ - ((NI) 1))], c, s, isDecl);
4774 				}
4775 				LA23_: ;
4776 				add__ast_4797(result, T22_);
4777 			}
4778 			break;
4779 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4780 			{
4781 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
4782 				result = copyNode__ast_4336(ri);
4783 				T33_ = NIM_NIL;
4784 				T33_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4785 				add__ast_4797(result, T33_);
4786 				{
4787 					NI iX60gensym501__2;
4788 					NI colontmp__2;
4789 					NI i_2;
4790 					iX60gensym501__2 = (NI)0;
4791 					colontmp__2 = (NI)0;
4792 					colontmp__2 = len__ast_3198(ri);
4793 					i_2 = ((NI) 1);
4794 					{
4795 						while (1) {
4796 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501_;
4797 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501_;
4798 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym501_;
4799 							NI T41_;
4800 							if (!(i_2 < colontmp__2)) goto LA36;
4801 							iX60gensym501__2 = i_2;
4802 							itX60gensym501_ = (*ri)._kind_6.sons->data[iX60gensym501__2];
4803 							branchX60gensym501_ = shallowCopy__ast_4413(itX60gensym501_);
4804 							{
4805 								NI jX60gensym501_;
4806 								NI colontmp__3;
4807 								NI T38_;
4808 								NI i_3;
4809 								jX60gensym501_ = (NI)0;
4810 								colontmp__3 = (NI)0;
4811 								T38_ = (NI)0;
4812 								T38_ = len__ast_3198(itX60gensym501_);
4813 								colontmp__3 = (NI)(T38_ - ((NI) 1));
4814 								i_3 = ((NI) 0);
4815 								{
4816 									while (1) {
4817 										if (!(i_3 < colontmp__3)) goto LA40;
4818 										jX60gensym501_ = i_3;
4819 										asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[jX60gensym501_]), copyTree__ast_4431((*itX60gensym501_)._kind_6.sons->data[jX60gensym501_]));
4820 										i_3 += ((NI) 1);
4821 									} LA40: ;
4822 								}
4823 							}
4824 							nimZeroMem((void*)(&ofScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
4825 							nestedScope__injectdestructors_72(s, (&ofScopeX60gensym501_));
4826 							T41_ = (NI)0;
4827 							T41_ = len__ast_3198(branchX60gensym501_);
4828 							{
4829 								NIM_BOOL T44_;
4830 								NI T45_;
4831 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
4832 								T44_ = (NIM_BOOL)0;
4833 								T45_ = (NI)0;
4834 								T45_ = len__ast_3198(itX60gensym501_);
4835 								T44_ = isEmptyType__ast_4779((*(*itX60gensym501_)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]).typ);
4836 								if (T44_) goto LA46_;
4837 								T44_ = NIM_TRUE;
4838 								LA46_: ;
4839 								if (!T44_) goto LA47_;
4840 								T49_ = NIM_NIL;
4841 								{
4842 									NI T52_;
4843 									NIM_BOOL T53_;
4844 									NI T56_;
4845 									T52_ = (NI)0;
4846 									T52_ = len__ast_3198(itX60gensym501_);
4847 									T53_ = (NIM_BOOL)0;
4848 									T53_ = isEmptyType__ast_4779((*(*itX60gensym501_)._kind_6.sons->data[(NI)(T52_ - ((NI) 1))]).typ);
4849 									if (!T53_) goto LA54_;
4850 									T56_ = (NI)0;
4851 									T56_ = len__ast_3198(itX60gensym501_);
4852 									T49_ = p__injectdestructors_105((*itX60gensym501_)._kind_6.sons->data[(NI)(T56_ - ((NI) 1))], c, (&ofScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4853 								}
4854 								goto LA50_;
4855 								LA54_: ;
4856 								{
4857 									NI T58_;
4858 									T58_ = (NI)0;
4859 									T58_ = len__ast_3198(itX60gensym501_);
4860 									T49_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501_)._kind_6.sons->data[(NI)(T58_ - ((NI) 1))], c, (&ofScopeX60gensym501_), isDecl);
4861 								}
4862 								LA50_: ;
4863 								asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[(NI)(T41_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym501_), T49_));
4864 							}
4865 							goto LA42_;
4866 							LA47_: ;
4867 							{
4868 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym539_;
4869 								NI T60_;
4870 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym539_;
4871 								NI T61_;
4872 								NI T62_;
4873 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym539_;
4874 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym539_;
4875 								NI T89_;
4876 								T60_ = (NI)0;
4877 								T60_ = len__ast_3198(itX60gensym501_);
4878 								resultX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T60_ - ((NI) 1))]).info);
4879 								T61_ = (NI)0;
4880 								T61_ = len__ast_3198(itX60gensym501_);
4881 								T62_ = (NI)0;
4882 								T62_ = len__ast_3198(itX60gensym501_);
4883 								tmpX60gensym539_ = getTemp__injectdestructors_61(c, ofScopeX60gensym501_.parent, (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T61_ - ((NI) 1))]).typ, (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T62_ - ((NI) 1))]).info);
4884 								(*(*tmpX60gensym539_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
4885 								{
4886 									NI T65_;
4887 									NIM_BOOL T66_;
4888 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T69_;
4889 									NI T70_;
4890 									NI T71_;
4891 									T65_ = (NI)0;
4892 									T65_ = len__ast_3198(itX60gensym501_);
4893 									T66_ = (NIM_BOOL)0;
4894 									T66_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T65_ - ((NI) 1))]).typ);
4895 									if (!T66_) goto LA67_;
4896 									T69_ = NIM_NIL;
4897 									T69_ = genDestroy__injectdestructors_6527(c, tmpX60gensym539_);
4898 									unsureAsgnRef((void**) (&(*ofScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
4899 									T70_ = (*ofScopeX60gensym501_.parent).final->Sup.len++;
4900 									asgnRef((void**) (&(*ofScopeX60gensym501_.parent).final->data[T70_]), T69_);
4901 									T71_ = (NI)0;
4902 									T71_ = len__ast_3198(itX60gensym501_);
4903 									cpyX60gensym539_ = moveOrCopy__injectdestructors_110(tmpX60gensym539_, (*itX60gensym501_)._kind_6.sons->data[(NI)(T71_ - ((NI) 1))], c, (&ofScopeX60gensym501_), NIM_TRUE);
4904 								}
4905 								goto LA63_;
4906 								LA67_: ;
4907 								{
4908 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T73_;
4909 									NI T74_;
4910 									nimZeroMem((void*)T73_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4911 									T73_[0] = tmpX60gensym539_;
4912 									T74_ = (NI)0;
4913 									T74_ = len__ast_3198(itX60gensym501_);
4914 									T73_[1] = p__injectdestructors_105((*itX60gensym501_)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))], c, (&ofScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4915 									cpyX60gensym539_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T73_, 2);
4916 								}
4917 								LA63_: ;
4918 								{
4919 									NI T77_;
4920 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym539_;
4921 									NI T80_;
4922 									T77_ = (ofScopeX60gensym501_.vars ? ofScopeX60gensym501_.vars->Sup.len : 0);
4923 									if (!(((NI) 0) < T77_)) goto LA78_;
4924 									T80_ = (NI)0;
4925 									T80_ = len__ast_3198(itX60gensym501_);
4926 									varSectionX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T80_ - ((NI) 1))]).info);
4927 									{
4928 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym539__2;
4929 										NI i_4;
4930 										NI L;
4931 										NI T82_;
4932 										tmpX60gensym539__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
4933 										i_4 = ((NI) 0);
4934 										T82_ = (ofScopeX60gensym501_.vars ? ofScopeX60gensym501_.vars->Sup.len : 0);
4935 										L = T82_;
4936 										{
4937 											while (1) {
4938 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T85_;
4939 												NI T86_;
4940 												NI T87_;
4941 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T88_;
4942 												if (!(i_4 < L)) goto LA84;
4943 												tmpX60gensym539__2 = &ofScopeX60gensym501_.vars->data[i_4];
4944 												nimZeroMem((void*)T85_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4945 												T85_[0] = newSymNode__ast_3716((*tmpX60gensym539__2));
4946 												T86_ = (NI)0;
4947 												T86_ = len__ast_3198(itX60gensym501_);
4948 												T85_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T86_ - ((NI) 1))]).info);
4949 												T87_ = (NI)0;
4950 												T87_ = len__ast_3198(itX60gensym501_);
4951 												T85_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T87_ - ((NI) 1))]).info);
4952 												T88_ = NIM_NIL;
4953 												T88_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T85_, 3);
4954 												add__ast_4797(varSectionX60gensym539_, T88_);
4955 												i_4 += ((NI) 1);
4956 											} LA84: ;
4957 										}
4958 									}
4959 									add__ast_4797(resultX60gensym539_, varSectionX60gensym539_);
4960 								}
4961 								LA78_: ;
4962 								T89_ = (NI)0;
4963 								T89_ = len__ast_3198(itX60gensym501_);
4964 								finSectionX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T89_ - ((NI) 1))]).info);
4965 								{
4966 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym539_;
4967 									NI i_5;
4968 									NI L_2;
4969 									NI T91_;
4970 									mX60gensym539_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
4971 									i_5 = ((NI) 0);
4972 									T91_ = (ofScopeX60gensym501_.wasMoved ? ofScopeX60gensym501_.wasMoved->Sup.len : 0);
4973 									L_2 = T91_;
4974 									{
4975 										while (1) {
4976 											if (!(i_5 < L_2)) goto LA93;
4977 											mX60gensym539_ = &ofScopeX60gensym501_.wasMoved->data[i_5];
4978 											add__ast_4797(finSectionX60gensym539_, (*mX60gensym539_));
4979 											i_5 += ((NI) 1);
4980 										} LA93: ;
4981 									}
4982 								}
4983 								{
4984 									NI iX60gensym539_;
4985 									NI colontmp__4;
4986 									NI T95_;
4987 									NI res;
4988 									iX60gensym539_ = (NI)0;
4989 									colontmp__4 = (NI)0;
4990 									T95_ = ((ofScopeX60gensym501_.final ? ofScopeX60gensym501_.final->Sup.len : 0)-1);
4991 									colontmp__4 = T95_;
4992 									res = colontmp__4;
4993 									{
4994 										while (1) {
4995 											if (!(((NI) 0) <= res)) goto LA97;
4996 											iX60gensym539_ = res;
4997 											add__ast_4797(finSectionX60gensym539_, ofScopeX60gensym501_.final->data[iX60gensym539_]);
4998 											res -= ((NI) 1);
4999 										} LA97: ;
5000 									}
5001 								}
5002 								{
5003 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T102_;
5004 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T103_;
5005 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T104_;
5006 									if (!ofScopeX60gensym501_.needsTry) goto LA100_;
5007 									nimZeroMem((void*)T102_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5008 									T102_[0] = cpyX60gensym539_;
5009 									T102_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym539_, c, ofScopeX60gensym501_.parent, isDecl);
5010 									T103_ = NIM_NIL;
5011 									T103_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T102_, 2);
5012 									T104_ = NIM_NIL;
5013 									T104_ = newTryFinally__lowerings_202(T103_, finSectionX60gensym539_);
5014 									add__ast_4797(resultX60gensym539_, T104_);
5015 								}
5016 								goto LA98_;
5017 								LA100_: ;
5018 								{
5019 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T106_;
5020 									add__ast_4797(resultX60gensym539_, cpyX60gensym539_);
5021 									add__ast_4797(resultX60gensym539_, finSectionX60gensym539_);
5022 									T106_ = NIM_NIL;
5023 									T106_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym539_, c, ofScopeX60gensym501_.parent, isDecl);
5024 									add__ast_4797(resultX60gensym539_, T106_);
5025 								}
5026 								LA98_: ;
5027 								{
5028 									NIM_BOOL T111_;
5029 									if (!!((ofScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA109_;
5030 									T111_ = (NIM_BOOL)0;
5031 									T111_ = (*ofScopeX60gensym501_.parent).needsTry;
5032 									if (T111_) goto LA112_;
5033 									T111_ = ofScopeX60gensym501_.needsTry;
5034 									LA112_: ;
5035 									(*ofScopeX60gensym501_.parent).needsTry = T111_;
5036 								}
5037 								LA109_: ;
5038 								asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[(NI)(T41_ - ((NI) 1))]), resultX60gensym539_);
5039 							}
5040 							LA42_: ;
5041 							add__ast_4797(result, branchX60gensym501_);
5042 							i_2 += ((NI) 1);
5043 						} LA36: ;
5044 					}
5045 				}
5046 			}
5047 			break;
5048 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
5049 			{
5050 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T114_;
5051 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501_;
5052 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym501_;
5053 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T115_;
5054 				(*c).inLoop += ((NI) 1);
5055 				(*c).inLoopCond += ((NI) 1);
5056 				result = copyNode__ast_4336(ri);
5057 				T114_ = NIM_NIL;
5058 				T114_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5059 				add__ast_4797(result, T114_);
5060 				(*c).inLoopCond -= ((NI) 1);
5061 				nimZeroMem((void*)(&bodyScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5062 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501_));
5063 				bodyResultX60gensym501_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5064 				T115_ = NIM_NIL;
5065 				T115_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501_), bodyResultX60gensym501_);
5066 				add__ast_4797(result, T115_);
5067 				(*c).inLoop -= ((NI) 1);
5068 			}
5069 			break;
5070 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
5071 			{
5072 				NI lastX60gensym501_;
5073 				NI T117_;
5074 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501__2;
5075 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym501__2;
5076 				(*c).inLoop += ((NI) 1);
5077 				result = shallowCopy__ast_4413(ri);
5078 				T117_ = (NI)0;
5079 				T117_ = len__ast_3198(ri);
5080 				lastX60gensym501_ = (NI)(T117_ - ((NI) 1));
5081 				{
5082 					NI iX60gensym501__3;
5083 					NI colontmp__5;
5084 					NI i_6;
5085 					iX60gensym501__3 = (NI)0;
5086 					colontmp__5 = (NI)0;
5087 					colontmp__5 = (NI)(lastX60gensym501_ - ((NI) 1));
5088 					i_6 = ((NI) 0);
5089 					{
5090 						while (1) {
5091 							if (!(i_6 < colontmp__5)) goto LA120;
5092 							iX60gensym501__3 = i_6;
5093 							asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym501__3]), (*ri)._kind_6.sons->data[iX60gensym501__3]);
5094 							i_6 += ((NI) 1);
5095 						} LA120: ;
5096 					}
5097 				}
5098 				asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym501_ - ((NI) 1))]), p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(lastX60gensym501_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
5099 				nimZeroMem((void*)(&bodyScopeX60gensym501__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5100 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501__2));
5101 				bodyResultX60gensym501__2 = p__injectdestructors_105((*ri)._kind_6.sons->data[lastX60gensym501_], c, (&bodyScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5102 				asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym501_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501__2), bodyResultX60gensym501__2));
5103 				(*c).inLoop -= ((NI) 1);
5104 			}
5105 			break;
5106 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
5107 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
5108 			{
5109 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501__3;
5110 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
5111 				result = copyNode__ast_4336(ri);
5112 				add__ast_4797(result, (*ri)._kind_6.sons->data[((NI) 0)]);
5113 				nimZeroMem((void*)(&bodyScopeX60gensym501__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5114 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501__3));
5115 				T122_ = NIM_NIL;
5116 				{
5117 					NIM_BOOL T125_;
5118 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T129_;
5119 					T125_ = (NIM_BOOL)0;
5120 					T125_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
5121 					if (T125_) goto LA126_;
5122 					T125_ = NIM_TRUE;
5123 					LA126_: ;
5124 					if (!T125_) goto LA127_;
5125 					T129_ = NIM_NIL;
5126 					T129_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), isDecl);
5127 					T122_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501__3), T129_);
5128 				}
5129 				goto LA123_;
5130 				LA127_: ;
5131 				{
5132 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym561_;
5133 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym561_;
5134 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym561_;
5135 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym561_;
5136 					resultX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5137 					tmpX60gensym561_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym501__3.parent, (*(*ri)._kind_6.sons->data[((NI) 1)]).typ, (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5138 					(*(*tmpX60gensym561_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5139 					{
5140 						NIM_BOOL T133_;
5141 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T136_;
5142 						NI T137_;
5143 						T133_ = (NIM_BOOL)0;
5144 						T133_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
5145 						if (!T133_) goto LA134_;
5146 						T136_ = NIM_NIL;
5147 						T136_ = genDestroy__injectdestructors_6527(c, tmpX60gensym561_);
5148 						unsureAsgnRef((void**) (&(*bodyScopeX60gensym501__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym501__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5149 						T137_ = (*bodyScopeX60gensym501__3.parent).final->Sup.len++;
5150 						asgnRef((void**) (&(*bodyScopeX60gensym501__3.parent).final->data[T137_]), T136_);
5151 						cpyX60gensym561_ = moveOrCopy__injectdestructors_110(tmpX60gensym561_, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), NIM_TRUE);
5152 					}
5153 					goto LA131_;
5154 					LA134_: ;
5155 					{
5156 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T139_;
5157 						nimZeroMem((void*)T139_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5158 						T139_[0] = tmpX60gensym561_;
5159 						T139_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5160 						cpyX60gensym561_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T139_, 2);
5161 					}
5162 					LA131_: ;
5163 					{
5164 						NI T142_;
5165 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym561_;
5166 						T142_ = (bodyScopeX60gensym501__3.vars ? bodyScopeX60gensym501__3.vars->Sup.len : 0);
5167 						if (!(((NI) 0) < T142_)) goto LA143_;
5168 						varSectionX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5169 						{
5170 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym561__2;
5171 							NI i_7;
5172 							NI L_3;
5173 							NI T146_;
5174 							tmpX60gensym561__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5175 							i_7 = ((NI) 0);
5176 							T146_ = (bodyScopeX60gensym501__3.vars ? bodyScopeX60gensym501__3.vars->Sup.len : 0);
5177 							L_3 = T146_;
5178 							{
5179 								while (1) {
5180 									tyArray__T6RKPw8xfAeNaoei9aZGzXg T149_;
5181 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T150_;
5182 									if (!(i_7 < L_3)) goto LA148;
5183 									tmpX60gensym561__2 = &bodyScopeX60gensym501__3.vars->data[i_7];
5184 									nimZeroMem((void*)T149_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5185 									T149_[0] = newSymNode__ast_3716((*tmpX60gensym561__2));
5186 									T149_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5187 									T149_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5188 									T150_ = NIM_NIL;
5189 									T150_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T149_, 3);
5190 									add__ast_4797(varSectionX60gensym561_, T150_);
5191 									i_7 += ((NI) 1);
5192 								} LA148: ;
5193 							}
5194 						}
5195 						add__ast_4797(resultX60gensym561_, varSectionX60gensym561_);
5196 					}
5197 					LA143_: ;
5198 					finSectionX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5199 					{
5200 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym561_;
5201 						NI i_8;
5202 						NI L_4;
5203 						NI T152_;
5204 						mX60gensym561_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5205 						i_8 = ((NI) 0);
5206 						T152_ = (bodyScopeX60gensym501__3.wasMoved ? bodyScopeX60gensym501__3.wasMoved->Sup.len : 0);
5207 						L_4 = T152_;
5208 						{
5209 							while (1) {
5210 								if (!(i_8 < L_4)) goto LA154;
5211 								mX60gensym561_ = &bodyScopeX60gensym501__3.wasMoved->data[i_8];
5212 								add__ast_4797(finSectionX60gensym561_, (*mX60gensym561_));
5213 								i_8 += ((NI) 1);
5214 							} LA154: ;
5215 						}
5216 					}
5217 					{
5218 						NI iX60gensym561_;
5219 						NI colontmp__6;
5220 						NI T156_;
5221 						NI res_2;
5222 						iX60gensym561_ = (NI)0;
5223 						colontmp__6 = (NI)0;
5224 						T156_ = ((bodyScopeX60gensym501__3.final ? bodyScopeX60gensym501__3.final->Sup.len : 0)-1);
5225 						colontmp__6 = T156_;
5226 						res_2 = colontmp__6;
5227 						{
5228 							while (1) {
5229 								if (!(((NI) 0) <= res_2)) goto LA158;
5230 								iX60gensym561_ = res_2;
5231 								add__ast_4797(finSectionX60gensym561_, bodyScopeX60gensym501__3.final->data[iX60gensym561_]);
5232 								res_2 -= ((NI) 1);
5233 							} LA158: ;
5234 						}
5235 					}
5236 					{
5237 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T163_;
5238 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T164_;
5239 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T165_;
5240 						if (!bodyScopeX60gensym501__3.needsTry) goto LA161_;
5241 						nimZeroMem((void*)T163_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5242 						T163_[0] = cpyX60gensym561_;
5243 						T163_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym561_, c, bodyScopeX60gensym501__3.parent, isDecl);
5244 						T164_ = NIM_NIL;
5245 						T164_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T163_, 2);
5246 						T165_ = NIM_NIL;
5247 						T165_ = newTryFinally__lowerings_202(T164_, finSectionX60gensym561_);
5248 						add__ast_4797(resultX60gensym561_, T165_);
5249 					}
5250 					goto LA159_;
5251 					LA161_: ;
5252 					{
5253 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T167_;
5254 						add__ast_4797(resultX60gensym561_, cpyX60gensym561_);
5255 						add__ast_4797(resultX60gensym561_, finSectionX60gensym561_);
5256 						T167_ = NIM_NIL;
5257 						T167_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym561_, c, bodyScopeX60gensym501__3.parent, isDecl);
5258 						add__ast_4797(resultX60gensym561_, T167_);
5259 					}
5260 					LA159_: ;
5261 					{
5262 						NIM_BOOL T172_;
5263 						if (!!((bodyScopeX60gensym501__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA170_;
5264 						T172_ = (NIM_BOOL)0;
5265 						T172_ = (*bodyScopeX60gensym501__3.parent).needsTry;
5266 						if (T172_) goto LA173_;
5267 						T172_ = bodyScopeX60gensym501__3.needsTry;
5268 						LA173_: ;
5269 						(*bodyScopeX60gensym501__3.parent).needsTry = T172_;
5270 					}
5271 					LA170_: ;
5272 					T122_ = resultX60gensym561_;
5273 				}
5274 				LA123_: ;
5275 				add__ast_4797(result, T122_);
5276 			}
5277 			break;
5278 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
5279 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
5280 			{
5281 				result = copyNode__ast_4336(ri);
5282 				{
5283 					NI iX60gensym501__4;
5284 					NI colontmp__7;
5285 					NI i_9;
5286 					iX60gensym501__4 = (NI)0;
5287 					colontmp__7 = (NI)0;
5288 					colontmp__7 = len__ast_3198(ri);
5289 					i_9 = ((NI) 0);
5290 					{
5291 						while (1) {
5292 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501__2;
5293 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501__2;
5294 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym501_;
5295 							NI T182_;
5296 							if (!(i_9 < colontmp__7)) goto LA177;
5297 							iX60gensym501__4 = i_9;
5298 							itX60gensym501__2 = (*ri)._kind_6.sons->data[iX60gensym501__4];
5299 							branchX60gensym501__2 = shallowCopy__ast_4413(itX60gensym501__2);
5300 							nimZeroMem((void*)(&branchScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5301 							nestedScope__injectdestructors_72(s, (&branchScopeX60gensym501_));
5302 							{
5303 								if (!((*itX60gensym501__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym501__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA180_;
5304 								asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
5305 							}
5306 							LA180_: ;
5307 							T182_ = (NI)0;
5308 							T182_ = len__ast_3198(branchX60gensym501__2);
5309 							{
5310 								NIM_BOOL T185_;
5311 								NI T186_;
5312 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T190_;
5313 								T185_ = (NIM_BOOL)0;
5314 								T186_ = (NI)0;
5315 								T186_ = len__ast_3198(itX60gensym501__2);
5316 								T185_ = isEmptyType__ast_4779((*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T186_ - ((NI) 1))]).typ);
5317 								if (T185_) goto LA187_;
5318 								T185_ = NIM_TRUE;
5319 								LA187_: ;
5320 								if (!T185_) goto LA188_;
5321 								T190_ = NIM_NIL;
5322 								{
5323 									NI T193_;
5324 									NIM_BOOL T194_;
5325 									NI T197_;
5326 									T193_ = (NI)0;
5327 									T193_ = len__ast_3198(itX60gensym501__2);
5328 									T194_ = (NIM_BOOL)0;
5329 									T194_ = isEmptyType__ast_4779((*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T193_ - ((NI) 1))]).typ);
5330 									if (!T194_) goto LA195_;
5331 									T197_ = (NI)0;
5332 									T197_ = len__ast_3198(itX60gensym501__2);
5333 									T190_ = p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[(NI)(T197_ - ((NI) 1))], c, (&branchScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5334 								}
5335 								goto LA191_;
5336 								LA195_: ;
5337 								{
5338 									NI T199_;
5339 									T199_ = (NI)0;
5340 									T199_ = len__ast_3198(itX60gensym501__2);
5341 									T190_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501__2)._kind_6.sons->data[(NI)(T199_ - ((NI) 1))], c, (&branchScopeX60gensym501_), isDecl);
5342 								}
5343 								LA191_: ;
5344 								asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[(NI)(T182_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym501_), T190_));
5345 							}
5346 							goto LA183_;
5347 							LA188_: ;
5348 							{
5349 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym590_;
5350 								NI T201_;
5351 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym590_;
5352 								NI T202_;
5353 								NI T203_;
5354 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym590_;
5355 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym590_;
5356 								NI T230_;
5357 								T201_ = (NI)0;
5358 								T201_ = len__ast_3198(itX60gensym501__2);
5359 								resultX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T201_ - ((NI) 1))]).info);
5360 								T202_ = (NI)0;
5361 								T202_ = len__ast_3198(itX60gensym501__2);
5362 								T203_ = (NI)0;
5363 								T203_ = len__ast_3198(itX60gensym501__2);
5364 								tmpX60gensym590_ = getTemp__injectdestructors_61(c, branchScopeX60gensym501_.parent, (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T202_ - ((NI) 1))]).typ, (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T203_ - ((NI) 1))]).info);
5365 								(*(*tmpX60gensym590_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5366 								{
5367 									NI T206_;
5368 									NIM_BOOL T207_;
5369 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T210_;
5370 									NI T211_;
5371 									NI T212_;
5372 									T206_ = (NI)0;
5373 									T206_ = len__ast_3198(itX60gensym501__2);
5374 									T207_ = (NIM_BOOL)0;
5375 									T207_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T206_ - ((NI) 1))]).typ);
5376 									if (!T207_) goto LA208_;
5377 									T210_ = NIM_NIL;
5378 									T210_ = genDestroy__injectdestructors_6527(c, tmpX60gensym590_);
5379 									unsureAsgnRef((void**) (&(*branchScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5380 									T211_ = (*branchScopeX60gensym501_.parent).final->Sup.len++;
5381 									asgnRef((void**) (&(*branchScopeX60gensym501_.parent).final->data[T211_]), T210_);
5382 									T212_ = (NI)0;
5383 									T212_ = len__ast_3198(itX60gensym501__2);
5384 									cpyX60gensym590_ = moveOrCopy__injectdestructors_110(tmpX60gensym590_, (*itX60gensym501__2)._kind_6.sons->data[(NI)(T212_ - ((NI) 1))], c, (&branchScopeX60gensym501_), NIM_TRUE);
5385 								}
5386 								goto LA204_;
5387 								LA208_: ;
5388 								{
5389 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T214_;
5390 									NI T215_;
5391 									nimZeroMem((void*)T214_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5392 									T214_[0] = tmpX60gensym590_;
5393 									T215_ = (NI)0;
5394 									T215_ = len__ast_3198(itX60gensym501__2);
5395 									T214_[1] = p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[(NI)(T215_ - ((NI) 1))], c, (&branchScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5396 									cpyX60gensym590_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T214_, 2);
5397 								}
5398 								LA204_: ;
5399 								{
5400 									NI T218_;
5401 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym590_;
5402 									NI T221_;
5403 									T218_ = (branchScopeX60gensym501_.vars ? branchScopeX60gensym501_.vars->Sup.len : 0);
5404 									if (!(((NI) 0) < T218_)) goto LA219_;
5405 									T221_ = (NI)0;
5406 									T221_ = len__ast_3198(itX60gensym501__2);
5407 									varSectionX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T221_ - ((NI) 1))]).info);
5408 									{
5409 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym590__2;
5410 										NI i_10;
5411 										NI L_5;
5412 										NI T223_;
5413 										tmpX60gensym590__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5414 										i_10 = ((NI) 0);
5415 										T223_ = (branchScopeX60gensym501_.vars ? branchScopeX60gensym501_.vars->Sup.len : 0);
5416 										L_5 = T223_;
5417 										{
5418 											while (1) {
5419 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T226_;
5420 												NI T227_;
5421 												NI T228_;
5422 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T229_;
5423 												if (!(i_10 < L_5)) goto LA225;
5424 												tmpX60gensym590__2 = &branchScopeX60gensym501_.vars->data[i_10];
5425 												nimZeroMem((void*)T226_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5426 												T226_[0] = newSymNode__ast_3716((*tmpX60gensym590__2));
5427 												T227_ = (NI)0;
5428 												T227_ = len__ast_3198(itX60gensym501__2);
5429 												T226_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T227_ - ((NI) 1))]).info);
5430 												T228_ = (NI)0;
5431 												T228_ = len__ast_3198(itX60gensym501__2);
5432 												T226_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T228_ - ((NI) 1))]).info);
5433 												T229_ = NIM_NIL;
5434 												T229_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T226_, 3);
5435 												add__ast_4797(varSectionX60gensym590_, T229_);
5436 												i_10 += ((NI) 1);
5437 											} LA225: ;
5438 										}
5439 									}
5440 									add__ast_4797(resultX60gensym590_, varSectionX60gensym590_);
5441 								}
5442 								LA219_: ;
5443 								T230_ = (NI)0;
5444 								T230_ = len__ast_3198(itX60gensym501__2);
5445 								finSectionX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T230_ - ((NI) 1))]).info);
5446 								{
5447 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym590_;
5448 									NI i_11;
5449 									NI L_6;
5450 									NI T232_;
5451 									mX60gensym590_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5452 									i_11 = ((NI) 0);
5453 									T232_ = (branchScopeX60gensym501_.wasMoved ? branchScopeX60gensym501_.wasMoved->Sup.len : 0);
5454 									L_6 = T232_;
5455 									{
5456 										while (1) {
5457 											if (!(i_11 < L_6)) goto LA234;
5458 											mX60gensym590_ = &branchScopeX60gensym501_.wasMoved->data[i_11];
5459 											add__ast_4797(finSectionX60gensym590_, (*mX60gensym590_));
5460 											i_11 += ((NI) 1);
5461 										} LA234: ;
5462 									}
5463 								}
5464 								{
5465 									NI iX60gensym590_;
5466 									NI colontmp__8;
5467 									NI T236_;
5468 									NI res_3;
5469 									iX60gensym590_ = (NI)0;
5470 									colontmp__8 = (NI)0;
5471 									T236_ = ((branchScopeX60gensym501_.final ? branchScopeX60gensym501_.final->Sup.len : 0)-1);
5472 									colontmp__8 = T236_;
5473 									res_3 = colontmp__8;
5474 									{
5475 										while (1) {
5476 											if (!(((NI) 0) <= res_3)) goto LA238;
5477 											iX60gensym590_ = res_3;
5478 											add__ast_4797(finSectionX60gensym590_, branchScopeX60gensym501_.final->data[iX60gensym590_]);
5479 											res_3 -= ((NI) 1);
5480 										} LA238: ;
5481 									}
5482 								}
5483 								{
5484 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T243_;
5485 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T244_;
5486 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T245_;
5487 									if (!branchScopeX60gensym501_.needsTry) goto LA241_;
5488 									nimZeroMem((void*)T243_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5489 									T243_[0] = cpyX60gensym590_;
5490 									T243_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym590_, c, branchScopeX60gensym501_.parent, isDecl);
5491 									T244_ = NIM_NIL;
5492 									T244_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T243_, 2);
5493 									T245_ = NIM_NIL;
5494 									T245_ = newTryFinally__lowerings_202(T244_, finSectionX60gensym590_);
5495 									add__ast_4797(resultX60gensym590_, T245_);
5496 								}
5497 								goto LA239_;
5498 								LA241_: ;
5499 								{
5500 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T247_;
5501 									add__ast_4797(resultX60gensym590_, cpyX60gensym590_);
5502 									add__ast_4797(resultX60gensym590_, finSectionX60gensym590_);
5503 									T247_ = NIM_NIL;
5504 									T247_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym590_, c, branchScopeX60gensym501_.parent, isDecl);
5505 									add__ast_4797(resultX60gensym590_, T247_);
5506 								}
5507 								LA239_: ;
5508 								{
5509 									NIM_BOOL T252_;
5510 									if (!!((branchScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA250_;
5511 									T252_ = (NIM_BOOL)0;
5512 									T252_ = (*branchScopeX60gensym501_.parent).needsTry;
5513 									if (T252_) goto LA253_;
5514 									T252_ = branchScopeX60gensym501_.needsTry;
5515 									LA253_: ;
5516 									(*branchScopeX60gensym501_.parent).needsTry = T252_;
5517 								}
5518 								LA250_: ;
5519 								asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[(NI)(T182_ - ((NI) 1))]), resultX60gensym590_);
5520 							}
5521 							LA183_: ;
5522 							add__ast_4797(result, branchX60gensym501__2);
5523 							i_9 += ((NI) 1);
5524 						} LA177: ;
5525 					}
5526 				}
5527 			}
5528 			break;
5529 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
5530 			{
5531 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym501_;
5532 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T255_;
5533 				result = copyNode__ast_4336(ri);
5534 				nimZeroMem((void*)(&tryScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5535 				nestedScope__injectdestructors_72(s, (&tryScopeX60gensym501_));
5536 				T255_ = NIM_NIL;
5537 				{
5538 					NIM_BOOL T258_;
5539 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T262_;
5540 					T258_ = (NIM_BOOL)0;
5541 					T258_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5542 					if (T258_) goto LA259_;
5543 					T258_ = NIM_TRUE;
5544 					LA259_: ;
5545 					if (!T258_) goto LA260_;
5546 					T262_ = NIM_NIL;
5547 					{
5548 						NIM_BOOL T265_;
5549 						T265_ = (NIM_BOOL)0;
5550 						T265_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5551 						if (!T265_) goto LA266_;
5552 						T262_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5553 					}
5554 					goto LA263_;
5555 					LA266_: ;
5556 					{
5557 						T262_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), isDecl);
5558 					}
5559 					LA263_: ;
5560 					T255_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym501_), T262_);
5561 				}
5562 				goto LA256_;
5563 				LA260_: ;
5564 				{
5565 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym606_;
5566 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym606_;
5567 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym606_;
5568 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym606_;
5569 					resultX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5570 					tmpX60gensym606_ = getTemp__injectdestructors_61(c, tryScopeX60gensym501_.parent, (*(*ri)._kind_6.sons->data[((NI) 0)]).typ, (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5571 					(*(*tmpX60gensym606_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5572 					{
5573 						NIM_BOOL T272_;
5574 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T275_;
5575 						NI T276_;
5576 						T272_ = (NIM_BOOL)0;
5577 						T272_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5578 						if (!T272_) goto LA273_;
5579 						T275_ = NIM_NIL;
5580 						T275_ = genDestroy__injectdestructors_6527(c, tmpX60gensym606_);
5581 						unsureAsgnRef((void**) (&(*tryScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5582 						T276_ = (*tryScopeX60gensym501_.parent).final->Sup.len++;
5583 						asgnRef((void**) (&(*tryScopeX60gensym501_.parent).final->data[T276_]), T275_);
5584 						cpyX60gensym606_ = moveOrCopy__injectdestructors_110(tmpX60gensym606_, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), NIM_TRUE);
5585 					}
5586 					goto LA270_;
5587 					LA273_: ;
5588 					{
5589 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T278_;
5590 						nimZeroMem((void*)T278_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5591 						T278_[0] = tmpX60gensym606_;
5592 						T278_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5593 						cpyX60gensym606_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T278_, 2);
5594 					}
5595 					LA270_: ;
5596 					{
5597 						NI T281_;
5598 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym606_;
5599 						T281_ = (tryScopeX60gensym501_.vars ? tryScopeX60gensym501_.vars->Sup.len : 0);
5600 						if (!(((NI) 0) < T281_)) goto LA282_;
5601 						varSectionX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5602 						{
5603 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym606__2;
5604 							NI i_12;
5605 							NI L_7;
5606 							NI T285_;
5607 							tmpX60gensym606__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5608 							i_12 = ((NI) 0);
5609 							T285_ = (tryScopeX60gensym501_.vars ? tryScopeX60gensym501_.vars->Sup.len : 0);
5610 							L_7 = T285_;
5611 							{
5612 								while (1) {
5613 									tyArray__T6RKPw8xfAeNaoei9aZGzXg T288_;
5614 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T289_;
5615 									if (!(i_12 < L_7)) goto LA287;
5616 									tmpX60gensym606__2 = &tryScopeX60gensym501_.vars->data[i_12];
5617 									nimZeroMem((void*)T288_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5618 									T288_[0] = newSymNode__ast_3716((*tmpX60gensym606__2));
5619 									T288_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5620 									T288_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5621 									T289_ = NIM_NIL;
5622 									T289_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T288_, 3);
5623 									add__ast_4797(varSectionX60gensym606_, T289_);
5624 									i_12 += ((NI) 1);
5625 								} LA287: ;
5626 							}
5627 						}
5628 						add__ast_4797(resultX60gensym606_, varSectionX60gensym606_);
5629 					}
5630 					LA282_: ;
5631 					finSectionX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5632 					{
5633 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym606_;
5634 						NI i_13;
5635 						NI L_8;
5636 						NI T291_;
5637 						mX60gensym606_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5638 						i_13 = ((NI) 0);
5639 						T291_ = (tryScopeX60gensym501_.wasMoved ? tryScopeX60gensym501_.wasMoved->Sup.len : 0);
5640 						L_8 = T291_;
5641 						{
5642 							while (1) {
5643 								if (!(i_13 < L_8)) goto LA293;
5644 								mX60gensym606_ = &tryScopeX60gensym501_.wasMoved->data[i_13];
5645 								add__ast_4797(finSectionX60gensym606_, (*mX60gensym606_));
5646 								i_13 += ((NI) 1);
5647 							} LA293: ;
5648 						}
5649 					}
5650 					{
5651 						NI iX60gensym606_;
5652 						NI colontmp__9;
5653 						NI T295_;
5654 						NI res_4;
5655 						iX60gensym606_ = (NI)0;
5656 						colontmp__9 = (NI)0;
5657 						T295_ = ((tryScopeX60gensym501_.final ? tryScopeX60gensym501_.final->Sup.len : 0)-1);
5658 						colontmp__9 = T295_;
5659 						res_4 = colontmp__9;
5660 						{
5661 							while (1) {
5662 								if (!(((NI) 0) <= res_4)) goto LA297;
5663 								iX60gensym606_ = res_4;
5664 								add__ast_4797(finSectionX60gensym606_, tryScopeX60gensym501_.final->data[iX60gensym606_]);
5665 								res_4 -= ((NI) 1);
5666 							} LA297: ;
5667 						}
5668 					}
5669 					{
5670 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T302_;
5671 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T309_;
5672 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T310_;
5673 						if (!tryScopeX60gensym501_.needsTry) goto LA300_;
5674 						nimZeroMem((void*)T302_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5675 						T302_[0] = cpyX60gensym606_;
5676 						{
5677 							NIM_BOOL T305_;
5678 							T305_ = (NIM_BOOL)0;
5679 							T305_ = isEmptyType__ast_4779((*tmpX60gensym606_).typ);
5680 							if (!T305_) goto LA306_;
5681 							T302_[1] = p__injectdestructors_105(tmpX60gensym606_, c, tryScopeX60gensym501_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5682 						}
5683 						goto LA303_;
5684 						LA306_: ;
5685 						{
5686 							T302_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym606_, c, tryScopeX60gensym501_.parent, isDecl);
5687 						}
5688 						LA303_: ;
5689 						T309_ = NIM_NIL;
5690 						T309_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T302_, 2);
5691 						T310_ = NIM_NIL;
5692 						T310_ = newTryFinally__lowerings_202(T309_, finSectionX60gensym606_);
5693 						add__ast_4797(resultX60gensym606_, T310_);
5694 					}
5695 					goto LA298_;
5696 					LA300_: ;
5697 					{
5698 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T312_;
5699 						add__ast_4797(resultX60gensym606_, cpyX60gensym606_);
5700 						add__ast_4797(resultX60gensym606_, finSectionX60gensym606_);
5701 						T312_ = NIM_NIL;
5702 						{
5703 							NIM_BOOL T315_;
5704 							T315_ = (NIM_BOOL)0;
5705 							T315_ = isEmptyType__ast_4779((*tmpX60gensym606_).typ);
5706 							if (!T315_) goto LA316_;
5707 							T312_ = p__injectdestructors_105(tmpX60gensym606_, c, tryScopeX60gensym501_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5708 						}
5709 						goto LA313_;
5710 						LA316_: ;
5711 						{
5712 							T312_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym606_, c, tryScopeX60gensym501_.parent, isDecl);
5713 						}
5714 						LA313_: ;
5715 						add__ast_4797(resultX60gensym606_, T312_);
5716 					}
5717 					LA298_: ;
5718 					{
5719 						NIM_BOOL T323_;
5720 						if (!!((tryScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA321_;
5721 						T323_ = (NIM_BOOL)0;
5722 						T323_ = (*tryScopeX60gensym501_.parent).needsTry;
5723 						if (T323_) goto LA324_;
5724 						T323_ = tryScopeX60gensym501_.needsTry;
5725 						LA324_: ;
5726 						(*tryScopeX60gensym501_.parent).needsTry = T323_;
5727 					}
5728 					LA321_: ;
5729 					T255_ = resultX60gensym606_;
5730 				}
5731 				LA256_: ;
5732 				add__ast_4797(result, T255_);
5733 				{
5734 					NI iX60gensym501__5;
5735 					NI colontmp__10;
5736 					NI i_14;
5737 					iX60gensym501__5 = (NI)0;
5738 					colontmp__10 = (NI)0;
5739 					colontmp__10 = len__ast_3198(ri);
5740 					i_14 = ((NI) 1);
5741 					{
5742 						while (1) {
5743 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501__3;
5744 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501__3;
5745 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym501__2;
5746 							NI T328_;
5747 							if (!(i_14 < colontmp__10)) goto LA327;
5748 							iX60gensym501__5 = i_14;
5749 							itX60gensym501__3 = (*ri)._kind_6.sons->data[iX60gensym501__5];
5750 							branchX60gensym501__3 = copyTree__ast_4431(itX60gensym501__3);
5751 							nimZeroMem((void*)(&branchScopeX60gensym501__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5752 							nestedScope__injectdestructors_72(s, (&branchScopeX60gensym501__2));
5753 							T328_ = (NI)0;
5754 							T328_ = len__ast_3198(branchX60gensym501__3);
5755 							{
5756 								NIM_BOOL T331_;
5757 								NIM_BOOL T332_;
5758 								NI T333_;
5759 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T338_;
5760 								T331_ = (NIM_BOOL)0;
5761 								T332_ = (NIM_BOOL)0;
5762 								T333_ = (NI)0;
5763 								T333_ = len__ast_3198(itX60gensym501__3);
5764 								T332_ = isEmptyType__ast_4779((*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T333_ - ((NI) 1))]).typ);
5765 								if (T332_) goto LA334_;
5766 								T332_ = NIM_TRUE;
5767 								LA334_: ;
5768 								T331_ = T332_;
5769 								if (T331_) goto LA335_;
5770 								T331_ = ((*itX60gensym501__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
5771 								LA335_: ;
5772 								if (!T331_) goto LA336_;
5773 								T338_ = NIM_NIL;
5774 								{
5775 									NI T343_;
5776 									if (!((*itX60gensym501__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA341_;
5777 									T343_ = (NI)0;
5778 									T343_ = len__ast_3198(itX60gensym501__3);
5779 									T338_ = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T343_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5780 								}
5781 								goto LA339_;
5782 								LA341_: ;
5783 								{
5784 									{
5785 										NI T347_;
5786 										NIM_BOOL T348_;
5787 										NI T351_;
5788 										T347_ = (NI)0;
5789 										T347_ = len__ast_3198(itX60gensym501__3);
5790 										T348_ = (NIM_BOOL)0;
5791 										T348_ = isEmptyType__ast_4779((*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T347_ - ((NI) 1))]).typ);
5792 										if (!T348_) goto LA349_;
5793 										T351_ = (NI)0;
5794 										T351_ = len__ast_3198(itX60gensym501__3);
5795 										T338_ = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T351_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5796 									}
5797 									goto LA345_;
5798 									LA349_: ;
5799 									{
5800 										NI T353_;
5801 										T353_ = (NI)0;
5802 										T353_ = len__ast_3198(itX60gensym501__3);
5803 										T338_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501__3)._kind_6.sons->data[(NI)(T353_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), isDecl);
5804 									}
5805 									LA345_: ;
5806 								}
5807 								LA339_: ;
5808 								asgnRef((void**) (&(*branchX60gensym501__3)._kind_6.sons->data[(NI)(T328_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym501__2), T338_));
5809 							}
5810 							goto LA329_;
5811 							LA336_: ;
5812 							{
5813 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym637_;
5814 								NI T355_;
5815 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym637_;
5816 								NI T356_;
5817 								NI T357_;
5818 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym637_;
5819 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym637_;
5820 								NI T384_;
5821 								T355_ = (NI)0;
5822 								T355_ = len__ast_3198(itX60gensym501__3);
5823 								resultX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T355_ - ((NI) 1))]).info);
5824 								T356_ = (NI)0;
5825 								T356_ = len__ast_3198(itX60gensym501__3);
5826 								T357_ = (NI)0;
5827 								T357_ = len__ast_3198(itX60gensym501__3);
5828 								tmpX60gensym637_ = getTemp__injectdestructors_61(c, branchScopeX60gensym501__2.parent, (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T356_ - ((NI) 1))]).typ, (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T357_ - ((NI) 1))]).info);
5829 								(*(*tmpX60gensym637_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5830 								{
5831 									NI T360_;
5832 									NIM_BOOL T361_;
5833 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T364_;
5834 									NI T365_;
5835 									NI T366_;
5836 									T360_ = (NI)0;
5837 									T360_ = len__ast_3198(itX60gensym501__3);
5838 									T361_ = (NIM_BOOL)0;
5839 									T361_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T360_ - ((NI) 1))]).typ);
5840 									if (!T361_) goto LA362_;
5841 									T364_ = NIM_NIL;
5842 									T364_ = genDestroy__injectdestructors_6527(c, tmpX60gensym637_);
5843 									unsureAsgnRef((void**) (&(*branchScopeX60gensym501__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym501__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5844 									T365_ = (*branchScopeX60gensym501__2.parent).final->Sup.len++;
5845 									asgnRef((void**) (&(*branchScopeX60gensym501__2.parent).final->data[T365_]), T364_);
5846 									T366_ = (NI)0;
5847 									T366_ = len__ast_3198(itX60gensym501__3);
5848 									cpyX60gensym637_ = moveOrCopy__injectdestructors_110(tmpX60gensym637_, (*itX60gensym501__3)._kind_6.sons->data[(NI)(T366_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), NIM_TRUE);
5849 								}
5850 								goto LA358_;
5851 								LA362_: ;
5852 								{
5853 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T368_;
5854 									NI T369_;
5855 									nimZeroMem((void*)T368_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5856 									T368_[0] = tmpX60gensym637_;
5857 									T369_ = (NI)0;
5858 									T369_ = len__ast_3198(itX60gensym501__3);
5859 									T368_[1] = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T369_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5860 									cpyX60gensym637_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T368_, 2);
5861 								}
5862 								LA358_: ;
5863 								{
5864 									NI T372_;
5865 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym637_;
5866 									NI T375_;
5867 									T372_ = (branchScopeX60gensym501__2.vars ? branchScopeX60gensym501__2.vars->Sup.len : 0);
5868 									if (!(((NI) 0) < T372_)) goto LA373_;
5869 									T375_ = (NI)0;
5870 									T375_ = len__ast_3198(itX60gensym501__3);
5871 									varSectionX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T375_ - ((NI) 1))]).info);
5872 									{
5873 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym637__2;
5874 										NI i_15;
5875 										NI L_9;
5876 										NI T377_;
5877 										tmpX60gensym637__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5878 										i_15 = ((NI) 0);
5879 										T377_ = (branchScopeX60gensym501__2.vars ? branchScopeX60gensym501__2.vars->Sup.len : 0);
5880 										L_9 = T377_;
5881 										{
5882 											while (1) {
5883 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T380_;
5884 												NI T381_;
5885 												NI T382_;
5886 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T383_;
5887 												if (!(i_15 < L_9)) goto LA379;
5888 												tmpX60gensym637__2 = &branchScopeX60gensym501__2.vars->data[i_15];
5889 												nimZeroMem((void*)T380_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5890 												T380_[0] = newSymNode__ast_3716((*tmpX60gensym637__2));
5891 												T381_ = (NI)0;
5892 												T381_ = len__ast_3198(itX60gensym501__3);
5893 												T380_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T381_ - ((NI) 1))]).info);
5894 												T382_ = (NI)0;
5895 												T382_ = len__ast_3198(itX60gensym501__3);
5896 												T380_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T382_ - ((NI) 1))]).info);
5897 												T383_ = NIM_NIL;
5898 												T383_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T380_, 3);
5899 												add__ast_4797(varSectionX60gensym637_, T383_);
5900 												i_15 += ((NI) 1);
5901 											} LA379: ;
5902 										}
5903 									}
5904 									add__ast_4797(resultX60gensym637_, varSectionX60gensym637_);
5905 								}
5906 								LA373_: ;
5907 								T384_ = (NI)0;
5908 								T384_ = len__ast_3198(itX60gensym501__3);
5909 								finSectionX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T384_ - ((NI) 1))]).info);
5910 								{
5911 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym637_;
5912 									NI i_16;
5913 									NI L_10;
5914 									NI T386_;
5915 									mX60gensym637_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5916 									i_16 = ((NI) 0);
5917 									T386_ = (branchScopeX60gensym501__2.wasMoved ? branchScopeX60gensym501__2.wasMoved->Sup.len : 0);
5918 									L_10 = T386_;
5919 									{
5920 										while (1) {
5921 											if (!(i_16 < L_10)) goto LA388;
5922 											mX60gensym637_ = &branchScopeX60gensym501__2.wasMoved->data[i_16];
5923 											add__ast_4797(finSectionX60gensym637_, (*mX60gensym637_));
5924 											i_16 += ((NI) 1);
5925 										} LA388: ;
5926 									}
5927 								}
5928 								{
5929 									NI iX60gensym637_;
5930 									NI colontmp__11;
5931 									NI T390_;
5932 									NI res_5;
5933 									iX60gensym637_ = (NI)0;
5934 									colontmp__11 = (NI)0;
5935 									T390_ = ((branchScopeX60gensym501__2.final ? branchScopeX60gensym501__2.final->Sup.len : 0)-1);
5936 									colontmp__11 = T390_;
5937 									res_5 = colontmp__11;
5938 									{
5939 										while (1) {
5940 											if (!(((NI) 0) <= res_5)) goto LA392;
5941 											iX60gensym637_ = res_5;
5942 											add__ast_4797(finSectionX60gensym637_, branchScopeX60gensym501__2.final->data[iX60gensym637_]);
5943 											res_5 -= ((NI) 1);
5944 										} LA392: ;
5945 									}
5946 								}
5947 								{
5948 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T397_;
5949 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T398_;
5950 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T399_;
5951 									if (!branchScopeX60gensym501__2.needsTry) goto LA395_;
5952 									nimZeroMem((void*)T397_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5953 									T397_[0] = cpyX60gensym637_;
5954 									T397_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym637_, c, branchScopeX60gensym501__2.parent, isDecl);
5955 									T398_ = NIM_NIL;
5956 									T398_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T397_, 2);
5957 									T399_ = NIM_NIL;
5958 									T399_ = newTryFinally__lowerings_202(T398_, finSectionX60gensym637_);
5959 									add__ast_4797(resultX60gensym637_, T399_);
5960 								}
5961 								goto LA393_;
5962 								LA395_: ;
5963 								{
5964 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T401_;
5965 									add__ast_4797(resultX60gensym637_, cpyX60gensym637_);
5966 									add__ast_4797(resultX60gensym637_, finSectionX60gensym637_);
5967 									T401_ = NIM_NIL;
5968 									T401_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym637_, c, branchScopeX60gensym501__2.parent, isDecl);
5969 									add__ast_4797(resultX60gensym637_, T401_);
5970 								}
5971 								LA393_: ;
5972 								{
5973 									NIM_BOOL T406_;
5974 									if (!!((branchScopeX60gensym501__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA404_;
5975 									T406_ = (NIM_BOOL)0;
5976 									T406_ = (*branchScopeX60gensym501__2.parent).needsTry;
5977 									if (T406_) goto LA407_;
5978 									T406_ = branchScopeX60gensym501__2.needsTry;
5979 									LA407_: ;
5980 									(*branchScopeX60gensym501__2.parent).needsTry = T406_;
5981 								}
5982 								LA404_: ;
5983 								asgnRef((void**) (&(*branchX60gensym501__3)._kind_6.sons->data[(NI)(T328_ - ((NI) 1))]), resultX60gensym637_);
5984 							}
5985 							LA329_: ;
5986 							add__ast_4797(result, branchX60gensym501__3);
5987 							i_14 += ((NI) 1);
5988 						} LA327: ;
5989 					}
5990 				}
5991 			}
5992 			break;
5993 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
5994 			{
5995 				result = copyTree__ast_4431(ri);
5996 				asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), moveOrCopy__injectdestructors_110(dest, (*(*ri)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, isDecl));
5997 			}
5998 			break;
5999 			default:
6000 			{
6001 			}
6002 			break;
6003 			}
6004 		}
6005 		break;
6006 		default:
6007 		{
6008 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T411_;
6009 			nimZeroMem((void*)T411_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6010 			T411_[0] = dest;
6011 			T411_[1] = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6012 			result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T411_, 2);
6013 		}
6014 		break;
6015 		}
6016 	}
6017 	goto LA1_;
6018 	LA8_: ;
6019 	{
6020 		switch ((*ri).kind) {
6021 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
6022 		{
6023 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T414_;
6024 			T414_ = NIM_NIL;
6025 			T414_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6026 			result = genSink__injectdestructors_6564(c, dest, T414_, isDecl);
6027 		}
6028 		break;
6029 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
6030 		{
6031 			{
6032 				NIM_BOOL T418_;
6033 				NIM_BOOL T419_;
6034 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T424_;
6035 				T418_ = (NIM_BOOL)0;
6036 				T419_ = (NIM_BOOL)0;
6037 				T419_ = ((*(*ri)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6038 				if (!(T419_)) goto LA420_;
6039 				T419_ = ((*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
6040 				LA420_: ;
6041 				T418_ = T419_;
6042 				if (!(T418_)) goto LA421_;
6043 				T418_ = ((*(*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
6044 				LA421_: ;
6045 				if (!T418_) goto LA422_;
6046 				T424_ = NIM_NIL;
6047 				T424_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6048 				result = genSink__injectdestructors_6564(c, dest, T424_, isDecl);
6049 			}
6050 			goto LA416_;
6051 			LA422_: ;
6052 			{
6053 				NIM_BOOL T426_;
6054 				T426_ = (NIM_BOOL)0;
6055 				T426_ = isAnalysableFieldAccess__dfa_903(ri, (*c).owner);
6056 				if (!(T426_)) goto LA427_;
6057 				T426_ = isLastRead__injectdestructors_6103(ri, c);
6058 				LA427_: ;
6059 				if (!T426_) goto LA428_;
6060 				{
6061 					tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T432_;
6062 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk;
6063 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T435_;
6064 					T432_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
6065 					T432_ = aliases__dfa_792(dest, ri);
6066 					if (!(T432_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1))) goto LA433_;
6067 					snk = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6068 					nimZeroMem((void*)T435_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6069 					T435_[0] = snk;
6070 					T435_[1] = genWasMoved__injectdestructors_6739(c, ri);
6071 					result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T435_, 2);
6072 				}
6073 				goto LA430_;
6074 				LA433_: ;
6075 				{
6076 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T437_;
6077 					T437_ = NIM_NIL;
6078 					T437_ = destructiveMoveVar__injectdestructors_6760(ri, c, s);
6079 					result = genSink__injectdestructors_6564(c, dest, T437_, isDecl);
6080 				}
6081 				LA430_: ;
6082 			}
6083 			goto LA416_;
6084 			LA428_: ;
6085 			{
6086 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T439_;
6087 				result = genCopy__injectdestructors_6647(c, dest, ri);
6088 				T439_ = NIM_NIL;
6089 				T439_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6090 				add__ast_4797(result, T439_);
6091 				finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6092 			}
6093 			LA416_: ;
6094 		}
6095 		break;
6096 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
6097 		{
6098 			{
6099 				NIM_BOOL T443_;
6100 				NI T444_;
6101 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T448_;
6102 				T443_ = (NIM_BOOL)0;
6103 				T444_ = (NI)0;
6104 				T444_ = len__ast_3198(ri);
6105 				T443_ = (((NI) 0) < T444_);
6106 				if (!(T443_)) goto LA445_;
6107 				T443_ = isDangerousSeq__injectdestructors_6847((*ri).typ);
6108 				LA445_: ;
6109 				if (!T443_) goto LA446_;
6110 				result = genCopy__injectdestructors_6647(c, dest, ri);
6111 				T448_ = NIM_NIL;
6112 				T448_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6113 				add__ast_4797(result, T448_);
6114 				finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6115 			}
6116 			goto LA441_;
6117 			LA446_: ;
6118 			{
6119 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T450_;
6120 				T450_ = NIM_NIL;
6121 				T450_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6122 				result = genSink__injectdestructors_6564(c, dest, T450_, isDecl);
6123 			}
6124 			LA441_: ;
6125 		}
6126 		break;
6127 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
6128 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
6129 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
6130 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
6131 		{
6132 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T452_;
6133 			T452_ = NIM_NIL;
6134 			T452_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6135 			result = genSink__injectdestructors_6564(c, dest, T452_, isDecl);
6136 		}
6137 		break;
6138 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6139 		{
6140 			{
6141 				NIM_BOOL T456_;
6142 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_2;
6143 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T460_;
6144 				T456_ = (NIM_BOOL)0;
6145 				T456_ = isSinkParam__ast_5030((*ri)._kind_4.sym);
6146 				if (!(T456_)) goto LA457_;
6147 				T456_ = isLastRead__injectdestructors_6103(ri, c);
6148 				LA457_: ;
6149 				if (!T456_) goto LA458_;
6150 				snk_2 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6151 				nimZeroMem((void*)T460_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6152 				T460_[0] = snk_2;
6153 				T460_[1] = genWasMoved__injectdestructors_6739(c, ri);
6154 				result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T460_, 2);
6155 			}
6156 			goto LA454_;
6157 			LA458_: ;
6158 			{
6159 				NIM_BOOL T462_;
6160 				NIM_BOOL T463_;
6161 				NIM_BOOL T464_;
6162 				NIM_BOOL T465_;
6163 				NIM_BOOL T470_;
6164 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_3;
6165 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T473_;
6166 				T462_ = (NIM_BOOL)0;
6167 				T463_ = (NIM_BOOL)0;
6168 				T464_ = (NIM_BOOL)0;
6169 				T465_ = (NIM_BOOL)0;
6170 				T465_ = !(((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
6171 				if (!(T465_)) goto LA466_;
6172 				T465_ = ((*(*ri)._kind_4.sym).owner == (*c).owner);
6173 				LA466_: ;
6174 				T464_ = T465_;
6175 				if (!(T464_)) goto LA467_;
6176 				T464_ = isLastRead__injectdestructors_6103(ri, c);
6177 				LA467_: ;
6178 				T463_ = T464_;
6179 				if (!(T463_)) goto LA468_;
6180 				T463_ = canBeMoved__injectdestructors_6532((&(*c)), (*dest).typ);
6181 				LA468_: ;
6182 				T462_ = T463_;
6183 				if (!(T462_)) goto LA469_;
6184 				T470_ = (NIM_BOOL)0;
6185 				T470_ = isCursor__injectdestructors_6369(ri);
6186 				T462_ = !(T470_);
6187 				LA469_: ;
6188 				if (!T462_) goto LA471_;
6189 				snk_3 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6190 				nimZeroMem((void*)T473_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6191 				T473_[0] = snk_3;
6192 				T473_[1] = genWasMoved__injectdestructors_6739(c, ri);
6193 				result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T473_, 2);
6194 			}
6195 			goto LA454_;
6196 			LA471_: ;
6197 			{
6198 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T475_;
6199 				result = genCopy__injectdestructors_6647(c, dest, ri);
6200 				T475_ = NIM_NIL;
6201 				T475_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6202 				add__ast_4797(result, T475_);
6203 				finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6204 			}
6205 			LA454_: ;
6206 		}
6207 		break;
6208 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
6209 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
6210 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
6211 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
6212 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
6213 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
6214 		{
6215 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T477_;
6216 			T477_ = NIM_NIL;
6217 			T477_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
6218 			result = genSink__injectdestructors_6564(c, dest, T477_, isDecl);
6219 		}
6220 		break;
6221 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
6222 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
6223 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
6224 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
6225 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
6226 		{
6227 			switch ((*ri).kind) {
6228 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
6229 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
6230 			{
6231 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T490_;
6232 				{
6233 					NI T482_;
6234 					T482_ = (NI)0;
6235 					T482_ = len__ast_3198(ri);
6236 					if (!(T482_ == ((NI) 0))) goto LA483_;
6237 					result = ri;
6238 					goto BeforeRet_;
6239 				}
6240 				LA483_: ;
6241 				result = copyNode__ast_4336(ri);
6242 				{
6243 					NI iX60gensym657_;
6244 					NI colontmp__12;
6245 					NI T486_;
6246 					NI i_17;
6247 					iX60gensym657_ = (NI)0;
6248 					colontmp__12 = (NI)0;
6249 					T486_ = (NI)0;
6250 					T486_ = len__ast_3198(ri);
6251 					colontmp__12 = (NI)(T486_ - ((NI) 1));
6252 					i_17 = ((NI) 0);
6253 					{
6254 						while (1) {
6255 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T489_;
6256 							if (!(i_17 < colontmp__12)) goto LA488;
6257 							iX60gensym657_ = i_17;
6258 							T489_ = NIM_NIL;
6259 							T489_ = p__injectdestructors_105((*ri)._kind_6.sons->data[iX60gensym657_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6260 							add__ast_4797(result, T489_);
6261 							i_17 += ((NI) 1);
6262 						} LA488: ;
6263 					}
6264 				}
6265 				T490_ = NIM_NIL;
6266 				{
6267 					NI T493_;
6268 					NIM_BOOL T494_;
6269 					NI T497_;
6270 					T493_ = (NI)0;
6271 					T493_ = len__ast_3198(ri);
6272 					T494_ = (NIM_BOOL)0;
6273 					T494_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[(NI)(T493_ - ((NI) 1))]).typ);
6274 					if (!T494_) goto LA495_;
6275 					T497_ = (NI)0;
6276 					T497_ = len__ast_3198(ri);
6277 					T490_ = p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(T497_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6278 				}
6279 				goto LA491_;
6280 				LA495_: ;
6281 				{
6282 					NI T499_;
6283 					T499_ = (NI)0;
6284 					T499_ = len__ast_3198(ri);
6285 					T490_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[(NI)(T499_ - ((NI) 1))], c, s, isDecl);
6286 				}
6287 				LA491_: ;
6288 				add__ast_4797(result, T490_);
6289 			}
6290 			break;
6291 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
6292 			{
6293 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T501_;
6294 				result = copyNode__ast_4336(ri);
6295 				T501_ = NIM_NIL;
6296 				T501_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6297 				add__ast_4797(result, T501_);
6298 				{
6299 					NI iX60gensym657__2;
6300 					NI colontmp__13;
6301 					NI i_18;
6302 					iX60gensym657__2 = (NI)0;
6303 					colontmp__13 = (NI)0;
6304 					colontmp__13 = len__ast_3198(ri);
6305 					i_18 = ((NI) 1);
6306 					{
6307 						while (1) {
6308 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657_;
6309 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657_;
6310 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym657_;
6311 							NI T509_;
6312 							if (!(i_18 < colontmp__13)) goto LA504;
6313 							iX60gensym657__2 = i_18;
6314 							itX60gensym657_ = (*ri)._kind_6.sons->data[iX60gensym657__2];
6315 							branchX60gensym657_ = shallowCopy__ast_4413(itX60gensym657_);
6316 							{
6317 								NI jX60gensym657_;
6318 								NI colontmp__14;
6319 								NI T506_;
6320 								NI i_19;
6321 								jX60gensym657_ = (NI)0;
6322 								colontmp__14 = (NI)0;
6323 								T506_ = (NI)0;
6324 								T506_ = len__ast_3198(itX60gensym657_);
6325 								colontmp__14 = (NI)(T506_ - ((NI) 1));
6326 								i_19 = ((NI) 0);
6327 								{
6328 									while (1) {
6329 										if (!(i_19 < colontmp__14)) goto LA508;
6330 										jX60gensym657_ = i_19;
6331 										asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[jX60gensym657_]), copyTree__ast_4431((*itX60gensym657_)._kind_6.sons->data[jX60gensym657_]));
6332 										i_19 += ((NI) 1);
6333 									} LA508: ;
6334 								}
6335 							}
6336 							nimZeroMem((void*)(&ofScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6337 							nestedScope__injectdestructors_72(s, (&ofScopeX60gensym657_));
6338 							T509_ = (NI)0;
6339 							T509_ = len__ast_3198(branchX60gensym657_);
6340 							{
6341 								NIM_BOOL T512_;
6342 								NI T513_;
6343 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T517_;
6344 								T512_ = (NIM_BOOL)0;
6345 								T513_ = (NI)0;
6346 								T513_ = len__ast_3198(itX60gensym657_);
6347 								T512_ = isEmptyType__ast_4779((*(*itX60gensym657_)._kind_6.sons->data[(NI)(T513_ - ((NI) 1))]).typ);
6348 								if (T512_) goto LA514_;
6349 								T512_ = NIM_TRUE;
6350 								LA514_: ;
6351 								if (!T512_) goto LA515_;
6352 								T517_ = NIM_NIL;
6353 								{
6354 									NI T520_;
6355 									NIM_BOOL T521_;
6356 									NI T524_;
6357 									T520_ = (NI)0;
6358 									T520_ = len__ast_3198(itX60gensym657_);
6359 									T521_ = (NIM_BOOL)0;
6360 									T521_ = isEmptyType__ast_4779((*(*itX60gensym657_)._kind_6.sons->data[(NI)(T520_ - ((NI) 1))]).typ);
6361 									if (!T521_) goto LA522_;
6362 									T524_ = (NI)0;
6363 									T524_ = len__ast_3198(itX60gensym657_);
6364 									T517_ = p__injectdestructors_105((*itX60gensym657_)._kind_6.sons->data[(NI)(T524_ - ((NI) 1))], c, (&ofScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6365 								}
6366 								goto LA518_;
6367 								LA522_: ;
6368 								{
6369 									NI T526_;
6370 									T526_ = (NI)0;
6371 									T526_ = len__ast_3198(itX60gensym657_);
6372 									T517_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657_)._kind_6.sons->data[(NI)(T526_ - ((NI) 1))], c, (&ofScopeX60gensym657_), isDecl);
6373 								}
6374 								LA518_: ;
6375 								asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[(NI)(T509_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym657_), T517_));
6376 							}
6377 							goto LA510_;
6378 							LA515_: ;
6379 							{
6380 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym695_;
6381 								NI T528_;
6382 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym695_;
6383 								NI T529_;
6384 								NI T530_;
6385 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym695_;
6386 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym695_;
6387 								NI T557_;
6388 								T528_ = (NI)0;
6389 								T528_ = len__ast_3198(itX60gensym657_);
6390 								resultX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T528_ - ((NI) 1))]).info);
6391 								T529_ = (NI)0;
6392 								T529_ = len__ast_3198(itX60gensym657_);
6393 								T530_ = (NI)0;
6394 								T530_ = len__ast_3198(itX60gensym657_);
6395 								tmpX60gensym695_ = getTemp__injectdestructors_61(c, ofScopeX60gensym657_.parent, (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T529_ - ((NI) 1))]).typ, (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T530_ - ((NI) 1))]).info);
6396 								(*(*tmpX60gensym695_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6397 								{
6398 									NI T533_;
6399 									NIM_BOOL T534_;
6400 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T537_;
6401 									NI T538_;
6402 									NI T539_;
6403 									T533_ = (NI)0;
6404 									T533_ = len__ast_3198(itX60gensym657_);
6405 									T534_ = (NIM_BOOL)0;
6406 									T534_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T533_ - ((NI) 1))]).typ);
6407 									if (!T534_) goto LA535_;
6408 									T537_ = NIM_NIL;
6409 									T537_ = genDestroy__injectdestructors_6527(c, tmpX60gensym695_);
6410 									unsureAsgnRef((void**) (&(*ofScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6411 									T538_ = (*ofScopeX60gensym657_.parent).final->Sup.len++;
6412 									asgnRef((void**) (&(*ofScopeX60gensym657_.parent).final->data[T538_]), T537_);
6413 									T539_ = (NI)0;
6414 									T539_ = len__ast_3198(itX60gensym657_);
6415 									cpyX60gensym695_ = moveOrCopy__injectdestructors_110(tmpX60gensym695_, (*itX60gensym657_)._kind_6.sons->data[(NI)(T539_ - ((NI) 1))], c, (&ofScopeX60gensym657_), NIM_TRUE);
6416 								}
6417 								goto LA531_;
6418 								LA535_: ;
6419 								{
6420 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T541_;
6421 									NI T542_;
6422 									nimZeroMem((void*)T541_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6423 									T541_[0] = tmpX60gensym695_;
6424 									T542_ = (NI)0;
6425 									T542_ = len__ast_3198(itX60gensym657_);
6426 									T541_[1] = p__injectdestructors_105((*itX60gensym657_)._kind_6.sons->data[(NI)(T542_ - ((NI) 1))], c, (&ofScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6427 									cpyX60gensym695_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T541_, 2);
6428 								}
6429 								LA531_: ;
6430 								{
6431 									NI T545_;
6432 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym695_;
6433 									NI T548_;
6434 									T545_ = (ofScopeX60gensym657_.vars ? ofScopeX60gensym657_.vars->Sup.len : 0);
6435 									if (!(((NI) 0) < T545_)) goto LA546_;
6436 									T548_ = (NI)0;
6437 									T548_ = len__ast_3198(itX60gensym657_);
6438 									varSectionX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T548_ - ((NI) 1))]).info);
6439 									{
6440 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym695__2;
6441 										NI i_20;
6442 										NI L_11;
6443 										NI T550_;
6444 										tmpX60gensym695__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6445 										i_20 = ((NI) 0);
6446 										T550_ = (ofScopeX60gensym657_.vars ? ofScopeX60gensym657_.vars->Sup.len : 0);
6447 										L_11 = T550_;
6448 										{
6449 											while (1) {
6450 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T553_;
6451 												NI T554_;
6452 												NI T555_;
6453 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T556_;
6454 												if (!(i_20 < L_11)) goto LA552;
6455 												tmpX60gensym695__2 = &ofScopeX60gensym657_.vars->data[i_20];
6456 												nimZeroMem((void*)T553_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6457 												T553_[0] = newSymNode__ast_3716((*tmpX60gensym695__2));
6458 												T554_ = (NI)0;
6459 												T554_ = len__ast_3198(itX60gensym657_);
6460 												T553_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T554_ - ((NI) 1))]).info);
6461 												T555_ = (NI)0;
6462 												T555_ = len__ast_3198(itX60gensym657_);
6463 												T553_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T555_ - ((NI) 1))]).info);
6464 												T556_ = NIM_NIL;
6465 												T556_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T553_, 3);
6466 												add__ast_4797(varSectionX60gensym695_, T556_);
6467 												i_20 += ((NI) 1);
6468 											} LA552: ;
6469 										}
6470 									}
6471 									add__ast_4797(resultX60gensym695_, varSectionX60gensym695_);
6472 								}
6473 								LA546_: ;
6474 								T557_ = (NI)0;
6475 								T557_ = len__ast_3198(itX60gensym657_);
6476 								finSectionX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T557_ - ((NI) 1))]).info);
6477 								{
6478 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym695_;
6479 									NI i_21;
6480 									NI L_12;
6481 									NI T559_;
6482 									mX60gensym695_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6483 									i_21 = ((NI) 0);
6484 									T559_ = (ofScopeX60gensym657_.wasMoved ? ofScopeX60gensym657_.wasMoved->Sup.len : 0);
6485 									L_12 = T559_;
6486 									{
6487 										while (1) {
6488 											if (!(i_21 < L_12)) goto LA561;
6489 											mX60gensym695_ = &ofScopeX60gensym657_.wasMoved->data[i_21];
6490 											add__ast_4797(finSectionX60gensym695_, (*mX60gensym695_));
6491 											i_21 += ((NI) 1);
6492 										} LA561: ;
6493 									}
6494 								}
6495 								{
6496 									NI iX60gensym695_;
6497 									NI colontmp__15;
6498 									NI T563_;
6499 									NI res_6;
6500 									iX60gensym695_ = (NI)0;
6501 									colontmp__15 = (NI)0;
6502 									T563_ = ((ofScopeX60gensym657_.final ? ofScopeX60gensym657_.final->Sup.len : 0)-1);
6503 									colontmp__15 = T563_;
6504 									res_6 = colontmp__15;
6505 									{
6506 										while (1) {
6507 											if (!(((NI) 0) <= res_6)) goto LA565;
6508 											iX60gensym695_ = res_6;
6509 											add__ast_4797(finSectionX60gensym695_, ofScopeX60gensym657_.final->data[iX60gensym695_]);
6510 											res_6 -= ((NI) 1);
6511 										} LA565: ;
6512 									}
6513 								}
6514 								{
6515 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T570_;
6516 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T571_;
6517 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T572_;
6518 									if (!ofScopeX60gensym657_.needsTry) goto LA568_;
6519 									nimZeroMem((void*)T570_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6520 									T570_[0] = cpyX60gensym695_;
6521 									T570_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym695_, c, ofScopeX60gensym657_.parent, isDecl);
6522 									T571_ = NIM_NIL;
6523 									T571_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T570_, 2);
6524 									T572_ = NIM_NIL;
6525 									T572_ = newTryFinally__lowerings_202(T571_, finSectionX60gensym695_);
6526 									add__ast_4797(resultX60gensym695_, T572_);
6527 								}
6528 								goto LA566_;
6529 								LA568_: ;
6530 								{
6531 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T574_;
6532 									add__ast_4797(resultX60gensym695_, cpyX60gensym695_);
6533 									add__ast_4797(resultX60gensym695_, finSectionX60gensym695_);
6534 									T574_ = NIM_NIL;
6535 									T574_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym695_, c, ofScopeX60gensym657_.parent, isDecl);
6536 									add__ast_4797(resultX60gensym695_, T574_);
6537 								}
6538 								LA566_: ;
6539 								{
6540 									NIM_BOOL T579_;
6541 									if (!!((ofScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA577_;
6542 									T579_ = (NIM_BOOL)0;
6543 									T579_ = (*ofScopeX60gensym657_.parent).needsTry;
6544 									if (T579_) goto LA580_;
6545 									T579_ = ofScopeX60gensym657_.needsTry;
6546 									LA580_: ;
6547 									(*ofScopeX60gensym657_.parent).needsTry = T579_;
6548 								}
6549 								LA577_: ;
6550 								asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[(NI)(T509_ - ((NI) 1))]), resultX60gensym695_);
6551 							}
6552 							LA510_: ;
6553 							add__ast_4797(result, branchX60gensym657_);
6554 							i_18 += ((NI) 1);
6555 						} LA504: ;
6556 					}
6557 				}
6558 			}
6559 			break;
6560 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
6561 			{
6562 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T582_;
6563 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657_;
6564 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym657_;
6565 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T583_;
6566 				(*c).inLoop += ((NI) 1);
6567 				(*c).inLoopCond += ((NI) 1);
6568 				result = copyNode__ast_4336(ri);
6569 				T582_ = NIM_NIL;
6570 				T582_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6571 				add__ast_4797(result, T582_);
6572 				(*c).inLoopCond -= ((NI) 1);
6573 				nimZeroMem((void*)(&bodyScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6574 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657_));
6575 				bodyResultX60gensym657_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6576 				T583_ = NIM_NIL;
6577 				T583_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657_), bodyResultX60gensym657_);
6578 				add__ast_4797(result, T583_);
6579 				(*c).inLoop -= ((NI) 1);
6580 			}
6581 			break;
6582 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
6583 			{
6584 				NI lastX60gensym657_;
6585 				NI T585_;
6586 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657__2;
6587 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym657__2;
6588 				(*c).inLoop += ((NI) 1);
6589 				result = shallowCopy__ast_4413(ri);
6590 				T585_ = (NI)0;
6591 				T585_ = len__ast_3198(ri);
6592 				lastX60gensym657_ = (NI)(T585_ - ((NI) 1));
6593 				{
6594 					NI iX60gensym657__3;
6595 					NI colontmp__16;
6596 					NI i_22;
6597 					iX60gensym657__3 = (NI)0;
6598 					colontmp__16 = (NI)0;
6599 					colontmp__16 = (NI)(lastX60gensym657_ - ((NI) 1));
6600 					i_22 = ((NI) 0);
6601 					{
6602 						while (1) {
6603 							if (!(i_22 < colontmp__16)) goto LA588;
6604 							iX60gensym657__3 = i_22;
6605 							asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym657__3]), (*ri)._kind_6.sons->data[iX60gensym657__3]);
6606 							i_22 += ((NI) 1);
6607 						} LA588: ;
6608 					}
6609 				}
6610 				asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym657_ - ((NI) 1))]), p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(lastX60gensym657_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
6611 				nimZeroMem((void*)(&bodyScopeX60gensym657__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6612 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657__2));
6613 				bodyResultX60gensym657__2 = p__injectdestructors_105((*ri)._kind_6.sons->data[lastX60gensym657_], c, (&bodyScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6614 				asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym657_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657__2), bodyResultX60gensym657__2));
6615 				(*c).inLoop -= ((NI) 1);
6616 			}
6617 			break;
6618 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
6619 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
6620 			{
6621 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657__3;
6622 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T590_;
6623 				result = copyNode__ast_4336(ri);
6624 				add__ast_4797(result, (*ri)._kind_6.sons->data[((NI) 0)]);
6625 				nimZeroMem((void*)(&bodyScopeX60gensym657__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6626 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657__3));
6627 				T590_ = NIM_NIL;
6628 				{
6629 					NIM_BOOL T593_;
6630 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T597_;
6631 					T593_ = (NIM_BOOL)0;
6632 					T593_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
6633 					if (T593_) goto LA594_;
6634 					T593_ = NIM_TRUE;
6635 					LA594_: ;
6636 					if (!T593_) goto LA595_;
6637 					T597_ = NIM_NIL;
6638 					T597_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), isDecl);
6639 					T590_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657__3), T597_);
6640 				}
6641 				goto LA591_;
6642 				LA595_: ;
6643 				{
6644 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym717_;
6645 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym717_;
6646 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym717_;
6647 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym717_;
6648 					resultX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6649 					tmpX60gensym717_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym657__3.parent, (*(*ri)._kind_6.sons->data[((NI) 1)]).typ, (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6650 					(*(*tmpX60gensym717_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6651 					{
6652 						NIM_BOOL T601_;
6653 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T604_;
6654 						NI T605_;
6655 						T601_ = (NIM_BOOL)0;
6656 						T601_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
6657 						if (!T601_) goto LA602_;
6658 						T604_ = NIM_NIL;
6659 						T604_ = genDestroy__injectdestructors_6527(c, tmpX60gensym717_);
6660 						unsureAsgnRef((void**) (&(*bodyScopeX60gensym657__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym657__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6661 						T605_ = (*bodyScopeX60gensym657__3.parent).final->Sup.len++;
6662 						asgnRef((void**) (&(*bodyScopeX60gensym657__3.parent).final->data[T605_]), T604_);
6663 						cpyX60gensym717_ = moveOrCopy__injectdestructors_110(tmpX60gensym717_, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), NIM_TRUE);
6664 					}
6665 					goto LA599_;
6666 					LA602_: ;
6667 					{
6668 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T607_;
6669 						nimZeroMem((void*)T607_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6670 						T607_[0] = tmpX60gensym717_;
6671 						T607_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6672 						cpyX60gensym717_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T607_, 2);
6673 					}
6674 					LA599_: ;
6675 					{
6676 						NI T610_;
6677 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym717_;
6678 						T610_ = (bodyScopeX60gensym657__3.vars ? bodyScopeX60gensym657__3.vars->Sup.len : 0);
6679 						if (!(((NI) 0) < T610_)) goto LA611_;
6680 						varSectionX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6681 						{
6682 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym717__2;
6683 							NI i_23;
6684 							NI L_13;
6685 							NI T614_;
6686 							tmpX60gensym717__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6687 							i_23 = ((NI) 0);
6688 							T614_ = (bodyScopeX60gensym657__3.vars ? bodyScopeX60gensym657__3.vars->Sup.len : 0);
6689 							L_13 = T614_;
6690 							{
6691 								while (1) {
6692 									tyArray__T6RKPw8xfAeNaoei9aZGzXg T617_;
6693 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T618_;
6694 									if (!(i_23 < L_13)) goto LA616;
6695 									tmpX60gensym717__2 = &bodyScopeX60gensym657__3.vars->data[i_23];
6696 									nimZeroMem((void*)T617_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6697 									T617_[0] = newSymNode__ast_3716((*tmpX60gensym717__2));
6698 									T617_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6699 									T617_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6700 									T618_ = NIM_NIL;
6701 									T618_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T617_, 3);
6702 									add__ast_4797(varSectionX60gensym717_, T618_);
6703 									i_23 += ((NI) 1);
6704 								} LA616: ;
6705 							}
6706 						}
6707 						add__ast_4797(resultX60gensym717_, varSectionX60gensym717_);
6708 					}
6709 					LA611_: ;
6710 					finSectionX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6711 					{
6712 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym717_;
6713 						NI i_24;
6714 						NI L_14;
6715 						NI T620_;
6716 						mX60gensym717_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6717 						i_24 = ((NI) 0);
6718 						T620_ = (bodyScopeX60gensym657__3.wasMoved ? bodyScopeX60gensym657__3.wasMoved->Sup.len : 0);
6719 						L_14 = T620_;
6720 						{
6721 							while (1) {
6722 								if (!(i_24 < L_14)) goto LA622;
6723 								mX60gensym717_ = &bodyScopeX60gensym657__3.wasMoved->data[i_24];
6724 								add__ast_4797(finSectionX60gensym717_, (*mX60gensym717_));
6725 								i_24 += ((NI) 1);
6726 							} LA622: ;
6727 						}
6728 					}
6729 					{
6730 						NI iX60gensym717_;
6731 						NI colontmp__17;
6732 						NI T624_;
6733 						NI res_7;
6734 						iX60gensym717_ = (NI)0;
6735 						colontmp__17 = (NI)0;
6736 						T624_ = ((bodyScopeX60gensym657__3.final ? bodyScopeX60gensym657__3.final->Sup.len : 0)-1);
6737 						colontmp__17 = T624_;
6738 						res_7 = colontmp__17;
6739 						{
6740 							while (1) {
6741 								if (!(((NI) 0) <= res_7)) goto LA626;
6742 								iX60gensym717_ = res_7;
6743 								add__ast_4797(finSectionX60gensym717_, bodyScopeX60gensym657__3.final->data[iX60gensym717_]);
6744 								res_7 -= ((NI) 1);
6745 							} LA626: ;
6746 						}
6747 					}
6748 					{
6749 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T631_;
6750 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T632_;
6751 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T633_;
6752 						if (!bodyScopeX60gensym657__3.needsTry) goto LA629_;
6753 						nimZeroMem((void*)T631_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6754 						T631_[0] = cpyX60gensym717_;
6755 						T631_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym717_, c, bodyScopeX60gensym657__3.parent, isDecl);
6756 						T632_ = NIM_NIL;
6757 						T632_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T631_, 2);
6758 						T633_ = NIM_NIL;
6759 						T633_ = newTryFinally__lowerings_202(T632_, finSectionX60gensym717_);
6760 						add__ast_4797(resultX60gensym717_, T633_);
6761 					}
6762 					goto LA627_;
6763 					LA629_: ;
6764 					{
6765 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T635_;
6766 						add__ast_4797(resultX60gensym717_, cpyX60gensym717_);
6767 						add__ast_4797(resultX60gensym717_, finSectionX60gensym717_);
6768 						T635_ = NIM_NIL;
6769 						T635_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym717_, c, bodyScopeX60gensym657__3.parent, isDecl);
6770 						add__ast_4797(resultX60gensym717_, T635_);
6771 					}
6772 					LA627_: ;
6773 					{
6774 						NIM_BOOL T640_;
6775 						if (!!((bodyScopeX60gensym657__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA638_;
6776 						T640_ = (NIM_BOOL)0;
6777 						T640_ = (*bodyScopeX60gensym657__3.parent).needsTry;
6778 						if (T640_) goto LA641_;
6779 						T640_ = bodyScopeX60gensym657__3.needsTry;
6780 						LA641_: ;
6781 						(*bodyScopeX60gensym657__3.parent).needsTry = T640_;
6782 					}
6783 					LA638_: ;
6784 					T590_ = resultX60gensym717_;
6785 				}
6786 				LA591_: ;
6787 				add__ast_4797(result, T590_);
6788 			}
6789 			break;
6790 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
6791 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
6792 			{
6793 				result = copyNode__ast_4336(ri);
6794 				{
6795 					NI iX60gensym657__4;
6796 					NI colontmp__18;
6797 					NI i_25;
6798 					iX60gensym657__4 = (NI)0;
6799 					colontmp__18 = (NI)0;
6800 					colontmp__18 = len__ast_3198(ri);
6801 					i_25 = ((NI) 0);
6802 					{
6803 						while (1) {
6804 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657__2;
6805 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657__2;
6806 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym657_;
6807 							NI T650_;
6808 							if (!(i_25 < colontmp__18)) goto LA645;
6809 							iX60gensym657__4 = i_25;
6810 							itX60gensym657__2 = (*ri)._kind_6.sons->data[iX60gensym657__4];
6811 							branchX60gensym657__2 = shallowCopy__ast_4413(itX60gensym657__2);
6812 							nimZeroMem((void*)(&branchScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6813 							nestedScope__injectdestructors_72(s, (&branchScopeX60gensym657_));
6814 							{
6815 								if (!((*itX60gensym657__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym657__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA648_;
6816 								asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
6817 							}
6818 							LA648_: ;
6819 							T650_ = (NI)0;
6820 							T650_ = len__ast_3198(branchX60gensym657__2);
6821 							{
6822 								NIM_BOOL T653_;
6823 								NI T654_;
6824 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T658_;
6825 								T653_ = (NIM_BOOL)0;
6826 								T654_ = (NI)0;
6827 								T654_ = len__ast_3198(itX60gensym657__2);
6828 								T653_ = isEmptyType__ast_4779((*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T654_ - ((NI) 1))]).typ);
6829 								if (T653_) goto LA655_;
6830 								T653_ = NIM_TRUE;
6831 								LA655_: ;
6832 								if (!T653_) goto LA656_;
6833 								T658_ = NIM_NIL;
6834 								{
6835 									NI T661_;
6836 									NIM_BOOL T662_;
6837 									NI T665_;
6838 									T661_ = (NI)0;
6839 									T661_ = len__ast_3198(itX60gensym657__2);
6840 									T662_ = (NIM_BOOL)0;
6841 									T662_ = isEmptyType__ast_4779((*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T661_ - ((NI) 1))]).typ);
6842 									if (!T662_) goto LA663_;
6843 									T665_ = (NI)0;
6844 									T665_ = len__ast_3198(itX60gensym657__2);
6845 									T658_ = p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[(NI)(T665_ - ((NI) 1))], c, (&branchScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6846 								}
6847 								goto LA659_;
6848 								LA663_: ;
6849 								{
6850 									NI T667_;
6851 									T667_ = (NI)0;
6852 									T667_ = len__ast_3198(itX60gensym657__2);
6853 									T658_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657__2)._kind_6.sons->data[(NI)(T667_ - ((NI) 1))], c, (&branchScopeX60gensym657_), isDecl);
6854 								}
6855 								LA659_: ;
6856 								asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[(NI)(T650_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym657_), T658_));
6857 							}
6858 							goto LA651_;
6859 							LA656_: ;
6860 							{
6861 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym746_;
6862 								NI T669_;
6863 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym746_;
6864 								NI T670_;
6865 								NI T671_;
6866 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym746_;
6867 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym746_;
6868 								NI T698_;
6869 								T669_ = (NI)0;
6870 								T669_ = len__ast_3198(itX60gensym657__2);
6871 								resultX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T669_ - ((NI) 1))]).info);
6872 								T670_ = (NI)0;
6873 								T670_ = len__ast_3198(itX60gensym657__2);
6874 								T671_ = (NI)0;
6875 								T671_ = len__ast_3198(itX60gensym657__2);
6876 								tmpX60gensym746_ = getTemp__injectdestructors_61(c, branchScopeX60gensym657_.parent, (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T670_ - ((NI) 1))]).typ, (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T671_ - ((NI) 1))]).info);
6877 								(*(*tmpX60gensym746_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6878 								{
6879 									NI T674_;
6880 									NIM_BOOL T675_;
6881 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T678_;
6882 									NI T679_;
6883 									NI T680_;
6884 									T674_ = (NI)0;
6885 									T674_ = len__ast_3198(itX60gensym657__2);
6886 									T675_ = (NIM_BOOL)0;
6887 									T675_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T674_ - ((NI) 1))]).typ);
6888 									if (!T675_) goto LA676_;
6889 									T678_ = NIM_NIL;
6890 									T678_ = genDestroy__injectdestructors_6527(c, tmpX60gensym746_);
6891 									unsureAsgnRef((void**) (&(*branchScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6892 									T679_ = (*branchScopeX60gensym657_.parent).final->Sup.len++;
6893 									asgnRef((void**) (&(*branchScopeX60gensym657_.parent).final->data[T679_]), T678_);
6894 									T680_ = (NI)0;
6895 									T680_ = len__ast_3198(itX60gensym657__2);
6896 									cpyX60gensym746_ = moveOrCopy__injectdestructors_110(tmpX60gensym746_, (*itX60gensym657__2)._kind_6.sons->data[(NI)(T680_ - ((NI) 1))], c, (&branchScopeX60gensym657_), NIM_TRUE);
6897 								}
6898 								goto LA672_;
6899 								LA676_: ;
6900 								{
6901 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T682_;
6902 									NI T683_;
6903 									nimZeroMem((void*)T682_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6904 									T682_[0] = tmpX60gensym746_;
6905 									T683_ = (NI)0;
6906 									T683_ = len__ast_3198(itX60gensym657__2);
6907 									T682_[1] = p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[(NI)(T683_ - ((NI) 1))], c, (&branchScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6908 									cpyX60gensym746_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T682_, 2);
6909 								}
6910 								LA672_: ;
6911 								{
6912 									NI T686_;
6913 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym746_;
6914 									NI T689_;
6915 									T686_ = (branchScopeX60gensym657_.vars ? branchScopeX60gensym657_.vars->Sup.len : 0);
6916 									if (!(((NI) 0) < T686_)) goto LA687_;
6917 									T689_ = (NI)0;
6918 									T689_ = len__ast_3198(itX60gensym657__2);
6919 									varSectionX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T689_ - ((NI) 1))]).info);
6920 									{
6921 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym746__2;
6922 										NI i_26;
6923 										NI L_15;
6924 										NI T691_;
6925 										tmpX60gensym746__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6926 										i_26 = ((NI) 0);
6927 										T691_ = (branchScopeX60gensym657_.vars ? branchScopeX60gensym657_.vars->Sup.len : 0);
6928 										L_15 = T691_;
6929 										{
6930 											while (1) {
6931 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T694_;
6932 												NI T695_;
6933 												NI T696_;
6934 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T697_;
6935 												if (!(i_26 < L_15)) goto LA693;
6936 												tmpX60gensym746__2 = &branchScopeX60gensym657_.vars->data[i_26];
6937 												nimZeroMem((void*)T694_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6938 												T694_[0] = newSymNode__ast_3716((*tmpX60gensym746__2));
6939 												T695_ = (NI)0;
6940 												T695_ = len__ast_3198(itX60gensym657__2);
6941 												T694_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T695_ - ((NI) 1))]).info);
6942 												T696_ = (NI)0;
6943 												T696_ = len__ast_3198(itX60gensym657__2);
6944 												T694_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T696_ - ((NI) 1))]).info);
6945 												T697_ = NIM_NIL;
6946 												T697_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T694_, 3);
6947 												add__ast_4797(varSectionX60gensym746_, T697_);
6948 												i_26 += ((NI) 1);
6949 											} LA693: ;
6950 										}
6951 									}
6952 									add__ast_4797(resultX60gensym746_, varSectionX60gensym746_);
6953 								}
6954 								LA687_: ;
6955 								T698_ = (NI)0;
6956 								T698_ = len__ast_3198(itX60gensym657__2);
6957 								finSectionX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T698_ - ((NI) 1))]).info);
6958 								{
6959 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym746_;
6960 									NI i_27;
6961 									NI L_16;
6962 									NI T700_;
6963 									mX60gensym746_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6964 									i_27 = ((NI) 0);
6965 									T700_ = (branchScopeX60gensym657_.wasMoved ? branchScopeX60gensym657_.wasMoved->Sup.len : 0);
6966 									L_16 = T700_;
6967 									{
6968 										while (1) {
6969 											if (!(i_27 < L_16)) goto LA702;
6970 											mX60gensym746_ = &branchScopeX60gensym657_.wasMoved->data[i_27];
6971 											add__ast_4797(finSectionX60gensym746_, (*mX60gensym746_));
6972 											i_27 += ((NI) 1);
6973 										} LA702: ;
6974 									}
6975 								}
6976 								{
6977 									NI iX60gensym746_;
6978 									NI colontmp__19;
6979 									NI T704_;
6980 									NI res_8;
6981 									iX60gensym746_ = (NI)0;
6982 									colontmp__19 = (NI)0;
6983 									T704_ = ((branchScopeX60gensym657_.final ? branchScopeX60gensym657_.final->Sup.len : 0)-1);
6984 									colontmp__19 = T704_;
6985 									res_8 = colontmp__19;
6986 									{
6987 										while (1) {
6988 											if (!(((NI) 0) <= res_8)) goto LA706;
6989 											iX60gensym746_ = res_8;
6990 											add__ast_4797(finSectionX60gensym746_, branchScopeX60gensym657_.final->data[iX60gensym746_]);
6991 											res_8 -= ((NI) 1);
6992 										} LA706: ;
6993 									}
6994 								}
6995 								{
6996 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T711_;
6997 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T712_;
6998 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T713_;
6999 									if (!branchScopeX60gensym657_.needsTry) goto LA709_;
7000 									nimZeroMem((void*)T711_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7001 									T711_[0] = cpyX60gensym746_;
7002 									T711_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym746_, c, branchScopeX60gensym657_.parent, isDecl);
7003 									T712_ = NIM_NIL;
7004 									T712_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T711_, 2);
7005 									T713_ = NIM_NIL;
7006 									T713_ = newTryFinally__lowerings_202(T712_, finSectionX60gensym746_);
7007 									add__ast_4797(resultX60gensym746_, T713_);
7008 								}
7009 								goto LA707_;
7010 								LA709_: ;
7011 								{
7012 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T715_;
7013 									add__ast_4797(resultX60gensym746_, cpyX60gensym746_);
7014 									add__ast_4797(resultX60gensym746_, finSectionX60gensym746_);
7015 									T715_ = NIM_NIL;
7016 									T715_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym746_, c, branchScopeX60gensym657_.parent, isDecl);
7017 									add__ast_4797(resultX60gensym746_, T715_);
7018 								}
7019 								LA707_: ;
7020 								{
7021 									NIM_BOOL T720_;
7022 									if (!!((branchScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA718_;
7023 									T720_ = (NIM_BOOL)0;
7024 									T720_ = (*branchScopeX60gensym657_.parent).needsTry;
7025 									if (T720_) goto LA721_;
7026 									T720_ = branchScopeX60gensym657_.needsTry;
7027 									LA721_: ;
7028 									(*branchScopeX60gensym657_.parent).needsTry = T720_;
7029 								}
7030 								LA718_: ;
7031 								asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[(NI)(T650_ - ((NI) 1))]), resultX60gensym746_);
7032 							}
7033 							LA651_: ;
7034 							add__ast_4797(result, branchX60gensym657__2);
7035 							i_25 += ((NI) 1);
7036 						} LA645: ;
7037 					}
7038 				}
7039 			}
7040 			break;
7041 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
7042 			{
7043 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym657_;
7044 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T723_;
7045 				result = copyNode__ast_4336(ri);
7046 				nimZeroMem((void*)(&tryScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
7047 				nestedScope__injectdestructors_72(s, (&tryScopeX60gensym657_));
7048 				T723_ = NIM_NIL;
7049 				{
7050 					NIM_BOOL T726_;
7051 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T730_;
7052 					T726_ = (NIM_BOOL)0;
7053 					T726_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7054 					if (T726_) goto LA727_;
7055 					T726_ = NIM_TRUE;
7056 					LA727_: ;
7057 					if (!T726_) goto LA728_;
7058 					T730_ = NIM_NIL;
7059 					{
7060 						NIM_BOOL T733_;
7061 						T733_ = (NIM_BOOL)0;
7062 						T733_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7063 						if (!T733_) goto LA734_;
7064 						T730_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7065 					}
7066 					goto LA731_;
7067 					LA734_: ;
7068 					{
7069 						T730_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), isDecl);
7070 					}
7071 					LA731_: ;
7072 					T723_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym657_), T730_);
7073 				}
7074 				goto LA724_;
7075 				LA728_: ;
7076 				{
7077 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym762_;
7078 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym762_;
7079 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym762_;
7080 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym762_;
7081 					resultX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7082 					tmpX60gensym762_ = getTemp__injectdestructors_61(c, tryScopeX60gensym657_.parent, (*(*ri)._kind_6.sons->data[((NI) 0)]).typ, (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7083 					(*(*tmpX60gensym762_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
7084 					{
7085 						NIM_BOOL T740_;
7086 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T743_;
7087 						NI T744_;
7088 						T740_ = (NIM_BOOL)0;
7089 						T740_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7090 						if (!T740_) goto LA741_;
7091 						T743_ = NIM_NIL;
7092 						T743_ = genDestroy__injectdestructors_6527(c, tmpX60gensym762_);
7093 						unsureAsgnRef((void**) (&(*tryScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7094 						T744_ = (*tryScopeX60gensym657_.parent).final->Sup.len++;
7095 						asgnRef((void**) (&(*tryScopeX60gensym657_.parent).final->data[T744_]), T743_);
7096 						cpyX60gensym762_ = moveOrCopy__injectdestructors_110(tmpX60gensym762_, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), NIM_TRUE);
7097 					}
7098 					goto LA738_;
7099 					LA741_: ;
7100 					{
7101 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T746_;
7102 						nimZeroMem((void*)T746_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7103 						T746_[0] = tmpX60gensym762_;
7104 						T746_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7105 						cpyX60gensym762_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T746_, 2);
7106 					}
7107 					LA738_: ;
7108 					{
7109 						NI T749_;
7110 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym762_;
7111 						T749_ = (tryScopeX60gensym657_.vars ? tryScopeX60gensym657_.vars->Sup.len : 0);
7112 						if (!(((NI) 0) < T749_)) goto LA750_;
7113 						varSectionX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7114 						{
7115 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym762__2;
7116 							NI i_28;
7117 							NI L_17;
7118 							NI T753_;
7119 							tmpX60gensym762__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7120 							i_28 = ((NI) 0);
7121 							T753_ = (tryScopeX60gensym657_.vars ? tryScopeX60gensym657_.vars->Sup.len : 0);
7122 							L_17 = T753_;
7123 							{
7124 								while (1) {
7125 									tyArray__T6RKPw8xfAeNaoei9aZGzXg T756_;
7126 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T757_;
7127 									if (!(i_28 < L_17)) goto LA755;
7128 									tmpX60gensym762__2 = &tryScopeX60gensym657_.vars->data[i_28];
7129 									nimZeroMem((void*)T756_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
7130 									T756_[0] = newSymNode__ast_3716((*tmpX60gensym762__2));
7131 									T756_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7132 									T756_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7133 									T757_ = NIM_NIL;
7134 									T757_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T756_, 3);
7135 									add__ast_4797(varSectionX60gensym762_, T757_);
7136 									i_28 += ((NI) 1);
7137 								} LA755: ;
7138 							}
7139 						}
7140 						add__ast_4797(resultX60gensym762_, varSectionX60gensym762_);
7141 					}
7142 					LA750_: ;
7143 					finSectionX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7144 					{
7145 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym762_;
7146 						NI i_29;
7147 						NI L_18;
7148 						NI T759_;
7149 						mX60gensym762_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
7150 						i_29 = ((NI) 0);
7151 						T759_ = (tryScopeX60gensym657_.wasMoved ? tryScopeX60gensym657_.wasMoved->Sup.len : 0);
7152 						L_18 = T759_;
7153 						{
7154 							while (1) {
7155 								if (!(i_29 < L_18)) goto LA761;
7156 								mX60gensym762_ = &tryScopeX60gensym657_.wasMoved->data[i_29];
7157 								add__ast_4797(finSectionX60gensym762_, (*mX60gensym762_));
7158 								i_29 += ((NI) 1);
7159 							} LA761: ;
7160 						}
7161 					}
7162 					{
7163 						NI iX60gensym762_;
7164 						NI colontmp__20;
7165 						NI T763_;
7166 						NI res_9;
7167 						iX60gensym762_ = (NI)0;
7168 						colontmp__20 = (NI)0;
7169 						T763_ = ((tryScopeX60gensym657_.final ? tryScopeX60gensym657_.final->Sup.len : 0)-1);
7170 						colontmp__20 = T763_;
7171 						res_9 = colontmp__20;
7172 						{
7173 							while (1) {
7174 								if (!(((NI) 0) <= res_9)) goto LA765;
7175 								iX60gensym762_ = res_9;
7176 								add__ast_4797(finSectionX60gensym762_, tryScopeX60gensym657_.final->data[iX60gensym762_]);
7177 								res_9 -= ((NI) 1);
7178 							} LA765: ;
7179 						}
7180 					}
7181 					{
7182 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T770_;
7183 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T777_;
7184 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T778_;
7185 						if (!tryScopeX60gensym657_.needsTry) goto LA768_;
7186 						nimZeroMem((void*)T770_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7187 						T770_[0] = cpyX60gensym762_;
7188 						{
7189 							NIM_BOOL T773_;
7190 							T773_ = (NIM_BOOL)0;
7191 							T773_ = isEmptyType__ast_4779((*tmpX60gensym762_).typ);
7192 							if (!T773_) goto LA774_;
7193 							T770_[1] = p__injectdestructors_105(tmpX60gensym762_, c, tryScopeX60gensym657_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7194 						}
7195 						goto LA771_;
7196 						LA774_: ;
7197 						{
7198 							T770_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym762_, c, tryScopeX60gensym657_.parent, isDecl);
7199 						}
7200 						LA771_: ;
7201 						T777_ = NIM_NIL;
7202 						T777_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T770_, 2);
7203 						T778_ = NIM_NIL;
7204 						T778_ = newTryFinally__lowerings_202(T777_, finSectionX60gensym762_);
7205 						add__ast_4797(resultX60gensym762_, T778_);
7206 					}
7207 					goto LA766_;
7208 					LA768_: ;
7209 					{
7210 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T780_;
7211 						add__ast_4797(resultX60gensym762_, cpyX60gensym762_);
7212 						add__ast_4797(resultX60gensym762_, finSectionX60gensym762_);
7213 						T780_ = NIM_NIL;
7214 						{
7215 							NIM_BOOL T783_;
7216 							T783_ = (NIM_BOOL)0;
7217 							T783_ = isEmptyType__ast_4779((*tmpX60gensym762_).typ);
7218 							if (!T783_) goto LA784_;
7219 							T780_ = p__injectdestructors_105(tmpX60gensym762_, c, tryScopeX60gensym657_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7220 						}
7221 						goto LA781_;
7222 						LA784_: ;
7223 						{
7224 							T780_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym762_, c, tryScopeX60gensym657_.parent, isDecl);
7225 						}
7226 						LA781_: ;
7227 						add__ast_4797(resultX60gensym762_, T780_);
7228 					}
7229 					LA766_: ;
7230 					{
7231 						NIM_BOOL T791_;
7232 						if (!!((tryScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA789_;
7233 						T791_ = (NIM_BOOL)0;
7234 						T791_ = (*tryScopeX60gensym657_.parent).needsTry;
7235 						if (T791_) goto LA792_;
7236 						T791_ = tryScopeX60gensym657_.needsTry;
7237 						LA792_: ;
7238 						(*tryScopeX60gensym657_.parent).needsTry = T791_;
7239 					}
7240 					LA789_: ;
7241 					T723_ = resultX60gensym762_;
7242 				}
7243 				LA724_: ;
7244 				add__ast_4797(result, T723_);
7245 				{
7246 					NI iX60gensym657__5;
7247 					NI colontmp__21;
7248 					NI i_30;
7249 					iX60gensym657__5 = (NI)0;
7250 					colontmp__21 = (NI)0;
7251 					colontmp__21 = len__ast_3198(ri);
7252 					i_30 = ((NI) 1);
7253 					{
7254 						while (1) {
7255 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657__3;
7256 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657__3;
7257 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym657__2;
7258 							NI T796_;
7259 							if (!(i_30 < colontmp__21)) goto LA795;
7260 							iX60gensym657__5 = i_30;
7261 							itX60gensym657__3 = (*ri)._kind_6.sons->data[iX60gensym657__5];
7262 							branchX60gensym657__3 = copyTree__ast_4431(itX60gensym657__3);
7263 							nimZeroMem((void*)(&branchScopeX60gensym657__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
7264 							nestedScope__injectdestructors_72(s, (&branchScopeX60gensym657__2));
7265 							T796_ = (NI)0;
7266 							T796_ = len__ast_3198(branchX60gensym657__3);
7267 							{
7268 								NIM_BOOL T799_;
7269 								NIM_BOOL T800_;
7270 								NI T801_;
7271 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T806_;
7272 								T799_ = (NIM_BOOL)0;
7273 								T800_ = (NIM_BOOL)0;
7274 								T801_ = (NI)0;
7275 								T801_ = len__ast_3198(itX60gensym657__3);
7276 								T800_ = isEmptyType__ast_4779((*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T801_ - ((NI) 1))]).typ);
7277 								if (T800_) goto LA802_;
7278 								T800_ = NIM_TRUE;
7279 								LA802_: ;
7280 								T799_ = T800_;
7281 								if (T799_) goto LA803_;
7282 								T799_ = ((*itX60gensym657__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
7283 								LA803_: ;
7284 								if (!T799_) goto LA804_;
7285 								T806_ = NIM_NIL;
7286 								{
7287 									NI T811_;
7288 									if (!((*itX60gensym657__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA809_;
7289 									T811_ = (NI)0;
7290 									T811_ = len__ast_3198(itX60gensym657__3);
7291 									T806_ = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T811_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7292 								}
7293 								goto LA807_;
7294 								LA809_: ;
7295 								{
7296 									{
7297 										NI T815_;
7298 										NIM_BOOL T816_;
7299 										NI T819_;
7300 										T815_ = (NI)0;
7301 										T815_ = len__ast_3198(itX60gensym657__3);
7302 										T816_ = (NIM_BOOL)0;
7303 										T816_ = isEmptyType__ast_4779((*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T815_ - ((NI) 1))]).typ);
7304 										if (!T816_) goto LA817_;
7305 										T819_ = (NI)0;
7306 										T819_ = len__ast_3198(itX60gensym657__3);
7307 										T806_ = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T819_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7308 									}
7309 									goto LA813_;
7310 									LA817_: ;
7311 									{
7312 										NI T821_;
7313 										T821_ = (NI)0;
7314 										T821_ = len__ast_3198(itX60gensym657__3);
7315 										T806_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657__3)._kind_6.sons->data[(NI)(T821_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), isDecl);
7316 									}
7317 									LA813_: ;
7318 								}
7319 								LA807_: ;
7320 								asgnRef((void**) (&(*branchX60gensym657__3)._kind_6.sons->data[(NI)(T796_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym657__2), T806_));
7321 							}
7322 							goto LA797_;
7323 							LA804_: ;
7324 							{
7325 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym793_;
7326 								NI T823_;
7327 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym793_;
7328 								NI T824_;
7329 								NI T825_;
7330 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym793_;
7331 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym793_;
7332 								NI T852_;
7333 								T823_ = (NI)0;
7334 								T823_ = len__ast_3198(itX60gensym657__3);
7335 								resultX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T823_ - ((NI) 1))]).info);
7336 								T824_ = (NI)0;
7337 								T824_ = len__ast_3198(itX60gensym657__3);
7338 								T825_ = (NI)0;
7339 								T825_ = len__ast_3198(itX60gensym657__3);
7340 								tmpX60gensym793_ = getTemp__injectdestructors_61(c, branchScopeX60gensym657__2.parent, (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T824_ - ((NI) 1))]).typ, (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T825_ - ((NI) 1))]).info);
7341 								(*(*tmpX60gensym793_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
7342 								{
7343 									NI T828_;
7344 									NIM_BOOL T829_;
7345 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T832_;
7346 									NI T833_;
7347 									NI T834_;
7348 									T828_ = (NI)0;
7349 									T828_ = len__ast_3198(itX60gensym657__3);
7350 									T829_ = (NIM_BOOL)0;
7351 									T829_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T828_ - ((NI) 1))]).typ);
7352 									if (!T829_) goto LA830_;
7353 									T832_ = NIM_NIL;
7354 									T832_ = genDestroy__injectdestructors_6527(c, tmpX60gensym793_);
7355 									unsureAsgnRef((void**) (&(*branchScopeX60gensym657__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym657__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7356 									T833_ = (*branchScopeX60gensym657__2.parent).final->Sup.len++;
7357 									asgnRef((void**) (&(*branchScopeX60gensym657__2.parent).final->data[T833_]), T832_);
7358 									T834_ = (NI)0;
7359 									T834_ = len__ast_3198(itX60gensym657__3);
7360 									cpyX60gensym793_ = moveOrCopy__injectdestructors_110(tmpX60gensym793_, (*itX60gensym657__3)._kind_6.sons->data[(NI)(T834_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), NIM_TRUE);
7361 								}
7362 								goto LA826_;
7363 								LA830_: ;
7364 								{
7365 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T836_;
7366 									NI T837_;
7367 									nimZeroMem((void*)T836_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7368 									T836_[0] = tmpX60gensym793_;
7369 									T837_ = (NI)0;
7370 									T837_ = len__ast_3198(itX60gensym657__3);
7371 									T836_[1] = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T837_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7372 									cpyX60gensym793_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T836_, 2);
7373 								}
7374 								LA826_: ;
7375 								{
7376 									NI T840_;
7377 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym793_;
7378 									NI T843_;
7379 									T840_ = (branchScopeX60gensym657__2.vars ? branchScopeX60gensym657__2.vars->Sup.len : 0);
7380 									if (!(((NI) 0) < T840_)) goto LA841_;
7381 									T843_ = (NI)0;
7382 									T843_ = len__ast_3198(itX60gensym657__3);
7383 									varSectionX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T843_ - ((NI) 1))]).info);
7384 									{
7385 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym793__2;
7386 										NI i_31;
7387 										NI L_19;
7388 										NI T845_;
7389 										tmpX60gensym793__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7390 										i_31 = ((NI) 0);
7391 										T845_ = (branchScopeX60gensym657__2.vars ? branchScopeX60gensym657__2.vars->Sup.len : 0);
7392 										L_19 = T845_;
7393 										{
7394 											while (1) {
7395 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T848_;
7396 												NI T849_;
7397 												NI T850_;
7398 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T851_;
7399 												if (!(i_31 < L_19)) goto LA847;
7400 												tmpX60gensym793__2 = &branchScopeX60gensym657__2.vars->data[i_31];
7401 												nimZeroMem((void*)T848_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
7402 												T848_[0] = newSymNode__ast_3716((*tmpX60gensym793__2));
7403 												T849_ = (NI)0;
7404 												T849_ = len__ast_3198(itX60gensym657__3);
7405 												T848_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T849_ - ((NI) 1))]).info);
7406 												T850_ = (NI)0;
7407 												T850_ = len__ast_3198(itX60gensym657__3);
7408 												T848_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T850_ - ((NI) 1))]).info);
7409 												T851_ = NIM_NIL;
7410 												T851_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T848_, 3);
7411 												add__ast_4797(varSectionX60gensym793_, T851_);
7412 												i_31 += ((NI) 1);
7413 											} LA847: ;
7414 										}
7415 									}
7416 									add__ast_4797(resultX60gensym793_, varSectionX60gensym793_);
7417 								}
7418 								LA841_: ;
7419 								T852_ = (NI)0;
7420 								T852_ = len__ast_3198(itX60gensym657__3);
7421 								finSectionX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T852_ - ((NI) 1))]).info);
7422 								{
7423 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym793_;
7424 									NI i_32;
7425 									NI L_20;
7426 									NI T854_;
7427 									mX60gensym793_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
7428 									i_32 = ((NI) 0);
7429 									T854_ = (branchScopeX60gensym657__2.wasMoved ? branchScopeX60gensym657__2.wasMoved->Sup.len : 0);
7430 									L_20 = T854_;
7431 									{
7432 										while (1) {
7433 											if (!(i_32 < L_20)) goto LA856;
7434 											mX60gensym793_ = &branchScopeX60gensym657__2.wasMoved->data[i_32];
7435 											add__ast_4797(finSectionX60gensym793_, (*mX60gensym793_));
7436 											i_32 += ((NI) 1);
7437 										} LA856: ;
7438 									}
7439 								}
7440 								{
7441 									NI iX60gensym793_;
7442 									NI colontmp__22;
7443 									NI T858_;
7444 									NI res_10;
7445 									iX60gensym793_ = (NI)0;
7446 									colontmp__22 = (NI)0;
7447 									T858_ = ((branchScopeX60gensym657__2.final ? branchScopeX60gensym657__2.final->Sup.len : 0)-1);
7448 									colontmp__22 = T858_;
7449 									res_10 = colontmp__22;
7450 									{
7451 										while (1) {
7452 											if (!(((NI) 0) <= res_10)) goto LA860;
7453 											iX60gensym793_ = res_10;
7454 											add__ast_4797(finSectionX60gensym793_, branchScopeX60gensym657__2.final->data[iX60gensym793_]);
7455 											res_10 -= ((NI) 1);
7456 										} LA860: ;
7457 									}
7458 								}
7459 								{
7460 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T865_;
7461 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T866_;
7462 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T867_;
7463 									if (!branchScopeX60gensym657__2.needsTry) goto LA863_;
7464 									nimZeroMem((void*)T865_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7465 									T865_[0] = cpyX60gensym793_;
7466 									T865_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym793_, c, branchScopeX60gensym657__2.parent, isDecl);
7467 									T866_ = NIM_NIL;
7468 									T866_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T865_, 2);
7469 									T867_ = NIM_NIL;
7470 									T867_ = newTryFinally__lowerings_202(T866_, finSectionX60gensym793_);
7471 									add__ast_4797(resultX60gensym793_, T867_);
7472 								}
7473 								goto LA861_;
7474 								LA863_: ;
7475 								{
7476 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T869_;
7477 									add__ast_4797(resultX60gensym793_, cpyX60gensym793_);
7478 									add__ast_4797(resultX60gensym793_, finSectionX60gensym793_);
7479 									T869_ = NIM_NIL;
7480 									T869_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym793_, c, branchScopeX60gensym657__2.parent, isDecl);
7481 									add__ast_4797(resultX60gensym793_, T869_);
7482 								}
7483 								LA861_: ;
7484 								{
7485 									NIM_BOOL T874_;
7486 									if (!!((branchScopeX60gensym657__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA872_;
7487 									T874_ = (NIM_BOOL)0;
7488 									T874_ = (*branchScopeX60gensym657__2.parent).needsTry;
7489 									if (T874_) goto LA875_;
7490 									T874_ = branchScopeX60gensym657__2.needsTry;
7491 									LA875_: ;
7492 									(*branchScopeX60gensym657__2.parent).needsTry = T874_;
7493 								}
7494 								LA872_: ;
7495 								asgnRef((void**) (&(*branchX60gensym657__3)._kind_6.sons->data[(NI)(T796_ - ((NI) 1))]), resultX60gensym793_);
7496 							}
7497 							LA797_: ;
7498 							add__ast_4797(result, branchX60gensym657__3);
7499 							i_30 += ((NI) 1);
7500 						} LA795: ;
7501 					}
7502 				}
7503 			}
7504 			break;
7505 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
7506 			{
7507 				result = copyTree__ast_4431(ri);
7508 				asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), moveOrCopy__injectdestructors_110(dest, (*(*ri)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, isDecl));
7509 			}
7510 			break;
7511 			default:
7512 			{
7513 			}
7514 			break;
7515 			}
7516 		}
7517 		break;
7518 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
7519 		{
7520 			result = pRaiseStmt__injectdestructors_7126(ri, c, s);
7521 		}
7522 		break;
7523 		default:
7524 		{
7525 			{
7526 				NIM_BOOL T882_;
7527 				NIM_BOOL T883_;
7528 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_4;
7529 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T888_;
7530 				T882_ = (NIM_BOOL)0;
7531 				T883_ = (NIM_BOOL)0;
7532 				T883_ = isAnalysableFieldAccess__dfa_903(ri, (*c).owner);
7533 				if (!(T883_)) goto LA884_;
7534 				T883_ = isLastRead__injectdestructors_6103(ri, c);
7535 				LA884_: ;
7536 				T882_ = T883_;
7537 				if (!(T882_)) goto LA885_;
7538 				T882_ = canBeMoved__injectdestructors_6532((&(*c)), (*dest).typ);
7539 				LA885_: ;
7540 				if (!T882_) goto LA886_;
7541 				snk_4 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
7542 				nimZeroMem((void*)T888_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7543 				T888_[0] = snk_4;
7544 				T888_[1] = genWasMoved__injectdestructors_6739(c, ri);
7545 				result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T888_, 2);
7546 			}
7547 			goto LA880_;
7548 			LA886_: ;
7549 			{
7550 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T890_;
7551 				result = genCopy__injectdestructors_6647(c, dest, ri);
7552 				T890_ = NIM_NIL;
7553 				T890_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
7554 				add__ast_4797(result, T890_);
7555 				finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
7556 			}
7557 			LA880_: ;
7558 		}
7559 		break;
7560 		}
7561 	}
7562 	LA1_: ;
7563 	}BeforeRet_: ;
7564 	return result;
7565 }
N_INLINE(NI,safeLen__ast_3191)7566 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7567 	NI result;
7568 	result = (NI)0;
7569 	{
7570 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
7571 		result = ((NI) 0);
7572 	}
7573 	goto LA1_;
7574 	LA3_: ;
7575 	{
7576 		result = len__ast_3198(n);
7577 	}
7578 	LA1_: ;
7579 	return result;
7580 }
N_NIMCALL(NIM_BOOL,containsConstSeq__injectdestructors_6860)7581 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_6860)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7582 	NIM_BOOL result;
7583 {	result = (NIM_BOOL)0;
7584 	{
7585 		NIM_BOOL T3_;
7586 		NIM_BOOL T4_;
7587 		NIM_BOOL T5_;
7588 		NI T7_;
7589 		T3_ = (NIM_BOOL)0;
7590 		T4_ = (NIM_BOOL)0;
7591 		T5_ = (NIM_BOOL)0;
7592 		T5_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
7593 		if (!(T5_)) goto LA6_;
7594 		T7_ = (NI)0;
7595 		T7_ = len__ast_3198(n);
7596 		T5_ = (((NI) 0) < T7_);
7597 		LA6_: ;
7598 		T4_ = T5_;
7599 		if (!(T4_)) goto LA8_;
7600 		T4_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7601 		LA8_: ;
7602 		T3_ = T4_;
7603 		if (!(T3_)) goto LA9_;
7604 		T3_ = isDangerousSeq__injectdestructors_6847((*n).typ);
7605 		LA9_: ;
7606 		if (!T3_) goto LA10_;
7607 		result = NIM_TRUE;
7608 		goto BeforeRet_;
7609 	}
7610 	LA10_: ;
7611 	result = NIM_FALSE;
7612 	switch ((*n).kind) {
7613 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
7614 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
7615 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
7616 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
7617 	{
7618 		result = containsConstSeq__injectdestructors_6860((*n)._kind_6.sons->data[((NI) 1)]);
7619 	}
7620 	break;
7621 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
7622 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
7623 	{
7624 		{
7625 			NI i;
7626 			NI colontmp_;
7627 			NI i_2;
7628 			i = (NI)0;
7629 			colontmp_ = (NI)0;
7630 			colontmp_ = len__ast_3198(n);
7631 			i_2 = ((NI) 1);
7632 			{
7633 				while (1) {
7634 					if (!(i_2 < colontmp_)) goto LA16;
7635 					i = i_2;
7636 					{
7637 						NIM_BOOL T19_;
7638 						T19_ = (NIM_BOOL)0;
7639 						T19_ = containsConstSeq__injectdestructors_6860((*n)._kind_6.sons->data[i]);
7640 						if (!T19_) goto LA20_;
7641 						result = NIM_TRUE;
7642 						goto BeforeRet_;
7643 					}
7644 					LA20_: ;
7645 					i_2 += ((NI) 1);
7646 				} LA16: ;
7647 			}
7648 		}
7649 	}
7650 	break;
7651 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
7652 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
7653 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
7654 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
7655 	{
7656 		{
7657 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son;
7658 			son = NIM_NIL;
7659 			{
7660 				NI i_3;
7661 				NI colontmp__2;
7662 				NI i_4;
7663 				i_3 = (NI)0;
7664 				colontmp__2 = (NI)0;
7665 				colontmp__2 = safeLen__ast_3191(n);
7666 				i_4 = ((NI) 0);
7667 				{
7668 					while (1) {
7669 						if (!(i_4 < colontmp__2)) goto LA26;
7670 						i_3 = i_4;
7671 						son = (*n)._kind_6.sons->data[i_3];
7672 						{
7673 							NIM_BOOL T29_;
7674 							T29_ = (NIM_BOOL)0;
7675 							T29_ = containsConstSeq__injectdestructors_6860(son);
7676 							if (!T29_) goto LA30_;
7677 							result = NIM_TRUE;
7678 							goto BeforeRet_;
7679 						}
7680 						LA30_: ;
7681 						i_4 += ((NI) 1);
7682 					} LA26: ;
7683 				}
7684 			}
7685 		}
7686 	}
7687 	break;
7688 	default:
7689 	{
7690 	}
7691 	break;
7692 	}
7693 	}BeforeRet_: ;
7694 	return result;
7695 }
N_NIMCALL(NIM_BOOL,isCapturedVar__injectdestructors_6797)7696 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_6797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7697 	NIM_BOOL result;
7698 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* root;
7699 	result = (NIM_BOOL)0;
7700 	root = getRoot__trees_390(n);
7701 	{
7702 		if (!!((root == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
7703 		result = ((NU8)((*(*root).name).s->data[((NI) 0)]) == (NU8)(58));
7704 	}
7705 	LA3_: ;
7706 	return result;
7707 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,passCopyToSink__injectdestructors_6805)7708 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, passCopyToSink__injectdestructors_6805)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
7709 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7710 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
7711 	result = NIM_NIL;
7712 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info, (*n).typ);
7713 	tmp = getTemp__injectdestructors_61(c, s, (*n).typ, (*n).info);
7714 	{
7715 		NIM_BOOL T3_;
7716 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
7717 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
7718 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
7719 		T3_ = (NIM_BOOL)0;
7720 		T3_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
7721 		if (!T3_) goto LA4_;
7722 		T6_ = NIM_NIL;
7723 		T6_ = genWasMoved__injectdestructors_6739(c, tmp);
7724 		add__ast_4797(result, T6_);
7725 		m = genCopy__injectdestructors_6647(c, tmp, n);
7726 		T7_ = NIM_NIL;
7727 		T7_ = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7728 		add__ast_4797(m, T7_);
7729 		finishCopy__injectdestructors_6598(c, m, n, NIM_TRUE);
7730 		add__ast_4797(result, m);
7731 		{
7732 			NIM_BOOL T10_;
7733 			NIM_BOOL T11_;
7734 			NIM_BOOL T12_;
7735 			NIM_BOOL T14_;
7736 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
7737 			NimStringDesc* T20_;
7738 			NimStringDesc* T21_;
7739 			T10_ = (NIM_BOOL)0;
7740 			T11_ = (NIM_BOOL)0;
7741 			T12_ = (NIM_BOOL)0;
7742 			T12_ = isLValue__parampatterns_497(n);
7743 			if (!(T12_)) goto LA13_;
7744 			T14_ = (NIM_BOOL)0;
7745 			T14_ = isCapturedVar__injectdestructors_6797(n);
7746 			T12_ = !(T14_);
7747 			LA13_: ;
7748 			T11_ = T12_;
7749 			if (!(T11_)) goto LA15_;
7750 			T16_ = NIM_NIL;
7751 			T16_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7752 			T11_ = !(((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
7753 			LA15_: ;
7754 			T10_ = T11_;
7755 			if (!(T10_)) goto LA17_;
7756 			T10_ = ((*c).inSpawn == ((NI) 0));
7757 			LA17_: ;
7758 			if (!T10_) goto LA18_;
7759 			T20_ = NIM_NIL;
7760 			T20_ = dollar___renderer_2106(n);
7761 			T21_ = NIM_NIL;
7762 			T21_ = nsuFormatSingleElem(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_39), T20_);
7763 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 93), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_40, NIM_FALSE);
7764 		}
7765 		LA18_: ;
7766 	}
7767 	goto LA1_;
7768 	LA4_: ;
7769 	{
7770 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T32_;
7771 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
7772 		{
7773 			if (!((48 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0)) goto LA25_;
7774 		}
7775 		LA25_: ;
7776 		{
7777 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T29_;
7778 			T29_ = NIM_NIL;
7779 			T29_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7780 			if (!((*T29_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T29_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA30_;
7781 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_41), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_42, NIM_FALSE);
7782 		}
7783 		LA30_: ;
7784 		nimZeroMem((void*)T32_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7785 		T32_[0] = tmp;
7786 		T32_[1] = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7787 		T33_ = NIM_NIL;
7788 		T33_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T32_, 2);
7789 		add__ast_4797(result, T33_);
7790 	}
7791 	LA1_: ;
7792 	add__ast_4797(result, tmp);
7793 	return result;
7794 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,ensureDestruction__injectdestructors_6885)7795 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ensureDestruction__injectdestructors_6885)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
7796 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7797 	result = NIM_NIL;
7798 	{
7799 		NIM_BOOL T3_;
7800 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
7801 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
7802 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
7803 		NI T9_;
7804 		T3_ = (NIM_BOOL)0;
7805 		T3_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7806 		if (!(T3_)) goto LA4_;
7807 		T3_ = hasDestructor__injectdestructors_49((&(*c)), (*arg).typ);
7808 		LA4_: ;
7809 		if (!T3_) goto LA5_;
7810 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*arg).info, (*arg).typ);
7811 		tmp = getTemp__injectdestructors_61(c, s, (*arg).typ, (*arg).info);
7812 		T7_ = NIM_NIL;
7813 		T7_ = genSink__injectdestructors_6564(c, tmp, arg, NIM_TRUE);
7814 		add__ast_4797(result, T7_);
7815 		add__ast_4797(result, tmp);
7816 		T8_ = NIM_NIL;
7817 		T8_ = genDestroy__injectdestructors_6527(c, tmp);
7818 		unsureAsgnRef((void**) (&(*s).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7819 		T9_ = (*s).final->Sup.len++;
7820 		asgnRef((void**) (&(*s).final->data[T9_]), T8_);
7821 	}
7822 	goto LA1_;
7823 	LA5_: ;
7824 	{
7825 		result = arg;
7826 	}
7827 	LA1_: ;
7828 	return result;
7829 }
N_INLINE(NI,len__ast_4002)7830 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
7831 	NI result;
7832 	NI T1_;
7833 	result = (NI)0;
7834 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
7835 	result = T1_;
7836 	return result;
7837 }
N_INLINE(NIM_BOOL,isCompileTimeOnly__types_3519)7838 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3519)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7839 	NIM_BOOL result;
7840 	result = (NIM_BOOL)0;
7841 	result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
7842 	return result;
7843 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDefaultCall__injectdestructors_6751)7844 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDefaultCall__injectdestructors_6751)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
7845 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7846 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
7847 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
7848 	result = NIM_NIL;
7849 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), info);
7850 	T1_ = NIM_NIL;
7851 	T1_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_44), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152));
7852 	T2_ = NIM_NIL;
7853 	T2_ = newSymNode__ast_3716(T1_);
7854 	add__ast_4797(result, T2_);
7855 	asgnRef((void**) (&(*result).typ), t);
7856 	return result;
7857 }
N_NIMCALL(void,pVarTopLevel__injectdestructors_6967)7858 N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_6967)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res) {
7859 	NI T1_;
7860 	unsureAsgnRef((void**) (&(*s).vars), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*s).vars), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
7861 	T1_ = (*s).vars->Sup.len++;
7862 	asgnRef((void**) (&(*s).vars->data[T1_]), (*v)._kind_4.sym);
7863 	{
7864 		NIM_BOOL T4_;
7865 		NIM_BOOL T5_;
7866 		T4_ = (NIM_BOOL)0;
7867 		T5_ = (NIM_BOOL)0;
7868 		T5_ = ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7869 		if (!(T5_)) goto LA6_;
7870 		T5_ = ((*(*v)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
7871 		LA6_: ;
7872 		T4_ = T5_;
7873 		if (!(T4_)) goto LA7_;
7874 		T4_ = ((*(*(*v)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
7875 		LA7_: ;
7876 		if (!T4_) goto LA8_;
7877 		{
7878 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T14_;
7879 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
7880 			if (!(((NI) 0) < (*c).inLoop)) goto LA12_;
7881 			nimZeroMem((void*)T14_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7882 			T14_[0] = v;
7883 			T14_[1] = genDefaultCall__injectdestructors_6751((*v).typ, (&(*c)), (*v).info);
7884 			T15_ = NIM_NIL;
7885 			T15_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T14_, 2);
7886 			add__ast_4797(res, T15_);
7887 		}
7888 		LA12_: ;
7889 	}
7890 	goto LA2_;
7891 	LA8_: ;
7892 	{
7893 		NIM_BOOL T17_;
7894 		T17_ = (NIM_BOOL)0;
7895 		T17_ = !((((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0));
7896 		if (!(T17_)) goto LA18_;
7897 		T17_ = !((((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0));
7898 		LA18_: ;
7899 		if (!T17_) goto LA19_;
7900 		{
7901 			NIM_BOOL T23_;
7902 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
7903 			NI T28_;
7904 			T23_ = (NIM_BOOL)0;
7905 			T23_ = (((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7906 			if (!(T23_)) goto LA24_;
7907 			T23_ = ((*s).parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL));
7908 			LA24_: ;
7909 			if (!T23_) goto LA25_;
7910 			T27_ = NIM_NIL;
7911 			T27_ = genDestroy__injectdestructors_6527(c, v);
7912 			asgnRef((void**) (&(*(*c).graph).globalDestructors), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*(*c).graph).globalDestructors), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7913 			T28_ = (*(*c).graph).globalDestructors->Sup.len++;
7914 			asgnRef((void**) (&(*(*c).graph).globalDestructors->data[T28_]), T27_);
7915 		}
7916 		goto LA21_;
7917 		LA25_: ;
7918 		{
7919 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
7920 			NI T31_;
7921 			T30_ = NIM_NIL;
7922 			T30_ = genDestroy__injectdestructors_6527(c, v);
7923 			unsureAsgnRef((void**) (&(*s).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7924 			T31_ = (*s).final->Sup.len++;
7925 			asgnRef((void**) (&(*s).final->data[T31_]), T30_);
7926 		}
7927 		LA21_: ;
7928 	}
7929 	goto LA2_;
7930 	LA19_: ;
7931 	LA2_: ;
7932 }
N_NIMCALL(void,cycleCheck__injectdestructors_6908)7933 N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_6908)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
7934 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
7935 	tyObject_TType__facALICuu8zUj0hjvbTLFg* destTyp;
7936 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7937 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
7938 {	{
7939 		if (!!(((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 4)))) goto LA3_;
7940 		goto BeforeRet_;
7941 	}
7942 	LA3_: ;
7943 	value = (*n)._kind_6.sons->data[((NI) 1)];
7944 	{
7945 		if (!((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155))) goto LA7_;
7946 		value = (*value)._kind_6.sons->data[((NI) 1)];
7947 	}
7948 	LA7_: ;
7949 	{
7950 		if (!((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA11_;
7951 		goto BeforeRet_;
7952 	}
7953 	LA11_: ;
7954 	destTyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7955 	{
7956 		NIM_BOOL T15_;
7957 		NIM_BOOL T17_;
7958 		T15_ = (NIM_BOOL)0;
7959 		T15_ = !(((*destTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
7960 		if (!(T15_)) goto LA16_;
7961 		T17_ = (NIM_BOOL)0;
7962 		T17_ = ((*destTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7963 		if (!(T17_)) goto LA18_;
7964 		T17_ = ((*destTyp).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
7965 		LA18_: ;
7966 		T15_ = !(T17_);
7967 		LA16_: ;
7968 		if (!T15_) goto LA19_;
7969 		goto BeforeRet_;
7970 	}
7971 	LA19_: ;
7972 	x = (*n)._kind_6.sons->data[((NI) 0)];
7973 	field = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
7974 	{
7975 		while (1) {
7976 			{
7977 				if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA25_;
7978 				field = (*x)._kind_6.sons->data[((NI) 1)];
7979 				{
7980 					NIM_BOOL T29_;
7981 					T29_ = (NIM_BOOL)0;
7982 					T29_ = ((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7983 					if (!(T29_)) goto LA30_;
7984 					T29_ = (((*(*field)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
7985 					LA30_: ;
7986 					if (!T29_) goto LA31_;
7987 					goto BeforeRet_;
7988 				}
7989 				LA31_: ;
7990 				x = (*x)._kind_6.sons->data[((NI) 0)];
7991 			}
7992 			goto LA23_;
7993 			LA25_: ;
7994 			{
7995 				if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA34_;
7996 				x = (*x)._kind_6.sons->data[((NI) 0)];
7997 			}
7998 			goto LA23_;
7999 			LA34_: ;
8000 			{
8001 				goto LA21;
8002 			}
8003 			LA23_: ;
8004 			{
8005 				NIM_BOOL T39_;
8006 				NimStringDesc* msg;
8007 				T39_ = (NIM_BOOL)0;
8008 				T39_ = exprStructuralEquivalent__trees_56(x, value, NIM_TRUE);
8009 				if (!T39_) goto LA40_;
8010 				{
8011 					tyArray__Re75IspeoxXy2oCZHwcRrA T46_;
8012 					if (!!((field == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA44_;
8013 					nimZeroMem((void*)T46_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
8014 					T46_[0] = dollar___renderer_2106(n);
8015 					T46_[1] = dollar___renderer_2106(field);
8016 					msg = nsuFormatOpenArray(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_45), T46_, 2);
8017 				}
8018 				goto LA42_;
8019 				LA44_: ;
8020 				{
8021 					tyArray__nHXaesL0DJZHyVS07ARPRA T48_;
8022 					nimZeroMem((void*)T48_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
8023 					T48_[0] = dollar___renderer_2106(n);
8024 					msg = nsuFormatOpenArray(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_46), T48_, 1);
8025 				}
8026 				LA42_: ;
8027 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 56), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_47, NIM_FALSE);
8028 				goto LA21;
8029 			}
8030 			LA40_: ;
8031 		}
8032 	} LA21: ;
8033 	}BeforeRet_: ;
8034 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDiscriminantAsgn__injectdestructors_6668)8035 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDiscriminantAsgn__injectdestructors_6668)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8036 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8037 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
8038 	tyArray__cypz0nHJsd9cnKgpO7fP5hQ T1_;
8039 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
8040 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
8041 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
8042 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le;
8043 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* leDotExpr;
8044 	tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
8045 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T34_;
8046 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
8047 {	result = NIM_NIL;
8048 	tmp = getTemp__injectdestructors_61(c, s, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*n).info);
8049 	nimZeroMem((void*)T1_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
8050 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T1_, 0);
8051 	nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8052 	T2_[0] = tmp;
8053 	T2_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
8054 	T3_ = NIM_NIL;
8055 	T3_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T2_, 2);
8056 	add__ast_4797(result, T3_);
8057 	T4_ = NIM_NIL;
8058 	T4_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8059 	add__ast_4797(result, T4_);
8060 	le = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8061 	{
8062 		if (!((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA7_;
8063 		leDotExpr = (*le)._kind_6.sons->data[((NI) 0)];
8064 	}
8065 	goto LA5_;
8066 	LA7_: ;
8067 	{
8068 		leDotExpr = le;
8069 	}
8070 	LA5_: ;
8071 	objType = (*(*leDotExpr)._kind_6.sons->data[((NI) 0)]).typ;
8072 	{
8073 		NIM_BOOL T12_;
8074 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* branchDestructor;
8075 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
8076 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
8077 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T26_;
8078 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
8079 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* notExpr;
8080 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
8081 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T29_;
8082 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
8083 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T31_;
8084 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T32_;
8085 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
8086 		T12_ = (NIM_BOOL)0;
8087 		T12_ = hasDestructor__injectdestructors_49((&(*c)), objType);
8088 		if (!T12_) goto LA13_;
8089 		{
8090 			NIM_BOOL T17_;
8091 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
8092 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
8093 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T23_;
8094 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
8095 			T17_ = (NIM_BOOL)0;
8096 			T18_ = NIM_NIL;
8097 			T18_ = getAttachedOp__modulegraphs_4011((*c).graph, objType, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
8098 			T17_ = !((T18_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8099 			if (!(T17_)) goto LA19_;
8100 			T20_ = NIM_NIL;
8101 			T20_ = getAttachedOp__modulegraphs_4011((*c).graph, objType, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
8102 			T17_ = (((*T20_).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
8103 			LA19_: ;
8104 			if (!T17_) goto LA21_;
8105 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_48), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_49, NIM_FALSE);
8106 			nimZeroMem((void*)T23_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8107 			T23_[0] = le;
8108 			T23_[1] = tmp;
8109 			T24_ = NIM_NIL;
8110 			T24_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T23_, 2);
8111 			add__ast_4797(result, T24_);
8112 			goto BeforeRet_;
8113 		}
8114 		LA21_: ;
8115 		branchDestructor = produceDestructorForDiscriminator__liftdestructors_2002((*c).graph, objType, (*(*leDotExpr)._kind_6.sons->data[((NI) 1)])._kind_4.sym, (*n).info, (*c).idgen);
8116 		T25_ = NIM_NIL;
8117 		T25_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8118 		cond = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (*n).info, T25_);
8119 		T26_ = NIM_NIL;
8120 		T26_ = getMagicEqSymForType__magicsys_171((*c).graph, (*le).typ, (*n).info);
8121 		T27_ = NIM_NIL;
8122 		T27_ = newSymNode__ast_3716(T26_);
8123 		add__ast_4797(cond, T27_);
8124 		add__ast_4797(cond, le);
8125 		add__ast_4797(cond, tmp);
8126 		T28_ = NIM_NIL;
8127 		T28_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8128 		notExpr = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), (*n).info, T28_);
8129 		T29_ = NIM_NIL;
8130 		T29_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
8131 		T30_ = NIM_NIL;
8132 		T30_ = newSymNode__ast_3716(T29_);
8133 		add__ast_4797(notExpr, T30_);
8134 		add__ast_4797(notExpr, cond);
8135 		nimZeroMem((void*)T31_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
8136 		nimZeroMem((void*)T32_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8137 		T32_[0] = notExpr;
8138 		T32_[1] = genOp__injectdestructors_6420(c, branchDestructor, le);
8139 		T31_[0] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T32_, 2);
8140 		T33_ = NIM_NIL;
8141 		T33_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T31_, 1);
8142 		add__ast_4797(result, T33_);
8143 	}
8144 	LA13_: ;
8145 	nimZeroMem((void*)T34_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8146 	T34_[0] = le;
8147 	T34_[1] = tmp;
8148 	T35_ = NIM_NIL;
8149 	T35_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T34_, 2);
8150 	add__ast_4797(result, T35_);
8151 	}BeforeRet_: ;
8152 	return result;
8153 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,p__injectdestructors_105)8154 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, p__injectdestructors_105)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw mode) {
8155 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8156 {	result = NIM_NIL;
8157 	{
8158 		if (!((TM__dJ4qrEWDmqGA8FWJ0TYKJQ_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) goto LA3_;
8159 		switch ((*n).kind) {
8160 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
8161 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
8162 		{
8163 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
8164 			{
8165 				NI T8_;
8166 				T8_ = (NI)0;
8167 				T8_ = len__ast_3198(n);
8168 				if (!(T8_ == ((NI) 0))) goto LA9_;
8169 				result = n;
8170 				goto BeforeRet_;
8171 			}
8172 			LA9_: ;
8173 			result = copyNode__ast_4336(n);
8174 			{
8175 				NI iX60gensym198_;
8176 				NI colontmp_;
8177 				NI T12_;
8178 				NI i;
8179 				iX60gensym198_ = (NI)0;
8180 				colontmp_ = (NI)0;
8181 				T12_ = (NI)0;
8182 				T12_ = len__ast_3198(n);
8183 				colontmp_ = (NI)(T12_ - ((NI) 1));
8184 				i = ((NI) 0);
8185 				{
8186 					while (1) {
8187 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
8188 						if (!(i < colontmp_)) goto LA14;
8189 						iX60gensym198_ = i;
8190 						T15_ = NIM_NIL;
8191 						T15_ = p__injectdestructors_105((*n)._kind_6.sons->data[iX60gensym198_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8192 						add__ast_4797(result, T15_);
8193 						i += ((NI) 1);
8194 					} LA14: ;
8195 				}
8196 			}
8197 			T16_ = NIM_NIL;
8198 			{
8199 				NI T19_;
8200 				NIM_BOOL T20_;
8201 				NI T23_;
8202 				T19_ = (NI)0;
8203 				T19_ = len__ast_3198(n);
8204 				T20_ = (NIM_BOOL)0;
8205 				T20_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))]).typ);
8206 				if (!T20_) goto LA21_;
8207 				T23_ = (NI)0;
8208 				T23_ = len__ast_3198(n);
8209 				T16_ = p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8210 			}
8211 			goto LA17_;
8212 			LA21_: ;
8213 			{
8214 				NI T25_;
8215 				T25_ = (NI)0;
8216 				T25_ = len__ast_3198(n);
8217 				T16_ = p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))], c, s, mode);
8218 			}
8219 			LA17_: ;
8220 			add__ast_4797(result, T16_);
8221 		}
8222 		break;
8223 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
8224 		{
8225 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
8226 			result = copyNode__ast_4336(n);
8227 			T27_ = NIM_NIL;
8228 			T27_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8229 			add__ast_4797(result, T27_);
8230 			{
8231 				NI iX60gensym198__2;
8232 				NI colontmp__2;
8233 				NI i_2;
8234 				iX60gensym198__2 = (NI)0;
8235 				colontmp__2 = (NI)0;
8236 				colontmp__2 = len__ast_3198(n);
8237 				i_2 = ((NI) 1);
8238 				{
8239 					while (1) {
8240 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198_;
8241 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198_;
8242 						tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym198_;
8243 						NI T35_;
8244 						if (!(i_2 < colontmp__2)) goto LA30;
8245 						iX60gensym198__2 = i_2;
8246 						itX60gensym198_ = (*n)._kind_6.sons->data[iX60gensym198__2];
8247 						branchX60gensym198_ = shallowCopy__ast_4413(itX60gensym198_);
8248 						{
8249 							NI jX60gensym198_;
8250 							NI colontmp__3;
8251 							NI T32_;
8252 							NI i_3;
8253 							jX60gensym198_ = (NI)0;
8254 							colontmp__3 = (NI)0;
8255 							T32_ = (NI)0;
8256 							T32_ = len__ast_3198(itX60gensym198_);
8257 							colontmp__3 = (NI)(T32_ - ((NI) 1));
8258 							i_3 = ((NI) 0);
8259 							{
8260 								while (1) {
8261 									if (!(i_3 < colontmp__3)) goto LA34;
8262 									jX60gensym198_ = i_3;
8263 									asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[jX60gensym198_]), copyTree__ast_4431((*itX60gensym198_)._kind_6.sons->data[jX60gensym198_]));
8264 									i_3 += ((NI) 1);
8265 								} LA34: ;
8266 							}
8267 						}
8268 						nimZeroMem((void*)(&ofScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8269 						nestedScope__injectdestructors_72(s, (&ofScopeX60gensym198_));
8270 						T35_ = (NI)0;
8271 						T35_ = len__ast_3198(branchX60gensym198_);
8272 						{
8273 							NIM_BOOL T38_;
8274 							NI T39_;
8275 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
8276 							T38_ = (NIM_BOOL)0;
8277 							T39_ = (NI)0;
8278 							T39_ = len__ast_3198(itX60gensym198_);
8279 							T38_ = isEmptyType__ast_4779((*(*itX60gensym198_)._kind_6.sons->data[(NI)(T39_ - ((NI) 1))]).typ);
8280 							if (T38_) goto LA40_;
8281 							T38_ = NIM_FALSE;
8282 							LA40_: ;
8283 							if (!T38_) goto LA41_;
8284 							T43_ = NIM_NIL;
8285 							{
8286 								NI T46_;
8287 								NIM_BOOL T47_;
8288 								NI T50_;
8289 								T46_ = (NI)0;
8290 								T46_ = len__ast_3198(itX60gensym198_);
8291 								T47_ = (NIM_BOOL)0;
8292 								T47_ = isEmptyType__ast_4779((*(*itX60gensym198_)._kind_6.sons->data[(NI)(T46_ - ((NI) 1))]).typ);
8293 								if (!T47_) goto LA48_;
8294 								T50_ = (NI)0;
8295 								T50_ = len__ast_3198(itX60gensym198_);
8296 								T43_ = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T50_ - ((NI) 1))], c, (&ofScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8297 							}
8298 							goto LA44_;
8299 							LA48_: ;
8300 							{
8301 								NI T52_;
8302 								T52_ = (NI)0;
8303 								T52_ = len__ast_3198(itX60gensym198_);
8304 								T43_ = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T52_ - ((NI) 1))], c, (&ofScopeX60gensym198_), mode);
8305 							}
8306 							LA44_: ;
8307 							asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[(NI)(T35_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym198_), T43_));
8308 						}
8309 						goto LA36_;
8310 						LA41_: ;
8311 						{
8312 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym236_;
8313 							NI T54_;
8314 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym236_;
8315 							NI T55_;
8316 							NI T56_;
8317 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym236_;
8318 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym236_;
8319 							NI T83_;
8320 							T54_ = (NI)0;
8321 							T54_ = len__ast_3198(itX60gensym198_);
8322 							resultX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T54_ - ((NI) 1))]).info);
8323 							T55_ = (NI)0;
8324 							T55_ = len__ast_3198(itX60gensym198_);
8325 							T56_ = (NI)0;
8326 							T56_ = len__ast_3198(itX60gensym198_);
8327 							tmpX60gensym236_ = getTemp__injectdestructors_61(c, ofScopeX60gensym198_.parent, (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T55_ - ((NI) 1))]).typ, (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T56_ - ((NI) 1))]).info);
8328 							(*(*tmpX60gensym236_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8329 							{
8330 								NI T59_;
8331 								NIM_BOOL T60_;
8332 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
8333 								NI T64_;
8334 								NI T65_;
8335 								T59_ = (NI)0;
8336 								T59_ = len__ast_3198(itX60gensym198_);
8337 								T60_ = (NIM_BOOL)0;
8338 								T60_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T59_ - ((NI) 1))]).typ);
8339 								if (!T60_) goto LA61_;
8340 								T63_ = NIM_NIL;
8341 								T63_ = genDestroy__injectdestructors_6527(c, tmpX60gensym236_);
8342 								unsureAsgnRef((void**) (&(*ofScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8343 								T64_ = (*ofScopeX60gensym198_.parent).final->Sup.len++;
8344 								asgnRef((void**) (&(*ofScopeX60gensym198_.parent).final->data[T64_]), T63_);
8345 								T65_ = (NI)0;
8346 								T65_ = len__ast_3198(itX60gensym198_);
8347 								cpyX60gensym236_ = moveOrCopy__injectdestructors_110(tmpX60gensym236_, (*itX60gensym198_)._kind_6.sons->data[(NI)(T65_ - ((NI) 1))], c, (&ofScopeX60gensym198_), NIM_TRUE);
8348 							}
8349 							goto LA57_;
8350 							LA61_: ;
8351 							{
8352 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T67_;
8353 								NI T68_;
8354 								nimZeroMem((void*)T67_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8355 								T67_[0] = tmpX60gensym236_;
8356 								T68_ = (NI)0;
8357 								T68_ = len__ast_3198(itX60gensym198_);
8358 								T67_[1] = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T68_ - ((NI) 1))], c, (&ofScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8359 								cpyX60gensym236_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T67_, 2);
8360 							}
8361 							LA57_: ;
8362 							{
8363 								NI T71_;
8364 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym236_;
8365 								NI T74_;
8366 								T71_ = (ofScopeX60gensym198_.vars ? ofScopeX60gensym198_.vars->Sup.len : 0);
8367 								if (!(((NI) 0) < T71_)) goto LA72_;
8368 								T74_ = (NI)0;
8369 								T74_ = len__ast_3198(itX60gensym198_);
8370 								varSectionX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))]).info);
8371 								{
8372 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym236__2;
8373 									NI i_4;
8374 									NI L;
8375 									NI T76_;
8376 									tmpX60gensym236__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8377 									i_4 = ((NI) 0);
8378 									T76_ = (ofScopeX60gensym198_.vars ? ofScopeX60gensym198_.vars->Sup.len : 0);
8379 									L = T76_;
8380 									{
8381 										while (1) {
8382 											tyArray__T6RKPw8xfAeNaoei9aZGzXg T79_;
8383 											NI T80_;
8384 											NI T81_;
8385 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T82_;
8386 											if (!(i_4 < L)) goto LA78;
8387 											tmpX60gensym236__2 = &ofScopeX60gensym198_.vars->data[i_4];
8388 											nimZeroMem((void*)T79_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8389 											T79_[0] = newSymNode__ast_3716((*tmpX60gensym236__2));
8390 											T80_ = (NI)0;
8391 											T80_ = len__ast_3198(itX60gensym198_);
8392 											T79_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T80_ - ((NI) 1))]).info);
8393 											T81_ = (NI)0;
8394 											T81_ = len__ast_3198(itX60gensym198_);
8395 											T79_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T81_ - ((NI) 1))]).info);
8396 											T82_ = NIM_NIL;
8397 											T82_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T79_, 3);
8398 											add__ast_4797(varSectionX60gensym236_, T82_);
8399 											i_4 += ((NI) 1);
8400 										} LA78: ;
8401 									}
8402 								}
8403 								add__ast_4797(resultX60gensym236_, varSectionX60gensym236_);
8404 							}
8405 							LA72_: ;
8406 							T83_ = (NI)0;
8407 							T83_ = len__ast_3198(itX60gensym198_);
8408 							finSectionX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T83_ - ((NI) 1))]).info);
8409 							{
8410 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym236_;
8411 								NI i_5;
8412 								NI L_2;
8413 								NI T85_;
8414 								mX60gensym236_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8415 								i_5 = ((NI) 0);
8416 								T85_ = (ofScopeX60gensym198_.wasMoved ? ofScopeX60gensym198_.wasMoved->Sup.len : 0);
8417 								L_2 = T85_;
8418 								{
8419 									while (1) {
8420 										if (!(i_5 < L_2)) goto LA87;
8421 										mX60gensym236_ = &ofScopeX60gensym198_.wasMoved->data[i_5];
8422 										add__ast_4797(finSectionX60gensym236_, (*mX60gensym236_));
8423 										i_5 += ((NI) 1);
8424 									} LA87: ;
8425 								}
8426 							}
8427 							{
8428 								NI iX60gensym236_;
8429 								NI colontmp__4;
8430 								NI T89_;
8431 								NI res;
8432 								iX60gensym236_ = (NI)0;
8433 								colontmp__4 = (NI)0;
8434 								T89_ = ((ofScopeX60gensym198_.final ? ofScopeX60gensym198_.final->Sup.len : 0)-1);
8435 								colontmp__4 = T89_;
8436 								res = colontmp__4;
8437 								{
8438 									while (1) {
8439 										if (!(((NI) 0) <= res)) goto LA91;
8440 										iX60gensym236_ = res;
8441 										add__ast_4797(finSectionX60gensym236_, ofScopeX60gensym198_.final->data[iX60gensym236_]);
8442 										res -= ((NI) 1);
8443 									} LA91: ;
8444 								}
8445 							}
8446 							{
8447 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T96_;
8448 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T97_;
8449 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T98_;
8450 								if (!ofScopeX60gensym198_.needsTry) goto LA94_;
8451 								nimZeroMem((void*)T96_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8452 								T96_[0] = cpyX60gensym236_;
8453 								T96_[1] = p__injectdestructors_105(tmpX60gensym236_, c, ofScopeX60gensym198_.parent, mode);
8454 								T97_ = NIM_NIL;
8455 								T97_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T96_, 2);
8456 								T98_ = NIM_NIL;
8457 								T98_ = newTryFinally__lowerings_202(T97_, finSectionX60gensym236_);
8458 								add__ast_4797(resultX60gensym236_, T98_);
8459 							}
8460 							goto LA92_;
8461 							LA94_: ;
8462 							{
8463 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T100_;
8464 								add__ast_4797(resultX60gensym236_, cpyX60gensym236_);
8465 								add__ast_4797(resultX60gensym236_, finSectionX60gensym236_);
8466 								T100_ = NIM_NIL;
8467 								T100_ = p__injectdestructors_105(tmpX60gensym236_, c, ofScopeX60gensym198_.parent, mode);
8468 								add__ast_4797(resultX60gensym236_, T100_);
8469 							}
8470 							LA92_: ;
8471 							{
8472 								NIM_BOOL T105_;
8473 								if (!!((ofScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA103_;
8474 								T105_ = (NIM_BOOL)0;
8475 								T105_ = (*ofScopeX60gensym198_.parent).needsTry;
8476 								if (T105_) goto LA106_;
8477 								T105_ = ofScopeX60gensym198_.needsTry;
8478 								LA106_: ;
8479 								(*ofScopeX60gensym198_.parent).needsTry = T105_;
8480 							}
8481 							LA103_: ;
8482 							asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[(NI)(T35_ - ((NI) 1))]), resultX60gensym236_);
8483 						}
8484 						LA36_: ;
8485 						add__ast_4797(result, branchX60gensym198_);
8486 						i_2 += ((NI) 1);
8487 					} LA30: ;
8488 				}
8489 			}
8490 		}
8491 		break;
8492 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
8493 		{
8494 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T108_;
8495 			tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198_;
8496 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym198_;
8497 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T109_;
8498 			(*c).inLoop += ((NI) 1);
8499 			(*c).inLoopCond += ((NI) 1);
8500 			result = copyNode__ast_4336(n);
8501 			T108_ = NIM_NIL;
8502 			T108_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8503 			add__ast_4797(result, T108_);
8504 			(*c).inLoopCond -= ((NI) 1);
8505 			nimZeroMem((void*)(&bodyScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8506 			nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198_));
8507 			bodyResultX60gensym198_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8508 			T109_ = NIM_NIL;
8509 			T109_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198_), bodyResultX60gensym198_);
8510 			add__ast_4797(result, T109_);
8511 			(*c).inLoop -= ((NI) 1);
8512 		}
8513 		break;
8514 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
8515 		{
8516 			NI lastX60gensym198_;
8517 			NI T111_;
8518 			tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198__2;
8519 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym198__2;
8520 			(*c).inLoop += ((NI) 1);
8521 			result = shallowCopy__ast_4413(n);
8522 			T111_ = (NI)0;
8523 			T111_ = len__ast_3198(n);
8524 			lastX60gensym198_ = (NI)(T111_ - ((NI) 1));
8525 			{
8526 				NI iX60gensym198__3;
8527 				NI colontmp__5;
8528 				NI i_6;
8529 				iX60gensym198__3 = (NI)0;
8530 				colontmp__5 = (NI)0;
8531 				colontmp__5 = (NI)(lastX60gensym198_ - ((NI) 1));
8532 				i_6 = ((NI) 0);
8533 				{
8534 					while (1) {
8535 						if (!(i_6 < colontmp__5)) goto LA114;
8536 						iX60gensym198__3 = i_6;
8537 						asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym198__3]), (*n)._kind_6.sons->data[iX60gensym198__3]);
8538 						i_6 += ((NI) 1);
8539 					} LA114: ;
8540 				}
8541 			}
8542 			asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym198_ - ((NI) 1))]), p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(lastX60gensym198_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
8543 			nimZeroMem((void*)(&bodyScopeX60gensym198__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8544 			nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198__2));
8545 			bodyResultX60gensym198__2 = p__injectdestructors_105((*n)._kind_6.sons->data[lastX60gensym198_], c, (&bodyScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8546 			asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym198_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198__2), bodyResultX60gensym198__2));
8547 			(*c).inLoop -= ((NI) 1);
8548 		}
8549 		break;
8550 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
8551 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
8552 		{
8553 			tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198__3;
8554 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T116_;
8555 			result = copyNode__ast_4336(n);
8556 			add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
8557 			nimZeroMem((void*)(&bodyScopeX60gensym198__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8558 			nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198__3));
8559 			T116_ = NIM_NIL;
8560 			{
8561 				NIM_BOOL T119_;
8562 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T123_;
8563 				T119_ = (NIM_BOOL)0;
8564 				T119_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
8565 				if (T119_) goto LA120_;
8566 				T119_ = NIM_FALSE;
8567 				LA120_: ;
8568 				if (!T119_) goto LA121_;
8569 				T123_ = NIM_NIL;
8570 				T123_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), mode);
8571 				T116_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198__3), T123_);
8572 			}
8573 			goto LA117_;
8574 			LA121_: ;
8575 			{
8576 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym258_;
8577 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym258_;
8578 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym258_;
8579 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym258_;
8580 				resultX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8581 				tmpX60gensym258_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym198__3.parent, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8582 				(*(*tmpX60gensym258_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8583 				{
8584 					NIM_BOOL T127_;
8585 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T130_;
8586 					NI T131_;
8587 					T127_ = (NIM_BOOL)0;
8588 					T127_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
8589 					if (!T127_) goto LA128_;
8590 					T130_ = NIM_NIL;
8591 					T130_ = genDestroy__injectdestructors_6527(c, tmpX60gensym258_);
8592 					unsureAsgnRef((void**) (&(*bodyScopeX60gensym198__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym198__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8593 					T131_ = (*bodyScopeX60gensym198__3.parent).final->Sup.len++;
8594 					asgnRef((void**) (&(*bodyScopeX60gensym198__3.parent).final->data[T131_]), T130_);
8595 					cpyX60gensym258_ = moveOrCopy__injectdestructors_110(tmpX60gensym258_, (*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), NIM_TRUE);
8596 				}
8597 				goto LA125_;
8598 				LA128_: ;
8599 				{
8600 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T133_;
8601 					nimZeroMem((void*)T133_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8602 					T133_[0] = tmpX60gensym258_;
8603 					T133_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8604 					cpyX60gensym258_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T133_, 2);
8605 				}
8606 				LA125_: ;
8607 				{
8608 					NI T136_;
8609 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym258_;
8610 					T136_ = (bodyScopeX60gensym198__3.vars ? bodyScopeX60gensym198__3.vars->Sup.len : 0);
8611 					if (!(((NI) 0) < T136_)) goto LA137_;
8612 					varSectionX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8613 					{
8614 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym258__2;
8615 						NI i_7;
8616 						NI L_3;
8617 						NI T140_;
8618 						tmpX60gensym258__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8619 						i_7 = ((NI) 0);
8620 						T140_ = (bodyScopeX60gensym198__3.vars ? bodyScopeX60gensym198__3.vars->Sup.len : 0);
8621 						L_3 = T140_;
8622 						{
8623 							while (1) {
8624 								tyArray__T6RKPw8xfAeNaoei9aZGzXg T143_;
8625 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T144_;
8626 								if (!(i_7 < L_3)) goto LA142;
8627 								tmpX60gensym258__2 = &bodyScopeX60gensym198__3.vars->data[i_7];
8628 								nimZeroMem((void*)T143_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8629 								T143_[0] = newSymNode__ast_3716((*tmpX60gensym258__2));
8630 								T143_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8631 								T143_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8632 								T144_ = NIM_NIL;
8633 								T144_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T143_, 3);
8634 								add__ast_4797(varSectionX60gensym258_, T144_);
8635 								i_7 += ((NI) 1);
8636 							} LA142: ;
8637 						}
8638 					}
8639 					add__ast_4797(resultX60gensym258_, varSectionX60gensym258_);
8640 				}
8641 				LA137_: ;
8642 				finSectionX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8643 				{
8644 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym258_;
8645 					NI i_8;
8646 					NI L_4;
8647 					NI T146_;
8648 					mX60gensym258_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8649 					i_8 = ((NI) 0);
8650 					T146_ = (bodyScopeX60gensym198__3.wasMoved ? bodyScopeX60gensym198__3.wasMoved->Sup.len : 0);
8651 					L_4 = T146_;
8652 					{
8653 						while (1) {
8654 							if (!(i_8 < L_4)) goto LA148;
8655 							mX60gensym258_ = &bodyScopeX60gensym198__3.wasMoved->data[i_8];
8656 							add__ast_4797(finSectionX60gensym258_, (*mX60gensym258_));
8657 							i_8 += ((NI) 1);
8658 						} LA148: ;
8659 					}
8660 				}
8661 				{
8662 					NI iX60gensym258_;
8663 					NI colontmp__6;
8664 					NI T150_;
8665 					NI res_2;
8666 					iX60gensym258_ = (NI)0;
8667 					colontmp__6 = (NI)0;
8668 					T150_ = ((bodyScopeX60gensym198__3.final ? bodyScopeX60gensym198__3.final->Sup.len : 0)-1);
8669 					colontmp__6 = T150_;
8670 					res_2 = colontmp__6;
8671 					{
8672 						while (1) {
8673 							if (!(((NI) 0) <= res_2)) goto LA152;
8674 							iX60gensym258_ = res_2;
8675 							add__ast_4797(finSectionX60gensym258_, bodyScopeX60gensym198__3.final->data[iX60gensym258_]);
8676 							res_2 -= ((NI) 1);
8677 						} LA152: ;
8678 					}
8679 				}
8680 				{
8681 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T157_;
8682 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T158_;
8683 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T159_;
8684 					if (!bodyScopeX60gensym198__3.needsTry) goto LA155_;
8685 					nimZeroMem((void*)T157_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8686 					T157_[0] = cpyX60gensym258_;
8687 					T157_[1] = p__injectdestructors_105(tmpX60gensym258_, c, bodyScopeX60gensym198__3.parent, mode);
8688 					T158_ = NIM_NIL;
8689 					T158_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T157_, 2);
8690 					T159_ = NIM_NIL;
8691 					T159_ = newTryFinally__lowerings_202(T158_, finSectionX60gensym258_);
8692 					add__ast_4797(resultX60gensym258_, T159_);
8693 				}
8694 				goto LA153_;
8695 				LA155_: ;
8696 				{
8697 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T161_;
8698 					add__ast_4797(resultX60gensym258_, cpyX60gensym258_);
8699 					add__ast_4797(resultX60gensym258_, finSectionX60gensym258_);
8700 					T161_ = NIM_NIL;
8701 					T161_ = p__injectdestructors_105(tmpX60gensym258_, c, bodyScopeX60gensym198__3.parent, mode);
8702 					add__ast_4797(resultX60gensym258_, T161_);
8703 				}
8704 				LA153_: ;
8705 				{
8706 					NIM_BOOL T166_;
8707 					if (!!((bodyScopeX60gensym198__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA164_;
8708 					T166_ = (NIM_BOOL)0;
8709 					T166_ = (*bodyScopeX60gensym198__3.parent).needsTry;
8710 					if (T166_) goto LA167_;
8711 					T166_ = bodyScopeX60gensym198__3.needsTry;
8712 					LA167_: ;
8713 					(*bodyScopeX60gensym198__3.parent).needsTry = T166_;
8714 				}
8715 				LA164_: ;
8716 				T116_ = resultX60gensym258_;
8717 			}
8718 			LA117_: ;
8719 			add__ast_4797(result, T116_);
8720 		}
8721 		break;
8722 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
8723 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
8724 		{
8725 			result = copyNode__ast_4336(n);
8726 			{
8727 				NI iX60gensym198__4;
8728 				NI colontmp__7;
8729 				NI i_9;
8730 				iX60gensym198__4 = (NI)0;
8731 				colontmp__7 = (NI)0;
8732 				colontmp__7 = len__ast_3198(n);
8733 				i_9 = ((NI) 0);
8734 				{
8735 					while (1) {
8736 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198__2;
8737 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198__2;
8738 						tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym198_;
8739 						NI T176_;
8740 						if (!(i_9 < colontmp__7)) goto LA171;
8741 						iX60gensym198__4 = i_9;
8742 						itX60gensym198__2 = (*n)._kind_6.sons->data[iX60gensym198__4];
8743 						branchX60gensym198__2 = shallowCopy__ast_4413(itX60gensym198__2);
8744 						nimZeroMem((void*)(&branchScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8745 						nestedScope__injectdestructors_72(s, (&branchScopeX60gensym198_));
8746 						{
8747 							if (!((*itX60gensym198__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym198__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA174_;
8748 							asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
8749 						}
8750 						LA174_: ;
8751 						T176_ = (NI)0;
8752 						T176_ = len__ast_3198(branchX60gensym198__2);
8753 						{
8754 							NIM_BOOL T179_;
8755 							NI T180_;
8756 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T184_;
8757 							T179_ = (NIM_BOOL)0;
8758 							T180_ = (NI)0;
8759 							T180_ = len__ast_3198(itX60gensym198__2);
8760 							T179_ = isEmptyType__ast_4779((*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T180_ - ((NI) 1))]).typ);
8761 							if (T179_) goto LA181_;
8762 							T179_ = NIM_FALSE;
8763 							LA181_: ;
8764 							if (!T179_) goto LA182_;
8765 							T184_ = NIM_NIL;
8766 							{
8767 								NI T187_;
8768 								NIM_BOOL T188_;
8769 								NI T191_;
8770 								T187_ = (NI)0;
8771 								T187_ = len__ast_3198(itX60gensym198__2);
8772 								T188_ = (NIM_BOOL)0;
8773 								T188_ = isEmptyType__ast_4779((*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T187_ - ((NI) 1))]).typ);
8774 								if (!T188_) goto LA189_;
8775 								T191_ = (NI)0;
8776 								T191_ = len__ast_3198(itX60gensym198__2);
8777 								T184_ = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T191_ - ((NI) 1))], c, (&branchScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8778 							}
8779 							goto LA185_;
8780 							LA189_: ;
8781 							{
8782 								NI T193_;
8783 								T193_ = (NI)0;
8784 								T193_ = len__ast_3198(itX60gensym198__2);
8785 								T184_ = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T193_ - ((NI) 1))], c, (&branchScopeX60gensym198_), mode);
8786 							}
8787 							LA185_: ;
8788 							asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[(NI)(T176_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym198_), T184_));
8789 						}
8790 						goto LA177_;
8791 						LA182_: ;
8792 						{
8793 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym287_;
8794 							NI T195_;
8795 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym287_;
8796 							NI T196_;
8797 							NI T197_;
8798 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym287_;
8799 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym287_;
8800 							NI T224_;
8801 							T195_ = (NI)0;
8802 							T195_ = len__ast_3198(itX60gensym198__2);
8803 							resultX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T195_ - ((NI) 1))]).info);
8804 							T196_ = (NI)0;
8805 							T196_ = len__ast_3198(itX60gensym198__2);
8806 							T197_ = (NI)0;
8807 							T197_ = len__ast_3198(itX60gensym198__2);
8808 							tmpX60gensym287_ = getTemp__injectdestructors_61(c, branchScopeX60gensym198_.parent, (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T196_ - ((NI) 1))]).typ, (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T197_ - ((NI) 1))]).info);
8809 							(*(*tmpX60gensym287_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8810 							{
8811 								NI T200_;
8812 								NIM_BOOL T201_;
8813 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T204_;
8814 								NI T205_;
8815 								NI T206_;
8816 								T200_ = (NI)0;
8817 								T200_ = len__ast_3198(itX60gensym198__2);
8818 								T201_ = (NIM_BOOL)0;
8819 								T201_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T200_ - ((NI) 1))]).typ);
8820 								if (!T201_) goto LA202_;
8821 								T204_ = NIM_NIL;
8822 								T204_ = genDestroy__injectdestructors_6527(c, tmpX60gensym287_);
8823 								unsureAsgnRef((void**) (&(*branchScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8824 								T205_ = (*branchScopeX60gensym198_.parent).final->Sup.len++;
8825 								asgnRef((void**) (&(*branchScopeX60gensym198_.parent).final->data[T205_]), T204_);
8826 								T206_ = (NI)0;
8827 								T206_ = len__ast_3198(itX60gensym198__2);
8828 								cpyX60gensym287_ = moveOrCopy__injectdestructors_110(tmpX60gensym287_, (*itX60gensym198__2)._kind_6.sons->data[(NI)(T206_ - ((NI) 1))], c, (&branchScopeX60gensym198_), NIM_TRUE);
8829 							}
8830 							goto LA198_;
8831 							LA202_: ;
8832 							{
8833 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T208_;
8834 								NI T209_;
8835 								nimZeroMem((void*)T208_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8836 								T208_[0] = tmpX60gensym287_;
8837 								T209_ = (NI)0;
8838 								T209_ = len__ast_3198(itX60gensym198__2);
8839 								T208_[1] = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T209_ - ((NI) 1))], c, (&branchScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8840 								cpyX60gensym287_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T208_, 2);
8841 							}
8842 							LA198_: ;
8843 							{
8844 								NI T212_;
8845 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym287_;
8846 								NI T215_;
8847 								T212_ = (branchScopeX60gensym198_.vars ? branchScopeX60gensym198_.vars->Sup.len : 0);
8848 								if (!(((NI) 0) < T212_)) goto LA213_;
8849 								T215_ = (NI)0;
8850 								T215_ = len__ast_3198(itX60gensym198__2);
8851 								varSectionX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T215_ - ((NI) 1))]).info);
8852 								{
8853 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym287__2;
8854 									NI i_10;
8855 									NI L_5;
8856 									NI T217_;
8857 									tmpX60gensym287__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8858 									i_10 = ((NI) 0);
8859 									T217_ = (branchScopeX60gensym198_.vars ? branchScopeX60gensym198_.vars->Sup.len : 0);
8860 									L_5 = T217_;
8861 									{
8862 										while (1) {
8863 											tyArray__T6RKPw8xfAeNaoei9aZGzXg T220_;
8864 											NI T221_;
8865 											NI T222_;
8866 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T223_;
8867 											if (!(i_10 < L_5)) goto LA219;
8868 											tmpX60gensym287__2 = &branchScopeX60gensym198_.vars->data[i_10];
8869 											nimZeroMem((void*)T220_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8870 											T220_[0] = newSymNode__ast_3716((*tmpX60gensym287__2));
8871 											T221_ = (NI)0;
8872 											T221_ = len__ast_3198(itX60gensym198__2);
8873 											T220_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T221_ - ((NI) 1))]).info);
8874 											T222_ = (NI)0;
8875 											T222_ = len__ast_3198(itX60gensym198__2);
8876 											T220_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T222_ - ((NI) 1))]).info);
8877 											T223_ = NIM_NIL;
8878 											T223_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T220_, 3);
8879 											add__ast_4797(varSectionX60gensym287_, T223_);
8880 											i_10 += ((NI) 1);
8881 										} LA219: ;
8882 									}
8883 								}
8884 								add__ast_4797(resultX60gensym287_, varSectionX60gensym287_);
8885 							}
8886 							LA213_: ;
8887 							T224_ = (NI)0;
8888 							T224_ = len__ast_3198(itX60gensym198__2);
8889 							finSectionX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T224_ - ((NI) 1))]).info);
8890 							{
8891 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym287_;
8892 								NI i_11;
8893 								NI L_6;
8894 								NI T226_;
8895 								mX60gensym287_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8896 								i_11 = ((NI) 0);
8897 								T226_ = (branchScopeX60gensym198_.wasMoved ? branchScopeX60gensym198_.wasMoved->Sup.len : 0);
8898 								L_6 = T226_;
8899 								{
8900 									while (1) {
8901 										if (!(i_11 < L_6)) goto LA228;
8902 										mX60gensym287_ = &branchScopeX60gensym198_.wasMoved->data[i_11];
8903 										add__ast_4797(finSectionX60gensym287_, (*mX60gensym287_));
8904 										i_11 += ((NI) 1);
8905 									} LA228: ;
8906 								}
8907 							}
8908 							{
8909 								NI iX60gensym287_;
8910 								NI colontmp__8;
8911 								NI T230_;
8912 								NI res_3;
8913 								iX60gensym287_ = (NI)0;
8914 								colontmp__8 = (NI)0;
8915 								T230_ = ((branchScopeX60gensym198_.final ? branchScopeX60gensym198_.final->Sup.len : 0)-1);
8916 								colontmp__8 = T230_;
8917 								res_3 = colontmp__8;
8918 								{
8919 									while (1) {
8920 										if (!(((NI) 0) <= res_3)) goto LA232;
8921 										iX60gensym287_ = res_3;
8922 										add__ast_4797(finSectionX60gensym287_, branchScopeX60gensym198_.final->data[iX60gensym287_]);
8923 										res_3 -= ((NI) 1);
8924 									} LA232: ;
8925 								}
8926 							}
8927 							{
8928 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T237_;
8929 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T238_;
8930 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T239_;
8931 								if (!branchScopeX60gensym198_.needsTry) goto LA235_;
8932 								nimZeroMem((void*)T237_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8933 								T237_[0] = cpyX60gensym287_;
8934 								T237_[1] = p__injectdestructors_105(tmpX60gensym287_, c, branchScopeX60gensym198_.parent, mode);
8935 								T238_ = NIM_NIL;
8936 								T238_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T237_, 2);
8937 								T239_ = NIM_NIL;
8938 								T239_ = newTryFinally__lowerings_202(T238_, finSectionX60gensym287_);
8939 								add__ast_4797(resultX60gensym287_, T239_);
8940 							}
8941 							goto LA233_;
8942 							LA235_: ;
8943 							{
8944 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T241_;
8945 								add__ast_4797(resultX60gensym287_, cpyX60gensym287_);
8946 								add__ast_4797(resultX60gensym287_, finSectionX60gensym287_);
8947 								T241_ = NIM_NIL;
8948 								T241_ = p__injectdestructors_105(tmpX60gensym287_, c, branchScopeX60gensym198_.parent, mode);
8949 								add__ast_4797(resultX60gensym287_, T241_);
8950 							}
8951 							LA233_: ;
8952 							{
8953 								NIM_BOOL T246_;
8954 								if (!!((branchScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA244_;
8955 								T246_ = (NIM_BOOL)0;
8956 								T246_ = (*branchScopeX60gensym198_.parent).needsTry;
8957 								if (T246_) goto LA247_;
8958 								T246_ = branchScopeX60gensym198_.needsTry;
8959 								LA247_: ;
8960 								(*branchScopeX60gensym198_.parent).needsTry = T246_;
8961 							}
8962 							LA244_: ;
8963 							asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[(NI)(T176_ - ((NI) 1))]), resultX60gensym287_);
8964 						}
8965 						LA177_: ;
8966 						add__ast_4797(result, branchX60gensym198__2);
8967 						i_9 += ((NI) 1);
8968 					} LA171: ;
8969 				}
8970 			}
8971 		}
8972 		break;
8973 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
8974 		{
8975 			tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym198_;
8976 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T249_;
8977 			result = copyNode__ast_4336(n);
8978 			nimZeroMem((void*)(&tryScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8979 			nestedScope__injectdestructors_72(s, (&tryScopeX60gensym198_));
8980 			T249_ = NIM_NIL;
8981 			{
8982 				NIM_BOOL T252_;
8983 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T256_;
8984 				T252_ = (NIM_BOOL)0;
8985 				T252_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8986 				if (T252_) goto LA253_;
8987 				T252_ = NIM_FALSE;
8988 				LA253_: ;
8989 				if (!T252_) goto LA254_;
8990 				T256_ = NIM_NIL;
8991 				{
8992 					NIM_BOOL T259_;
8993 					T259_ = (NIM_BOOL)0;
8994 					T259_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8995 					if (!T259_) goto LA260_;
8996 					T256_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8997 				}
8998 				goto LA257_;
8999 				LA260_: ;
9000 				{
9001 					T256_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), mode);
9002 				}
9003 				LA257_: ;
9004 				T249_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym198_), T256_);
9005 			}
9006 			goto LA250_;
9007 			LA254_: ;
9008 			{
9009 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym303_;
9010 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym303_;
9011 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym303_;
9012 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym303_;
9013 				resultX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9014 				tmpX60gensym303_ = getTemp__injectdestructors_61(c, tryScopeX60gensym198_.parent, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9015 				(*(*tmpX60gensym303_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
9016 				{
9017 					NIM_BOOL T266_;
9018 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T269_;
9019 					NI T270_;
9020 					T266_ = (NIM_BOOL)0;
9021 					T266_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
9022 					if (!T266_) goto LA267_;
9023 					T269_ = NIM_NIL;
9024 					T269_ = genDestroy__injectdestructors_6527(c, tmpX60gensym303_);
9025 					unsureAsgnRef((void**) (&(*tryScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
9026 					T270_ = (*tryScopeX60gensym198_.parent).final->Sup.len++;
9027 					asgnRef((void**) (&(*tryScopeX60gensym198_.parent).final->data[T270_]), T269_);
9028 					cpyX60gensym303_ = moveOrCopy__injectdestructors_110(tmpX60gensym303_, (*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), NIM_TRUE);
9029 				}
9030 				goto LA264_;
9031 				LA267_: ;
9032 				{
9033 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T272_;
9034 					nimZeroMem((void*)T272_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9035 					T272_[0] = tmpX60gensym303_;
9036 					T272_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9037 					cpyX60gensym303_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T272_, 2);
9038 				}
9039 				LA264_: ;
9040 				{
9041 					NI T275_;
9042 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym303_;
9043 					T275_ = (tryScopeX60gensym198_.vars ? tryScopeX60gensym198_.vars->Sup.len : 0);
9044 					if (!(((NI) 0) < T275_)) goto LA276_;
9045 					varSectionX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9046 					{
9047 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym303__2;
9048 						NI i_12;
9049 						NI L_7;
9050 						NI T279_;
9051 						tmpX60gensym303__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
9052 						i_12 = ((NI) 0);
9053 						T279_ = (tryScopeX60gensym198_.vars ? tryScopeX60gensym198_.vars->Sup.len : 0);
9054 						L_7 = T279_;
9055 						{
9056 							while (1) {
9057 								tyArray__T6RKPw8xfAeNaoei9aZGzXg T282_;
9058 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T283_;
9059 								if (!(i_12 < L_7)) goto LA281;
9060 								tmpX60gensym303__2 = &tryScopeX60gensym198_.vars->data[i_12];
9061 								nimZeroMem((void*)T282_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
9062 								T282_[0] = newSymNode__ast_3716((*tmpX60gensym303__2));
9063 								T282_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9064 								T282_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9065 								T283_ = NIM_NIL;
9066 								T283_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T282_, 3);
9067 								add__ast_4797(varSectionX60gensym303_, T283_);
9068 								i_12 += ((NI) 1);
9069 							} LA281: ;
9070 						}
9071 					}
9072 					add__ast_4797(resultX60gensym303_, varSectionX60gensym303_);
9073 				}
9074 				LA276_: ;
9075 				finSectionX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9076 				{
9077 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym303_;
9078 					NI i_13;
9079 					NI L_8;
9080 					NI T285_;
9081 					mX60gensym303_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
9082 					i_13 = ((NI) 0);
9083 					T285_ = (tryScopeX60gensym198_.wasMoved ? tryScopeX60gensym198_.wasMoved->Sup.len : 0);
9084 					L_8 = T285_;
9085 					{
9086 						while (1) {
9087 							if (!(i_13 < L_8)) goto LA287;
9088 							mX60gensym303_ = &tryScopeX60gensym198_.wasMoved->data[i_13];
9089 							add__ast_4797(finSectionX60gensym303_, (*mX60gensym303_));
9090 							i_13 += ((NI) 1);
9091 						} LA287: ;
9092 					}
9093 				}
9094 				{
9095 					NI iX60gensym303_;
9096 					NI colontmp__9;
9097 					NI T289_;
9098 					NI res_4;
9099 					iX60gensym303_ = (NI)0;
9100 					colontmp__9 = (NI)0;
9101 					T289_ = ((tryScopeX60gensym198_.final ? tryScopeX60gensym198_.final->Sup.len : 0)-1);
9102 					colontmp__9 = T289_;
9103 					res_4 = colontmp__9;
9104 					{
9105 						while (1) {
9106 							if (!(((NI) 0) <= res_4)) goto LA291;
9107 							iX60gensym303_ = res_4;
9108 							add__ast_4797(finSectionX60gensym303_, tryScopeX60gensym198_.final->data[iX60gensym303_]);
9109 							res_4 -= ((NI) 1);
9110 						} LA291: ;
9111 					}
9112 				}
9113 				{
9114 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T296_;
9115 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T303_;
9116 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T304_;
9117 					if (!tryScopeX60gensym198_.needsTry) goto LA294_;
9118 					nimZeroMem((void*)T296_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9119 					T296_[0] = cpyX60gensym303_;
9120 					{
9121 						NIM_BOOL T299_;
9122 						T299_ = (NIM_BOOL)0;
9123 						T299_ = isEmptyType__ast_4779((*tmpX60gensym303_).typ);
9124 						if (!T299_) goto LA300_;
9125 						T296_[1] = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9126 					}
9127 					goto LA297_;
9128 					LA300_: ;
9129 					{
9130 						T296_[1] = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, mode);
9131 					}
9132 					LA297_: ;
9133 					T303_ = NIM_NIL;
9134 					T303_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T296_, 2);
9135 					T304_ = NIM_NIL;
9136 					T304_ = newTryFinally__lowerings_202(T303_, finSectionX60gensym303_);
9137 					add__ast_4797(resultX60gensym303_, T304_);
9138 				}
9139 				goto LA292_;
9140 				LA294_: ;
9141 				{
9142 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T306_;
9143 					add__ast_4797(resultX60gensym303_, cpyX60gensym303_);
9144 					add__ast_4797(resultX60gensym303_, finSectionX60gensym303_);
9145 					T306_ = NIM_NIL;
9146 					{
9147 						NIM_BOOL T309_;
9148 						T309_ = (NIM_BOOL)0;
9149 						T309_ = isEmptyType__ast_4779((*tmpX60gensym303_).typ);
9150 						if (!T309_) goto LA310_;
9151 						T306_ = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9152 					}
9153 					goto LA307_;
9154 					LA310_: ;
9155 					{
9156 						T306_ = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, mode);
9157 					}
9158 					LA307_: ;
9159 					add__ast_4797(resultX60gensym303_, T306_);
9160 				}
9161 				LA292_: ;
9162 				{
9163 					NIM_BOOL T317_;
9164 					if (!!((tryScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA315_;
9165 					T317_ = (NIM_BOOL)0;
9166 					T317_ = (*tryScopeX60gensym198_.parent).needsTry;
9167 					if (T317_) goto LA318_;
9168 					T317_ = tryScopeX60gensym198_.needsTry;
9169 					LA318_: ;
9170 					(*tryScopeX60gensym198_.parent).needsTry = T317_;
9171 				}
9172 				LA315_: ;
9173 				T249_ = resultX60gensym303_;
9174 			}
9175 			LA250_: ;
9176 			add__ast_4797(result, T249_);
9177 			{
9178 				NI iX60gensym198__5;
9179 				NI colontmp__10;
9180 				NI i_14;
9181 				iX60gensym198__5 = (NI)0;
9182 				colontmp__10 = (NI)0;
9183 				colontmp__10 = len__ast_3198(n);
9184 				i_14 = ((NI) 1);
9185 				{
9186 					while (1) {
9187 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198__3;
9188 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198__3;
9189 						tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym198__2;
9190 						NI T322_;
9191 						if (!(i_14 < colontmp__10)) goto LA321;
9192 						iX60gensym198__5 = i_14;
9193 						itX60gensym198__3 = (*n)._kind_6.sons->data[iX60gensym198__5];
9194 						branchX60gensym198__3 = copyTree__ast_4431(itX60gensym198__3);
9195 						nimZeroMem((void*)(&branchScopeX60gensym198__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
9196 						nestedScope__injectdestructors_72(s, (&branchScopeX60gensym198__2));
9197 						T322_ = (NI)0;
9198 						T322_ = len__ast_3198(branchX60gensym198__3);
9199 						{
9200 							NIM_BOOL T325_;
9201 							NIM_BOOL T326_;
9202 							NI T327_;
9203 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T332_;
9204 							T325_ = (NIM_BOOL)0;
9205 							T326_ = (NIM_BOOL)0;
9206 							T327_ = (NI)0;
9207 							T327_ = len__ast_3198(itX60gensym198__3);
9208 							T326_ = isEmptyType__ast_4779((*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T327_ - ((NI) 1))]).typ);
9209 							if (T326_) goto LA328_;
9210 							T326_ = NIM_FALSE;
9211 							LA328_: ;
9212 							T325_ = T326_;
9213 							if (T325_) goto LA329_;
9214 							T325_ = ((*itX60gensym198__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
9215 							LA329_: ;
9216 							if (!T325_) goto LA330_;
9217 							T332_ = NIM_NIL;
9218 							{
9219 								NI T337_;
9220 								if (!((*itX60gensym198__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA335_;
9221 								T337_ = (NI)0;
9222 								T337_ = len__ast_3198(itX60gensym198__3);
9223 								T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T337_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9224 							}
9225 							goto LA333_;
9226 							LA335_: ;
9227 							{
9228 								{
9229 									NI T341_;
9230 									NIM_BOOL T342_;
9231 									NI T345_;
9232 									T341_ = (NI)0;
9233 									T341_ = len__ast_3198(itX60gensym198__3);
9234 									T342_ = (NIM_BOOL)0;
9235 									T342_ = isEmptyType__ast_4779((*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T341_ - ((NI) 1))]).typ);
9236 									if (!T342_) goto LA343_;
9237 									T345_ = (NI)0;
9238 									T345_ = len__ast_3198(itX60gensym198__3);
9239 									T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T345_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9240 								}
9241 								goto LA339_;
9242 								LA343_: ;
9243 								{
9244 									NI T347_;
9245 									T347_ = (NI)0;
9246 									T347_ = len__ast_3198(itX60gensym198__3);
9247 									T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T347_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), mode);
9248 								}
9249 								LA339_: ;
9250 							}
9251 							LA333_: ;
9252 							asgnRef((void**) (&(*branchX60gensym198__3)._kind_6.sons->data[(NI)(T322_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym198__2), T332_));
9253 						}
9254 						goto LA323_;
9255 						LA330_: ;
9256 						{
9257 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym334_;
9258 							NI T349_;
9259 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym334_;
9260 							NI T350_;
9261 							NI T351_;
9262 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym334_;
9263 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym334_;
9264 							NI T378_;
9265 							T349_ = (NI)0;
9266 							T349_ = len__ast_3198(itX60gensym198__3);
9267 							resultX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T349_ - ((NI) 1))]).info);
9268 							T350_ = (NI)0;
9269 							T350_ = len__ast_3198(itX60gensym198__3);
9270 							T351_ = (NI)0;
9271 							T351_ = len__ast_3198(itX60gensym198__3);
9272 							tmpX60gensym334_ = getTemp__injectdestructors_61(c, branchScopeX60gensym198__2.parent, (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T350_ - ((NI) 1))]).typ, (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T351_ - ((NI) 1))]).info);
9273 							(*(*tmpX60gensym334_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
9274 							{
9275 								NI T354_;
9276 								NIM_BOOL T355_;
9277 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T358_;
9278 								NI T359_;
9279 								NI T360_;
9280 								T354_ = (NI)0;
9281 								T354_ = len__ast_3198(itX60gensym198__3);
9282 								T355_ = (NIM_BOOL)0;
9283 								T355_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T354_ - ((NI) 1))]).typ);
9284 								if (!T355_) goto LA356_;
9285 								T358_ = NIM_NIL;
9286 								T358_ = genDestroy__injectdestructors_6527(c, tmpX60gensym334_);
9287 								unsureAsgnRef((void**) (&(*branchScopeX60gensym198__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym198__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
9288 								T359_ = (*branchScopeX60gensym198__2.parent).final->Sup.len++;
9289 								asgnRef((void**) (&(*branchScopeX60gensym198__2.parent).final->data[T359_]), T358_);
9290 								T360_ = (NI)0;
9291 								T360_ = len__ast_3198(itX60gensym198__3);
9292 								cpyX60gensym334_ = moveOrCopy__injectdestructors_110(tmpX60gensym334_, (*itX60gensym198__3)._kind_6.sons->data[(NI)(T360_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), NIM_TRUE);
9293 							}
9294 							goto LA352_;
9295 							LA356_: ;
9296 							{
9297 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T362_;
9298 								NI T363_;
9299 								nimZeroMem((void*)T362_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9300 								T362_[0] = tmpX60gensym334_;
9301 								T363_ = (NI)0;
9302 								T363_ = len__ast_3198(itX60gensym198__3);
9303 								T362_[1] = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T363_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9304 								cpyX60gensym334_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T362_, 2);
9305 							}
9306 							LA352_: ;
9307 							{
9308 								NI T366_;
9309 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym334_;
9310 								NI T369_;
9311 								T366_ = (branchScopeX60gensym198__2.vars ? branchScopeX60gensym198__2.vars->Sup.len : 0);
9312 								if (!(((NI) 0) < T366_)) goto LA367_;
9313 								T369_ = (NI)0;
9314 								T369_ = len__ast_3198(itX60gensym198__3);
9315 								varSectionX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T369_ - ((NI) 1))]).info);
9316 								{
9317 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym334__2;
9318 									NI i_15;
9319 									NI L_9;
9320 									NI T371_;
9321 									tmpX60gensym334__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
9322 									i_15 = ((NI) 0);
9323 									T371_ = (branchScopeX60gensym198__2.vars ? branchScopeX60gensym198__2.vars->Sup.len : 0);
9324 									L_9 = T371_;
9325 									{
9326 										while (1) {
9327 											tyArray__T6RKPw8xfAeNaoei9aZGzXg T374_;
9328 											NI T375_;
9329 											NI T376_;
9330 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T377_;
9331 											if (!(i_15 < L_9)) goto LA373;
9332 											tmpX60gensym334__2 = &branchScopeX60gensym198__2.vars->data[i_15];
9333 											nimZeroMem((void*)T374_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
9334 											T374_[0] = newSymNode__ast_3716((*tmpX60gensym334__2));
9335 											T375_ = (NI)0;
9336 											T375_ = len__ast_3198(itX60gensym198__3);
9337 											T374_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T375_ - ((NI) 1))]).info);
9338 											T376_ = (NI)0;
9339 											T376_ = len__ast_3198(itX60gensym198__3);
9340 											T374_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T376_ - ((NI) 1))]).info);
9341 											T377_ = NIM_NIL;
9342 											T377_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T374_, 3);
9343 											add__ast_4797(varSectionX60gensym334_, T377_);
9344 											i_15 += ((NI) 1);
9345 										} LA373: ;
9346 									}
9347 								}
9348 								add__ast_4797(resultX60gensym334_, varSectionX60gensym334_);
9349 							}
9350 							LA367_: ;
9351 							T378_ = (NI)0;
9352 							T378_ = len__ast_3198(itX60gensym198__3);
9353 							finSectionX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T378_ - ((NI) 1))]).info);
9354 							{
9355 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym334_;
9356 								NI i_16;
9357 								NI L_10;
9358 								NI T380_;
9359 								mX60gensym334_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
9360 								i_16 = ((NI) 0);
9361 								T380_ = (branchScopeX60gensym198__2.wasMoved ? branchScopeX60gensym198__2.wasMoved->Sup.len : 0);
9362 								L_10 = T380_;
9363 								{
9364 									while (1) {
9365 										if (!(i_16 < L_10)) goto LA382;
9366 										mX60gensym334_ = &branchScopeX60gensym198__2.wasMoved->data[i_16];
9367 										add__ast_4797(finSectionX60gensym334_, (*mX60gensym334_));
9368 										i_16 += ((NI) 1);
9369 									} LA382: ;
9370 								}
9371 							}
9372 							{
9373 								NI iX60gensym334_;
9374 								NI colontmp__11;
9375 								NI T384_;
9376 								NI res_5;
9377 								iX60gensym334_ = (NI)0;
9378 								colontmp__11 = (NI)0;
9379 								T384_ = ((branchScopeX60gensym198__2.final ? branchScopeX60gensym198__2.final->Sup.len : 0)-1);
9380 								colontmp__11 = T384_;
9381 								res_5 = colontmp__11;
9382 								{
9383 									while (1) {
9384 										if (!(((NI) 0) <= res_5)) goto LA386;
9385 										iX60gensym334_ = res_5;
9386 										add__ast_4797(finSectionX60gensym334_, branchScopeX60gensym198__2.final->data[iX60gensym334_]);
9387 										res_5 -= ((NI) 1);
9388 									} LA386: ;
9389 								}
9390 							}
9391 							{
9392 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T391_;
9393 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T392_;
9394 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T393_;
9395 								if (!branchScopeX60gensym198__2.needsTry) goto LA389_;
9396 								nimZeroMem((void*)T391_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9397 								T391_[0] = cpyX60gensym334_;
9398 								T391_[1] = p__injectdestructors_105(tmpX60gensym334_, c, branchScopeX60gensym198__2.parent, mode);
9399 								T392_ = NIM_NIL;
9400 								T392_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T391_, 2);
9401 								T393_ = NIM_NIL;
9402 								T393_ = newTryFinally__lowerings_202(T392_, finSectionX60gensym334_);
9403 								add__ast_4797(resultX60gensym334_, T393_);
9404 							}
9405 							goto LA387_;
9406 							LA389_: ;
9407 							{
9408 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T395_;
9409 								add__ast_4797(resultX60gensym334_, cpyX60gensym334_);
9410 								add__ast_4797(resultX60gensym334_, finSectionX60gensym334_);
9411 								T395_ = NIM_NIL;
9412 								T395_ = p__injectdestructors_105(tmpX60gensym334_, c, branchScopeX60gensym198__2.parent, mode);
9413 								add__ast_4797(resultX60gensym334_, T395_);
9414 							}
9415 							LA387_: ;
9416 							{
9417 								NIM_BOOL T400_;
9418 								if (!!((branchScopeX60gensym198__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA398_;
9419 								T400_ = (NIM_BOOL)0;
9420 								T400_ = (*branchScopeX60gensym198__2.parent).needsTry;
9421 								if (T400_) goto LA401_;
9422 								T400_ = branchScopeX60gensym198__2.needsTry;
9423 								LA401_: ;
9424 								(*branchScopeX60gensym198__2.parent).needsTry = T400_;
9425 							}
9426 							LA398_: ;
9427 							asgnRef((void**) (&(*branchX60gensym198__3)._kind_6.sons->data[(NI)(T322_ - ((NI) 1))]), resultX60gensym334_);
9428 						}
9429 						LA323_: ;
9430 						add__ast_4797(result, branchX60gensym198__3);
9431 						i_14 += ((NI) 1);
9432 					} LA321: ;
9433 				}
9434 			}
9435 		}
9436 		break;
9437 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
9438 		{
9439 			result = copyTree__ast_4431(n);
9440 			asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, mode));
9441 		}
9442 		break;
9443 		default:
9444 		{
9445 		}
9446 		break;
9447 		}
9448 	}
9449 	goto LA1_;
9450 	LA3_: ;
9451 	{
9452 		if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2))) goto LA405_;
9453 		{
9454 			NIM_BOOL T409_;
9455 			T409_ = (NIM_BOOL)0;
9456 			T409_ = containsConstSeq__injectdestructors_6860(n);
9457 			if (!T409_) goto LA410_;
9458 			result = passCopyToSink__injectdestructors_6805(n, c, s);
9459 		}
9460 		goto LA407_;
9461 		LA410_: ;
9462 		{
9463 			if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA413_;
9464 			result = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
9465 		}
9466 		goto LA407_;
9467 		LA413_: ;
9468 		{
9469 			NIM_BOOL T416_;
9470 			NIM_BOOL T417_;
9471 			NIM_BOOL T418_;
9472 			NIM_BOOL T419_;
9473 			NIM_BOOL T424_;
9474 			T416_ = (NIM_BOOL)0;
9475 			T417_ = (NIM_BOOL)0;
9476 			T418_ = (NIM_BOOL)0;
9477 			T419_ = (NIM_BOOL)0;
9478 			T419_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9479 			if (!(T419_)) goto LA420_;
9480 			T419_ = isSinkParam__ast_5030((*n)._kind_4.sym);
9481 			LA420_: ;
9482 			T418_ = T419_;
9483 			if (T418_) goto LA421_;
9484 			T418_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
9485 			LA421_: ;
9486 			T417_ = T418_;
9487 			if (!(T417_)) goto LA422_;
9488 			T417_ = isLastRead__injectdestructors_6103(n, c);
9489 			LA422_: ;
9490 			T416_ = T417_;
9491 			if (!(T416_)) goto LA423_;
9492 			T424_ = (NIM_BOOL)0;
9493 			T424_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9494 			if (!(T424_)) goto LA425_;
9495 			T424_ = isCursor__injectdestructors_6369(n);
9496 			LA425_: ;
9497 			T416_ = !(T424_);
9498 			LA423_: ;
9499 			if (!T416_) goto LA426_;
9500 			result = destructiveMoveVar__injectdestructors_6760(n, c, s);
9501 		}
9502 		goto LA407_;
9503 		LA426_: ;
9504 		{
9505 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60))) goto LA429_;
9506 			result = copyTree__ast_4431(n);
9507 			{
9508 				NIM_BOOL T433_;
9509 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T434_;
9510 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T436_;
9511 				tyObject_TType__facALICuu8zUj0hjvbTLFg* nTyp;
9512 				T433_ = (NIM_BOOL)0;
9513 				T434_ = NIM_NIL;
9514 				T434_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
9515 				T433_ = !(((*T434_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
9516 				if (!(T433_)) goto LA435_;
9517 				T436_ = NIM_NIL;
9518 				T436_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
9519 				T433_ = ((*T436_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
9520 				LA435_: ;
9521 				if (!T433_) goto LA437_;
9522 				nTyp = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
9523 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), (*n).typ);
9524 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9525 				asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)]).typ), nTyp);
9526 			}
9527 			goto LA431_;
9528 			LA437_: ;
9529 			{
9530 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9531 			}
9532 			LA431_: ;
9533 		}
9534 		goto LA407_;
9535 		LA429_: ;
9536 		{
9537 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67))) goto LA441_;
9538 			result = copyTree__ast_4431(n);
9539 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9540 		}
9541 		goto LA407_;
9542 		LA441_: ;
9543 		{
9544 			if (!((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA444_;
9545 			result = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9546 		}
9547 		goto LA407_;
9548 		LA444_: ;
9549 		{
9550 			result = passCopyToSink__injectdestructors_6805(n, c, s);
9551 		}
9552 		LA407_: ;
9553 	}
9554 	goto LA1_;
9555 	LA405_: ;
9556 	{
9557 		switch ((*n).kind) {
9558 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
9559 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
9560 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
9561 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
9562 		{
9563 			tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw m;
9564 			{
9565 				if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA451_;
9566 				m = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0);
9567 			}
9568 			goto LA449_;
9569 			LA451_: ;
9570 			{
9571 				m = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9572 			}
9573 			LA449_: ;
9574 			result = copyTree__ast_4431(n);
9575 			{
9576 				NI i_17;
9577 				NI colontmp__12;
9578 				NI colontmp__13;
9579 				NI i_18;
9580 				i_17 = (NI)0;
9581 				colontmp__12 = (NI)0;
9582 				colontmp__13 = (NI)0;
9583 				colontmp__12 = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155));
9584 				colontmp__13 = len__ast_3198(n);
9585 				i_18 = colontmp__12;
9586 				{
9587 					while (1) {
9588 						if (!(i_18 < colontmp__13)) goto LA456;
9589 						i_17 = i_18;
9590 						{
9591 							if (!((*(*n)._kind_6.sons->data[i_17]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA459_;
9592 							asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)], c, s, m));
9593 						}
9594 						goto LA457_;
9595 						LA459_: ;
9596 						{
9597 							if (!((*(*n)._kind_6.sons->data[i_17]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA462_;
9598 							asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 0)], c, s, m));
9599 							asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)], c, s, m));
9600 						}
9601 						goto LA457_;
9602 						LA462_: ;
9603 						{
9604 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_17]), p__injectdestructors_105((*n)._kind_6.sons->data[i_17], c, s, m));
9605 						}
9606 						LA457_: ;
9607 						i_18 += ((NI) 1);
9608 					} LA456: ;
9609 				}
9610 			}
9611 		}
9612 		break;
9613 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
9614 		{
9615 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
9616 			NIM_BOOL isRefConstr;
9617 			tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw m_2;
9618 			t = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
9619 			isRefConstr = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
9620 			{
9621 				if (!isRefConstr) goto LA468_;
9622 				m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9623 			}
9624 			goto LA466_;
9625 			LA468_: ;
9626 			{
9627 				if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA471_;
9628 				m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0);
9629 			}
9630 			goto LA466_;
9631 			LA471_: ;
9632 			{
9633 				m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9634 			}
9635 			LA466_: ;
9636 			result = copyTree__ast_4431(n);
9637 			{
9638 				NI i_19;
9639 				NI colontmp__14;
9640 				NI i_20;
9641 				i_19 = (NI)0;
9642 				colontmp__14 = (NI)0;
9643 				colontmp__14 = len__ast_3198(n);
9644 				i_20 = ((NI) 1);
9645 				{
9646 					while (1) {
9647 						if (!(i_20 < colontmp__14)) goto LA476;
9648 						i_19 = i_20;
9649 						{
9650 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
9651 							if (!((*(*n)._kind_6.sons->data[i_19]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA479_;
9652 							field = lookupFieldAgain__types_4053(t, (*(*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 0)])._kind_4.sym);
9653 							{
9654 								NIM_BOOL T483_;
9655 								T483_ = (NIM_BOOL)0;
9656 								T483_ = !((field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9657 								if (!(T483_)) goto LA484_;
9658 								T483_ = (((*field).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
9659 								LA484_: ;
9660 								if (!T483_) goto LA485_;
9661 								asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9662 							}
9663 							goto LA481_;
9664 							LA485_: ;
9665 							{
9666 								asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)], c, s, m_2));
9667 							}
9668 							LA481_: ;
9669 						}
9670 						goto LA477_;
9671 						LA479_: ;
9672 						{
9673 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_19]), p__injectdestructors_105((*n)._kind_6.sons->data[i_19], c, s, m_2));
9674 						}
9675 						LA477_: ;
9676 						i_20 += ((NI) 1);
9677 					} LA476: ;
9678 				}
9679 			}
9680 			{
9681 				NIM_BOOL T491_;
9682 				T491_ = (NIM_BOOL)0;
9683 				T491_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9684 				if (!(T491_)) goto LA492_;
9685 				T491_ = isRefConstr;
9686 				LA492_: ;
9687 				if (!T491_) goto LA493_;
9688 				result = ensureDestruction__injectdestructors_6885(result, n, c, s);
9689 			}
9690 			LA493_: ;
9691 		}
9692 		break;
9693 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
9694 		{
9695 			NI inSpawn;
9696 			tyObject_TType__facALICuu8zUj0hjvbTLFg* parameters;
9697 			NI L_11;
9698 			inSpawn = (*c).inSpawn;
9699 			{
9700 				NIM_BOOL T498_;
9701 				T498_ = (NIM_BOOL)0;
9702 				T498_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9703 				if (!(T498_)) goto LA499_;
9704 				T498_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 198));
9705 				LA499_: ;
9706 				if (!T498_) goto LA500_;
9707 				(*c).inSpawn += ((NI) 1);
9708 			}
9709 			goto LA496_;
9710 			LA500_: ;
9711 			{
9712 				if (!(((NI) 0) < (*c).inSpawn)) goto LA503_;
9713 				(*c).inSpawn -= ((NI) 1);
9714 			}
9715 			goto LA496_;
9716 			LA503_: ;
9717 			LA496_: ;
9718 			parameters = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
9719 			{
9720 				if (!!((parameters == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA507_;
9721 				L_11 = len__ast_4002(parameters);
9722 			}
9723 			goto LA505_;
9724 			LA507_: ;
9725 			{
9726 				L_11 = ((NI) 0);
9727 			}
9728 			LA505_: ;
9729 			result = shallowCopy__ast_4413(n);
9730 			{
9731 				NI i_21;
9732 				NI colontmp__15;
9733 				NI i_22;
9734 				i_21 = (NI)0;
9735 				colontmp__15 = (NI)0;
9736 				colontmp__15 = len__ast_3198(n);
9737 				i_22 = ((NI) 1);
9738 				{
9739 					while (1) {
9740 						if (!(i_22 < colontmp__15)) goto LA512;
9741 						i_21 = i_22;
9742 						{
9743 							NIM_BOOL T515_;
9744 							T515_ = (NIM_BOOL)0;
9745 							T515_ = (i_21 < L_11);
9746 							if (!(T515_)) goto LA516_;
9747 							T515_ = isCompileTimeOnly__types_3519((*parameters).sons->data[i_21]);
9748 							LA516_: ;
9749 							if (!T515_) goto LA517_;
9750 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), (*n)._kind_6.sons->data[i_21]);
9751 						}
9752 						goto LA513_;
9753 						LA517_: ;
9754 						{
9755 							NIM_BOOL T520_;
9756 							NIM_BOOL T522_;
9757 							T520_ = (NIM_BOOL)0;
9758 							T520_ = (i_21 < L_11);
9759 							if (!(T520_)) goto LA521_;
9760 							T522_ = (NIM_BOOL)0;
9761 							T522_ = isSinkTypeForParam__types_4046((*parameters).sons->data[i_21]);
9762 							if (T522_) goto LA523_;
9763 							T522_ = (((NI) 0) < inSpawn);
9764 							LA523_: ;
9765 							T520_ = T522_;
9766 							LA521_: ;
9767 							if (!T520_) goto LA524_;
9768 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), p__injectdestructors_105((*n)._kind_6.sons->data[i_21], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9769 						}
9770 						goto LA513_;
9771 						LA524_: ;
9772 						{
9773 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), p__injectdestructors_105((*n)._kind_6.sons->data[i_21], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9774 						}
9775 						LA513_: ;
9776 						i_22 += ((NI) 1);
9777 					} LA512: ;
9778 				}
9779 			}
9780 			{
9781 				NIM_BOOL T529_;
9782 				T529_ = (NIM_BOOL)0;
9783 				T529_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9784 				if (!(T529_)) goto LA530_;
9785 				T529_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33));
9786 				LA530_: ;
9787 				if (!T529_) goto LA531_;
9788 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]));
9789 				{
9790 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* destroyOld;
9791 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T537_;
9792 					if (!((176 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0)) goto LA535_;
9793 					destroyOld = genDestroy__injectdestructors_6527(c, (*result)._kind_6.sons->data[((NI) 1)]);
9794 					nimZeroMem((void*)T537_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9795 					T537_[0] = destroyOld;
9796 					T537_[1] = result;
9797 					result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T537_, 2);
9798 				}
9799 				LA535_: ;
9800 			}
9801 			goto LA527_;
9802 			LA531_: ;
9803 			{
9804 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9805 			}
9806 			LA527_: ;
9807 			{
9808 				NIM_BOOL T541_;
9809 				T541_ = (NIM_BOOL)0;
9810 				T541_ = canRaise__ast_5088((*n)._kind_6.sons->data[((NI) 0)]);
9811 				if (!T541_) goto LA542_;
9812 				(*s).needsTry = NIM_TRUE;
9813 			}
9814 			LA542_: ;
9815 			{
9816 				if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA546_;
9817 				result = ensureDestruction__injectdestructors_6885(result, n, c, s);
9818 			}
9819 			LA546_: ;
9820 		}
9821 		break;
9822 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
9823 		{
9824 			result = shallowCopy__ast_4413(n);
9825 			{
9826 				if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA551_;
9827 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9828 			}
9829 			goto LA549_;
9830 			LA551_: ;
9831 			{
9832 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]));
9833 			}
9834 			LA549_: ;
9835 		}
9836 		break;
9837 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
9838 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
9839 		{
9840 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
9841 			{
9842 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9843 				it = NIM_NIL;
9844 				{
9845 					NI i_23;
9846 					NI colontmp__16;
9847 					NI i_24;
9848 					i_23 = (NI)0;
9849 					colontmp__16 = (NI)0;
9850 					colontmp__16 = safeLen__ast_3191(n);
9851 					i_24 = ((NI) 0);
9852 					{
9853 						while (1) {
9854 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri;
9855 							NI T559_;
9856 							if (!(i_24 < colontmp__16)) goto LA558;
9857 							i_23 = i_24;
9858 							it = (*n)._kind_6.sons->data[i_23];
9859 							T559_ = (NI)0;
9860 							T559_ = len__ast_3198(it);
9861 							ri = (*it)._kind_6.sons->data[(NI)(T559_ - ((NI) 1))];
9862 							{
9863 								NIM_BOOL T562_;
9864 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
9865 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T566_;
9866 								T562_ = (NIM_BOOL)0;
9867 								T562_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
9868 								if (!(T562_)) goto LA563_;
9869 								T562_ = hasDestructor__injectdestructors_49((&(*c)), (*ri).typ);
9870 								LA563_: ;
9871 								if (!T562_) goto LA564_;
9872 								x = lowerTupleUnpacking__lowerings_116((*c).graph, it, (*c).idgen, (*c).owner);
9873 								T566_ = NIM_NIL;
9874 								T566_ = p__injectdestructors_105(x, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
9875 								add__ast_4797(result, T566_);
9876 							}
9877 							goto LA560_;
9878 							LA564_: ;
9879 							{
9880 								NIM_BOOL T568_;
9881 								T568_ = (NIM_BOOL)0;
9882 								T568_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35));
9883 								if (!(T568_)) goto LA569_;
9884 								T568_ = hasDestructor__injectdestructors_49((&(*c)), (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
9885 								LA569_: ;
9886 								if (!T568_) goto LA570_;
9887 								{
9888 									NI j;
9889 									NI colontmp__17;
9890 									NI T573_;
9891 									NI i_25;
9892 									j = (NI)0;
9893 									colontmp__17 = (NI)0;
9894 									T573_ = (NI)0;
9895 									T573_ = len__ast_3198(it);
9896 									colontmp__17 = (NI)(T573_ - ((NI) 2));
9897 									i_25 = ((NI) 0);
9898 									{
9899 										while (1) {
9900 											if (!(i_25 < colontmp__17)) goto LA575;
9901 											j = i_25;
9902 											{
9903 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
9904 												v = (*it)._kind_6.sons->data[j];
9905 												{
9906 													if (!((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA579_;
9907 													{
9908 														if (!(((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA583_;
9909 														goto LA576;
9910 													}
9911 													LA583_: ;
9912 													pVarTopLevel__injectdestructors_6967(v, c, s, result);
9913 												}
9914 												LA579_: ;
9915 												{
9916 													tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T589_;
9917 													if (!!(((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA587_;
9918 													T589_ = NIM_NIL;
9919 													T589_ = moveOrCopy__injectdestructors_110(v, ri, c, s, ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
9920 													add__ast_4797(result, T589_);
9921 												}
9922 												goto LA585_;
9923 												LA587_: ;
9924 												{
9925 													NIM_BOOL T591_;
9926 													tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T595_;
9927 													tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T596_;
9928 													T591_ = (NIM_BOOL)0;
9929 													T591_ = ((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
9930 													if (!(T591_)) goto LA592_;
9931 													T591_ = (((NI) 0) < (*c).inLoop);
9932 													LA592_: ;
9933 													if (!T591_) goto LA593_;
9934 													T595_ = NIM_NIL;
9935 													T595_ = genDefaultCall__injectdestructors_6751((*v).typ, (&(*c)), (*v).info);
9936 													T596_ = NIM_NIL;
9937 													T596_ = moveOrCopy__injectdestructors_110(v, T595_, c, s, ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
9938 													add__ast_4797(result, T596_);
9939 												}
9940 												goto LA585_;
9941 												LA593_: ;
9942 												LA585_: ;
9943 											} LA576: ;
9944 											i_25 += ((NI) 1);
9945 										} LA575: ;
9946 									}
9947 								}
9948 							}
9949 							goto LA560_;
9950 							LA570_: ;
9951 							{
9952 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v_2;
9953 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itCopy;
9954 								NI T602_;
9955 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T603_;
9956 								v_2 = copyNode__ast_4336(n);
9957 								itCopy = copyNode__ast_4336(it);
9958 								{
9959 									NI j_2;
9960 									NI colontmp__18;
9961 									NI T599_;
9962 									NI i_26;
9963 									j_2 = (NI)0;
9964 									colontmp__18 = (NI)0;
9965 									T599_ = (NI)0;
9966 									T599_ = len__ast_3198(it);
9967 									colontmp__18 = (NI)(T599_ - ((NI) 1));
9968 									i_26 = ((NI) 0);
9969 									{
9970 										while (1) {
9971 											if (!(i_26 < colontmp__18)) goto LA601;
9972 											j_2 = i_26;
9973 											add__ast_4797(itCopy, (*it)._kind_6.sons->data[j_2]);
9974 											i_26 += ((NI) 1);
9975 										} LA601: ;
9976 									}
9977 								}
9978 								T602_ = (NI)0;
9979 								T602_ = len__ast_3198(it);
9980 								T603_ = NIM_NIL;
9981 								T603_ = p__injectdestructors_105((*it)._kind_6.sons->data[(NI)(T602_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9982 								add__ast_4797(itCopy, T603_);
9983 								add__ast_4797(v_2, itCopy);
9984 								add__ast_4797(result, v_2);
9985 							}
9986 							LA560_: ;
9987 							i_24 += ((NI) 1);
9988 						} LA558: ;
9989 					}
9990 				}
9991 			}
9992 		}
9993 		break;
9994 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
9995 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
9996 		{
9997 			{
9998 				NIM_BOOL T607_;
9999 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T615_;
10000 				T607_ = (NIM_BOOL)0;
10001 				T607_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
10002 				if (!(T607_)) goto LA608_;
10003 				T607_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51)));
10004 				LA608_: ;
10005 				if (!T607_) goto LA609_;
10006 				{
10007 					if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA613_;
10008 					cycleCheck__injectdestructors_6908(n, c);
10009 				}
10010 				LA613_: ;
10011 				T615_ = NIM_NIL;
10012 				T615_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode);
10013 				result = moveOrCopy__injectdestructors_110(T615_, (*n)._kind_6.sons->data[((NI) 1)], c, s, NIM_FALSE);
10014 			}
10015 			goto LA605_;
10016 			LA609_: ;
10017 			{
10018 				NIM_BOOL T617_;
10019 				T617_ = (NIM_BOOL)0;
10020 				T617_ = isDiscriminantField__astalgo_4335((*n)._kind_6.sons->data[((NI) 0)]);
10021 				if (!T617_) goto LA618_;
10022 				result = genDiscriminantAsgn__injectdestructors_6668(c, s, n);
10023 			}
10024 			goto LA605_;
10025 			LA618_: ;
10026 			{
10027 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T621_;
10028 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T622_;
10029 				result = copyNode__ast_4336(n);
10030 				T621_ = NIM_NIL;
10031 				T621_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode);
10032 				add__ast_4797(result, T621_);
10033 				T622_ = NIM_NIL;
10034 				T622_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
10035 				add__ast_4797(result, T622_);
10036 			}
10037 			LA605_: ;
10038 		}
10039 		break;
10040 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
10041 		{
10042 			result = pRaiseStmt__injectdestructors_7126(n, c, s);
10043 		}
10044 		break;
10045 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
10046 		{
10047 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_51), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_52);
10048 			result = n;
10049 		}
10050 		break;
10051 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
10052 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
10053 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
10054 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
10055 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
10056 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
10057 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
10058 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
10059 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
10060 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
10061 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
10062 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
10063 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
10064 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
10065 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
10066 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
10067 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
10068 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
10069 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
10070 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
10071 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
10072 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
10073 		{
10074 			result = n;
10075 		}
10076 		break;
10077 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
10078 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
10079 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
10080 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
10081 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
10082 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
10083 		{
10084 			result = shallowCopy__ast_4413(n);
10085 			{
10086 				NI i_27;
10087 				NI colontmp__19;
10088 				NI i_28;
10089 				i_27 = (NI)0;
10090 				colontmp__19 = (NI)0;
10091 				colontmp__19 = len__ast_3198(n);
10092 				i_28 = ((NI) 0);
10093 				{
10094 					while (1) {
10095 						if (!(i_28 < colontmp__19)) goto LA629;
10096 						i_27 = i_28;
10097 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_27]), p__injectdestructors_105((*n)._kind_6.sons->data[i_27], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10098 						i_28 += ((NI) 1);
10099 					} LA629: ;
10100 				}
10101 			}
10102 			{
10103 				NIM_BOOL T632_;
10104 				T632_ = (NIM_BOOL)0;
10105 				T632_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
10106 				if (!(T632_)) goto LA633_;
10107 				T632_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10108 				LA633_: ;
10109 				if (!T632_) goto LA634_;
10110 				{
10111 					if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA638_;
10112 					result = ensureDestruction__injectdestructors_6885(result, n, c, s);
10113 				}
10114 				LA638_: ;
10115 			}
10116 			LA634_: ;
10117 		}
10118 		break;
10119 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
10120 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
10121 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
10122 		{
10123 			result = copyTree__ast_4431(n);
10124 			{
10125 				NIM_BOOL T643_;
10126 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T644_;
10127 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T646_;
10128 				tyObject_TType__facALICuu8zUj0hjvbTLFg* nTyp_2;
10129 				T643_ = (NIM_BOOL)0;
10130 				T644_ = NIM_NIL;
10131 				T644_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
10132 				T643_ = !(((*T644_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
10133 				if (!(T643_)) goto LA645_;
10134 				T646_ = NIM_NIL;
10135 				T646_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
10136 				T643_ = ((*T646_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
10137 				LA645_: ;
10138 				if (!T643_) goto LA647_;
10139 				nTyp_2 = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
10140 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), (*n).typ);
10141 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10142 				asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)]).typ), nTyp_2);
10143 			}
10144 			goto LA641_;
10145 			LA647_: ;
10146 			{
10147 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10148 			}
10149 			LA641_: ;
10150 		}
10151 		break;
10152 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
10153 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
10154 		{
10155 			result = copyTree__ast_4431(n);
10156 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode));
10157 		}
10158 		break;
10159 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
10160 		{
10161 			result = shallowCopy__ast_4413(n);
10162 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10163 			{
10164 				NI i_29;
10165 				NI colontmp__20;
10166 				NI i_30;
10167 				i_29 = (NI)0;
10168 				colontmp__20 = (NI)0;
10169 				colontmp__20 = len__ast_3198(n);
10170 				i_30 = ((NI) 1);
10171 				{
10172 					while (1) {
10173 						if (!(i_30 < colontmp__20)) goto LA654;
10174 						i_29 = i_30;
10175 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_29]), (*n)._kind_6.sons->data[i_29]);
10176 						i_30 += ((NI) 1);
10177 					} LA654: ;
10178 				}
10179 			}
10180 			{
10181 				NIM_BOOL T657_;
10182 				T657_ = (NIM_BOOL)0;
10183 				T657_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
10184 				if (!(T657_)) goto LA658_;
10185 				T657_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10186 				LA658_: ;
10187 				if (!T657_) goto LA659_;
10188 				{
10189 					NIM_BOOL T663_;
10190 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T667_;
10191 					NI T668_;
10192 					T663_ = (NIM_BOOL)0;
10193 					T663_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
10194 					if (!(T663_)) goto LA664_;
10195 					T663_ = isLastRead__injectdestructors_6103(n, c);
10196 					LA664_: ;
10197 					if (!T663_) goto LA665_;
10198 					T667_ = NIM_NIL;
10199 					T667_ = genWasMoved__injectdestructors_6739(c, n);
10200 					unsureAsgnRef((void**) (&(*s).wasMoved), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).wasMoved), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
10201 					T668_ = (*s).wasMoved->Sup.len++;
10202 					asgnRef((void**) (&(*s).wasMoved->data[T668_]), T667_);
10203 				}
10204 				goto LA661_;
10205 				LA665_: ;
10206 				{
10207 					result = passCopyToSink__injectdestructors_6805(result, c, s);
10208 				}
10209 				LA661_: ;
10210 			}
10211 			LA659_: ;
10212 		}
10213 		break;
10214 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
10215 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
10216 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
10217 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
10218 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
10219 		{
10220 			result = shallowCopy__ast_4413(n);
10221 			{
10222 				NI i_31;
10223 				NI colontmp__21;
10224 				NI i_32;
10225 				i_31 = (NI)0;
10226 				colontmp__21 = (NI)0;
10227 				colontmp__21 = len__ast_3198(n);
10228 				i_32 = ((NI) 0);
10229 				{
10230 					while (1) {
10231 						if (!(i_32 < colontmp__21)) goto LA673;
10232 						i_31 = i_32;
10233 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_31]), p__injectdestructors_105((*n)._kind_6.sons->data[i_31], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10234 						i_32 += ((NI) 1);
10235 					} LA673: ;
10236 				}
10237 			}
10238 			{
10239 				NIM_BOOL T676_;
10240 				T676_ = (NIM_BOOL)0;
10241 				T676_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
10242 				if (!(T676_)) goto LA677_;
10243 				T676_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10244 				LA677_: ;
10245 				if (!T676_) goto LA678_;
10246 				{
10247 					NIM_BOOL T682_;
10248 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T686_;
10249 					NI T687_;
10250 					T682_ = (NIM_BOOL)0;
10251 					T682_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
10252 					if (!(T682_)) goto LA683_;
10253 					T682_ = isLastRead__injectdestructors_6103(n, c);
10254 					LA683_: ;
10255 					if (!T682_) goto LA684_;
10256 					T686_ = NIM_NIL;
10257 					T686_ = genWasMoved__injectdestructors_6739(c, n);
10258 					unsureAsgnRef((void**) (&(*s).wasMoved), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).wasMoved), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
10259 					T687_ = (*s).wasMoved->Sup.len++;
10260 					asgnRef((void**) (&(*s).wasMoved->data[T687_]), T686_);
10261 				}
10262 				goto LA680_;
10263 				LA684_: ;
10264 				{
10265 					result = passCopyToSink__injectdestructors_6805(result, c, s);
10266 				}
10267 				LA680_: ;
10268 			}
10269 			LA678_: ;
10270 		}
10271 		break;
10272 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
10273 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44):
10274 		{
10275 			result = shallowCopy__ast_4413(n);
10276 			{
10277 				NI i_33;
10278 				NI colontmp__22;
10279 				NI i_34;
10280 				i_33 = (NI)0;
10281 				colontmp__22 = (NI)0;
10282 				colontmp__22 = len__ast_3198(n);
10283 				i_34 = ((NI) 0);
10284 				{
10285 					while (1) {
10286 						if (!(i_34 < colontmp__22)) goto LA692;
10287 						i_33 = i_34;
10288 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_33]), p__injectdestructors_105((*n)._kind_6.sons->data[i_33], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10289 						i_34 += ((NI) 1);
10290 					} LA692: ;
10291 				}
10292 			}
10293 		}
10294 		break;
10295 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
10296 		{
10297 			(*s).needsTry = NIM_TRUE;
10298 			result = n;
10299 		}
10300 		break;
10301 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
10302 		{
10303 			result = shallowCopy__ast_4413(n);
10304 			{
10305 				NI i_35;
10306 				NI colontmp__23;
10307 				NI i_36;
10308 				i_35 = (NI)0;
10309 				colontmp__23 = (NI)0;
10310 				colontmp__23 = len__ast_3198(n);
10311 				i_36 = ((NI) 0);
10312 				{
10313 					while (1) {
10314 						if (!(i_36 < colontmp__23)) goto LA697;
10315 						i_35 = i_36;
10316 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_35]), p__injectdestructors_105((*n)._kind_6.sons->data[i_35], c, s, mode));
10317 						i_36 += ((NI) 1);
10318 					} LA697: ;
10319 				}
10320 			}
10321 			(*s).needsTry = NIM_TRUE;
10322 		}
10323 		break;
10324 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
10325 		{
10326 			result = shallowCopy__ast_4413(n);
10327 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 0)]);
10328 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10329 		}
10330 		break;
10331 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
10332 		{
10333 			result = shallowCopy__ast_4413(n);
10334 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode));
10335 			{
10336 				NI i_37;
10337 				NI colontmp__24;
10338 				NI i_38;
10339 				i_37 = (NI)0;
10340 				colontmp__24 = (NI)0;
10341 				colontmp__24 = len__ast_3198(n);
10342 				i_38 = ((NI) 1);
10343 				{
10344 					while (1) {
10345 						if (!(i_38 < colontmp__24)) goto LA702;
10346 						i_37 = i_38;
10347 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_37]), (*n)._kind_6.sons->data[i_37]);
10348 						i_38 += ((NI) 1);
10349 					} LA702: ;
10350 				}
10351 			}
10352 		}
10353 		break;
10354 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
10355 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
10356 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
10357 		{
10358 			result = n;
10359 		}
10360 		break;
10361 		default:
10362 		{
10363 			NimStringDesc* T705_;
10364 			T705_ = NIM_NIL;
10365 			T705_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 40);
10366 appendString(T705_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_53));
10367 appendString(T705_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
10368 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, T705_, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_54);
10369 		}
10370 		break;
10371 		}
10372 	}
10373 	LA1_: ;
10374 	}BeforeRet_: ;
10375 	return result;
10376 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,injectDestructorCalls__injectdestructors_10100)10377 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) {
10378 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10379 	tyObject_Con__mVYRtnERc9advo79cBQUudxg c;
10380 	tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ scope;
10381 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
10382 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
10383 {	result = NIM_NIL;
10384 	{
10385 		NIM_BOOL T3_;
10386 		NIM_BOOL T5_;
10387 		T3_ = (NIM_BOOL)0;
10388 		T3_ = (((*owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 39))&63U)))!=0);
10389 		if (T3_) goto LA4_;
10390 		T5_ = (NIM_BOOL)0;
10391 		T5_ = ((*owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
10392 		if (!(T5_)) goto LA6_;
10393 		T5_ = isInlineIterator__ast_4989((*owner).typ);
10394 		LA6_: ;
10395 		T3_ = T5_;
10396 		LA4_: ;
10397 		if (!T3_) goto LA7_;
10398 		result = n;
10399 		goto BeforeRet_;
10400 	}
10401 	LA7_: ;
10402 	nimZeroMem((void*)(&c), sizeof(tyObject_Con__mVYRtnERc9advo79cBQUudxg));
10403 	nimZeroMem((void*)(&c), sizeof(tyObject_Con__mVYRtnERc9advo79cBQUudxg));
10404 	c.owner = owner;
10405 	c.graph = g;
10406 	c.g = constructCfg__dfa_1135(owner, n);
10407 	c.idgen = idgen;
10408 	{
10409 		if (!(((*(*g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 26))&31U)))!=0)) goto LA11_;
10410 		computeCursors__varpartitions_1784(owner, n, g);
10411 	}
10412 	LA11_: ;
10413 	computeLastReadsAndFirstWrites__injectdestructors_3780(c.g);
10414 	nimZeroMem((void*)(&scope), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
10415 	body = p__injectdestructors_105(n, (&c), (&scope), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
10416 	{
10417 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
10418 		if (!((126976 &((NU32)1<<((NU)((*owner).kind)&31U)))!=0)) goto LA15_;
10419 		params = (*(*owner).typ).n;
10420 		{
10421 			NI i;
10422 			NI colontmp_;
10423 			NI i_2;
10424 			i = (NI)0;
10425 			colontmp_ = (NI)0;
10426 			colontmp_ = len__ast_3198(params);
10427 			i_2 = ((NI) 1);
10428 			{
10429 				while (1) {
10430 					tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
10431 					if (!(i_2 < colontmp_)) goto LA19;
10432 					i = i_2;
10433 					t = (*(*(*params)._kind_6.sons->data[i])._kind_4.sym).typ;
10434 					{
10435 						NIM_BOOL T22_;
10436 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
10437 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
10438 						NI T28_;
10439 						T22_ = (NIM_BOOL)0;
10440 						T22_ = isSinkTypeForParam__types_4046(t);
10441 						if (!(T22_)) goto LA23_;
10442 						T24_ = NIM_NIL;
10443 						T24_ = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_55);
10444 						T22_ = hasDestructor__injectdestructors_49((&c), T24_);
10445 						LA23_: ;
10446 						if (!T22_) goto LA25_;
10447 						T27_ = NIM_NIL;
10448 						T27_ = genDestroy__injectdestructors_6527((&c), (*params)._kind_6.sons->data[i]);
10449 						scope.final = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(scope.final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
10450 						T28_ = scope.final->Sup.len++;
10451 						asgnRef((void**) (&scope.final->data[T28_]), T27_);
10452 					}
10453 					LA25_: ;
10454 					i_2 += ((NI) 1);
10455 				} LA19: ;
10456 			}
10457 		}
10458 	}
10459 	LA15_: ;
10460 	T29_ = NIM_NIL;
10461 	T29_ = processScope__injectdestructors_7016((&c), (&scope), body);
10462 	result = optimize__optimizer_390(T29_);
10463 	{
10464 		NIM_BOOL T32_;
10465 		tyArray__Re75IspeoxXy2oCZHwcRrA T35_;
10466 		tyArray__nHXaesL0DJZHyVS07ARPRA T36_;
10467 		T32_ = (NIM_BOOL)0;
10468 		T32_ = nsthasKey((*(*g).config).arcToExpand, (*(*owner).name).s);
10469 		if (!T32_) goto LA33_;
10470 		nimZeroMem((void*)T35_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
10471 		T35_[0] = copyString(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_56));
10472 		T35_[1] = copyString((*(*owner).name).s);
10473 		echoBinSafe(T35_, 2);
10474 		nimZeroMem((void*)T36_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
10475 		T36_[0] = renderTree__renderer_46(result, 516);
10476 		echoBinSafe(T36_, 1);
10477 		echoBinSafe(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_57, 1);
10478 	}
10479 	LA33_: ;
10480 	}BeforeRet_: ;
10481 	return result;
10482 }
N_NIMCALL(void,compiler_injectdestructorsDatInit000)10483 N_LIB_PRIVATE N_NIMCALL(void, compiler_injectdestructorsDatInit000)(void) {
10484 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[3];
10485 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[4];
10486 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[2];
10487 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[2];
10488 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[3];
10489 static TNimNode TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[19];
10490 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.size = sizeof(tyTuple__YXXBMUJBtW9corlxevWVfYQ);
10491 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.align = NIM_ALIGNOF(tyTuple__YXXBMUJBtW9corlxevWVfYQ);
10492 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.kind = 18;
10493 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.base = 0;
10494 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1];
10495 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].kind = 1;
10496 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field0);
10497 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10498 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].name = "Field0";
10499 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2];
10500 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].kind = 1;
10501 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field1);
10502 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].typ = (&NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_);
10503 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].name = "Field1";
10504 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3];
10505 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].kind = 1;
10506 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field2);
10507 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].typ = (&NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_);
10508 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].name = "Field2";
10509 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].len = 3; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[0];
10510 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0];
10511 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.size = sizeof(tySequence__sh9b9afdJBB3bJbViXY7yNAg*);
10512 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.align = NIM_ALIGNOF(tySequence__sh9b9afdJBB3bJbViXY7yNAg*);
10513 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.kind = 24;
10514 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.base = (&NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_);
10515 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.marker = Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg;
10516 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.size = sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw);
10517 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.align = NIM_ALIGNOF(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw);
10518 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.kind = 18;
10519 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.base = 0;
10520 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5];
10521 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].kind = 1;
10522 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, lastReads);
10523 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10524 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].name = "lastReads";
10525 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6];
10526 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].kind = 1;
10527 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, potentialLastReads);
10528 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10529 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].name = "potentialLastReads";
10530 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7];
10531 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].kind = 1;
10532 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, notLastReads);
10533 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10534 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].name = "notLastReads";
10535 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[3] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8];
10536 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.size = sizeof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ);
10537 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.align = NIM_ALIGNOF(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ);
10538 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.kind = 18;
10539 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.base = 0;
10540 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10];
10541 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.size = sizeof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w);
10542 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.align = NIM_ALIGNOF(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w);
10543 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.kind = 18;
10544 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.base = 0;
10545 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12];
10546 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].kind = 1;
10547 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].offset = offsetof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w, Field0);
10548 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10549 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].name = "Field0";
10550 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13];
10551 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].kind = 1;
10552 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].offset = offsetof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w, Field1);
10553 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
10554 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].name = "Field1";
10555 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].len = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[0];
10556 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11];
10557 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.size = sizeof(tySequence__Y6pVop4P8VSwSorRqc2aQA*);
10558 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.align = NIM_ALIGNOF(tySequence__Y6pVop4P8VSwSorRqc2aQA*);
10559 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.kind = 24;
10560 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.base = (&NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_);
10561 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.marker = Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA;
10562 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].kind = 1;
10563 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].offset = offsetof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ, data);
10564 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].typ = (&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_);
10565 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].name = "data";
10566 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14];
10567 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].kind = 1;
10568 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].offset = offsetof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ, counter);
10569 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10570 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].name = "counter";
10571 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].len = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[0];
10572 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9];
10573 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].kind = 1;
10574 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, alreadySeen);
10575 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].typ = (&NTIhashset__YByQS2i9cOlUupxNMscAMwQ_);
10576 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].name = "alreadySeen";
10577 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].len = 4; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[0];
10578 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4];
10579 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.size = sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*);
10580 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.align = NIM_ALIGNOF(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*);
10581 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.kind = 22;
10582 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.base = (&NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_);
10583 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.marker = Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q;
10584 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.size = sizeof(tySequence__mFtVDW3p7w6wfPPNodKzsA*);
10585 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.align = NIM_ALIGNOF(tySequence__mFtVDW3p7w6wfPPNodKzsA*);
10586 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.kind = 24;
10587 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.base = (&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_);
10588 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.marker = Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA;
10589 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.size = sizeof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ);
10590 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.align = NIM_ALIGNOF(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ);
10591 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.kind = 18;
10592 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.base = 0;
10593 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16];
10594 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].kind = 1;
10595 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field0);
10596 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10597 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].name = "Field0";
10598 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17];
10599 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].kind = 1;
10600 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field1);
10601 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
10602 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].name = "Field1";
10603 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18];
10604 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].kind = 1;
10605 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field2);
10606 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
10607 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].name = "Field2";
10608 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].len = 3; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[0];
10609 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15];
10610 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.size = sizeof(tySequence__JGK6WZYU2JHWLoPdKRO4AQ*);
10611 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.align = NIM_ALIGNOF(tySequence__JGK6WZYU2JHWLoPdKRO4AQ*);
10612 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.kind = 24;
10613 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.base = (&NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_);
10614 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.marker = Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ;
10615 }
10616 
10617