1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 #define NIM_EmulateOverflowChecks
4 
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
23 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
24 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
25 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
26 typedef struct tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A;
27 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
28 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
29 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
30 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
31 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
32 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
33 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
34 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
35 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
36 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
37 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
38 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
39 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
40 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
41 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
42 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
43 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
44 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
45 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
46 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
47 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
48 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
49 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
50 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
51 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
52 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
53 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
54 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
55 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
56 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
57 typedef struct RootObj RootObj;
58 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
59 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
60 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
61 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
62 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
63 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
64 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
65 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
66 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
67 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
68 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
69 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
70 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
71 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
72 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
73 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
74 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
75 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
76 typedef struct TNimType TNimType;
77 typedef struct TNimNode TNimNode;
78 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
79 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
80 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
81 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
82 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
83 typedef struct NimStringDesc NimStringDesc;
84 typedef struct TGenericSeq TGenericSeq;
85 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
86 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
87 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
88 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
89 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
90 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
91 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
92 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
93 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
94 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
95 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
96 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
97 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
98 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
99 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
100 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
101 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
102 typedef struct tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw;
103 typedef struct tySequence__1I3cxybVrOXM64KW2dfERQ tySequence__1I3cxybVrOXM64KW2dfERQ;
104 typedef struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw;
105 typedef struct tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w;
106 typedef struct tyObject_Table__5WMmzblM3wEpYUTgMBzetQ tyObject_Table__5WMmzblM3wEpYUTgMBzetQ;
107 typedef struct tySequence__gVogYzwlGNrCaz6jQnXRzA tySequence__gVogYzwlGNrCaz6jQnXRzA;
108 typedef struct tyTuple__O3AtiO8fwKWfdl6NGmuzhw tyTuple__O3AtiO8fwKWfdl6NGmuzhw;
109 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
110 typedef struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ tyTuple__EFqgCXJ4d8PgqOdFJmldsQ;
111 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
112 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
113 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
114 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
115 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
116 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
117 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
118 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
119 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
120 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
121 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
122 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
123 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
124 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
125 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
126 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
127 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
128 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
129 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
130 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
131 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
132 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
133 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
134 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
135 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
136 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
137 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
138 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
139 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
140 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
141 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
142 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
143 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
144 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
145 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
146 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
147 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
148 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
149 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
150 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
151 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
152 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
153 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
154 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
155 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
156 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
157 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
158 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
159 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
160 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
161 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
162 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
163 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
164 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
165 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
166 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
167 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
168 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
169 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
170 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
171 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
172 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
173 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
174 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
175 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
176 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
177 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
178 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
179 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
180 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
181 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
182 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
183 struct tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A {
184 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
185 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn;
186 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* stateVarSym;
187 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmpResultSym;
188 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* unrollFinallySym;
189 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* curExcSym;
190 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* states;
191 NI blockLevel;
192 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* stateLoopLabel;
193 NI exitStateIdx;
194 NI tempVarId;
195 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempVars;
196 tySequence__qwqHTkRvwhrRyENtudHQ7g* exceptionTable;
197 NIM_BOOL hasExceptions;
198 NI curExcHandlingState;
199 NI nearestFinally;
200 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
201 };
202 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
203 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
204 NI counter;
205 };
206 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
207 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
208 NI counter;
209 };
210 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
211 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
212 NI counter;
213 };
214 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
215 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
216 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
217 NI counter;
218 };
219 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
220 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
221 NI counter;
222 };
223 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
224 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
225 NI counter;
226 };
227 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
228 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
229 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
230 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
231 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
232 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
233 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
234 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
235 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
236 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
237 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
238 };
239 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
240 NI counter;
241 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
242 };
243 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
244 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
245 NI counter;
246 };
247 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
248 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
249 NI elems;
250 NI counter;
251 NI max;
252 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
253 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
254 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
255 };
256 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
257 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
258 NI counter;
259 };
260 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
261 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
262 NI counter;
263 };
264 typedef struct {
265 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
266 void* ClE_0;
267 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
268 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
269 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
270 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
271 NI counter;
272 };
273 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
274 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
275 NI counter;
276 };
277 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
278 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
279 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
280 tySequence__23SMqauuRsbDANhthj9bWlA* data;
281 NI counter;
282 };
283 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
284 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
285 NI counter;
286 };
287 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
288 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
289 NI counter;
290 };
291 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
292 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
293 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
294 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
295 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
296 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
297 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
298 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
299 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
300 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
301 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
302 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
303 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
304 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
305 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
306 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
307 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
308 };
309 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
310 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
311 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
312 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
313 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
314 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
315 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
316 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
317 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
318 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
319 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
320 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
321 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
322 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
323 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
324 NIM_BOOL suggestMode;
325 NIM_BOOL invalidTransitiveClosure;
326 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
327 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
328 RootObj* backend;
329 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
330 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
331 RootObj* vm;
332 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
333 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
334 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
335 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
336 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
337 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
338 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
339 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
340 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
341 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
342 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
343 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
344 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
345 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
346 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
347 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
348 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
349 tySequence__MAQKEADohlpnXTModtugbQ* passes;
350 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
351 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
352 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
353 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
354 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
355 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
356 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
357 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
358 };
359 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
360 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
361 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
362 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
363 struct TNimType {
364 NI size;
365 NI align;
366 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
367 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
368 TNimType* base;
369 TNimNode* node;
370 void* finalizer;
371 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
372 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
373 };
374 struct RootObj {
375 TNimType* m_type;
376 };
377 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
378 NI32 module;
379 NI32 item;
380 };
381 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
382   RootObj Sup;
383 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
384 };
385 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
386 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
387 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
388 NU16 line;
389 NI16 col;
390 NI32 fileIndex;
391 };
392 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
393 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
394 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
395 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
396 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
397 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
398 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
399 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
400 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
401 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
402 };
403 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
404   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
405 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
406 union{
407 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
408 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
409 } _kind_1;
410 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
411 NI bitsize;
412 NI alignment;
413 } _kind_2;
414 };
415 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
416 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
417 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
418 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
419 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
420 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
421 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
422 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
423 NI position;
424 NI offset;
425 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
426 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
427 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
428 };
429 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
430 NI32 module;
431 NI32 symId;
432 NI32 typeId_0;
433 NIM_BOOL sealed;
434 };
435 struct TGenericSeq {
436 NI len;
437 NI reserved;
438 };
439 struct NimStringDesc {
440   TGenericSeq Sup;
441 NIM_CHAR data[SEQ_DECL_SIZE];
442 };
443 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
444 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
445 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
446 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
447   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
448 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
449 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
450 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
451 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
452 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
453 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
454 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
455 NI64 size;
456 NI16 align;
457 NI16 paddingAtEnd;
458 NI16 lockLevel;
459 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
460 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
461 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
462 };
463 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
464 NI refcount;
465 TNimType* typ;
466 };
467 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
468 void* bottom;
469 };
470 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
471 NI len;
472 NI cap;
473 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
474 };
475 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
476 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
477 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
478 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
479 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
480 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
481 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
482 };
483 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
484 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
485 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
486 NI key;
487 NI upperBound;
488 NI level;
489 };
490 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
491 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
492 NI Field1;
493 };
494 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
495 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
496 NI len;
497 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
498 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
499 };
500 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
501 NI minLargeObj;
502 NI maxLargeObj;
503 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
504 NU32 flBitmap;
505 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
506 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
507 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
508 NI currMem;
509 NI maxMem;
510 NI freeMem;
511 NI occ;
512 NI lastSize;
513 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
514 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
515 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
516 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
517 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
518 NIM_BOOL locked;
519 NIM_BOOL blockChunkSizeIncrease;
520 NI nextChunkSize;
521 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
522 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
523 };
524 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
525 NI stackScans;
526 NI cycleCollections;
527 NI maxThreshold;
528 NI maxStackSize;
529 NI maxStackCells;
530 NI cycleTableSize;
531 NI64 maxPause;
532 };
533 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
534 NI counter;
535 NI max;
536 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
537 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
538 };
539 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
540 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
541 NI cycleThreshold;
542 NI zctThreshold;
543 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
544 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
545 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
546 NI recGcLock;
547 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
548 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
549 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
550 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
551 NI gcThreadId;
552 };
553 struct tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw {
554 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* finallys;
555 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
556 tySequence__1I3cxybVrOXM64KW2dfERQ* blocks;
557 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
558 };
559 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
560 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
561 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
562 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
563 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
564 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
565 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
566 union{
567 struct {NI64 intVal;
568 } _kind_1;
569 struct {NF floatVal;
570 } _kind_2;
571 struct {NimStringDesc* strVal;
572 } _kind_3;
573 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
574 } _kind_4;
575 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
576 } _kind_5;
577 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
578 } _kind_6;
579 };
580 };
581 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
582 struct TNimNode {
583 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
584 NI offset;
585 TNimType* typ;
586 NCSTRING name;
587 NI len;
588 TNimNode** sons;
589 };
590 struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw {
591 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
592 NI Field1;
593 };
594 struct tyObject_Table__5WMmzblM3wEpYUTgMBzetQ {
595 tySequence__gVogYzwlGNrCaz6jQnXRzA* data;
596 NI counter;
597 };
598 struct tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w {
599 tyObject_Table__5WMmzblM3wEpYUTgMBzetQ tab;
600 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
601 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
602 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
603 };
604 struct tyTuple__O3AtiO8fwKWfdl6NGmuzhw {
605 NI Field0;
606 NI Field1;
607 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
608 };
609 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
610 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
611 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
612 NimStringDesc* Field0;
613 NI Field1;
614 NI Field2;
615 };
616 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
617 struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ {
618 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
619 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
620 };
621 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
622 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
623 typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
624 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
625 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
626 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
627 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
628 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
629 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
630 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
631 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
632 };
633 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
634 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
635 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
636 };
637 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
638 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
639 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
640 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
641 };
642 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
643 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
644 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
645 };
646 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
647 NimStringDesc* definedSymbols;
648 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
649 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
650 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
651 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
652 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
653 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
654 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
655 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
656 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
657 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
658 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
659 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
660 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
661 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
662 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
663 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
664 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
665 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
666 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
667 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
668 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
669 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
670 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
671 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
672 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
673 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
674 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
675 };
676 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
677 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
678 NI counter;
679 };
680 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
681 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
682 NIM_BOOL symsInit;
683 NIM_BOOL typesInit;
684 NIM_BOOL loadedButAliveSetChanged;
685 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
686 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
687 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
688 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
689 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
690 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
691 };
692 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
693 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
694 NI counter;
695 };
696 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
697 NI32 thisModule;
698 NI32 lastFile;
699 NU32 lastLit;
700 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
701 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
702 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
703 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
704 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
705 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
706 };
707 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
708 NU32 module;
709 NI32 item;
710 };
711 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
712 NI module;
713 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
714 };
715 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
716 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
717 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
718 };
719 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
720 NI Field0;
721 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
722 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
723 };
724 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
725 NI module;
726 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
727 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
728 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
729 };
730 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
731 NI Field0;
732 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
733 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
734 };
735 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
736 NI Field0;
737 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
738 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
739 };
740 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
741 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
742 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
743 };
744 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
745 NI Field0;
746 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
747 };
748 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
749 NI Field0;
750 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
751 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
752 };
753 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
754 NI Field0;
755 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
756 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
757 };
758 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
759 NI Field0;
760 NimStringDesc* Field1;
761 NI32 Field2;
762 };
763 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
764 NI Field0;
765 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
766 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
767 };
768 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
769 NI Field0;
770 NI32 Field1;
771 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
772 };
773 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
774 NI Field0;
775 NI32 Field1;
776 NI32 Field2;
777 };
778 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
779 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
780 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
781 };
782 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
783 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
784 NI Field0;
785 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
786 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
787 };
788 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
789 NI Field0;
790 NI Field1;
791 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
792 };
793 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
794 NI Field0;
795 NimStringDesc* Field1;
796 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
797 };
798 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
799 NI Field0;
800 NimStringDesc* Field1;
801 NI64 Field2;
802 };
803 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
804 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
805 NI entries;
806 };
807 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
808 NI Field0;
809 NimStringDesc* Field1;
810 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
811 };
812 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
813 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
814 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
815 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
816 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
817 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
818 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
819 NIM_BOOL Field3;
820 };
821 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
822 NU32 Field0;
823 NimStringDesc* Field1;
824 };
825 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
826 NU16 line;
827 NI16 col;
828 NU32 file;
829 };
830 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
831 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
832 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
833 NI32 operand;
834 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
835 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
836 };
837 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
838 NU32 Field0;
839 NI32 Field1;
840 };
841 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
842 NU32 Field0;
843 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
844 };
845 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
846 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
847 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
848 };
849 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
850 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
851 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
852 };
853 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
854 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
855 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
856 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
857 };
858 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
859 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
860 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
861 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
862 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
863 };
864 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
865 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
866 NI Field1;
867 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
868 };
869 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
870 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
871 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
872 NIM_BOOL generated;
873 NIM_BOOL isOverriden;
874 NU32 name;
875 NI32 path;
876 };
877 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
878 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
879 NU32 name;
880 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
881 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
882 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
883 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
884 NI32 ast;
885 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
886 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
887 NI bitsize;
888 NI alignment;
889 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
890 NI position;
891 NI offset;
892 NU32 externalName;
893 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
894 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
895 NI32 constraint;
896 };
897 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
898 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
899 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
900 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
901 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
902 NI32 n;
903 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
904 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
905 NI64 size;
906 NI16 align;
907 NI16 paddingAtEnd;
908 NI16 lockLevel;
909 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
910 NI32 nonUniqueId;
911 };
912 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
913 NI Field0;
914 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
915 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
916 };
917 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
918 NI Field0;
919 NI32 Field1;
920 NU32 Field2;
921 };
922 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
923   TGenericSeq Sup;
924   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
925 };
926 struct tySequence__1I3cxybVrOXM64KW2dfERQ {
927   TGenericSeq Sup;
928   tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw data[SEQ_DECL_SIZE];
929 };
930 struct tySequence__gVogYzwlGNrCaz6jQnXRzA {
931   TGenericSeq Sup;
932   tyTuple__O3AtiO8fwKWfdl6NGmuzhw data[SEQ_DECL_SIZE];
933 };
934 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
935   TGenericSeq Sup;
936   NI data[SEQ_DECL_SIZE];
937 };
938 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
939   TGenericSeq Sup;
940   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
941 };
942 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
943   TGenericSeq Sup;
944   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
945 };
946 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
947   TGenericSeq Sup;
948   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
949 };
950 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
951   TGenericSeq Sup;
952   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
953 };
954 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
955   TGenericSeq Sup;
956   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
957 };
958 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
959   TGenericSeq Sup;
960   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
961 };
962 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
963   TGenericSeq Sup;
964   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
965 };
966 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
967   TGenericSeq Sup;
968   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
969 };
970 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
971   TGenericSeq Sup;
972   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
973 };
974 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
975   TGenericSeq Sup;
976   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
977 };
978 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
979   TGenericSeq Sup;
980   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
981 };
982 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
983   TGenericSeq Sup;
984   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
985 };
986 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
987   TGenericSeq Sup;
988   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
989 };
990 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
991   TGenericSeq Sup;
992   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
993 };
994 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
995   TGenericSeq Sup;
996   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
997 };
998 struct tySequence__48JTohSgTy339bRxHzUD8KA {
999   TGenericSeq Sup;
1000   NI32 data[SEQ_DECL_SIZE];
1001 };
1002 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1003   TGenericSeq Sup;
1004   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1005 };
1006 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1007   TGenericSeq Sup;
1008   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1009 };
1010 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1011   TGenericSeq Sup;
1012   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1013 };
1014 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1015   TGenericSeq Sup;
1016   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1017 };
1018 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1019   TGenericSeq Sup;
1020   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1021 };
1022 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1023   TGenericSeq Sup;
1024   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1025 };
1026 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1027   TGenericSeq Sup;
1028   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1029 };
1030 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1031   TGenericSeq Sup;
1032   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1033 };
1034 struct tySequence__MAQKEADohlpnXTModtugbQ {
1035   TGenericSeq Sup;
1036   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1037 };
1038 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1039   TGenericSeq Sup;
1040   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1041 };
1042 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1043   TGenericSeq Sup;
1044   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1045 };
1046 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1047   TGenericSeq Sup;
1048   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1049 };
1050 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1051   TGenericSeq Sup;
1052   NU32 data[SEQ_DECL_SIZE];
1053 };
1054 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1055   TGenericSeq Sup;
1056   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1057 };
1058 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1059   TGenericSeq Sup;
1060   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1061 };
1062 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1063   TGenericSeq Sup;
1064   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1065 };
1066 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1067   TGenericSeq Sup;
1068   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1069 };
1070 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1071   TGenericSeq Sup;
1072   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1073 };
1074 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1075   TGenericSeq Sup;
1076   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1077 };
1078 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1079   TGenericSeq Sup;
1080   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1081 };
1082 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1083   TGenericSeq Sup;
1084   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1085 };
1086 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1087   TGenericSeq Sup;
1088   NimStringDesc* data[SEQ_DECL_SIZE];
1089 };
1090 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1091   TGenericSeq Sup;
1092   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1093 };
1094 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1095   TGenericSeq Sup;
1096   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1097 };
1098 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1099   TGenericSeq Sup;
1100   NI64 data[SEQ_DECL_SIZE];
1101 };
1102 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1103   TGenericSeq Sup;
1104   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1105 };
1106 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1107   TGenericSeq Sup;
1108   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1109 };
1110 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1111   TGenericSeq Sup;
1112   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1113 };
1114 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1115   TGenericSeq Sup;
1116   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1117 };
1118 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1119 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1120 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getEnvParam__lambdalifting_131)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* routine);
1121 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);
1122 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
1123 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1124 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createClosureIterStateType__lambdalifting_33)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* iter, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1125 static N_INLINE(void, asgnRef)(void** dest, void* src);
1126 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1127 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1128 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
1129 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1130 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1131 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1132 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1133 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1134 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, preprocess__closureiters_3362)(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1135 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1136 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1137 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1138 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1139 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pop__trees_32)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s);
1140 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1141 static N_INLINE(void, pop__closureiters_3415)(tySequence__1I3cxybVrOXM64KW2dfERQ** s, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result);
1142 static N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*, X5BX5D___closureiters_3437)(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* s, NI sLen_0, NI i);
1143 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1144 N_LIB_PRIVATE N_NIMCALL(void, initTable__closureiters_3484)(NI initialSize, tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* Result);
1145 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
1146 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_176)(NI x);
1147 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1148 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1149 static N_NIMCALL(void, Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)(void* p, NI op);
1150 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1151 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, freshVars__closureiters_1804)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w* c);
1152 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOrDefault__closureiters_1903)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key);
1153 static N_INLINE(NI, rawGet__closureiters_1912)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI* hc);
1154 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1155 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1156 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1157 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1158 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1159 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1160 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1161 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1162 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, copySym__ast_4054)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id);
1163 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___closureiters_2290)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val);
1164 static N_INLINE(NIM_BOOL, mustRehash__closureiters_2463)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t);
1165 N_LIB_PRIVATE N_NIMCALL(void, enlarge__closureiters_2616)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t);
1166 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__closureiters_2916)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, tySequence__gVogYzwlGNrCaz6jQnXRzA** data, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val, NI hc, NI h);
1167 static N_INLINE(NI, rawGetKnownHC__closureiters_3085)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI hc);
1168 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1169 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);
1170 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toStmtList__closureiters_136)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1171 N_LIB_PRIVATE N_NIMCALL(NI, newState__closureiters_97)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1172 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntLit__lowerings_695)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI64 value);
1173 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1174 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerStmtListExprs__closureiters_478)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL* needsSplit);
1175 N_LIB_PRIVATE N_NIMCALL(void, exprToStmtList__closureiters_385)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ* Result);
1176 static N_INLINE(void, nimGCunrefRC1)(void* p);
1177 N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_406)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** y, NI yLen_0);
1178 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1179 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1180 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newTempVar__closureiters_167)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1181 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newEnvVar__closureiters_49)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NimStringDesc* name, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1182 N_LIB_PRIVATE N_NIMCALL(void, addVar__lowerings_63)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v);
1183 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, addUniqueField__lowerings_443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* obj, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1184 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1185 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1186 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1187 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1188 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1189 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1190 N_LIB_PRIVATE N_NIMCALL(void, addExprAssgn__closureiters_446)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* output, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* input, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1191 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAsgn__closureiters_441)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v);
1192 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAccess__closureiters_70)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1193 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, rawIndirectAccess__lowerings_326)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1194 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1195 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, convertExprBodyToAsgn__closureiters_469)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprBody, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res);
1196 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNotCall__closureiters_474)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
1197 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysMagic__magicsys_29)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1198 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1199 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysSym__magicsys_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name);
1200 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
1201 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYieldsInExpressions__closureiters_371)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1202 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYields__closureiters_175)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1203 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIteratorBody__closureiters_1173)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1204 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, addGotoOut__closureiters_147)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1205 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksAndContinuesInWhile__closureiters_179)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* before, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after);
1206 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksInBlock__closureiters_205)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* label, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after);
1207 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, collectExceptState__closureiters_256)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1208 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);
1209 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newOr__closureiters_251)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1210 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNullifyCurExc__closureiters_245)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1211 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCurExcAccess__closureiters_91)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1212 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1213 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getFinallyNode__closureiters_357)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1214 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformReturnsInTry__closureiters_1107)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1215 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newUnrollFinallyAccess__closureiters_84)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1216 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntTypeNode__ast_3783)(NI64 intVal, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1217 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTmpResultAccess__closureiters_77)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1218 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEndFinallyNode__closureiters_1092)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1219 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getClosureIterResult__lambdalifting_62)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* iter, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1220 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCompilerProc__magicsys_145)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name);
1221 N_LIB_PRIVATE N_NIMCALL(void, addElseToExcept__closureiters_316)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1222 N_LIB_PRIVATE N_NIMCALL(void, deleteEmptyStates__closureiters_1659)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1223 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipStmtList__closureiters_1491)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1224 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipThroughEmptyStates__closureiters_1529)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1225 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1226 N_LIB_PRIVATE N_NIMCALL(NI, skipEmptyStates__closureiters_1503)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateIdx);
1227 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1709)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i);
1228 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1746)(tySequence__qwqHTkRvwhrRyENtudHQ7g** x, NI i);
1229 N_LIB_PRIVATE N_NIMCALL(void, del__closureiters_3571)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i);
1230 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformStateAssignments__closureiters_1386)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1231 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_45)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateNo);
1232 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_41)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toValue);
1233 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAccess__closureiters_35)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1234 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getStateField__lambdalifting_4660)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1235 N_LIB_PRIVATE N_NIMCALL(NI, stateFromGotoState__closureiters_1375)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1236 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoStateLoop__closureiters_1612)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1237 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoTryExcept__closureiters_1605)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1238 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCatchBody__closureiters_1568)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1239 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createExceptionTable__closureiters_1553)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1240 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newArrayType__closureiters_1545)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1241 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1242 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1243 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1244 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1245 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_2, ":state", 6);
1246 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_3, ":stateLoop", 10);
1247 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1248 extern TNimType NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_;
1249 N_LIB_PRIVATE TNimType NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_;
1250 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
1251 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
1252 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_;
1253 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_5, "unsupported control flow: \'finally: ... raise\' duplicated because of \'break\'", 76);
1254 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_7, "/home/runner/work/nightlies/nightlies/nim/compiler/closureiters.nim", 67);
1255 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_6 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1256 ((NI) 1337),
1257 ((NI) 14)}
1258 ;
1259 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1260 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1261 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_8, "lowerStmtListExprs: constr typ.isNil", 36);
1262 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_9 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1263 ((NI) 468),
1264 ((NI) 35)}
1265 ;
1266 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_10, ":tmpSlLower", 11);
1267 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_11, "lowerStmtListExpr(nkIf): ", 25);
1268 extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
1269 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_12 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1270 ((NI) 546),
1271 ((NI) 23)}
1272 ;
1273 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_13, "lowerStmtListExpr(nkTryStmt): ", 30);
1274 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_14 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1275 ((NI) 576),
1276 ((NI) 25)}
1277 ;
1278 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_15, "lowerStmtListExpr(nkCaseStmt): ", 31);
1279 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_16 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1280 ((NI) 608),
1281 ((NI) 25)}
1282 ;
1283 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_17, "not", 3);
1284 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_18, "true", 4);
1285 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_19, "yield in expr not lowered", 25);
1286 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_20 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1287 ((NI) 1420),
1288 ((NI) 17)}
1289 ;
1290 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_21, "transformClosureIteratorBody != s", 33);
1291 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_22 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1292 ((NI) 888),
1293 ((NI) 23)}
1294 ;
1295 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_23, "of", 2);
1296 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_24, "getCurrentException", 19);
1297 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_25, "or", 2);
1298 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_26, ":curExc", 7);
1299 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_27, ":unrollFinally", 14);
1300 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_28, ":tmpResult", 10);
1301 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_29, "==", 2);
1302 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_30, "closureIterSetupExc", 19);
1303 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_31, "transformReturnsInTry != tryBody", 32);
1304 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_32 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1305 ((NI) 997),
1306 ((NI) 21)}
1307 ;
1308 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_33, "transformClosureIteratorBody != tryBody", 39);
1309 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_34 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1310 ((NI) 999),
1311 ((NI) 21)}
1312 ;
1313 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_35, "transformReturnsInTry != exceptBody", 35);
1314 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_36 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1315 ((NI) 1004),
1316 ((NI) 21)}
1317 ;
1318 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_37, "transformClosureIteratorBody != exceptBody", 42);
1319 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_38 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1320 ((NI) 1006),
1321 ((NI) 21)}
1322 ;
1323 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_39, "transformClosureIteratorBody != finallyBody", 43);
1324 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_40 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1325 ((NI) 1011),
1326 ((NI) 21)}
1327 ;
1328 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_41, "closure iter ", 13);
1329 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_42 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1330 ((NI) 1014),
1331 ((NI) 17)}
1332 ;
1333 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_43, "<", 1);
1334 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_44, "-", 1);
1335 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5247;
N_INLINE(void,nimSetMem__systemZmemory_7)1336 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1337 	void* T1_;
1338 	T1_ = (void*)0;
1339 	T1_ = memset(a, v, ((size_t) (size)));
1340 }
N_INLINE(void,nimZeroMem)1341 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1342 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
1343 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)1344 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
1345 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
1346 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1347 	(*x).symId += ((NI) 1);
1348 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1349 	result.module = (*x).module;
1350 	result.item = (*x).symId;
1351 	return result;
1352 }
N_INLINE(NI,pluspercent___system_696)1353 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1354 	NI result;
1355 	result = (NI)0;
1356 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
1357 	return result;
1358 }
N_INLINE(void,incRef__system_5338)1359 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1360 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1361 }
N_INLINE(NI,minuspercent___system_716)1362 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1363 	NI result;
1364 	result = (NI)0;
1365 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
1366 	return result;
1367 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5300)1368 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
1369 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1370 	NI T1_;
1371 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1372 	T1_ = (NI)0;
1373 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
1374 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1375 	return result;
1376 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1377 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1378 	NIM_BOOL result;
1379 	result = (NIM_BOOL)0;
1380 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
1381 	return result;
1382 }
N_INLINE(void,rtlAddZCT__system_5343)1383 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1384 	addZCT__system_5294((&gch__system_5247.zct), c);
1385 }
N_INLINE(void,decRef__system_5345)1386 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1387 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1388 	{
1389 		NIM_BOOL T3_;
1390 		T3_ = (NIM_BOOL)0;
1391 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1392 		if (!T3_) goto LA4_;
1393 		rtlAddZCT__system_5343(c);
1394 	}
1395 	LA4_: ;
1396 }
N_INLINE(void,asgnRef)1397 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1398 	{
1399 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1400 		if (!!((src == NIM_NIL))) goto LA3_;
1401 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1402 		T5_ = usrToCell__system_5300(src);
1403 		incRef__system_5338(T5_);
1404 	}
1405 	LA3_: ;
1406 	{
1407 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1408 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1409 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1410 		T10_ = usrToCell__system_5300((*dest));
1411 		decRef__system_5345(T10_);
1412 	}
1413 	LA8_: ;
1414 	(*dest) = src;
1415 }
N_INLINE(NI,len__ast_3198)1416 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1417 	NI result;
1418 	NI T1_;
1419 	result = (NI)0;
1420 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1421 	result = T1_;
1422 	return result;
1423 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pop__trees_32)1424 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pop__trees_32)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s) {
1425 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1426 	NI L;
1427 	NI T1_;
1428 	result = NIM_NIL;
1429 	T1_ = ((*s) ? (*s)->Sup.len : 0);
1430 	L = (NI)(T1_ - ((NI) 1));
1431 	result = (*s)->data[L];
1432 	unsureAsgnRef((void**) (&(*s)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*s))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (L))));
1433 	return result;
1434 }
N_INLINE(void,pop__closureiters_3415)1435 static N_INLINE(void, pop__closureiters_3415)(tySequence__1I3cxybVrOXM64KW2dfERQ** s, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result) {
1436 	NI L;
1437 	NI T1_;
1438 	T1_ = ((*s) ? (*s)->Sup.len : 0);
1439 	L = (NI)(T1_ - ((NI) 1));
1440 	unsureAsgnRef((void**) (&(*Result).Field0), (*s)->data[L].Field0);
1441 	(*Result).Field1 = (*s)->data[L].Field1;
1442 	unsureAsgnRef((void**) (&(*s)), (tySequence__1I3cxybVrOXM64KW2dfERQ*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_), ((NI) (L))));
1443 }
N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw *,X5BX5D___closureiters_3437)1444 static N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*, X5BX5D___closureiters_3437)(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* s, NI sLen_0, NI i) {
1445 	tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* result;
1446 	result = (tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*)0;
1447 	result = (&s[(NI)(sLen_0 - i)]);
1448 	return result;
1449 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1450 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1451 	NI result;
1452 	result = (NI)0;
1453 	result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1454 	return result;
1455 }
N_NIMCALL(void,Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)1456 static N_NIMCALL(void, Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)(void* p, NI op) {
1457 	tySequence__gVogYzwlGNrCaz6jQnXRzA* a;
1458 	NI T1_;
1459 	a = (tySequence__gVogYzwlGNrCaz6jQnXRzA*)p;
1460 	T1_ = (NI)0;
1461 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1462 	nimGCvisit((void*)a->data[T1_].Field2, op);
1463 	}
1464 }
N_NIMCALL(void,initTable__closureiters_3484)1465 N_LIB_PRIVATE N_NIMCALL(void, initTable__closureiters_3484)(NI initialSize, tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* Result) {
1466 	NI correctSizeX60gensym346_;
1467 	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1468 	(*Result).counter = 0;
1469 	correctSizeX60gensym346_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1470 	(*Result).counter = ((NI) 0);
1471 	unsureAsgnRef((void**) (&(*Result).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym346_))));
1472 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)1473 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1474 	NU64 result;
1475 	result = (NU64)0;
1476 	__uint128_t r = a; r *= b; result = (r >> 64) ^ r;
1477 	return result;
1478 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1479 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1480 	NI result;
1481 	NU64 T1_;
1482 	NU64 T2_;
1483 	result = (NI)0;
1484 	T1_ = (NU64)0;
1485 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1486 	T2_ = (NU64)0;
1487 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1488 	result = ((NI) (T2_));
1489 	return result;
1490 }
N_INLINE(NI,hash__pureZhashes_128)1491 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1492 	NI result;
1493 	result = (NI)0;
1494 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1495 	return result;
1496 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1497 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1498 	NIM_BOOL result;
1499 	result = (NIM_BOOL)0;
1500 	result = !((hcode == ((NI) 0)));
1501 	return result;
1502 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1503 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1504 	NI result;
1505 	result = (NI)0;
1506 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1507 	return result;
1508 }
N_INLINE(NI,rawGet__closureiters_1912)1509 static N_INLINE(NI, rawGet__closureiters_1912)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI* hc) {
1510 	NI result;
1511 	NI h;
1512 	NI T10_;
1513 {	result = (NI)0;
1514 	(*hc) = hash__pureZhashes_128(key);
1515 	{
1516 		if (!((*hc) == ((NI) 0))) goto LA3_;
1517 		(*hc) = ((NI) 314159265);
1518 	}
1519 	LA3_: ;
1520 	{
1521 		NI T7_;
1522 		T7_ = (t.data ? t.data->Sup.len : 0);
1523 		if (!(T7_ == ((NI) 0))) goto LA8_;
1524 		result = ((NI) -1);
1525 		goto BeforeRet_;
1526 	}
1527 	LA8_: ;
1528 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1529 	h = (NI)((*hc) & T10_);
1530 	{
1531 		while (1) {
1532 			NIM_BOOL T13_;
1533 			NI T20_;
1534 			T13_ = (NIM_BOOL)0;
1535 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1536 			if (!T13_) goto LA12;
1537 			{
1538 				NIM_BOOL T16_;
1539 				T16_ = (NIM_BOOL)0;
1540 				T16_ = (t.data->data[h].Field0 == (*hc));
1541 				if (!(T16_)) goto LA17_;
1542 				T16_ = (t.data->data[h].Field1 == key);
1543 				LA17_: ;
1544 				if (!T16_) goto LA18_;
1545 				result = h;
1546 				goto BeforeRet_;
1547 			}
1548 			LA18_: ;
1549 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1550 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
1551 		} LA12: ;
1552 	}
1553 	result = (NI)(((NI) -1) - h);
1554 	}BeforeRet_: ;
1555 	return result;
1556 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getOrDefault__closureiters_1903)1557 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOrDefault__closureiters_1903)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key) {
1558 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
1559 	NI hcX60gensym308_;
1560 	NI indexX60gensym308_;
1561 	result = NIM_NIL;
1562 	hcX60gensym308_ = (NI)0;
1563 	indexX60gensym308_ = rawGet__closureiters_1912(t, key, (&hcX60gensym308_));
1564 	{
1565 		if (!(((NI) 0) <= indexX60gensym308_)) goto LA3_;
1566 		result = t.data->data[indexX60gensym308_].Field2;
1567 	}
1568 	LA3_: ;
1569 	return result;
1570 }
N_INLINE(NI,safeLen__ast_3191)1571 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1572 	NI result;
1573 	result = (NI)0;
1574 	{
1575 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1576 		result = ((NI) 0);
1577 	}
1578 	goto LA1_;
1579 	LA3_: ;
1580 	{
1581 		result = len__ast_3198(n);
1582 	}
1583 	LA1_: ;
1584 	return result;
1585 }
N_INLINE(NIM_BOOL,mustRehash__closureiters_2463)1586 static N_INLINE(NIM_BOOL, mustRehash__closureiters_2463)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t) {
1587 	NIM_BOOL result;
1588 	NIM_BOOL T1_;
1589 	NI T2_;
1590 	NI T4_;
1591 	result = (NIM_BOOL)0;
1592 	T1_ = (NIM_BOOL)0;
1593 	T2_ = (t.data ? t.data->Sup.len : 0);
1594 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1595 	if (T1_) goto LA3_;
1596 	T4_ = (t.data ? t.data->Sup.len : 0);
1597 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1598 	LA3_: ;
1599 	result = T1_;
1600 	return result;
1601 }
N_NIMCALL(void,rawInsert__closureiters_2916)1602 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__closureiters_2916)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, tySequence__gVogYzwlGNrCaz6jQnXRzA** data, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val, NI hc, NI h) {
1603 	(*data)->data[h].Field1 = key;
1604 	asgnRef((void**) (&(*data)->data[h].Field2), val);
1605 	(*data)->data[h].Field0 = hc;
1606 }
N_NIMCALL(void,enlarge__closureiters_2616)1607 N_LIB_PRIVATE N_NIMCALL(void, enlarge__closureiters_2616)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t) {
1608 	tySequence__gVogYzwlGNrCaz6jQnXRzA* n;
1609 	NI T1_;
1610 	tySequence__gVogYzwlGNrCaz6jQnXRzA* T2_;
1611 	n = NIM_NIL;
1612 	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1613 	n = (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1614 	T2_ = NIM_NIL;
1615 	T2_ = (*t).data;
1616 	unsureAsgnRef((void**) (&(*t).data), n);
1617 	n = T2_;
1618 	{
1619 		NI i;
1620 		NI colontmp_;
1621 		NI T4_;
1622 		NI res;
1623 		i = (NI)0;
1624 		colontmp_ = (NI)0;
1625 		T4_ = ((n ? n->Sup.len : 0)-1);
1626 		colontmp_ = T4_;
1627 		res = ((NI) 0);
1628 		{
1629 			while (1) {
1630 				NI eh;
1631 				if (!(res <= colontmp_)) goto LA6;
1632 				i = res;
1633 				eh = n->data[i].Field0;
1634 				{
1635 					NIM_BOOL T9_;
1636 					NI j;
1637 					NI T12_;
1638 					NI T17_;
1639 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
1640 					T9_ = (NIM_BOOL)0;
1641 					T9_ = isFilled__pureZcollectionsZtables_31(eh);
1642 					if (!T9_) goto LA10_;
1643 					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1644 					j = (NI)(eh & T12_);
1645 					{
1646 						while (1) {
1647 							NIM_BOOL T15_;
1648 							NI T16_;
1649 							T15_ = (NIM_BOOL)0;
1650 							T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1651 							if (!T15_) goto LA14;
1652 							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1653 							j = nextTry__pureZcollectionsZtables_34(j, T16_);
1654 						} LA14: ;
1655 					}
1656 					T17_ = (NI)0;
1657 					T17_ = n->data[i].Field1;
1658 					n->data[i].Field1 = 0;
1659 					T18_ = NIM_NIL;
1660 					T18_ = n->data[i].Field2;
1661 					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
1662 					rawInsert__closureiters_2916(t, (&(*t).data), T17_, T18_, eh, j);
1663 				}
1664 				LA10_: ;
1665 				res += ((NI) 1);
1666 			} LA6: ;
1667 		}
1668 	}
1669 }
N_INLINE(NI,rawGetKnownHC__closureiters_3085)1670 static N_INLINE(NI, rawGetKnownHC__closureiters_3085)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI hc) {
1671 	NI result;
1672 	NI h;
1673 	NI T6_;
1674 {	result = (NI)0;
1675 	{
1676 		NI T3_;
1677 		T3_ = (t.data ? t.data->Sup.len : 0);
1678 		if (!(T3_ == ((NI) 0))) goto LA4_;
1679 		result = ((NI) -1);
1680 		goto BeforeRet_;
1681 	}
1682 	LA4_: ;
1683 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1684 	h = (NI)(hc & T6_);
1685 	{
1686 		while (1) {
1687 			NIM_BOOL T9_;
1688 			NI T16_;
1689 			T9_ = (NIM_BOOL)0;
1690 			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1691 			if (!T9_) goto LA8;
1692 			{
1693 				NIM_BOOL T12_;
1694 				T12_ = (NIM_BOOL)0;
1695 				T12_ = (t.data->data[h].Field0 == hc);
1696 				if (!(T12_)) goto LA13_;
1697 				T12_ = (t.data->data[h].Field1 == key);
1698 				LA13_: ;
1699 				if (!T12_) goto LA14_;
1700 				result = h;
1701 				goto BeforeRet_;
1702 			}
1703 			LA14_: ;
1704 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1705 			h = nextTry__pureZcollectionsZtables_34(h, T16_);
1706 		} LA8: ;
1707 	}
1708 	result = (NI)(((NI) -1) - h);
1709 	}BeforeRet_: ;
1710 	return result;
1711 }
N_NIMCALL(void,X5BX5Deq___closureiters_2290)1712 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___closureiters_2290)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val) {
1713 	NI hc;
1714 	NI index;
1715 	{
1716 		NI T3_;
1717 		NI correctSizeX60gensym318_;
1718 		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1719 		if (!(T3_ == ((NI) 0))) goto LA4_;
1720 		correctSizeX60gensym318_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1721 		(*t).counter = ((NI) 0);
1722 		unsureAsgnRef((void**) (&(*t).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym318_))));
1723 	}
1724 	LA4_: ;
1725 	hc = (NI)0;
1726 	index = rawGet__closureiters_1912((*t), key, (&hc));
1727 	{
1728 		if (!(((NI) 0) <= index)) goto LA8_;
1729 		asgnRef((void**) (&(*t).data->data[index].Field2), val);
1730 	}
1731 	goto LA6_;
1732 	LA8_: ;
1733 	{
1734 		{
1735 			NI T13_;
1736 			NI correctSizeX60gensym321_;
1737 			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
1738 			if (!(T13_ == ((NI) 0))) goto LA14_;
1739 			correctSizeX60gensym321_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1740 			(*t).counter = ((NI) 0);
1741 			unsureAsgnRef((void**) (&(*t).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym321_))));
1742 		}
1743 		LA14_: ;
1744 		{
1745 			NIM_BOOL T18_;
1746 			T18_ = (NIM_BOOL)0;
1747 			T18_ = mustRehash__closureiters_2463((*t));
1748 			if (!T18_) goto LA19_;
1749 			enlarge__closureiters_2616(t);
1750 			index = rawGetKnownHC__closureiters_3085((*t), key, hc);
1751 		}
1752 		LA19_: ;
1753 		index = (NI)(((NI) -1) - index);
1754 		rawInsert__closureiters_2916(t, (&(*t).data), key, val, hc, index);
1755 		(*t).counter += ((NI) 1);
1756 	}
1757 	LA6_: ;
1758 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,freshVars__closureiters_1804)1759 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, freshVars__closureiters_1804)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w* c) {
1760 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1761 	result = NIM_NIL;
1762 	switch ((*n).kind) {
1763 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1764 	{
1765 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
1766 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym307_;
1767 		xX60gensym307_ = (*n)._kind_4.sym;
1768 		x = getOrDefault__closureiters_1903((*c).tab, (NI)((NI)((NU64)(((NI) ((*xX60gensym307_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym307_).Sup.itemId.item))));
1769 		{
1770 			if (!(x == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
1771 			result = n;
1772 		}
1773 		goto LA2_;
1774 		LA4_: ;
1775 		{
1776 			result = newSymNode__ast_3719(x, (*n).info);
1777 		}
1778 		LA2_: ;
1779 	}
1780 	break;
1781 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1782 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1783 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
1784 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
1785 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
1786 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
1787 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
1788 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
1789 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
1790 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
1791 	{
1792 		result = n;
1793 	}
1794 	break;
1795 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
1796 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
1797 	{
1798 		result = copyNode__ast_4336(n);
1799 		{
1800 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
1801 			it = NIM_NIL;
1802 			{
1803 				NI i;
1804 				NI colontmp_;
1805 				NI i_2;
1806 				i = (NI)0;
1807 				colontmp_ = (NI)0;
1808 				colontmp_ = safeLen__ast_3191(n);
1809 				i_2 = ((NI) 0);
1810 				{
1811 					while (1) {
1812 						if (!(i_2 < colontmp_)) goto LA12;
1813 						i = i_2;
1814 						it = (*n)._kind_6.sons->data[i];
1815 						{
1816 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idefs;
1817 							if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA15_;
1818 							idefs = copyNode__ast_4336(it);
1819 							{
1820 								NI v;
1821 								NI colontmp__2;
1822 								NI T18_;
1823 								NI res;
1824 								v = (NI)0;
1825 								colontmp__2 = (NI)0;
1826 								T18_ = (NI)0;
1827 								T18_ = len__ast_3198(it);
1828 								colontmp__2 = (NI)(T18_ - ((NI) 3));
1829 								res = ((NI) 0);
1830 								{
1831 									while (1) {
1832 										if (!(res <= colontmp__2)) goto LA20;
1833 										v = res;
1834 										{
1835 											tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x_2;
1836 											tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T25_;
1837 											tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym316_;
1838 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
1839 											if (!((*(*it)._kind_6.sons->data[v]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA23_;
1840 											T25_ = nextSymId__ast_3132((*c).idgen);
1841 											x_2 = copySym__ast_4054((*(*it)._kind_6.sons->data[v])._kind_4.sym, T25_);
1842 											xX60gensym316_ = (*(*it)._kind_6.sons->data[v])._kind_4.sym;
1843 											X5BX5Deq___closureiters_2290((&(*c).tab), (NI)((NI)((NU64)(((NI) ((*xX60gensym316_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym316_).Sup.itemId.item))), x_2);
1844 											T26_ = NIM_NIL;
1845 											T26_ = newSymNode__ast_3716(x_2);
1846 											add__ast_4797(idefs, T26_);
1847 										}
1848 										goto LA21_;
1849 										LA23_: ;
1850 										{
1851 											add__ast_4797(idefs, (*it)._kind_6.sons->data[v]);
1852 										}
1853 										LA21_: ;
1854 										res += ((NI) 1);
1855 									} LA20: ;
1856 								}
1857 							}
1858 							{
1859 								NI rest;
1860 								NI colontmp__3;
1861 								NI colontmp__4;
1862 								NI T29_;
1863 								NI i_3;
1864 								rest = (NI)0;
1865 								colontmp__3 = (NI)0;
1866 								colontmp__4 = (NI)0;
1867 								T29_ = (NI)0;
1868 								T29_ = len__ast_3198(it);
1869 								colontmp__3 = (NI)(T29_ - ((NI) 2));
1870 								colontmp__4 = len__ast_3198(it);
1871 								i_3 = colontmp__3;
1872 								{
1873 									while (1) {
1874 										if (!(i_3 < colontmp__4)) goto LA31;
1875 										rest = i_3;
1876 										add__ast_4797(idefs, (*it)._kind_6.sons->data[rest]);
1877 										i_3 += ((NI) 1);
1878 									} LA31: ;
1879 								}
1880 							}
1881 							add__ast_4797(result, idefs);
1882 						}
1883 						goto LA13_;
1884 						LA15_: ;
1885 						{
1886 							add__ast_4797(result, it);
1887 						}
1888 						LA13_: ;
1889 						i_2 += ((NI) 1);
1890 					} LA12: ;
1891 				}
1892 			}
1893 		}
1894 	}
1895 	break;
1896 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
1897 	{
1898 		liMessage__msgs_1118((*c).config, (*c).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_5), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__slVvvIjx75ivXdMpHiE9c9aQ_6, NIM_FALSE);
1899 	}
1900 	break;
1901 	default:
1902 	{
1903 		result = n;
1904 		{
1905 			NI i_4;
1906 			NI colontmp__5;
1907 			NI i_5;
1908 			i_4 = (NI)0;
1909 			colontmp__5 = (NI)0;
1910 			colontmp__5 = safeLen__ast_3191(n);
1911 			i_5 = ((NI) 0);
1912 			{
1913 				while (1) {
1914 					if (!(i_5 < colontmp__5)) goto LA37;
1915 					i_4 = i_5;
1916 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_4]), freshVars__closureiters_1804((*n)._kind_6.sons->data[i_4], c));
1917 					i_5 += ((NI) 1);
1918 				} LA37: ;
1919 			}
1920 		}
1921 	}
1922 	break;
1923 	}
1924 	return result;
1925 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,preprocess__closureiters_3362)1926 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, preprocess__closureiters_3362)(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1927 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1928 	result = NIM_NIL;
1929 	result = n;
1930 	switch ((*n).kind) {
1931 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
1932 	{
1933 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f;
1934 		f = lastSon__ast_4832(n);
1935 		{
1936 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
1937 			NI T7_;
1938 			if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA4_;
1939 			T6_ = NIM_NIL;
1940 			T6_ = lastSon__ast_4832(f);
1941 			unsureAsgnRef((void**) (&(*c).finallys), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*c).finallys), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
1942 			T7_ = (*c).finallys->Sup.len++;
1943 			asgnRef((void**) (&(*c).finallys->data[T7_]), T6_);
1944 		}
1945 		LA4_: ;
1946 		{
1947 			NI i;
1948 			NI colontmp_;
1949 			NI i_2;
1950 			i = (NI)0;
1951 			colontmp_ = (NI)0;
1952 			colontmp_ = len__ast_3198(n);
1953 			i_2 = ((NI) 0);
1954 			{
1955 				while (1) {
1956 					if (!(i_2 < colontmp_)) goto LA10;
1957 					i = i_2;
1958 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i]));
1959 					i_2 += ((NI) 1);
1960 				} LA10: ;
1961 			}
1962 		}
1963 		{
1964 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
1965 			if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA13_;
1966 			T15_ = NIM_NIL;
1967 			T15_ = pop__trees_32((&(*c).finallys));
1968 			(void)(T15_);
1969 		}
1970 		LA13_: ;
1971 	}
1972 	break;
1973 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
1974 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
1975 	{
1976 		tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T17_;
1977 		NI T18_;
1978 		NI T19_;
1979 		tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T23_;
1980 		nimZeroMem((void*)(&T17_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
1981 		T17_.Field0 = n;
1982 		T18_ = ((*c).finallys ? (*c).finallys->Sup.len : 0);
1983 		T17_.Field1 = T18_;
1984 		unsureAsgnRef((void**) (&(*c).blocks), (tySequence__1I3cxybVrOXM64KW2dfERQ*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_)));
1985 		T19_ = (*c).blocks->Sup.len++;
1986 		asgnRef((void**) (&(*c).blocks->data[T19_].Field0), T17_.Field0);
1987 		(*c).blocks->data[T19_].Field1 = T17_.Field1;
1988 		{
1989 			NI i_3;
1990 			NI colontmp__2;
1991 			NI i_4;
1992 			i_3 = (NI)0;
1993 			colontmp__2 = (NI)0;
1994 			colontmp__2 = len__ast_3198(n);
1995 			i_4 = ((NI) 0);
1996 			{
1997 				while (1) {
1998 					if (!(i_4 < colontmp__2)) goto LA22;
1999 					i_3 = i_4;
2000 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i_3]));
2001 					i_4 += ((NI) 1);
2002 				} LA22: ;
2003 			}
2004 		}
2005 		nimZeroMem((void*)(&T23_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
2006 		pop__closureiters_3415((&(*c).blocks), (&T23_));
2007 		(void)(T23_);
2008 	}
2009 	break;
2010 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
2011 	{
2012 		{
2013 			NI T27_;
2014 			T27_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
2015 			if (!(T27_ == ((NI) 0))) goto LA28_;
2016 		}
2017 		goto LA25_;
2018 		LA28_: ;
2019 		{
2020 			NI fin;
2021 			fin = ((NI) -1);
2022 			{
2023 				tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* T35_;
2024 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA33_;
2025 				T35_ = (tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*)0;
2026 				T35_ = X5BX5D___closureiters_3437((*c).blocks->data, ((*c).blocks ? (*c).blocks->Sup.len : 0), ((NI) 1));
2027 				fin = (*T35_).Field1;
2028 			}
2029 			goto LA31_;
2030 			LA33_: ;
2031 			{
2032 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA37_;
2033 				{
2034 					NI i_5;
2035 					NI colontmp__3;
2036 					NI T40_;
2037 					NI res;
2038 					i_5 = (NI)0;
2039 					colontmp__3 = (NI)0;
2040 					T40_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
2041 					colontmp__3 = T40_;
2042 					res = colontmp__3;
2043 					{
2044 						while (1) {
2045 							if (!(((NI) 0) <= res)) goto LA42;
2046 							i_5 = res;
2047 							{
2048 								NIM_BOOL T45_;
2049 								NIM_BOOL T46_;
2050 								T45_ = (NIM_BOOL)0;
2051 								T46_ = (NIM_BOOL)0;
2052 								T46_ = ((*(*c).blocks->data[i_5].Field0).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112));
2053 								if (!(T46_)) goto LA47_;
2054 								T46_ = ((*(*(*c).blocks->data[i_5].Field0)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2055 								LA47_: ;
2056 								T45_ = T46_;
2057 								if (!(T45_)) goto LA48_;
2058 								T45_ = ((*(*(*c).blocks->data[i_5].Field0)._kind_6.sons->data[((NI) 0)])._kind_4.sym == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
2059 								LA48_: ;
2060 								if (!T45_) goto LA49_;
2061 								fin = (*c).blocks->data[i_5].Field1;
2062 								goto LA39;
2063 							}
2064 							LA49_: ;
2065 							res -= ((NI) 1);
2066 						} LA42: ;
2067 					}
2068 				} LA39: ;
2069 			}
2070 			goto LA31_;
2071 			LA37_: ;
2072 			LA31_: ;
2073 			{
2074 				if (!(((NI) 0) <= fin)) goto LA53_;
2075 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2076 				{
2077 					NI i_6;
2078 					NI colontmp__4;
2079 					NI T56_;
2080 					NI res_2;
2081 					i_6 = (NI)0;
2082 					colontmp__4 = (NI)0;
2083 					T56_ = (((*c).finallys ? (*c).finallys->Sup.len : 0)-1);
2084 					colontmp__4 = T56_;
2085 					res_2 = colontmp__4;
2086 					{
2087 						while (1) {
2088 							tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w vars;
2089 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
2090 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T60_;
2091 							if (!(fin <= res_2)) goto LA58;
2092 							i_6 = res_2;
2093 							nimZeroMem((void*)(&vars), sizeof(tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w));
2094 							nimZeroMem((void*)(&vars), sizeof(tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w));
2095 							initTable__closureiters_3484(((NI) 32), (&vars.tab));
2096 							vars.config = (*c).config;
2097 							vars.info = (*n).info;
2098 							vars.idgen = (*c).idgen;
2099 							T59_ = NIM_NIL;
2100 							T59_ = preprocess__closureiters_3362(c, (*c).finallys->data[i_6]);
2101 							T60_ = NIM_NIL;
2102 							T60_ = freshVars__closureiters_1804(T59_, (&vars));
2103 							add__ast_4797(result, T60_);
2104 							unsureAsgnRef((void**) (&(*c).idgen), vars.idgen);
2105 							res_2 -= ((NI) 1);
2106 						} LA58: ;
2107 					}
2108 				}
2109 				add__ast_4797(result, n);
2110 			}
2111 			LA53_: ;
2112 		}
2113 		LA25_: ;
2114 	}
2115 	break;
2116 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
2117 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
2118 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
2119 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
2120 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
2121 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
2122 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
2123 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
2124 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
2125 	{
2126 	}
2127 	break;
2128 	default:
2129 	{
2130 		{
2131 			NI i_7;
2132 			NI colontmp__5;
2133 			NI i_8;
2134 			i_7 = (NI)0;
2135 			colontmp__5 = (NI)0;
2136 			colontmp__5 = len__ast_3198(n);
2137 			i_8 = ((NI) 0);
2138 			{
2139 				while (1) {
2140 					if (!(i_8 < colontmp__5)) goto LA65;
2141 					i_7 = i_8;
2142 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_7]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i_7]));
2143 					i_8 += ((NI) 1);
2144 				} LA65: ;
2145 			}
2146 		}
2147 	}
2148 	break;
2149 	}
2150 	return result;
2151 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,toStmtList__closureiters_136)2152 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toStmtList__closureiters_136)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2153 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2154 	result = NIM_NIL;
2155 	result = n;
2156 	{
2157 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126)))) goto LA3_;
2158 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2159 		add__ast_4797(result, n);
2160 	}
2161 	LA3_: ;
2162 	return result;
2163 }
N_NIMCALL(NI,newState__closureiters_97)2164 N_LIB_PRIVATE N_NIMCALL(NI, newState__closureiters_97)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
2165 	NI result;
2166 	NI T1_;
2167 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resLit;
2168 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
2169 	NI T2_;
2170 	NI T3_;
2171 	result = (NI)0;
2172 	T1_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
2173 	result = T1_;
2174 	resLit = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) (result)));
2175 	s = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157), (*n).info);
2176 	add__ast_4797(s, resLit);
2177 	add__ast_4797(s, n);
2178 	unsureAsgnRef((void**) (&(*ctx).states), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ctx).states), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
2179 	T2_ = (*ctx).states->Sup.len++;
2180 	asgnRef((void**) (&(*ctx).states->data[T2_]), s);
2181 	unsureAsgnRef((void**) (&(*ctx).exceptionTable), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*ctx).exceptionTable), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
2182 	T3_ = (*ctx).exceptionTable->Sup.len++;
2183 	(*ctx).exceptionTable->data[T3_] = (*ctx).curExcHandlingState;
2184 	{
2185 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
2186 		if (!!((gotoOut == 0))) goto LA6_;
2187 		T8_ = NIM_NIL;
2188 		T8_ = newIntLit__lowerings_695((*ctx).g, (*gotoOut).info, ((NI64) (result)));
2189 		add__ast_4797(gotoOut, T8_);
2190 	}
2191 	LA6_: ;
2192 	return result;
2193 }
N_INLINE(void,nimGCunrefRC1)2194 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2195 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2196 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2197 	T1_ = usrToCell__system_5300(p);
2198 	decRef__system_5345(T1_);
2199 }
N_NIMCALL(void,add__closureiters_406)2200 N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_406)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** y, NI yLen_0) {
2201 	NI xl;
2202 	NI T1_;
2203 	T1_ = ((*x) ? (*x)->Sup.len : 0);
2204 	xl = T1_;
2205 	unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(xl + yLen_0)))));
2206 	{
2207 		NI i;
2208 		NI colontmp_;
2209 		NI res;
2210 		i = (NI)0;
2211 		colontmp_ = (NI)0;
2212 		colontmp_ = (yLen_0-1);
2213 		res = ((NI) 0);
2214 		{
2215 			while (1) {
2216 				if (!(res <= colontmp_)) goto LA4;
2217 				i = res;
2218 				asgnRef((void**) (&(*x)->data[(NI)(xl + i)]), y[i]);
2219 				res += ((NI) 1);
2220 			} LA4: ;
2221 		}
2222 	}
2223 }
N_NIMCALL(void,exprToStmtList__closureiters_385)2224 N_LIB_PRIVATE N_NIMCALL(void, exprToStmtList__closureiters_385)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ* Result) {
2225 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
2226 	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
2227 	unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
2228 	unsureAsgnRef((void**) (&(*Result).Field0), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info));
2229 	if ((*(*Result).Field0)._kind_6.sons) { nimGCunrefRC1((*(*Result).Field0)._kind_6.sons); (*(*Result).Field0)._kind_6.sons = NIM_NIL; }
2230 	n_2 = n;
2231 	{
2232 		while (1) {
2233 			NI T3_;
2234 			NI T4_;
2235 			if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA2;
2236 			add__closureiters_406((&(*(*Result).Field0)._kind_6.sons), (*n_2)._kind_6.sons->data, ((*n_2)._kind_6.sons ? (*n_2)._kind_6.sons->Sup.len : 0));
2237 			T3_ = (NI)0;
2238 			T3_ = len__ast_3198((*Result).Field0);
2239 			asgnRef((void**) (&(*(*Result).Field0)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*Result).Field0)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(T3_ - ((NI) 1))))));
2240 			T4_ = (NI)0;
2241 			T4_ = len__ast_3198(n_2);
2242 			n_2 = (*n_2)._kind_6.sons->data[(NI)(T4_ - ((NI) 1))];
2243 		} LA2: ;
2244 	}
2245 	unsureAsgnRef((void**) (&(*Result).Field1), n_2);
2246 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)2247 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2248 	NIM_BOOL result;
2249 	NIM_BOOL T1_;
2250 	result = (NIM_BOOL)0;
2251 	T1_ = (NIM_BOOL)0;
2252 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2253 	if (T1_) goto LA2_;
2254 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
2255 	LA2_: ;
2256 	result = T1_;
2257 	return result;
2258 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newEnvVar__closureiters_49)2259 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newEnvVar__closureiters_49)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NimStringDesc* name, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
2260 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2261 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
2262 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
2263 	result = NIM_NIL;
2264 	T1_ = NIM_NIL;
2265 	T1_ = getIdent__idents_143((*(*ctx).g).cache, name);
2266 	T2_ = nextSymId__ast_3132((*ctx).idgen);
2267 	result = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T1_, T2_, (*ctx).fn, (*(*ctx).fn).info, 0);
2268 	asgnRef((void**) (&(*result).typ), typ);
2269 	{
2270 		if (!!(((*ctx).stateVarSym == 0))) goto LA5_;
2271 		{
2272 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
2273 			if (!((*ctx).tempVars == 0)) goto LA9_;
2274 			unsureAsgnRef((void**) (&(*ctx).tempVars), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ctx).fn).info));
2275 			T11_ = NIM_NIL;
2276 			T11_ = newSymNode__ast_3716(result);
2277 			addVar__lowerings_63((*ctx).tempVars, T11_);
2278 		}
2279 		LA9_: ;
2280 	}
2281 	goto LA3_;
2282 	LA5_: ;
2283 	{
2284 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* envParam;
2285 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
2286 		envParam = getEnvParam__lambdalifting_131((*ctx).fn);
2287 		T13_ = NIM_NIL;
2288 		T13_ = lastSon__ast_3743((*envParam).typ);
2289 		result = addUniqueField__lowerings_443(T13_, result, (*(*ctx).g).cache, (*ctx).idgen);
2290 	}
2291 	LA3_: ;
2292 	return result;
2293 }
N_INLINE(void,nimCopyMem)2294 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2295 	void* T1_;
2296 	T1_ = (void*)0;
2297 	T1_ = memcpy(dest, source, ((size_t) (size)));
2298 }
N_INLINE(void,copyMem__system_1727)2299 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2300 	nimCopyMem(dest, source, size);
2301 }
N_INLINE(void,appendString)2302 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2303 	{
2304 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2305 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2306 		(*dest).Sup.len += (*src).Sup.len;
2307 	}
2308 	LA3_: ;
2309 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newTempVar__closureiters_167)2310 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newTempVar__closureiters_167)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
2311 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2312 	NimStringDesc* T1_;
2313 	NimStringDesc* T2_;
2314 	result = NIM_NIL;
2315 	T1_ = NIM_NIL;
2316 	T2_ = NIM_NIL;
2317 	T2_ = dollar___systemZdollars_3((*ctx).tempVarId);
2318 	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 11);
2319 appendString(T1_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_10));
2320 appendString(T1_, T2_);
2321 	result = newEnvVar__closureiters_49(ctx, T1_, typ);
2322 	(*ctx).tempVarId += ((NI) 1);
2323 	return result;
2324 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEnvVarAccess__closureiters_70)2325 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAccess__closureiters_70)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2326 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2327 	result = NIM_NIL;
2328 	{
2329 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
2330 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
2331 		if (!((*ctx).stateVarSym == 0)) goto LA3_;
2332 		T5_ = NIM_NIL;
2333 		T5_ = getEnvParam__lambdalifting_131((*ctx).fn);
2334 		T6_ = NIM_NIL;
2335 		T6_ = newSymNode__ast_3716(T5_);
2336 		result = rawIndirectAccess__lowerings_326(T6_, s, (*(*ctx).fn).info);
2337 	}
2338 	goto LA1_;
2339 	LA3_: ;
2340 	{
2341 		result = newSymNode__ast_3716(s);
2342 	}
2343 	LA1_: ;
2344 	return result;
2345 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEnvVarAsgn__closureiters_441)2346 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAsgn__closureiters_441)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v) {
2347 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2348 	result = NIM_NIL;
2349 	{
2350 		NIM_BOOL T3_;
2351 		T3_ = (NIM_BOOL)0;
2352 		T3_ = isEmptyType__ast_4779((*v).typ);
2353 		if (!T3_) goto LA4_;
2354 		result = v;
2355 	}
2356 	goto LA1_;
2357 	LA4_: ;
2358 	{
2359 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T7_;
2360 		nimZeroMem((void*)T7_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2361 		T7_[0] = newEnvVarAccess__closureiters_70(ctx, s);
2362 		T7_[1] = v;
2363 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T7_, 2);
2364 		(*result).info = (*v).info;
2365 	}
2366 	LA1_: ;
2367 	return result;
2368 }
N_NIMCALL(void,addExprAssgn__closureiters_446)2369 N_LIB_PRIVATE N_NIMCALL(void, addExprAssgn__closureiters_446)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* output, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* input, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
2370 	{
2371 		tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T5_;
2372 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st;
2373 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
2374 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
2375 		if (!((*input).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
2376 		nimZeroMem((void*)(&T5_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2377 		exprToStmtList__closureiters_385(input, (&T5_));
2378 		st = NIM_NIL;
2379 		st = T5_.Field0;
2380 		res = NIM_NIL;
2381 		res = T5_.Field1;
2382 		add__ast_4797(output, st);
2383 		T6_ = NIM_NIL;
2384 		T6_ = newEnvVarAsgn__closureiters_441(ctx, sym, res);
2385 		add__ast_4797(output, T6_);
2386 	}
2387 	goto LA1_;
2388 	LA3_: ;
2389 	{
2390 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
2391 		T8_ = NIM_NIL;
2392 		T8_ = newEnvVarAsgn__closureiters_441(ctx, sym, input);
2393 		add__ast_4797(output, T8_);
2394 	}
2395 	LA1_: ;
2396 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,convertExprBodyToAsgn__closureiters_469)2397 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, convertExprBodyToAsgn__closureiters_469)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprBody, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res) {
2398 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2399 	result = NIM_NIL;
2400 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*exprBody).info);
2401 	addExprAssgn__closureiters_446(ctx, result, exprBody, res);
2402 	return result;
2403 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newNotCall__closureiters_474)2404 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNotCall__closureiters_474)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
2405 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2406 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
2407 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
2408 	result = NIM_NIL;
2409 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2410 	T2_ = NIM_NIL;
2411 	T2_ = getSysMagic__magicsys_29(g, (*e).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_17), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
2412 	T1_[0] = newSymNode__ast_3719(T2_, (*e).info);
2413 	T1_[1] = e;
2414 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 2);
2415 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60(g, (*e).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
2416 	return result;
2417 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,lowerStmtListExprs__closureiters_478)2418 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerStmtListExprs__closureiters_478)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL* needsSplit) {
2419 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2420 	result = NIM_NIL;
2421 	result = n;
2422 	switch ((*n).kind) {
2423 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
2424 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
2425 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
2426 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
2427 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
2428 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
2429 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
2430 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
2431 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
2432 	{
2433 	}
2434 	break;
2435 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
2436 	{
2437 		NIM_BOOL ns;
2438 		ns = NIM_FALSE;
2439 		{
2440 			NI i;
2441 			NI colontmp_;
2442 			NI i_2;
2443 			i = (NI)0;
2444 			colontmp_ = (NI)0;
2445 			colontmp_ = len__ast_3198(n);
2446 			i_2 = ((NI) 0);
2447 			{
2448 				while (1) {
2449 					if (!(i_2 < colontmp_)) goto LA5;
2450 					i = i_2;
2451 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i], (&ns)));
2452 					i_2 += ((NI) 1);
2453 				} LA5: ;
2454 			}
2455 		}
2456 		{
2457 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T10_;
2458 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st;
2459 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex;
2460 			if (!ns) goto LA8_;
2461 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2462 			nimZeroMem((void*)(&T10_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2463 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T10_));
2464 			st = NIM_NIL;
2465 			st = T10_.Field0;
2466 			ex = NIM_NIL;
2467 			ex = T10_.Field1;
2468 			add__ast_4797(result, st);
2469 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex);
2470 			add__ast_4797(result, n);
2471 		}
2472 		LA8_: ;
2473 		(*needsSplit) = NIM_TRUE;
2474 	}
2475 	break;
2476 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
2477 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
2478 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
2479 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
2480 	{
2481 		NIM_BOOL ns_2;
2482 		ns_2 = NIM_FALSE;
2483 		{
2484 			NI i_3;
2485 			NI colontmp__2;
2486 			NI i_4;
2487 			i_3 = (NI)0;
2488 			colontmp__2 = (NI)0;
2489 			colontmp__2 = len__ast_3198(n);
2490 			i_4 = ((NI) 0);
2491 			{
2492 				while (1) {
2493 					if (!(i_4 < colontmp__2)) goto LA14;
2494 					i_3 = i_4;
2495 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_3], (&ns_2)));
2496 					i_4 += ((NI) 1);
2497 				} LA14: ;
2498 			}
2499 		}
2500 		{
2501 			if (!ns_2) goto LA17_;
2502 			(*needsSplit) = NIM_TRUE;
2503 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2504 			{
2505 				if (!((*n).typ == 0)) goto LA21_;
2506 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_8), TM__slVvvIjx75ivXdMpHiE9c9aQ_9);
2507 			}
2508 			LA21_: ;
2509 			asgnRef((void**) (&(*result).typ), (*n).typ);
2510 			{
2511 				NI i_5;
2512 				NI colontmp__3;
2513 				NI i_6;
2514 				i_5 = (NI)0;
2515 				colontmp__3 = (NI)0;
2516 				colontmp__3 = len__ast_3198(n);
2517 				i_6 = ((NI) 0);
2518 				{
2519 					while (1) {
2520 						if (!(i_6 < colontmp__3)) goto LA25;
2521 						i_5 = i_6;
2522 						switch ((*(*n)._kind_6.sons->data[i_5]).kind) {
2523 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
2524 						{
2525 							{
2526 								tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T31_;
2527 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_2;
2528 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_2;
2529 								if (!((*(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA29_;
2530 								nimZeroMem((void*)(&T31_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2531 								exprToStmtList__closureiters_385((*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)], (&T31_));
2532 								st_2 = NIM_NIL;
2533 								st_2 = T31_.Field0;
2534 								ex_2 = NIM_NIL;
2535 								ex_2 = T31_.Field1;
2536 								add__ast_4797(result, st_2);
2537 								asgnRef((void**) (&(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]), ex_2);
2538 							}
2539 							LA29_: ;
2540 						}
2541 						break;
2542 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
2543 						{
2544 							tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T33_;
2545 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_3;
2546 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_3;
2547 							nimZeroMem((void*)(&T33_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2548 							exprToStmtList__closureiters_385((*n)._kind_6.sons->data[i_5], (&T33_));
2549 							st_3 = NIM_NIL;
2550 							st_3 = T33_.Field0;
2551 							ex_3 = NIM_NIL;
2552 							ex_3 = T33_.Field1;
2553 							add__ast_4797(result, st_3);
2554 							asgnRef((void**) (&(*n)._kind_6.sons->data[i_5]), ex_3);
2555 						}
2556 						break;
2557 						default:
2558 						{
2559 						}
2560 						break;
2561 						}
2562 						i_6 += ((NI) 1);
2563 					} LA25: ;
2564 				}
2565 			}
2566 			add__ast_4797(result, n);
2567 		}
2568 		LA17_: ;
2569 	}
2570 	break;
2571 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
2572 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
2573 	{
2574 		NIM_BOOL ns_3;
2575 		ns_3 = NIM_FALSE;
2576 		{
2577 			NI i_7;
2578 			NI colontmp__4;
2579 			NI i_8;
2580 			i_7 = (NI)0;
2581 			colontmp__4 = (NI)0;
2582 			colontmp__4 = len__ast_3198(n);
2583 			i_8 = ((NI) 0);
2584 			{
2585 				while (1) {
2586 					if (!(i_8 < colontmp__4)) goto LA38;
2587 					i_7 = i_8;
2588 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_7]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_7], (&ns_3)));
2589 					i_8 += ((NI) 1);
2590 				} LA38: ;
2591 			}
2592 		}
2593 		{
2594 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp;
2595 			NIM_BOOL isExpr;
2596 			NIM_BOOL T43_;
2597 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curS;
2598 			if (!ns_3) goto LA41_;
2599 			(*needsSplit) = NIM_TRUE;
2600 			tmp = NIM_NIL;
2601 			T43_ = (NIM_BOOL)0;
2602 			T43_ = isEmptyType__ast_4779((*n).typ);
2603 			isExpr = !(T43_);
2604 			{
2605 				if (!isExpr) goto LA46_;
2606 				tmp = newTempVar__closureiters_167(ctx, (*n).typ);
2607 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2608 				asgnRef((void**) (&(*result).typ), (*n).typ);
2609 			}
2610 			goto LA44_;
2611 			LA46_: ;
2612 			{
2613 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2614 			}
2615 			LA44_: ;
2616 			curS = result;
2617 			{
2618 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
2619 				branch = NIM_NIL;
2620 				{
2621 					NI i_9;
2622 					NI colontmp__5;
2623 					NI i_10;
2624 					i_9 = (NI)0;
2625 					colontmp__5 = (NI)0;
2626 					colontmp__5 = safeLen__ast_3191(n);
2627 					i_10 = ((NI) 0);
2628 					{
2629 						while (1) {
2630 							if (!(i_10 < colontmp__5)) goto LA52;
2631 							i_9 = i_10;
2632 							branch = (*n)._kind_6.sons->data[i_9];
2633 							switch ((*branch).kind) {
2634 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
2635 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2636 							{
2637 								{
2638 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody;
2639 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBranch;
2640 									tyArray__jlWPjgtbdjE069arIWHC9c9bg T58_;
2641 									if (!isExpr) goto LA56_;
2642 									branchBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*branch).info);
2643 									addExprAssgn__closureiters_446((&(*ctx)), branchBody, (*branch)._kind_6.sons->data[((NI) 0)], tmp);
2644 									nimZeroMem((void*)T58_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2645 									T58_[0] = branchBody;
2646 									newBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T58_, 1);
2647 									add__ast_4797(curS, newBranch);
2648 								}
2649 								goto LA54_;
2650 								LA56_: ;
2651 								{
2652 									add__ast_4797(curS, branch);
2653 								}
2654 								LA54_: ;
2655 							}
2656 							break;
2657 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
2658 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
2659 							{
2660 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBranch_2;
2661 								newBranch_2 = NIM_NIL;
2662 								{
2663 									tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T65_;
2664 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_4;
2665 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
2666 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBody;
2667 									tyArray__jlWPjgtbdjE069arIWHC9c9bg T66_;
2668 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T67_;
2669 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newIf;
2670 									tyArray__jlWPjgtbdjE069arIWHC9c9bg T68_;
2671 									if (!((*(*branch)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA63_;
2672 									nimZeroMem((void*)(&T65_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2673 									exprToStmtList__closureiters_385((*branch)._kind_6.sons->data[((NI) 0)], (&T65_));
2674 									st_4 = NIM_NIL;
2675 									st_4 = T65_.Field0;
2676 									res = NIM_NIL;
2677 									res = T65_.Field1;
2678 									nimZeroMem((void*)T66_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2679 									T66_[0] = st_4;
2680 									elseBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T66_, 1);
2681 									nimZeroMem((void*)T67_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2682 									T67_[0] = res;
2683 									T67_[1] = (*branch)._kind_6.sons->data[((NI) 1)];
2684 									newBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T67_, 2);
2685 									nimZeroMem((void*)T68_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2686 									T68_[0] = newBranch_2;
2687 									newIf = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T68_, 1);
2688 									add__ast_4797(elseBody, newIf);
2689 									{
2690 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newElse;
2691 										if (!((*curS).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92))) goto LA71_;
2692 										newElse = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (*branch).info);
2693 										add__ast_4797(newElse, elseBody);
2694 										add__ast_4797(curS, newElse);
2695 									}
2696 									goto LA69_;
2697 									LA71_: ;
2698 									{
2699 										add__ast_4797(curS, elseBody);
2700 									}
2701 									LA69_: ;
2702 									curS = newIf;
2703 								}
2704 								goto LA61_;
2705 								LA63_: ;
2706 								{
2707 									newBranch_2 = branch;
2708 									{
2709 										if (!((*curS).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92))) goto LA77_;
2710 										add__ast_4797(curS, newBranch_2);
2711 									}
2712 									goto LA75_;
2713 									LA77_: ;
2714 									{
2715 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newIf_2;
2716 										tyArray__jlWPjgtbdjE069arIWHC9c9bg T80_;
2717 										nimZeroMem((void*)T80_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2718 										T80_[0] = newBranch_2;
2719 										newIf_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T80_, 1);
2720 										add__ast_4797(curS, newIf_2);
2721 										curS = newIf_2;
2722 									}
2723 									LA75_: ;
2724 								}
2725 								LA61_: ;
2726 								{
2727 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody_2;
2728 									if (!isExpr) goto LA83_;
2729 									branchBody_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*branch)._kind_6.sons->data[((NI) 1)]).info);
2730 									addExprAssgn__closureiters_446((&(*ctx)), branchBody_2, (*branch)._kind_6.sons->data[((NI) 1)], tmp);
2731 									asgnRef((void**) (&(*newBranch_2)._kind_6.sons->data[((NI) 1)]), branchBody_2);
2732 								}
2733 								LA83_: ;
2734 							}
2735 							break;
2736 							default:
2737 							{
2738 								NimStringDesc* T86_;
2739 								T86_ = NIM_NIL;
2740 								T86_ = rawNewString((reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 25);
2741 appendString(T86_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_11));
2742 appendString(T86_, reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
2743 								internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T86_, TM__slVvvIjx75ivXdMpHiE9c9aQ_12);
2744 							}
2745 							break;
2746 							}
2747 							i_10 += ((NI) 1);
2748 						} LA52: ;
2749 					}
2750 				}
2751 			}
2752 			{
2753 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T91_;
2754 				if (!isExpr) goto LA89_;
2755 				T91_ = NIM_NIL;
2756 				T91_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp);
2757 				add__ast_4797(result, T91_);
2758 			}
2759 			LA89_: ;
2760 		}
2761 		LA41_: ;
2762 	}
2763 	break;
2764 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
2765 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
2766 	{
2767 		NIM_BOOL ns_4;
2768 		ns_4 = NIM_FALSE;
2769 		{
2770 			NI i_11;
2771 			NI colontmp__6;
2772 			NI i_12;
2773 			i_11 = (NI)0;
2774 			colontmp__6 = (NI)0;
2775 			colontmp__6 = len__ast_3198(n);
2776 			i_12 = ((NI) 0);
2777 			{
2778 				while (1) {
2779 					if (!(i_12 < colontmp__6)) goto LA95;
2780 					i_11 = i_12;
2781 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_11]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_11], (&ns_4)));
2782 					i_12 += ((NI) 1);
2783 				} LA95: ;
2784 			}
2785 		}
2786 		{
2787 			NIM_BOOL isExpr_2;
2788 			NIM_BOOL T100_;
2789 			if (!ns_4) goto LA98_;
2790 			(*needsSplit) = NIM_TRUE;
2791 			T100_ = (NIM_BOOL)0;
2792 			T100_ = isEmptyType__ast_4779((*n).typ);
2793 			isExpr_2 = !(T100_);
2794 			{
2795 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_2;
2796 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T117_;
2797 				if (!isExpr_2) goto LA103_;
2798 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2799 				asgnRef((void**) (&(*result).typ), (*n).typ);
2800 				tmp_2 = newTempVar__closureiters_167(ctx, (*n).typ);
2801 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*n)._kind_6.sons->data[((NI) 0)], tmp_2));
2802 				{
2803 					NI i_13;
2804 					NI colontmp__7;
2805 					NI i_14;
2806 					i_13 = (NI)0;
2807 					colontmp__7 = (NI)0;
2808 					colontmp__7 = len__ast_3198(n);
2809 					i_14 = ((NI) 1);
2810 					{
2811 						while (1) {
2812 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_2;
2813 							if (!(i_14 < colontmp__7)) goto LA107;
2814 							i_13 = i_14;
2815 							branch_2 = (*n)._kind_6.sons->data[i_13];
2816 							switch ((*branch_2).kind) {
2817 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87):
2818 							{
2819 								{
2820 									if (!((*(*branch_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4))) goto LA111_;
2821 									asgnRef((void**) (&(*branch_2)._kind_6.sons->data[((NI) 1)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_2)._kind_6.sons->data[((NI) 1)], tmp_2));
2822 								}
2823 								goto LA109_;
2824 								LA111_: ;
2825 								{
2826 									asgnRef((void**) (&(*branch_2)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_2)._kind_6.sons->data[((NI) 0)], tmp_2));
2827 								}
2828 								LA109_: ;
2829 							}
2830 							break;
2831 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107):
2832 							{
2833 							}
2834 							break;
2835 							default:
2836 							{
2837 								NimStringDesc* T116_;
2838 								T116_ = NIM_NIL;
2839 								T116_ = rawNewString((reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 30);
2840 appendString(T116_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_13));
2841 appendString(T116_, reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
2842 								internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T116_, TM__slVvvIjx75ivXdMpHiE9c9aQ_14);
2843 							}
2844 							break;
2845 							}
2846 							i_14 += ((NI) 1);
2847 						} LA107: ;
2848 					}
2849 				}
2850 				add__ast_4797(result, n);
2851 				T117_ = NIM_NIL;
2852 				T117_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_2);
2853 				add__ast_4797(result, T117_);
2854 			}
2855 			LA103_: ;
2856 		}
2857 		LA98_: ;
2858 	}
2859 	break;
2860 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
2861 	{
2862 		NIM_BOOL ns_5;
2863 		ns_5 = NIM_FALSE;
2864 		{
2865 			NI i_15;
2866 			NI colontmp__8;
2867 			NI i_16;
2868 			i_15 = (NI)0;
2869 			colontmp__8 = (NI)0;
2870 			colontmp__8 = len__ast_3198(n);
2871 			i_16 = ((NI) 0);
2872 			{
2873 				while (1) {
2874 					if (!(i_16 < colontmp__8)) goto LA121;
2875 					i_15 = i_16;
2876 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_15]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_15], (&ns_5)));
2877 					i_16 += ((NI) 1);
2878 				} LA121: ;
2879 			}
2880 		}
2881 		{
2882 			NIM_BOOL isExpr_3;
2883 			NIM_BOOL T126_;
2884 			if (!ns_5) goto LA124_;
2885 			(*needsSplit) = NIM_TRUE;
2886 			T126_ = (NIM_BOOL)0;
2887 			T126_ = isEmptyType__ast_4779((*n).typ);
2888 			isExpr_3 = !(T126_);
2889 			{
2890 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_3;
2891 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T145_;
2892 				if (!isExpr_3) goto LA129_;
2893 				tmp_3 = newTempVar__closureiters_167(ctx, (*n).typ);
2894 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2895 				asgnRef((void**) (&(*result).typ), (*n).typ);
2896 				{
2897 					tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T135_;
2898 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_5;
2899 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_4;
2900 					if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA133_;
2901 					nimZeroMem((void*)(&T135_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2902 					exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T135_));
2903 					st_5 = NIM_NIL;
2904 					st_5 = T135_.Field0;
2905 					ex_4 = NIM_NIL;
2906 					ex_4 = T135_.Field1;
2907 					add__ast_4797(result, st_5);
2908 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_4);
2909 				}
2910 				LA133_: ;
2911 				{
2912 					NI i_17;
2913 					NI colontmp__9;
2914 					NI i_18;
2915 					i_17 = (NI)0;
2916 					colontmp__9 = (NI)0;
2917 					colontmp__9 = len__ast_3198(n);
2918 					i_18 = ((NI) 1);
2919 					{
2920 						while (1) {
2921 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_3;
2922 							if (!(i_18 < colontmp__9)) goto LA138;
2923 							i_17 = i_18;
2924 							branch_3 = (*n)._kind_6.sons->data[i_17];
2925 							switch ((*branch_3).kind) {
2926 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
2927 							{
2928 								NI T140_;
2929 								NI T141_;
2930 								T140_ = (NI)0;
2931 								T140_ = len__ast_3198(branch_3);
2932 								T141_ = (NI)0;
2933 								T141_ = len__ast_3198(branch_3);
2934 								asgnRef((void**) (&(*branch_3)._kind_6.sons->data[(NI)(T140_ - ((NI) 1))]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_3)._kind_6.sons->data[(NI)(T141_ - ((NI) 1))], tmp_3));
2935 							}
2936 							break;
2937 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2938 							{
2939 								asgnRef((void**) (&(*branch_3)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_3)._kind_6.sons->data[((NI) 0)], tmp_3));
2940 							}
2941 							break;
2942 							default:
2943 							{
2944 								NimStringDesc* T144_;
2945 								T144_ = NIM_NIL;
2946 								T144_ = rawNewString((reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 31);
2947 appendString(T144_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_15));
2948 appendString(T144_, reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
2949 								internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T144_, TM__slVvvIjx75ivXdMpHiE9c9aQ_16);
2950 							}
2951 							break;
2952 							}
2953 							i_18 += ((NI) 1);
2954 						} LA138: ;
2955 					}
2956 				}
2957 				add__ast_4797(result, n);
2958 				T145_ = NIM_NIL;
2959 				T145_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_3);
2960 				add__ast_4797(result, T145_);
2961 			}
2962 			goto LA127_;
2963 			LA129_: ;
2964 			{
2965 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T149_;
2966 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_6;
2967 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_5;
2968 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA147_;
2969 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2970 				nimZeroMem((void*)(&T149_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2971 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T149_));
2972 				st_6 = NIM_NIL;
2973 				st_6 = T149_.Field0;
2974 				ex_5 = NIM_NIL;
2975 				ex_5 = T149_.Field1;
2976 				add__ast_4797(result, st_6);
2977 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_5);
2978 				add__ast_4797(result, n);
2979 			}
2980 			goto LA127_;
2981 			LA147_: ;
2982 			LA127_: ;
2983 		}
2984 		LA124_: ;
2985 	}
2986 	break;
2987 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
2988 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
2989 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
2990 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
2991 	{
2992 		NIM_BOOL ns_6;
2993 		ns_6 = NIM_FALSE;
2994 		{
2995 			NI i_19;
2996 			NI colontmp__10;
2997 			NI i_20;
2998 			i_19 = (NI)0;
2999 			colontmp__10 = (NI)0;
3000 			colontmp__10 = len__ast_3198(n);
3001 			i_20 = ((NI) 0);
3002 			{
3003 				while (1) {
3004 					if (!(i_20 < colontmp__10)) goto LA153;
3005 					i_19 = i_20;
3006 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_19]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_19], (&ns_6)));
3007 					i_20 += ((NI) 1);
3008 				} LA153: ;
3009 			}
3010 		}
3011 		{
3012 			NIM_BOOL isExpr_4;
3013 			NIM_BOOL T158_;
3014 			if (!ns_6) goto LA156_;
3015 			(*needsSplit) = NIM_TRUE;
3016 			T158_ = (NIM_BOOL)0;
3017 			T158_ = isEmptyType__ast_4779((*n).typ);
3018 			isExpr_4 = !(T158_);
3019 			{
3020 				if (!isExpr_4) goto LA161_;
3021 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3022 				asgnRef((void**) (&(*result).typ), (*n).typ);
3023 			}
3024 			goto LA159_;
3025 			LA161_: ;
3026 			{
3027 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3028 			}
3029 			LA159_: ;
3030 			{
3031 				NIM_BOOL T166_;
3032 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
3033 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_4;
3034 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T175_;
3035 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
3036 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBody;
3037 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T185_;
3038 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
3039 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T186_;
3040 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifNode;
3041 				tyArray__jlWPjgtbdjE069arIWHC9c9bg T187_;
3042 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T188_;
3043 				T166_ = (NIM_BOOL)0;
3044 				T166_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3045 				if (!(T166_)) goto LA167_;
3046 				T166_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110));
3047 				LA167_: ;
3048 				if (!T166_) goto LA168_;
3049 				cond = (*n)._kind_6.sons->data[((NI) 1)];
3050 				{
3051 					tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T174_;
3052 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_7;
3053 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_6;
3054 					if (!((*cond).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA172_;
3055 					nimZeroMem((void*)(&T174_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3056 					exprToStmtList__closureiters_385(cond, (&T174_));
3057 					st_7 = NIM_NIL;
3058 					st_7 = T174_.Field0;
3059 					ex_6 = NIM_NIL;
3060 					ex_6 = T174_.Field1;
3061 					add__ast_4797(result, st_7);
3062 					cond = ex_6;
3063 				}
3064 				LA172_: ;
3065 				tmp_4 = newTempVar__closureiters_167(ctx, (*cond).typ);
3066 				T175_ = NIM_NIL;
3067 				T175_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_4, cond);
3068 				add__ast_4797(result, T175_);
3069 				check = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_4);
3070 				{
3071 					if (!((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110))) goto LA178_;
3072 					check = newNotCall__closureiters_474((*ctx).g, check);
3073 				}
3074 				LA178_: ;
3075 				cond = (*n)._kind_6.sons->data[((NI) 2)];
3076 				ifBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*cond).info);
3077 				{
3078 					tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T184_;
3079 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_8;
3080 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_7;
3081 					if (!((*cond).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA182_;
3082 					nimZeroMem((void*)(&T184_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3083 					exprToStmtList__closureiters_385(cond, (&T184_));
3084 					st_8 = NIM_NIL;
3085 					st_8 = T184_.Field0;
3086 					ex_7 = NIM_NIL;
3087 					ex_7 = T184_.Field1;
3088 					add__ast_4797(ifBody, st_8);
3089 					cond = ex_7;
3090 				}
3091 				LA182_: ;
3092 				T185_ = NIM_NIL;
3093 				T185_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_4, cond);
3094 				add__ast_4797(ifBody, T185_);
3095 				nimZeroMem((void*)T186_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3096 				T186_[0] = check;
3097 				T186_[1] = ifBody;
3098 				ifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T186_, 2);
3099 				nimZeroMem((void*)T187_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3100 				T187_[0] = ifBranch;
3101 				ifNode = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T187_, 1);
3102 				add__ast_4797(result, ifNode);
3103 				T188_ = NIM_NIL;
3104 				T188_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_4);
3105 				add__ast_4797(result, T188_);
3106 			}
3107 			goto LA164_;
3108 			LA168_: ;
3109 			{
3110 				{
3111 					NI i_21;
3112 					NI colontmp__11;
3113 					NI i_22;
3114 					i_21 = (NI)0;
3115 					colontmp__11 = (NI)0;
3116 					colontmp__11 = len__ast_3198(n);
3117 					i_22 = ((NI) 0);
3118 					{
3119 						while (1) {
3120 							if (!(i_22 < colontmp__11)) goto LA192;
3121 							i_21 = i_22;
3122 							{
3123 								tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T197_;
3124 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_9;
3125 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_8;
3126 								if (!((*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA195_;
3127 								nimZeroMem((void*)(&T197_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3128 								exprToStmtList__closureiters_385((*n)._kind_6.sons->data[i_21], (&T197_));
3129 								st_9 = NIM_NIL;
3130 								st_9 = T197_.Field0;
3131 								ex_8 = NIM_NIL;
3132 								ex_8 = T197_.Field1;
3133 								add__ast_4797(result, st_9);
3134 								asgnRef((void**) (&(*n)._kind_6.sons->data[i_21]), ex_8);
3135 							}
3136 							LA195_: ;
3137 							{
3138 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_5;
3139 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T202_;
3140 								if (!((*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA200_;
3141 								tmp_5 = newTempVar__closureiters_167(ctx, (*(*n)._kind_6.sons->data[i_21]).typ);
3142 								T202_ = NIM_NIL;
3143 								T202_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_5, (*n)._kind_6.sons->data[i_21]);
3144 								add__ast_4797(result, T202_);
3145 								asgnRef((void**) (&(*n)._kind_6.sons->data[i_21]), newEnvVarAccess__closureiters_70((&(*ctx)), tmp_5));
3146 							}
3147 							LA200_: ;
3148 							i_22 += ((NI) 1);
3149 						} LA192: ;
3150 					}
3151 				}
3152 				add__ast_4797(result, n);
3153 			}
3154 			LA164_: ;
3155 		}
3156 		LA156_: ;
3157 	}
3158 	break;
3159 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
3160 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
3161 	{
3162 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3163 		{
3164 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3165 			c = NIM_NIL;
3166 			{
3167 				NI i_23;
3168 				NI colontmp__12;
3169 				NI i_24;
3170 				i_23 = (NI)0;
3171 				colontmp__12 = (NI)0;
3172 				colontmp__12 = safeLen__ast_3191(n);
3173 				i_24 = ((NI) 0);
3174 				{
3175 					while (1) {
3176 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSect;
3177 						NIM_BOOL ns_7;
3178 						NI T208_;
3179 						NI T209_;
3180 						if (!(i_24 < colontmp__12)) goto LA207;
3181 						i_23 = i_24;
3182 						c = (*n)._kind_6.sons->data[i_23];
3183 						varSect = newNodeI__ast_3356((*n).kind, (*n).info);
3184 						add__ast_4797(varSect, c);
3185 						ns_7 = NIM_FALSE;
3186 						T208_ = (NI)0;
3187 						T208_ = len__ast_3198(c);
3188 						T209_ = (NI)0;
3189 						T209_ = len__ast_3198(c);
3190 						asgnRef((void**) (&(*c)._kind_6.sons->data[(NI)(T208_ - ((NI) 1))]), lowerStmtListExprs__closureiters_478(ctx, (*c)._kind_6.sons->data[(NI)(T209_ - ((NI) 1))], (&ns_7)));
3191 						{
3192 							NI T214_;
3193 							tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T215_;
3194 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_10;
3195 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_9;
3196 							NI T216_;
3197 							if (!ns_7) goto LA212_;
3198 							(*needsSplit) = NIM_TRUE;
3199 							T214_ = (NI)0;
3200 							T214_ = len__ast_3198(c);
3201 							nimZeroMem((void*)(&T215_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3202 							exprToStmtList__closureiters_385((*c)._kind_6.sons->data[(NI)(T214_ - ((NI) 1))], (&T215_));
3203 							st_10 = NIM_NIL;
3204 							st_10 = T215_.Field0;
3205 							ex_9 = NIM_NIL;
3206 							ex_9 = T215_.Field1;
3207 							add__ast_4797(result, st_10);
3208 							T216_ = (NI)0;
3209 							T216_ = len__ast_3198(c);
3210 							asgnRef((void**) (&(*c)._kind_6.sons->data[(NI)(T216_ - ((NI) 1))]), ex_9);
3211 						}
3212 						LA212_: ;
3213 						add__ast_4797(result, varSect);
3214 						i_24 += ((NI) 1);
3215 					} LA207: ;
3216 				}
3217 			}
3218 		}
3219 	}
3220 	break;
3221 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
3222 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
3223 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
3224 	{
3225 		NIM_BOOL ns_8;
3226 		ns_8 = NIM_FALSE;
3227 		{
3228 			NI i_25;
3229 			NI colontmp__13;
3230 			NI i_26;
3231 			i_25 = (NI)0;
3232 			colontmp__13 = (NI)0;
3233 			colontmp__13 = len__ast_3198(n);
3234 			i_26 = ((NI) 0);
3235 			{
3236 				while (1) {
3237 					if (!(i_26 < colontmp__13)) goto LA220;
3238 					i_25 = i_26;
3239 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_25]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_25], (&ns_8)));
3240 					i_26 += ((NI) 1);
3241 				} LA220: ;
3242 			}
3243 		}
3244 		{
3245 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T225_;
3246 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_11;
3247 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_10;
3248 			if (!ns_8) goto LA223_;
3249 			(*needsSplit) = NIM_TRUE;
3250 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3251 			nimZeroMem((void*)(&T225_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3252 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T225_));
3253 			st_11 = NIM_NIL;
3254 			st_11 = T225_.Field0;
3255 			ex_10 = NIM_NIL;
3256 			ex_10 = T225_.Field1;
3257 			add__ast_4797(result, st_11);
3258 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_10);
3259 			add__ast_4797(result, n);
3260 		}
3261 		LA223_: ;
3262 	}
3263 	break;
3264 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
3265 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
3266 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
3267 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
3268 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
3269 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
3270 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
3271 	{
3272 		NIM_BOOL ns_9;
3273 		ns_9 = NIM_FALSE;
3274 		{
3275 			NI i_27;
3276 			NI colontmp__14;
3277 			NI colontmp__15;
3278 			NI i_28;
3279 			i_27 = (NI)0;
3280 			colontmp__14 = (NI)0;
3281 			colontmp__15 = (NI)0;
3282 			colontmp__14 = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61));
3283 			colontmp__15 = len__ast_3198(n);
3284 			i_28 = colontmp__14;
3285 			{
3286 				while (1) {
3287 					if (!(i_28 < colontmp__15)) goto LA229;
3288 					i_27 = i_28;
3289 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_27]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_27], (&ns_9)));
3290 					i_28 += ((NI) 1);
3291 				} LA229: ;
3292 			}
3293 		}
3294 		{
3295 			NI T234_;
3296 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T235_;
3297 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_12;
3298 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_11;
3299 			NI T236_;
3300 			if (!ns_9) goto LA232_;
3301 			(*needsSplit) = NIM_TRUE;
3302 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3303 			asgnRef((void**) (&(*result).typ), (*n).typ);
3304 			T234_ = (NI)0;
3305 			T234_ = len__ast_3198(n);
3306 			nimZeroMem((void*)(&T235_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3307 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[(NI)(T234_ - ((NI) 1))], (&T235_));
3308 			st_12 = NIM_NIL;
3309 			st_12 = T235_.Field0;
3310 			ex_11 = NIM_NIL;
3311 			ex_11 = T235_.Field1;
3312 			add__ast_4797(result, st_12);
3313 			T236_ = (NI)0;
3314 			T236_ = len__ast_3198(n);
3315 			asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T236_ - ((NI) 1))]), ex_11);
3316 			add__ast_4797(result, n);
3317 		}
3318 		LA232_: ;
3319 	}
3320 	break;
3321 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
3322 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
3323 	{
3324 		NIM_BOOL ns_10;
3325 		ns_10 = NIM_FALSE;
3326 		{
3327 			NI i_29;
3328 			NI colontmp__16;
3329 			NI i_30;
3330 			i_29 = (NI)0;
3331 			colontmp__16 = (NI)0;
3332 			colontmp__16 = len__ast_3198(n);
3333 			i_30 = ((NI) 0);
3334 			{
3335 				while (1) {
3336 					if (!(i_30 < colontmp__16)) goto LA240;
3337 					i_29 = i_30;
3338 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_29]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_29], (&ns_10)));
3339 					i_30 += ((NI) 1);
3340 				} LA240: ;
3341 			}
3342 		}
3343 		{
3344 			if (!ns_10) goto LA243_;
3345 			(*needsSplit) = NIM_TRUE;
3346 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3347 			{
3348 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T249_;
3349 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_13;
3350 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_12;
3351 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA247_;
3352 				nimZeroMem((void*)(&T249_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3353 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T249_));
3354 				st_13 = NIM_NIL;
3355 				st_13 = T249_.Field0;
3356 				ex_12 = NIM_NIL;
3357 				ex_12 = T249_.Field1;
3358 				add__ast_4797(result, st_13);
3359 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_12);
3360 			}
3361 			LA247_: ;
3362 			{
3363 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T254_;
3364 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_14;
3365 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_13;
3366 				if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA252_;
3367 				nimZeroMem((void*)(&T254_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3368 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T254_));
3369 				st_14 = NIM_NIL;
3370 				st_14 = T254_.Field0;
3371 				ex_13 = NIM_NIL;
3372 				ex_13 = T254_.Field1;
3373 				add__ast_4797(result, st_14);
3374 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), ex_13);
3375 			}
3376 			LA252_: ;
3377 			add__ast_4797(result, n);
3378 		}
3379 		LA243_: ;
3380 	}
3381 	break;
3382 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
3383 	{
3384 		NIM_BOOL lhsNeedsSplit;
3385 		NIM_BOOL rhsNeedsSplit;
3386 		lhsNeedsSplit = NIM_FALSE;
3387 		rhsNeedsSplit = NIM_FALSE;
3388 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&lhsNeedsSplit)));
3389 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&rhsNeedsSplit)));
3390 		{
3391 			NIM_BOOL T258_;
3392 			T258_ = (NIM_BOOL)0;
3393 			T258_ = lhsNeedsSplit;
3394 			if (T258_) goto LA259_;
3395 			T258_ = rhsNeedsSplit;
3396 			LA259_: ;
3397 			if (!T258_) goto LA260_;
3398 			(*needsSplit) = NIM_TRUE;
3399 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3400 			{
3401 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T266_;
3402 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_15;
3403 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_14;
3404 				if (!lhsNeedsSplit) goto LA264_;
3405 				nimZeroMem((void*)(&T266_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3406 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T266_));
3407 				st_15 = NIM_NIL;
3408 				st_15 = T266_.Field0;
3409 				ex_14 = NIM_NIL;
3410 				ex_14 = T266_.Field1;
3411 				add__ast_4797(result, st_15);
3412 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_14);
3413 			}
3414 			LA264_: ;
3415 			{
3416 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T271_;
3417 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_16;
3418 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_15;
3419 				if (!rhsNeedsSplit) goto LA269_;
3420 				nimZeroMem((void*)(&T271_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3421 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T271_));
3422 				st_16 = NIM_NIL;
3423 				st_16 = T271_.Field0;
3424 				ex_15 = NIM_NIL;
3425 				ex_15 = T271_.Field1;
3426 				add__ast_4797(result, st_16);
3427 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), ex_15);
3428 			}
3429 			LA269_: ;
3430 			add__ast_4797(result, n);
3431 		}
3432 		LA260_: ;
3433 	}
3434 	break;
3435 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3436 	{
3437 		NIM_BOOL condNeedsSplit;
3438 		NIM_BOOL bodyNeedsSplit;
3439 		condNeedsSplit = NIM_FALSE;
3440 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&condNeedsSplit)));
3441 		bodyNeedsSplit = NIM_FALSE;
3442 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&bodyNeedsSplit)));
3443 		{
3444 			NIM_BOOL T275_;
3445 			T275_ = (NIM_BOOL)0;
3446 			T275_ = condNeedsSplit;
3447 			if (T275_) goto LA276_;
3448 			T275_ = bodyNeedsSplit;
3449 			LA276_: ;
3450 			if (!T275_) goto LA277_;
3451 			(*needsSplit) = NIM_TRUE;
3452 			{
3453 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T283_;
3454 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_17;
3455 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_16;
3456 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* brk;
3457 				tyArray__jlWPjgtbdjE069arIWHC9c9bg T284_;
3458 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_4;
3459 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T285_;
3460 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check_2;
3461 				tyArray__jlWPjgtbdjE069arIWHC9c9bg T286_;
3462 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBody;
3463 				tyArray__T6RKPw8xfAeNaoei9aZGzXg T287_;
3464 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T288_;
3465 				if (!condNeedsSplit) goto LA281_;
3466 				nimZeroMem((void*)(&T283_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3467 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T283_));
3468 				st_17 = NIM_NIL;
3469 				st_17 = T283_.Field0;
3470 				ex_16 = NIM_NIL;
3471 				ex_16 = T283_.Field1;
3472 				nimZeroMem((void*)T284_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3473 				T284_[0] = (*(*ctx).g).emptyNode;
3474 				brk = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), T284_, 1);
3475 				nimZeroMem((void*)T285_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3476 				T285_[0] = newNotCall__closureiters_474((*ctx).g, ex_16);
3477 				T285_[1] = brk;
3478 				branch_4 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T285_, 2);
3479 				nimZeroMem((void*)T286_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3480 				T286_[0] = branch_4;
3481 				check_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T286_, 1);
3482 				nimZeroMem((void*)T287_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3483 				T287_[0] = st_17;
3484 				T287_[1] = check_2;
3485 				T287_[2] = (*n)._kind_6.sons->data[((NI) 1)];
3486 				newBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T287_, 3);
3487 				T288_ = NIM_NIL;
3488 				T288_ = getSysSym__magicsys_16((*ctx).g, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_18));
3489 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(T288_));
3490 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newBody);
3491 			}
3492 			LA281_: ;
3493 		}
3494 		LA277_: ;
3495 	}
3496 	break;
3497 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
3498 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
3499 	{
3500 		NIM_BOOL ns_11;
3501 		ns_11 = NIM_FALSE;
3502 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&ns_11)));
3503 		{
3504 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T294_;
3505 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_18;
3506 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_17;
3507 			if (!ns_11) goto LA292_;
3508 			(*needsSplit) = NIM_TRUE;
3509 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3510 			asgnRef((void**) (&(*result).typ), (*n).typ);
3511 			nimZeroMem((void*)(&T294_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3512 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T294_));
3513 			st_18 = NIM_NIL;
3514 			st_18 = T294_.Field0;
3515 			ex_17 = NIM_NIL;
3516 			ex_17 = T294_.Field1;
3517 			add__ast_4797(result, st_18);
3518 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_17);
3519 			add__ast_4797(result, n);
3520 		}
3521 		LA292_: ;
3522 	}
3523 	break;
3524 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
3525 	{
3526 		NIM_BOOL ns_12;
3527 		ns_12 = NIM_FALSE;
3528 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&ns_12)));
3529 		{
3530 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T300_;
3531 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_19;
3532 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_18;
3533 			if (!ns_12) goto LA298_;
3534 			(*needsSplit) = NIM_TRUE;
3535 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3536 			asgnRef((void**) (&(*result).typ), (*n).typ);
3537 			nimZeroMem((void*)(&T300_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3538 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T300_));
3539 			st_19 = NIM_NIL;
3540 			st_19 = T300_.Field0;
3541 			ex_18 = NIM_NIL;
3542 			ex_18 = T300_.Field1;
3543 			transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 112));
3544 			asgnRef((void**) (&(*n).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
3545 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), st_19);
3546 			add__ast_4797(result, n);
3547 			add__ast_4797(result, ex_18);
3548 		}
3549 		LA298_: ;
3550 	}
3551 	break;
3552 	default:
3553 	{
3554 		{
3555 			NI i_31;
3556 			NI colontmp__17;
3557 			NI i_32;
3558 			i_31 = (NI)0;
3559 			colontmp__17 = (NI)0;
3560 			colontmp__17 = len__ast_3198(n);
3561 			i_32 = ((NI) 0);
3562 			{
3563 				while (1) {
3564 					if (!(i_32 < colontmp__17)) goto LA304;
3565 					i_31 = i_32;
3566 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_31]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_31], needsSplit));
3567 					i_32 += ((NI) 1);
3568 				} LA304: ;
3569 			}
3570 		}
3571 	}
3572 	break;
3573 	}
3574 	return result;
3575 }
N_NIMCALL(NIM_BOOL,hasYields__closureiters_175)3576 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYields__closureiters_175)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3577 	NIM_BOOL result;
3578 	result = (NIM_BOOL)0;
3579 	switch ((*n).kind) {
3580 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
3581 	{
3582 		result = NIM_TRUE;
3583 	}
3584 	break;
3585 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3586 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3587 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3588 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3589 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3590 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3591 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3592 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3593 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3594 	{
3595 	}
3596 	break;
3597 	default:
3598 	{
3599 		{
3600 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3601 			c = NIM_NIL;
3602 			{
3603 				NI i;
3604 				NI colontmp_;
3605 				NI i_2;
3606 				i = (NI)0;
3607 				colontmp_ = (NI)0;
3608 				colontmp_ = safeLen__ast_3191(n);
3609 				i_2 = ((NI) 0);
3610 				{
3611 					while (1) {
3612 						if (!(i_2 < colontmp_)) goto LA7;
3613 						i = i_2;
3614 						c = (*n)._kind_6.sons->data[i];
3615 						{
3616 							NIM_BOOL T10_;
3617 							T10_ = (NIM_BOOL)0;
3618 							T10_ = hasYields__closureiters_175(c);
3619 							if (!T10_) goto LA11_;
3620 							result = NIM_TRUE;
3621 							goto LA4;
3622 						}
3623 						LA11_: ;
3624 						i_2 += ((NI) 1);
3625 					} LA7: ;
3626 				}
3627 			}
3628 		} LA4: ;
3629 	}
3630 	break;
3631 	}
3632 	return result;
3633 }
N_NIMCALL(NIM_BOOL,hasYieldsInExpressions__closureiters_371)3634 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYieldsInExpressions__closureiters_371)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3635 	NIM_BOOL result;
3636 {	result = (NIM_BOOL)0;
3637 	switch ((*n).kind) {
3638 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3639 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3640 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3641 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3642 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3643 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3644 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3645 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3646 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3647 	{
3648 	}
3649 	break;
3650 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
3651 	{
3652 		{
3653 			NIM_BOOL T5_;
3654 			T5_ = (NIM_BOOL)0;
3655 			T5_ = isEmptyType__ast_4779((*n).typ);
3656 			if (!T5_) goto LA6_;
3657 			{
3658 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3659 				c = NIM_NIL;
3660 				{
3661 					NI i;
3662 					NI colontmp_;
3663 					NI i_2;
3664 					i = (NI)0;
3665 					colontmp_ = (NI)0;
3666 					colontmp_ = safeLen__ast_3191(n);
3667 					i_2 = ((NI) 0);
3668 					{
3669 						while (1) {
3670 							if (!(i_2 < colontmp_)) goto LA11;
3671 							i = i_2;
3672 							c = (*n)._kind_6.sons->data[i];
3673 							{
3674 								NIM_BOOL T14_;
3675 								T14_ = (NIM_BOOL)0;
3676 								T14_ = hasYieldsInExpressions__closureiters_371(c);
3677 								if (!T14_) goto LA15_;
3678 								result = NIM_TRUE;
3679 								goto BeforeRet_;
3680 							}
3681 							LA15_: ;
3682 							i_2 += ((NI) 1);
3683 						} LA11: ;
3684 					}
3685 				}
3686 			}
3687 		}
3688 		goto LA3_;
3689 		LA6_: ;
3690 		{
3691 			result = hasYields__closureiters_175(n);
3692 		}
3693 		LA3_: ;
3694 	}
3695 	break;
3696 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
3697 	{
3698 		{
3699 			NI i_3;
3700 			NI colontmp__2;
3701 			NI i_4;
3702 			i_3 = (NI)0;
3703 			colontmp__2 = (NI)0;
3704 			colontmp__2 = len__ast_3198(n);
3705 			i_4 = ((NI) 1);
3706 			{
3707 				while (1) {
3708 					if (!(i_4 < colontmp__2)) goto LA21;
3709 					i_3 = i_4;
3710 					{
3711 						NIM_BOOL T24_;
3712 						T24_ = (NIM_BOOL)0;
3713 						T24_ = hasYieldsInExpressions__closureiters_371((*n)._kind_6.sons->data[i_3]);
3714 						if (!T24_) goto LA25_;
3715 						result = NIM_TRUE;
3716 						goto BeforeRet_;
3717 					}
3718 					LA25_: ;
3719 					i_4 += ((NI) 1);
3720 				} LA21: ;
3721 			}
3722 		}
3723 	}
3724 	break;
3725 	default:
3726 	{
3727 		{
3728 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c_2;
3729 			c_2 = NIM_NIL;
3730 			{
3731 				NI i_5;
3732 				NI colontmp__3;
3733 				NI i_6;
3734 				i_5 = (NI)0;
3735 				colontmp__3 = (NI)0;
3736 				colontmp__3 = safeLen__ast_3191(n);
3737 				i_6 = ((NI) 0);
3738 				{
3739 					while (1) {
3740 						if (!(i_6 < colontmp__3)) goto LA31;
3741 						i_5 = i_6;
3742 						c_2 = (*n)._kind_6.sons->data[i_5];
3743 						{
3744 							NIM_BOOL T34_;
3745 							T34_ = (NIM_BOOL)0;
3746 							T34_ = hasYieldsInExpressions__closureiters_371(c_2);
3747 							if (!T34_) goto LA35_;
3748 							result = NIM_TRUE;
3749 							goto BeforeRet_;
3750 						}
3751 						LA35_: ;
3752 						i_6 += ((NI) 1);
3753 					} LA31: ;
3754 				}
3755 			}
3756 		}
3757 	}
3758 	break;
3759 	}
3760 	}BeforeRet_: ;
3761 	return result;
3762 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,addGotoOut__closureiters_147)3763 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, addGotoOut__closureiters_147)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
3764 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3765 	result = NIM_NIL;
3766 	result = toStmtList__closureiters_136(n);
3767 	{
3768 		NIM_BOOL T3_;
3769 		NI T4_;
3770 		NI T6_;
3771 		T3_ = (NIM_BOOL)0;
3772 		T4_ = (NI)0;
3773 		T4_ = len__ast_3198(result);
3774 		T3_ = (T4_ == ((NI) 0));
3775 		if (T3_) goto LA5_;
3776 		T6_ = (NI)0;
3777 		T6_ = len__ast_3198(result);
3778 		T3_ = !(((*(*result)._kind_6.sons->data[(NI)(T6_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156)));
3779 		LA5_: ;
3780 		if (!T3_) goto LA7_;
3781 		add__ast_4797(result, gotoOut);
3782 	}
3783 	LA7_: ;
3784 	return result;
3785 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformBreaksAndContinuesInWhile__closureiters_179)3786 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksAndContinuesInWhile__closureiters_179)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* before, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after) {
3787 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3788 	result = NIM_NIL;
3789 	result = n;
3790 	switch ((*n).kind) {
3791 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3792 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3793 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3794 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3795 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3796 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3797 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3798 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3799 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3800 	{
3801 	}
3802 	break;
3803 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3804 	{
3805 	}
3806 	break;
3807 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
3808 	{
3809 		result = before;
3810 	}
3811 	break;
3812 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
3813 	{
3814 		(*ctx).blockLevel += ((NI) 1);
3815 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksAndContinuesInWhile__closureiters_179(ctx, (*result)._kind_6.sons->data[((NI) 1)], before, after));
3816 		(*ctx).blockLevel -= ((NI) 1);
3817 	}
3818 	break;
3819 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
3820 	{
3821 		{
3822 			if (!((*ctx).blockLevel == ((NI) 0))) goto LA8_;
3823 			result = after;
3824 		}
3825 		LA8_: ;
3826 	}
3827 	break;
3828 	default:
3829 	{
3830 		{
3831 			NI i;
3832 			NI colontmp_;
3833 			NI i_2;
3834 			i = (NI)0;
3835 			colontmp_ = (NI)0;
3836 			colontmp_ = len__ast_3198(n);
3837 			i_2 = ((NI) 0);
3838 			{
3839 				while (1) {
3840 					if (!(i_2 < colontmp_)) goto LA13;
3841 					i = i_2;
3842 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformBreaksAndContinuesInWhile__closureiters_179(ctx, (*n)._kind_6.sons->data[i], before, after));
3843 					i_2 += ((NI) 1);
3844 				} LA13: ;
3845 			}
3846 		}
3847 	}
3848 	break;
3849 	}
3850 	return result;
3851 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformBreaksInBlock__closureiters_205)3852 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksInBlock__closureiters_205)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* label, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after) {
3853 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3854 	result = NIM_NIL;
3855 	result = n;
3856 	switch ((*n).kind) {
3857 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3858 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3859 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3860 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3861 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3862 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3863 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3864 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3865 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3866 	{
3867 	}
3868 	break;
3869 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
3870 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3871 	{
3872 		(*ctx).blockLevel += ((NI) 1);
3873 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksInBlock__closureiters_205(ctx, (*result)._kind_6.sons->data[((NI) 1)], label, after));
3874 		(*ctx).blockLevel -= ((NI) 1);
3875 	}
3876 	break;
3877 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
3878 	{
3879 		{
3880 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA6_;
3881 			{
3882 				if (!((*ctx).blockLevel == ((NI) 0))) goto LA10_;
3883 				result = after;
3884 			}
3885 			LA10_: ;
3886 		}
3887 		goto LA4_;
3888 		LA6_: ;
3889 		{
3890 			{
3891 				NIM_BOOL T15_;
3892 				T15_ = (NIM_BOOL)0;
3893 				T15_ = ((*label).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3894 				if (!(T15_)) goto LA16_;
3895 				T15_ = ((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym == (*label)._kind_4.sym);
3896 				LA16_: ;
3897 				if (!T15_) goto LA17_;
3898 				result = after;
3899 			}
3900 			LA17_: ;
3901 		}
3902 		LA4_: ;
3903 	}
3904 	break;
3905 	default:
3906 	{
3907 		{
3908 			NI i;
3909 			NI colontmp_;
3910 			NI i_2;
3911 			i = (NI)0;
3912 			colontmp_ = (NI)0;
3913 			colontmp_ = len__ast_3198(n);
3914 			i_2 = ((NI) 0);
3915 			{
3916 				while (1) {
3917 					if (!(i_2 < colontmp_)) goto LA22;
3918 					i = i_2;
3919 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformBreaksInBlock__closureiters_205(ctx, (*n)._kind_6.sons->data[i], label, after));
3920 					i_2 += ((NI) 1);
3921 				} LA22: ;
3922 			}
3923 		}
3924 	}
3925 	break;
3926 	}
3927 	return result;
3928 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newOr__closureiters_251)3929 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newOr__closureiters_251)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3930 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3931 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T1_;
3932 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
3933 	result = NIM_NIL;
3934 	nimZeroMem((void*)T1_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3935 	T2_ = NIM_NIL;
3936 	T2_ = getSysMagic__magicsys_29(g, (*a).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_25), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110));
3937 	T1_[0] = newSymNode__ast_3716(T2_);
3938 	T1_[1] = a;
3939 	T1_[2] = b;
3940 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 3);
3941 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60(g, (*a).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
3942 	(*result).info = (*a).info;
3943 	return result;
3944 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newCurExcAccess__closureiters_91)3945 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCurExcAccess__closureiters_91)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
3946 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3947 	result = NIM_NIL;
3948 	{
3949 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
3950 		if (!((*ctx).curExcSym == 0)) goto LA3_;
3951 		T5_ = NIM_NIL;
3952 		T5_ = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3953 		unsureAsgnRef((void**) (&(*ctx).curExcSym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_26), (*T5_).typ));
3954 	}
3955 	LA3_: ;
3956 	result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).curExcSym);
3957 	return result;
3958 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newNullifyCurExc__closureiters_245)3959 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNullifyCurExc__closureiters_245)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
3960 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3961 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curExc;
3962 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nilnode;
3963 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
3964 	result = NIM_NIL;
3965 	curExc = newCurExcAccess__closureiters_91(ctx);
3966 	(*curExc).info = info;
3967 	nilnode = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
3968 	asgnRef((void**) (&(*nilnode).typ), (*curExc).typ);
3969 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3970 	T1_[0] = curExc;
3971 	T1_[1] = nilnode;
3972 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T1_, 2);
3973 	return result;
3974 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,collectExceptState__closureiters_256)3975 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, collectExceptState__closureiters_256)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3976 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3977 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt;
3978 	tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
3979 	result = NIM_NIL;
3980 	ifStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), (*n).info);
3981 	g = (*ctx).g;
3982 	{
3983 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3984 		c = NIM_NIL;
3985 		{
3986 			NI i;
3987 			NI colontmp_;
3988 			NI i_2;
3989 			i = (NI)0;
3990 			colontmp_ = (NI)0;
3991 			colontmp_ = safeLen__ast_3191(n);
3992 			i_2 = ((NI) 0);
3993 			{
3994 				while (1) {
3995 					if (!(i_2 < colontmp_)) goto LA4;
3996 					i = i_2;
3997 					c = (*n)._kind_6.sons->data[i];
3998 					{
3999 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
4000 						NI T32_;
4001 						if (!((*c).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA7_;
4002 						ifBranch = NIM_NIL;
4003 						{
4004 							NI T11_;
4005 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
4006 							T11_ = (NI)0;
4007 							T11_ = len__ast_3198(c);
4008 							if (!(((NI) 1) < T11_)) goto LA12_;
4009 							cond = NIM_NIL;
4010 							{
4011 								NI i_3;
4012 								NI colontmp__2;
4013 								NI T15_;
4014 								NI i_4;
4015 								i_3 = (NI)0;
4016 								colontmp__2 = (NI)0;
4017 								T15_ = (NI)0;
4018 								T15_ = len__ast_3198(c);
4019 								colontmp__2 = (NI)(T15_ - ((NI) 1));
4020 								i_4 = ((NI) 0);
4021 								{
4022 									while (1) {
4023 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nextCond;
4024 										tyArray__T6RKPw8xfAeNaoei9aZGzXg T18_;
4025 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T19_;
4026 										if (!(i_4 < colontmp__2)) goto LA17;
4027 										i_3 = i_4;
4028 										nimZeroMem((void*)T18_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4029 										T19_ = NIM_NIL;
4030 										T19_ = getSysMagic__magicsys_29(g, (*c).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_23), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15));
4031 										T18_[0] = newSymNode__ast_3716(T19_);
4032 										T18_[1] = callCodegenProc__lowerings_635(g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4033 										T18_[2] = (*c)._kind_6.sons->data[i_3];
4034 										nextCond = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T18_, 3);
4035 										asgnRef((void**) (&(*nextCond).typ), getSysType__magicsys_60((*ctx).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
4036 										(*nextCond).info = (*c).info;
4037 										{
4038 											if (!(cond == 0)) goto LA22_;
4039 											cond = nextCond;
4040 										}
4041 										goto LA20_;
4042 										LA22_: ;
4043 										{
4044 											cond = newOr__closureiters_251(g, cond, nextCond);
4045 										}
4046 										LA20_: ;
4047 										i_4 += ((NI) 1);
4048 									} LA17: ;
4049 								}
4050 							}
4051 							ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (*c).info);
4052 							add__ast_4797(ifBranch, cond);
4053 						}
4054 						goto LA9_;
4055 						LA12_: ;
4056 						{
4057 							{
4058 								NI T28_;
4059 								T28_ = (NI)0;
4060 								T28_ = len__ast_3198(ifStmt);
4061 								if (!(T28_ == ((NI) 0))) goto LA29_;
4062 								ifStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
4063 								ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
4064 							}
4065 							goto LA26_;
4066 							LA29_: ;
4067 							{
4068 								ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (*c).info);
4069 							}
4070 							LA26_: ;
4071 						}
4072 						LA9_: ;
4073 						T32_ = (NI)0;
4074 						T32_ = len__ast_3198(c);
4075 						add__ast_4797(ifBranch, (*c)._kind_6.sons->data[(NI)(T32_ - ((NI) 1))]);
4076 						add__ast_4797(ifStmt, ifBranch);
4077 					}
4078 					LA7_: ;
4079 					i_2 += ((NI) 1);
4080 				} LA4: ;
4081 			}
4082 		}
4083 	}
4084 	{
4085 		NI T35_;
4086 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T38_;
4087 		T35_ = (NI)0;
4088 		T35_ = len__ast_3198(ifStmt);
4089 		if (!!((T35_ == ((NI) 0)))) goto LA36_;
4090 		nimZeroMem((void*)T38_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4091 		T38_[0] = newNullifyCurExc__closureiters_245(ctx, (*n).info);
4092 		T38_[1] = ifStmt;
4093 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T38_, 2);
4094 	}
4095 	goto LA33_;
4096 	LA36_: ;
4097 	{
4098 		result = (*(*ctx).g).emptyNode;
4099 	}
4100 	LA33_: ;
4101 	return result;
4102 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getFinallyNode__closureiters_357)4103 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getFinallyNode__closureiters_357)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4104 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4105 	NI T1_;
4106 	result = NIM_NIL;
4107 	T1_ = (NI)0;
4108 	T1_ = len__ast_3198(n);
4109 	result = (*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))];
4110 	{
4111 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA4_;
4112 		result = (*result)._kind_6.sons->data[((NI) 0)];
4113 	}
4114 	goto LA2_;
4115 	LA4_: ;
4116 	{
4117 		result = (*(*ctx).g).emptyNode;
4118 	}
4119 	LA2_: ;
4120 	return result;
4121 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newUnrollFinallyAccess__closureiters_84)4122 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newUnrollFinallyAccess__closureiters_84)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
4123 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4124 	result = NIM_NIL;
4125 	{
4126 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
4127 		if (!((*ctx).unrollFinallySym == 0)) goto LA3_;
4128 		T5_ = NIM_NIL;
4129 		T5_ = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4130 		unsureAsgnRef((void**) (&(*ctx).unrollFinallySym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_27), T5_));
4131 	}
4132 	LA3_: ;
4133 	result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).unrollFinallySym);
4134 	return result;
4135 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newTmpResultAccess__closureiters_77)4136 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTmpResultAccess__closureiters_77)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
4137 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4138 	result = NIM_NIL;
4139 	{
4140 		if (!((*ctx).tmpResultSym == 0)) goto LA3_;
4141 		unsureAsgnRef((void**) (&(*ctx).tmpResultSym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_28), (*(*(*ctx).fn).typ).sons->data[((NI) 0)]));
4142 	}
4143 	LA3_: ;
4144 	result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).tmpResultSym);
4145 	return result;
4146 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformReturnsInTry__closureiters_1107)4147 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformReturnsInTry__closureiters_1107)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4148 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4149 	result = NIM_NIL;
4150 	result = n;
4151 	switch ((*n).kind) {
4152 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
4153 	{
4154 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4155 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* goto_1;
4156 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T17_;
4157 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4158 		{
4159 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
4160 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
4161 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
4162 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
4163 			asgn = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info);
4164 			T3_ = NIM_NIL;
4165 			T3_ = newUnrollFinallyAccess__closureiters_84(ctx, (*n).info);
4166 			add__ast_4797(asgn, T3_);
4167 			T4_ = NIM_NIL;
4168 			T4_ = getSysType__magicsys_60((*ctx).g, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4169 			T5_ = NIM_NIL;
4170 			T5_ = newIntTypeNode__ast_3783(IL64(1), T4_);
4171 			add__ast_4797(asgn, T5_);
4172 			add__ast_4797(result, asgn);
4173 		}
4174 		{
4175 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgnTmpResult;
4176 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
4177 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4178 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
4179 			asgnTmpResult = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info);
4180 			T10_ = NIM_NIL;
4181 			T10_ = newTmpResultAccess__closureiters_77(ctx);
4182 			add__ast_4797(asgnTmpResult, T10_);
4183 			{
4184 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74))) goto LA13_;
4185 				x = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
4186 			}
4187 			goto LA11_;
4188 			LA13_: ;
4189 			{
4190 				x = (*n)._kind_6.sons->data[((NI) 0)];
4191 			}
4192 			LA11_: ;
4193 			add__ast_4797(asgnTmpResult, x);
4194 			add__ast_4797(result, asgnTmpResult);
4195 		}
4196 		LA8_: ;
4197 		T16_ = NIM_NIL;
4198 		T16_ = newNullifyCurExc__closureiters_245(ctx, (*n).info);
4199 		add__ast_4797(result, T16_);
4200 		nimZeroMem((void*)T17_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4201 		T17_[0] = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((*ctx).nearestFinally)));
4202 		goto_1 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T17_, 1);
4203 		add__ast_4797(result, goto_1);
4204 	}
4205 	break;
4206 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4207 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4208 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4209 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4210 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4211 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4212 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4213 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4214 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4215 	{
4216 	}
4217 	break;
4218 	default:
4219 	{
4220 		{
4221 			NI i;
4222 			NI colontmp_;
4223 			NI i_2;
4224 			i = (NI)0;
4225 			colontmp_ = (NI)0;
4226 			colontmp_ = len__ast_3198(n);
4227 			i_2 = ((NI) 0);
4228 			{
4229 				while (1) {
4230 					if (!(i_2 < colontmp_)) goto LA22;
4231 					i = i_2;
4232 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformReturnsInTry__closureiters_1107(ctx, (*n)._kind_6.sons->data[i]));
4233 					i_2 += ((NI) 1);
4234 				} LA22: ;
4235 			}
4236 		}
4237 	}
4238 	break;
4239 	}
4240 	return result;
4241 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEndFinallyNode__closureiters_1092)4242 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEndFinallyNode__closureiters_1092)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
4243 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4244 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curExc;
4245 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nilnode;
4246 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cmp;
4247 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T1_;
4248 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
4249 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
4250 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
4251 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T4_;
4252 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retStmt;
4253 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T5_;
4254 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
4255 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T6_;
4256 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nullifyExc;
4257 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T7_;
4258 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T8_;
4259 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raiseStmt;
4260 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T9_;
4261 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4262 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T10_;
4263 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T11_;
4264 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBody;
4265 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T12_;
4266 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elifBranch;
4267 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
4268 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T14_;
4269 	result = NIM_NIL;
4270 	curExc = newCurExcAccess__closureiters_91(ctx);
4271 	nilnode = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
4272 	asgnRef((void**) (&(*nilnode).typ), (*curExc).typ);
4273 	nimZeroMem((void*)T1_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4274 	T2_ = NIM_NIL;
4275 	T2_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_29), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87));
4276 	T1_[0] = newSymNode__ast_3719(T2_, info);
4277 	T1_[1] = curExc;
4278 	T1_[2] = nilnode;
4279 	cmp = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 3);
4280 	asgnRef((void**) (&(*cmp).typ), getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
4281 	nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4282 	T4_ = NIM_NIL;
4283 	T4_ = getClosureIterResult__lambdalifting_62((*ctx).g, (*ctx).fn, (*ctx).idgen);
4284 	T3_[0] = newSymNode__ast_3719(T4_, info);
4285 	T3_[1] = newTmpResultAccess__closureiters_77(ctx);
4286 	asgn = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T3_, 2);
4287 	nimZeroMem((void*)T5_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4288 	T5_[0] = asgn;
4289 	retStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109), T5_, 1);
4290 	nimZeroMem((void*)T6_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4291 	T6_[0] = cmp;
4292 	T6_[1] = retStmt;
4293 	branch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T6_, 2);
4294 	nimZeroMem((void*)T7_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4295 	T8_ = NIM_NIL;
4296 	T8_ = getCompilerProc__magicsys_145((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_30));
4297 	T7_[0] = newSymNode__ast_3716(T8_);
4298 	T7_[1] = nilnode;
4299 	nullifyExc = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T7_, 2);
4300 	(*nullifyExc).info = info;
4301 	nimZeroMem((void*)T9_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4302 	T9_[0] = curExc;
4303 	raiseStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T9_, 1);
4304 	(*raiseStmt).info = info;
4305 	nimZeroMem((void*)T10_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4306 	nimZeroMem((void*)T11_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4307 	T11_[0] = nullifyExc;
4308 	T11_[1] = raiseStmt;
4309 	T10_[0] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T11_, 2);
4310 	elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T10_, 1);
4311 	nimZeroMem((void*)T12_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4312 	T12_[0] = branch;
4313 	T12_[1] = elseBranch;
4314 	ifBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T12_, 2);
4315 	nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4316 	T13_[0] = newUnrollFinallyAccess__closureiters_84(ctx, info);
4317 	T13_[1] = ifBody;
4318 	elifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T13_, 2);
4319 	(*elifBranch).info = info;
4320 	nimZeroMem((void*)T14_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4321 	T14_[0] = elifBranch;
4322 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T14_, 1);
4323 	return result;
4324 }
N_NIMCALL(void,addElseToExcept__closureiters_316)4325 N_LIB_PRIVATE N_NIMCALL(void, addElseToExcept__closureiters_316)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4326 	{
4327 		NIM_BOOL T3_;
4328 		NIM_BOOL T4_;
4329 		NI T7_;
4330 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody;
4331 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4332 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T20_;
4333 		T3_ = (NIM_BOOL)0;
4334 		T4_ = (NIM_BOOL)0;
4335 		T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
4336 		if (!(T4_)) goto LA5_;
4337 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92));
4338 		LA5_: ;
4339 		T3_ = T4_;
4340 		if (!(T3_)) goto LA6_;
4341 		T7_ = (NI)0;
4342 		T7_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
4343 		T3_ = !(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[(NI)(T7_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)));
4344 		LA6_: ;
4345 		if (!T3_) goto LA8_;
4346 		branchBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4347 		{
4348 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T11_;
4349 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4350 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
4351 			nimZeroMem((void*)T11_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4352 			T11_[0] = newUnrollFinallyAccess__closureiters_84(ctx, (*n).info);
4353 			T12_ = NIM_NIL;
4354 			T12_ = getSysType__magicsys_60((*ctx).g, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4355 			T11_[1] = newIntTypeNode__ast_3783(IL64(1), T12_);
4356 			T13_ = NIM_NIL;
4357 			T13_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T11_, 2);
4358 			add__ast_4797(branchBody, T13_);
4359 		}
4360 		{
4361 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T15_;
4362 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4363 			nimZeroMem((void*)T15_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4364 			T15_[0] = newCurExcAccess__closureiters_91(ctx);
4365 			T15_[1] = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4366 			T16_ = NIM_NIL;
4367 			T16_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T15_, 2);
4368 			add__ast_4797(branchBody, T16_);
4369 		}
4370 		{
4371 			tyArray__jlWPjgtbdjE069arIWHC9c9bg T18_;
4372 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
4373 			nimZeroMem((void*)T18_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4374 			T18_[0] = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((*ctx).nearestFinally)));
4375 			T19_ = NIM_NIL;
4376 			T19_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T18_, 1);
4377 			add__ast_4797(branchBody, T19_);
4378 		}
4379 		nimZeroMem((void*)T20_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4380 		T20_[0] = branchBody;
4381 		elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T20_, 1);
4382 		add__ast_4797((*n)._kind_6.sons->data[((NI) 1)], elseBranch);
4383 	}
4384 	LA8_: ;
4385 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformClosureIteratorBody__closureiters_1173)4386 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIteratorBody__closureiters_1173)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
4387 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4388 	result = NIM_NIL;
4389 	result = n;
4390 	switch ((*n).kind) {
4391 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4392 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4393 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4394 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4395 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4396 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4397 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4398 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4399 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4400 	{
4401 	}
4402 	break;
4403 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4404 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4405 	{
4406 		result = addGotoOut__closureiters_147(result, gotoOut);
4407 		{
4408 			NI i;
4409 			NI colontmp_;
4410 			NI i_2;
4411 			i = (NI)0;
4412 			colontmp_ = (NI)0;
4413 			colontmp_ = len__ast_3198(n);
4414 			i_2 = ((NI) 0);
4415 			{
4416 				while (1) {
4417 					if (!(i_2 < colontmp_)) goto LA5;
4418 					i = i_2;
4419 					{
4420 						NIM_BOOL T8_;
4421 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* go;
4422 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
4423 						NI T14_;
4424 						T8_ = (NIM_BOOL)0;
4425 						T8_ = hasYields__closureiters_175((*n)._kind_6.sons->data[i]);
4426 						if (!T8_) goto LA9_;
4427 						go = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*(*n)._kind_6.sons->data[i]).info);
4428 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i], go));
4429 						s = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[(NI)(i + ((NI) 1))]).info);
4430 						{
4431 							NI j;
4432 							NI colontmp__2;
4433 							NI colontmp__3;
4434 							NI i_3;
4435 							j = (NI)0;
4436 							colontmp__2 = (NI)0;
4437 							colontmp__3 = (NI)0;
4438 							colontmp__2 = (NI)(i + ((NI) 1));
4439 							colontmp__3 = len__ast_3198(n);
4440 							i_3 = colontmp__2;
4441 							{
4442 								while (1) {
4443 									if (!(i_3 < colontmp__3)) goto LA13;
4444 									j = i_3;
4445 									add__ast_4797(s, (*n)._kind_6.sons->data[j]);
4446 									i_3 += ((NI) 1);
4447 								} LA13: ;
4448 							}
4449 						}
4450 						asgnRef((void**) (&(*n)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*n)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(i + ((NI) 1))))));
4451 						T14_ = (NI)0;
4452 						T14_ = newState__closureiters_97(ctx, s, go);
4453 						(void)(T14_);
4454 						{
4455 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
4456 							T17_ = NIM_NIL;
4457 							T17_ = transformClosureIteratorBody__closureiters_1173(ctx, s, gotoOut);
4458 							if (!!((T17_ == s))) goto LA18_;
4459 							internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_21), TM__slVvvIjx75ivXdMpHiE9c9aQ_22);
4460 						}
4461 						LA18_: ;
4462 						goto LA3;
4463 					}
4464 					LA9_: ;
4465 					i_2 += ((NI) 1);
4466 				} LA5: ;
4467 			}
4468 		} LA3: ;
4469 	}
4470 	break;
4471 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
4472 	{
4473 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4474 		add__ast_4797(result, n);
4475 		add__ast_4797(result, gotoOut);
4476 	}
4477 	break;
4478 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
4479 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
4480 	{
4481 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4482 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4483 	}
4484 	break;
4485 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
4486 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
4487 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
4488 	{
4489 		NI T23_;
4490 		NI T24_;
4491 		NI T25_;
4492 		NI T26_;
4493 		T23_ = (NI)0;
4494 		T23_ = len__ast_3198(result);
4495 		T24_ = (NI)0;
4496 		T24_ = len__ast_3198(result);
4497 		asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[(NI)(T24_ - ((NI) 1))], gotoOut));
4498 		T25_ = (NI)0;
4499 		T25_ = len__ast_3198(result);
4500 		T26_ = (NI)0;
4501 		T26_ = len__ast_3198(result);
4502 		asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[(NI)(T26_ - ((NI) 1))], gotoOut));
4503 	}
4504 	break;
4505 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
4506 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4507 	{
4508 		{
4509 			NI i_4;
4510 			NI colontmp__4;
4511 			NI i_5;
4512 			i_4 = (NI)0;
4513 			colontmp__4 = (NI)0;
4514 			colontmp__4 = len__ast_3198(n);
4515 			i_5 = ((NI) 0);
4516 			{
4517 				while (1) {
4518 					if (!(i_5 < colontmp__4)) goto LA30;
4519 					i_4 = i_5;
4520 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_4]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i_4], gotoOut));
4521 					i_5 += ((NI) 1);
4522 				} LA30: ;
4523 			}
4524 		}
4525 		{
4526 			NI T33_;
4527 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4528 			tyArray__jlWPjgtbdjE069arIWHC9c9bg T36_;
4529 			T33_ = (NI)0;
4530 			T33_ = len__ast_3198(n);
4531 			if (!!(((*(*n)._kind_6.sons->data[(NI)(T33_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)))) goto LA34_;
4532 			nimZeroMem((void*)T36_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4533 			T36_[0] = gotoOut;
4534 			elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T36_, 1);
4535 			add__ast_4797(n, elseBranch);
4536 		}
4537 		LA34_: ;
4538 	}
4539 	break;
4540 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
4541 	{
4542 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s_2;
4543 		NI T38_;
4544 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifNode;
4545 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elifBranch;
4546 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
4547 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch_2;
4548 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T39_;
4549 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
4550 		s_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4551 		T38_ = (NI)0;
4552 		T38_ = newState__closureiters_97(ctx, s_2, result);
4553 		(void)(T38_);
4554 		ifNode = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), (*n).info);
4555 		elifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (*n).info);
4556 		add__ast_4797(elifBranch, (*n)._kind_6.sons->data[((NI) 0)]);
4557 		body = addGotoOut__closureiters_147((*n)._kind_6.sons->data[((NI) 1)], result);
4558 		body = transformBreaksAndContinuesInWhile__closureiters_179(ctx, body, result, gotoOut);
4559 		body = transformClosureIteratorBody__closureiters_1173(ctx, body, result);
4560 		add__ast_4797(elifBranch, body);
4561 		add__ast_4797(ifNode, elifBranch);
4562 		nimZeroMem((void*)T39_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4563 		T39_[0] = gotoOut;
4564 		elseBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T39_, 1);
4565 		add__ast_4797(ifNode, elseBranch_2);
4566 		add__ast_4797(s_2, ifNode);
4567 	}
4568 	break;
4569 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
4570 	{
4571 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[((NI) 1)], gotoOut));
4572 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksInBlock__closureiters_205(ctx, (*result)._kind_6.sons->data[((NI) 1)], (*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4573 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[((NI) 1)], gotoOut));
4574 	}
4575 	break;
4576 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
4577 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
4578 	{
4579 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tryBody;
4580 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptBody;
4581 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finallyBody;
4582 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T42_;
4583 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
4584 		NI tryIdx;
4585 		NI T44_;
4586 		NI exceptIdx;
4587 		NI finallyIdx;
4588 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* outToFinally;
4589 		(*ctx).hasExceptions = NIM_TRUE;
4590 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
4591 		tryBody = toStmtList__closureiters_136((*n)._kind_6.sons->data[((NI) 0)]);
4592 		exceptBody = collectExceptState__closureiters_256(ctx, n);
4593 		nimZeroMem((void*)T42_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4594 		T42_[0] = getFinallyNode__closureiters_357(ctx, n);
4595 		finallyBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T42_, 1);
4596 		finallyBody = transformReturnsInTry__closureiters_1107(ctx, finallyBody);
4597 		T43_ = NIM_NIL;
4598 		T43_ = newEndFinallyNode__closureiters_1092(ctx, (*finallyBody).info);
4599 		add__ast_4797(finallyBody, T43_);
4600 		T44_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4601 		tryIdx = T44_;
4602 		exceptIdx = (NI)0;
4603 		finallyIdx = (NI)0;
4604 		{
4605 			if (!!(((*exceptBody).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA47_;
4606 			exceptIdx = ((NI64)-((NI)(tryIdx + ((NI) 1))));
4607 			finallyIdx = (NI)(tryIdx + ((NI) 2));
4608 		}
4609 		goto LA45_;
4610 		LA47_: ;
4611 		{
4612 			exceptIdx = (NI)(tryIdx + ((NI) 1));
4613 			finallyIdx = (NI)(tryIdx + ((NI) 1));
4614 		}
4615 		LA45_: ;
4616 		outToFinally = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*finallyBody).info);
4617 		{
4618 			NI oldExcHandlingState;
4619 			NI realTryIdx;
4620 			NI realFinallyIdx;
4621 			oldExcHandlingState = (*ctx).curExcHandlingState;
4622 			(*ctx).curExcHandlingState = exceptIdx;
4623 			realTryIdx = newState__closureiters_97(ctx, tryBody, result);
4624 			{
4625 				NI realExceptIdx;
4626 				if (!!(((*exceptBody).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA53_;
4627 				(*ctx).curExcHandlingState = finallyIdx;
4628 				realExceptIdx = newState__closureiters_97(ctx, exceptBody, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4629 			}
4630 			LA53_: ;
4631 			(*ctx).curExcHandlingState = oldExcHandlingState;
4632 			realFinallyIdx = newState__closureiters_97(ctx, finallyBody, outToFinally);
4633 		}
4634 		{
4635 			NI oldNearestFinally;
4636 			NI oldExcHandlingState_2;
4637 			oldNearestFinally = (*ctx).nearestFinally;
4638 			(*ctx).nearestFinally = finallyIdx;
4639 			oldExcHandlingState_2 = (*ctx).curExcHandlingState;
4640 			(*ctx).curExcHandlingState = exceptIdx;
4641 			{
4642 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
4643 				T58_ = NIM_NIL;
4644 				T58_ = transformReturnsInTry__closureiters_1107(ctx, tryBody);
4645 				if (!!((T58_ == tryBody))) goto LA59_;
4646 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_31), TM__slVvvIjx75ivXdMpHiE9c9aQ_32);
4647 			}
4648 			LA59_: ;
4649 			{
4650 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
4651 				T63_ = NIM_NIL;
4652 				T63_ = transformClosureIteratorBody__closureiters_1173(ctx, tryBody, outToFinally);
4653 				if (!!((T63_ == tryBody))) goto LA64_;
4654 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_33), TM__slVvvIjx75ivXdMpHiE9c9aQ_34);
4655 			}
4656 			LA64_: ;
4657 			(*ctx).curExcHandlingState = finallyIdx;
4658 			addElseToExcept__closureiters_316(ctx, exceptBody);
4659 			{
4660 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T68_;
4661 				T68_ = NIM_NIL;
4662 				T68_ = transformReturnsInTry__closureiters_1107(ctx, exceptBody);
4663 				if (!!((T68_ == exceptBody))) goto LA69_;
4664 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_35), TM__slVvvIjx75ivXdMpHiE9c9aQ_36);
4665 			}
4666 			LA69_: ;
4667 			{
4668 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T73_;
4669 				T73_ = NIM_NIL;
4670 				T73_ = transformClosureIteratorBody__closureiters_1173(ctx, exceptBody, outToFinally);
4671 				if (!!((T73_ == exceptBody))) goto LA74_;
4672 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_37), TM__slVvvIjx75ivXdMpHiE9c9aQ_38);
4673 			}
4674 			LA74_: ;
4675 			(*ctx).curExcHandlingState = oldExcHandlingState_2;
4676 			(*ctx).nearestFinally = oldNearestFinally;
4677 			{
4678 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T78_;
4679 				T78_ = NIM_NIL;
4680 				T78_ = transformClosureIteratorBody__closureiters_1173(ctx, finallyBody, gotoOut);
4681 				if (!!((T78_ == finallyBody))) goto LA79_;
4682 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_39), TM__slVvvIjx75ivXdMpHiE9c9aQ_40);
4683 			}
4684 			LA79_: ;
4685 		}
4686 	}
4687 	break;
4688 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
4689 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
4690 	{
4691 		NimStringDesc* T82_;
4692 		T82_ = NIM_NIL;
4693 		T82_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 13);
4694 appendString(T82_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_41));
4695 appendString(T82_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
4696 		internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T82_, TM__slVvvIjx75ivXdMpHiE9c9aQ_42);
4697 	}
4698 	break;
4699 	default:
4700 	{
4701 		{
4702 			NI i_6;
4703 			NI colontmp__5;
4704 			NI i_7;
4705 			i_6 = (NI)0;
4706 			colontmp__5 = (NI)0;
4707 			colontmp__5 = len__ast_3198(n);
4708 			i_7 = ((NI) 0);
4709 			{
4710 				while (1) {
4711 					if (!(i_7 < colontmp__5)) goto LA86;
4712 					i_6 = i_7;
4713 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_6]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i_6], gotoOut));
4714 					i_7 += ((NI) 1);
4715 				} LA86: ;
4716 			}
4717 		}
4718 	}
4719 	break;
4720 	}
4721 	return result;
4722 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipStmtList__closureiters_1491)4723 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipStmtList__closureiters_1491)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4724 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4725 {	result = NIM_NIL;
4726 	result = n;
4727 	{
4728 		while (1) {
4729 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA2;
4730 			{
4731 				NI T5_;
4732 				T5_ = (NI)0;
4733 				T5_ = len__ast_3198(result);
4734 				if (!(T5_ == ((NI) 0))) goto LA6_;
4735 				result = (*(*ctx).g).emptyNode;
4736 				goto BeforeRet_;
4737 			}
4738 			LA6_: ;
4739 			result = (*result)._kind_6.sons->data[((NI) 0)];
4740 		} LA2: ;
4741 	}
4742 	}BeforeRet_: ;
4743 	return result;
4744 }
N_NIMCALL(NI,skipEmptyStates__closureiters_1503)4745 N_LIB_PRIVATE N_NIMCALL(NI, skipEmptyStates__closureiters_1503)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateIdx) {
4746 	NI result;
4747 	NI maxJumps;
4748 	NI T1_;
4749 	NI stateIdx_2;
4750 	result = (NI)0;
4751 	T1_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4752 	maxJumps = T1_;
4753 	stateIdx_2 = stateIdx;
4754 	{
4755 		while (1) {
4756 			NI label;
4757 			NI newLabel;
4758 			label = stateIdx_2;
4759 			{
4760 				if (!(label == (*ctx).exitStateIdx)) goto LA6_;
4761 				goto LA2;
4762 			}
4763 			LA6_: ;
4764 			newLabel = label;
4765 			{
4766 				if (!(label == ((NI) -1))) goto LA10_;
4767 				newLabel = (*ctx).exitStateIdx;
4768 			}
4769 			goto LA8_;
4770 			LA10_: ;
4771 			{
4772 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fs;
4773 				fs = skipStmtList__closureiters_1491(ctx, (*(*ctx).states->data[label])._kind_6.sons->data[((NI) 1)]);
4774 				{
4775 					if (!((*fs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156))) goto LA15_;
4776 					newLabel = ((NI) ((*(*fs)._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
4777 				}
4778 				LA15_: ;
4779 			}
4780 			LA8_: ;
4781 			{
4782 				if (!(label == newLabel)) goto LA19_;
4783 				goto LA2;
4784 			}
4785 			LA19_: ;
4786 			stateIdx_2 = newLabel;
4787 			maxJumps -= ((NI) 1);
4788 			{
4789 				if (!(maxJumps == ((NI) 0))) goto LA23_;
4790 			}
4791 			LA23_: ;
4792 		}
4793 	} LA2: ;
4794 	result = ((NI) ((*(*(*ctx).states->data[stateIdx_2])._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
4795 	return result;
4796 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipThroughEmptyStates__closureiters_1529)4797 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipThroughEmptyStates__closureiters_1529)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4798 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4799 	result = NIM_NIL;
4800 	result = n;
4801 	switch ((*n).kind) {
4802 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4803 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4804 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4805 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4806 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4807 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4808 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4809 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4810 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4811 	{
4812 	}
4813 	break;
4814 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
4815 	{
4816 		NI T3_;
4817 		result = copyTree__ast_4431(n);
4818 		T3_ = (NI)0;
4819 		T3_ = skipEmptyStates__closureiters_1503((&(*ctx)), ((NI) ((*(*result)._kind_6.sons->data[((NI) 0)])._kind_1.intVal)));
4820 		(*(*result)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = ((NI64) (T3_));
4821 	}
4822 	break;
4823 	default:
4824 	{
4825 		{
4826 			NI i;
4827 			NI colontmp_;
4828 			NI i_2;
4829 			i = (NI)0;
4830 			colontmp_ = (NI)0;
4831 			colontmp_ = len__ast_3198(n);
4832 			i_2 = ((NI) 0);
4833 			{
4834 				while (1) {
4835 					if (!(i_2 < colontmp_)) goto LA7;
4836 					i = i_2;
4837 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), skipThroughEmptyStates__closureiters_1529(ctx, (*n)._kind_6.sons->data[i]));
4838 					i_2 += ((NI) 1);
4839 				} LA7: ;
4840 			}
4841 		}
4842 	}
4843 	break;
4844 	}
4845 	return result;
4846 }
N_NIMCALL(void,delete__closureiters_1709)4847 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1709)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i) {
4848 	NI xlX60gensym304_;
4849 	NI T1_;
4850 	T1_ = ((*x) ? (*x)->Sup.len : 0);
4851 	xlX60gensym304_ = T1_;
4852 	{
4853 		NI jX60gensym304_;
4854 		NI colontmp_;
4855 		NI colontmp__2;
4856 		NI res;
4857 		jX60gensym304_ = (NI)0;
4858 		colontmp_ = (NI)0;
4859 		colontmp__2 = (NI)0;
4860 		colontmp_ = ((NI) (i));
4861 		colontmp__2 = (NI)(xlX60gensym304_ - ((NI) 2));
4862 		res = colontmp_;
4863 		{
4864 			while (1) {
4865 				if (!(res <= colontmp__2)) goto LA4;
4866 				jX60gensym304_ = res;
4867 				asgnRef((void**) (&(*x)->data[jX60gensym304_]), (*x)->data[(NI)(jX60gensym304_ + ((NI) 1))]);
4868 				res += ((NI) 1);
4869 			} LA4: ;
4870 		}
4871 	}
4872 	unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(xlX60gensym304_ - ((NI) 1))))));
4873 }
N_NIMCALL(void,delete__closureiters_1746)4874 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1746)(tySequence__qwqHTkRvwhrRyENtudHQ7g** x, NI i) {
4875 	NI xlX60gensym306_;
4876 	NI T1_;
4877 	T1_ = ((*x) ? (*x)->Sup.len : 0);
4878 	xlX60gensym306_ = T1_;
4879 	{
4880 		NI jX60gensym306_;
4881 		NI colontmp_;
4882 		NI colontmp__2;
4883 		NI res;
4884 		jX60gensym306_ = (NI)0;
4885 		colontmp_ = (NI)0;
4886 		colontmp__2 = (NI)0;
4887 		colontmp_ = ((NI) (i));
4888 		colontmp__2 = (NI)(xlX60gensym306_ - ((NI) 2));
4889 		res = colontmp_;
4890 		{
4891 			while (1) {
4892 				if (!(res <= colontmp__2)) goto LA4;
4893 				jX60gensym306_ = res;
4894 				(*x)->data[jX60gensym306_] = (*x)->data[(NI)(jX60gensym306_ + ((NI) 1))];
4895 				res += ((NI) 1);
4896 			} LA4: ;
4897 		}
4898 	}
4899 	unsureAsgnRef((void**) (&(*x)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) ((NI)(xlX60gensym306_ - ((NI) 1))))));
4900 }
N_NIMCALL(void,deleteEmptyStates__closureiters_1659)4901 N_LIB_PRIVATE N_NIMCALL(void, deleteEmptyStates__closureiters_1659)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
4902 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* goOut;
4903 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T1_;
4904 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T2_;
4905 	NI iValid;
4906 	NI i_5;
4907 	nimZeroMem((void*)T1_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4908 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
4909 	T1_[0] = newIntLit__lowerings_695((*ctx).g, T2_, IL64(-1));
4910 	goOut = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T1_, 1);
4911 	(*ctx).exitStateIdx = newState__closureiters_97(ctx, goOut, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4912 	iValid = ((NI) 0);
4913 	{
4914 		NI i;
4915 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
4916 		NI i_2;
4917 		NI L;
4918 		NI T4_;
4919 		i = (NI)0;
4920 		s = NIM_NIL;
4921 		i_2 = ((NI) 0);
4922 		T4_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4923 		L = T4_;
4924 		{
4925 			while (1) {
4926 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
4927 				if (!(i_2 < L)) goto LA6;
4928 				i = i_2;
4929 				s = (*ctx).states->data[i_2];
4930 				body = skipStmtList__closureiters_1491((&(*ctx)), (*s)._kind_6.sons->data[((NI) 1)]);
4931 				{
4932 					NIM_BOOL T9_;
4933 					NIM_BOOL T10_;
4934 					NI T12_;
4935 					T9_ = (NIM_BOOL)0;
4936 					T10_ = (NIM_BOOL)0;
4937 					T10_ = ((*body).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156));
4938 					if (!(T10_)) goto LA11_;
4939 					T12_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4940 					T10_ = !((i == (NI)(T12_ - ((NI) 1))));
4941 					LA11_: ;
4942 					T9_ = T10_;
4943 					if (!(T9_)) goto LA13_;
4944 					T9_ = !((i == ((NI) 0)));
4945 					LA13_: ;
4946 					if (!T9_) goto LA14_;
4947 					(*(*s)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = IL64(-1);
4948 				}
4949 				goto LA7_;
4950 				LA14_: ;
4951 				{
4952 					(*(*s)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = ((NI64) (iValid));
4953 					iValid += ((NI) 1);
4954 				}
4955 				LA7_: ;
4956 				i_2 += ((NI) 1);
4957 			} LA6: ;
4958 		}
4959 	}
4960 	{
4961 		NI i_3;
4962 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s_2;
4963 		NI i_4;
4964 		NI L_2;
4965 		NI T18_;
4966 		i_3 = (NI)0;
4967 		s_2 = NIM_NIL;
4968 		i_4 = ((NI) 0);
4969 		T18_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4970 		L_2 = T18_;
4971 		{
4972 			while (1) {
4973 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body_2;
4974 				if (!(i_4 < L_2)) goto LA20;
4975 				i_3 = i_4;
4976 				s_2 = (*ctx).states->data[i_4];
4977 				body_2 = skipStmtList__closureiters_1491((&(*ctx)), (*s_2)._kind_6.sons->data[((NI) 1)]);
4978 				{
4979 					NIM_BOOL T23_;
4980 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
4981 					NI excHandlState;
4982 					T23_ = (NIM_BOOL)0;
4983 					T23_ = !(((*body_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156)));
4984 					if (T23_) goto LA24_;
4985 					T23_ = (i_3 == ((NI) 0));
4986 					LA24_: ;
4987 					if (!T23_) goto LA25_;
4988 					T27_ = NIM_NIL;
4989 					T27_ = skipThroughEmptyStates__closureiters_1529(ctx, s_2);
4990 					(void)(T27_);
4991 					excHandlState = (*ctx).exceptionTable->data[i_3];
4992 					{
4993 						NI T32_;
4994 						if (!(excHandlState < ((NI) 0))) goto LA30_;
4995 						T32_ = (NI)0;
4996 						T32_ = skipEmptyStates__closureiters_1503((&(*ctx)), ((NI64)-(excHandlState)));
4997 						(*ctx).exceptionTable->data[i_3] = ((NI64)-(T32_));
4998 					}
4999 					goto LA28_;
5000 					LA30_: ;
5001 					{
5002 						if (!!((excHandlState == ((NI) 0)))) goto LA34_;
5003 						(*ctx).exceptionTable->data[i_3] = skipEmptyStates__closureiters_1503((&(*ctx)), excHandlState);
5004 					}
5005 					goto LA28_;
5006 					LA34_: ;
5007 					LA28_: ;
5008 				}
5009 				LA25_: ;
5010 				i_4 += ((NI) 1);
5011 			} LA20: ;
5012 		}
5013 	}
5014 	i_5 = ((NI) 0);
5015 	{
5016 		while (1) {
5017 			NI T38_;
5018 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fs;
5019 			T38_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
5020 			if (!(i_5 < (NI)(T38_ - ((NI) 1)))) goto LA37;
5021 			fs = skipStmtList__closureiters_1491((&(*ctx)), (*(*ctx).states->data[i_5])._kind_6.sons->data[((NI) 1)]);
5022 			{
5023 				NIM_BOOL T41_;
5024 				T41_ = (NIM_BOOL)0;
5025 				T41_ = ((*fs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156));
5026 				if (!(T41_)) goto LA42_;
5027 				T41_ = !((i_5 == ((NI) 0)));
5028 				LA42_: ;
5029 				if (!T41_) goto LA43_;
5030 				delete__closureiters_1709((&(*ctx).states), ((NI) (i_5)));
5031 				delete__closureiters_1746((&(*ctx).exceptionTable), ((NI) (i_5)));
5032 			}
5033 			goto LA39_;
5034 			LA43_: ;
5035 			{
5036 				i_5 += ((NI) 1);
5037 			}
5038 			LA39_: ;
5039 		} LA37: ;
5040 	}
5041 }
N_NIMCALL(void,del__closureiters_3571)5042 N_LIB_PRIVATE N_NIMCALL(void, del__closureiters_3571)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i) {
5043 	NI xl;
5044 	NI T1_;
5045 	T1_ = ((*x) ? (*x)->Sup.len : 0);
5046 	xl = (NI)(T1_ - ((NI) 1));
5047 	asgnRef((void**) (&(*x)->data[i]), (*x)->data[xl]);
5048 	unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (xl))));
5049 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAccess__closureiters_35)5050 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAccess__closureiters_35)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
5051 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5052 	result = NIM_NIL;
5053 	{
5054 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
5055 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
5056 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
5057 		if (!((*ctx).stateVarSym == 0)) goto LA3_;
5058 		T5_ = NIM_NIL;
5059 		T5_ = getEnvParam__lambdalifting_131((*ctx).fn);
5060 		T6_ = NIM_NIL;
5061 		T6_ = newSymNode__ast_3716(T5_);
5062 		T7_ = NIM_NIL;
5063 		T7_ = getStateField__lambdalifting_4660((*ctx).g, (*ctx).fn);
5064 		result = rawIndirectAccess__lowerings_326(T6_, T7_, (*(*ctx).fn).info);
5065 	}
5066 	goto LA1_;
5067 	LA3_: ;
5068 	{
5069 		result = newSymNode__ast_3716((*ctx).stateVarSym);
5070 	}
5071 	LA1_: ;
5072 	return result;
5073 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAssgn__closureiters_41)5074 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_41)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toValue) {
5075 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5076 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5077 	result = NIM_NIL;
5078 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5079 	T1_[0] = newStateAccess__closureiters_35(ctx);
5080 	T1_[1] = toValue;
5081 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T1_, 2);
5082 	return result;
5083 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAssgn__closureiters_45)5084 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_45)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateNo) {
5085 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5086 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1_;
5087 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
5088 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
5089 	result = NIM_NIL;
5090 	nimZeroMem((void*)(&T1_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
5091 	T2_ = NIM_NIL;
5092 	T2_ = getSysType__magicsys_60((*ctx).g, T1_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5093 	T3_ = NIM_NIL;
5094 	T3_ = newIntTypeNode__ast_3783(((NI64) (stateNo)), T2_);
5095 	result = newStateAssgn__closureiters_41(ctx, T3_);
5096 	return result;
5097 }
N_NIMCALL(NI,stateFromGotoState__closureiters_1375)5098 N_LIB_PRIVATE N_NIMCALL(NI, stateFromGotoState__closureiters_1375)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5099 	NI result;
5100 	result = (NI)0;
5101 	result = ((NI) ((*(*n)._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
5102 	return result;
5103 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformStateAssignments__closureiters_1386)5104 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformStateAssignments__closureiters_1386)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5105 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5106 	result = NIM_NIL;
5107 	result = n;
5108 	switch ((*n).kind) {
5109 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
5110 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
5111 	{
5112 		{
5113 			NIM_BOOL T4_;
5114 			NI T5_;
5115 			NI T9_;
5116 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
5117 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retStmt;
5118 			T4_ = (NIM_BOOL)0;
5119 			T5_ = (NI)0;
5120 			T5_ = len__ast_3198(n);
5121 			T4_ = !((T5_ == ((NI) 0)));
5122 			if (!(T4_)) goto LA6_;
5123 			T4_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104));
5124 			LA6_: ;
5125 			if (!T4_) goto LA7_;
5126 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5127 			T9_ = (NI)0;
5128 			T9_ = stateFromGotoState__closureiters_1375((*n)._kind_6.sons->data[((NI) 1)]);
5129 			T10_ = NIM_NIL;
5130 			T10_ = newStateAssgn__closureiters_45(ctx, T9_);
5131 			add__ast_4797(result, T10_);
5132 			retStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109), (*n).info);
5133 			{
5134 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
5135 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retVal;
5136 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T15_;
5137 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
5138 				if (!!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA13_;
5139 				a = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).info);
5140 				retVal = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
5141 				T15_ = NIM_NIL;
5142 				T15_ = getClosureIterResult__lambdalifting_62((*ctx).g, (*ctx).fn, (*ctx).idgen);
5143 				T16_ = NIM_NIL;
5144 				T16_ = newSymNode__ast_3716(T15_);
5145 				add__ast_4797(a, T16_);
5146 				add__ast_4797(a, retVal);
5147 				add__ast_4797(retStmt, a);
5148 			}
5149 			goto LA11_;
5150 			LA13_: ;
5151 			{
5152 				add__ast_4797(retStmt, (*(*ctx).g).emptyNode);
5153 			}
5154 			LA11_: ;
5155 			add__ast_4797(result, retStmt);
5156 		}
5157 		goto LA2_;
5158 		LA7_: ;
5159 		{
5160 			{
5161 				NI i;
5162 				NI colontmp_;
5163 				NI i_2;
5164 				i = (NI)0;
5165 				colontmp_ = (NI)0;
5166 				colontmp_ = len__ast_3198(n);
5167 				i_2 = ((NI) 0);
5168 				{
5169 					while (1) {
5170 						if (!(i_2 < colontmp_)) goto LA21;
5171 						i = i_2;
5172 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformStateAssignments__closureiters_1386(ctx, (*n)._kind_6.sons->data[i]));
5173 						i_2 += ((NI) 1);
5174 					} LA21: ;
5175 				}
5176 			}
5177 		}
5178 		LA2_: ;
5179 	}
5180 	break;
5181 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
5182 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
5183 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
5184 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
5185 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
5186 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
5187 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
5188 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
5189 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
5190 	{
5191 	}
5192 	break;
5193 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
5194 	{
5195 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
5196 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5197 		T24_ = NIM_NIL;
5198 		T24_ = newStateAssgn__closureiters_45(ctx, ((NI) -1));
5199 		add__ast_4797(result, T24_);
5200 		add__ast_4797(result, n);
5201 	}
5202 	break;
5203 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
5204 	{
5205 		NI T26_;
5206 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
5207 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* breakState;
5208 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
5209 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5210 		T26_ = (NI)0;
5211 		T26_ = stateFromGotoState__closureiters_1375(n);
5212 		T27_ = NIM_NIL;
5213 		T27_ = newStateAssgn__closureiters_45(ctx, T26_);
5214 		add__ast_4797(result, T27_);
5215 		breakState = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), (*n).info);
5216 		T28_ = NIM_NIL;
5217 		T28_ = newSymNode__ast_3716((*ctx).stateLoopLabel);
5218 		add__ast_4797(breakState, T28_);
5219 		add__ast_4797(result, breakState);
5220 	}
5221 	break;
5222 	default:
5223 	{
5224 		{
5225 			NI i_3;
5226 			NI colontmp__2;
5227 			NI i_4;
5228 			i_3 = (NI)0;
5229 			colontmp__2 = (NI)0;
5230 			colontmp__2 = len__ast_3198(n);
5231 			i_4 = ((NI) 0);
5232 			{
5233 				while (1) {
5234 					if (!(i_4 < colontmp__2)) goto LA32;
5235 					i_3 = i_4;
5236 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), transformStateAssignments__closureiters_1386(ctx, (*n)._kind_6.sons->data[i_3]));
5237 					i_4 += ((NI) 1);
5238 				} LA32: ;
5239 			}
5240 		}
5241 	}
5242 	break;
5243 	}
5244 	return result;
5245 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)5246 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
5247 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
5248 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5249 	(*x).typeId_0 += ((NI) 1);
5250 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5251 	result.module = (*x).module;
5252 	result.item = (*x).typeId_0;
5253 	return result;
5254 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newArrayType__closureiters_1545)5255 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newArrayType__closureiters_1545)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
5256 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5257 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
5258 	tyObject_TType__facALICuu8zUj0hjvbTLFg* rng;
5259 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
5260 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
5261 	result = NIM_NIL;
5262 	T1_ = nextTypeId__ast_3151(idgen);
5263 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), T1_, owner);
5264 	T2_ = nextTypeId__ast_3151(idgen);
5265 	rng = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20), T2_, owner);
5266 	nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5267 	T3_[0] = newIntLit__lowerings_695(g, (*owner).info, IL64(0));
5268 	T3_[1] = newIntLit__lowerings_695(g, (*owner).info, ((NI64) (n)));
5269 	asgnRef((void**) (&(*rng).n), newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), T3_, 2));
5270 	rawAddSon__ast_4288(rng, t, NIM_TRUE);
5271 	rawAddSon__ast_4288(result, rng, NIM_TRUE);
5272 	rawAddSon__ast_4288(result, t, NIM_TRUE);
5273 	return result;
5274 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,createExceptionTable__closureiters_1553)5275 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createExceptionTable__closureiters_1553)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
5276 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5277 	NI T1_;
5278 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
5279 	result = NIM_NIL;
5280 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*ctx).fn).info);
5281 	T1_ = ((*ctx).exceptionTable ? (*ctx).exceptionTable->Sup.len : 0);
5282 	T2_ = NIM_NIL;
5283 	T2_ = getSysType__magicsys_60((*ctx).g, (*(*ctx).fn).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
5284 	asgnRef((void**) (&(*result).typ), newArrayType__closureiters_1545((*ctx).g, T1_, T2_, (*ctx).idgen, (*ctx).fn));
5285 	{
5286 		NI* i;
5287 		NI i_2;
5288 		NI L;
5289 		NI T4_;
5290 		i = (NI*)0;
5291 		i_2 = ((NI) 0);
5292 		T4_ = ((*ctx).exceptionTable ? (*ctx).exceptionTable->Sup.len : 0);
5293 		L = T4_;
5294 		{
5295 			while (1) {
5296 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elem;
5297 				if (!(i_2 < L)) goto LA6;
5298 				i = (&(*ctx).exceptionTable->data[i_2]);
5299 				elem = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*i))));
5300 				asgnRef((void**) (&(*elem).typ), getSysType__magicsys_60((*ctx).g, (*(*ctx).fn).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33)));
5301 				add__ast_4797(result, elem);
5302 				i_2 += ((NI) 1);
5303 			} LA6: ;
5304 		}
5305 	}
5306 	return result;
5307 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newCatchBody__closureiters_1568)5308 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCatchBody__closureiters_1568)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
5309 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5310 	tyObject_TType__facALICuu8zUj0hjvbTLFg* intTyp;
5311 	tyObject_TType__facALICuu8zUj0hjvbTLFg* boolTyp;
5312 	result = NIM_NIL;
5313 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), info);
5314 	intTyp = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5315 	boolTyp = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
5316 	{
5317 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* getNextState;
5318 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
5319 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
5320 		nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5321 		T2_[0] = createExceptionTable__closureiters_1553(ctx);
5322 		T2_[1] = newStateAccess__closureiters_35(ctx);
5323 		getNextState = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T2_, 2);
5324 		asgnRef((void**) (&(*getNextState).typ), intTyp);
5325 		T3_ = NIM_NIL;
5326 		T3_ = newStateAssgn__closureiters_41(ctx, getNextState);
5327 		add__ast_4797(result, T3_);
5328 	}
5329 	{
5330 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
5331 		tyArray__T6RKPw8xfAeNaoei9aZGzXg T5_;
5332 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
5333 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raiseStmt;
5334 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T7_;
5335 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
5336 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T8_;
5337 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt;
5338 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T9_;
5339 		nimZeroMem((void*)T5_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5340 		T6_ = NIM_NIL;
5341 		T6_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_29), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70));
5342 		T5_[0] = newSymNode__ast_3716(T6_);
5343 		T5_[1] = newStateAccess__closureiters_35(ctx);
5344 		T5_[2] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5345 		cond = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T5_, 3);
5346 		asgnRef((void**) (&(*cond).typ), boolTyp);
5347 		nimZeroMem((void*)T7_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5348 		T7_[0] = (*(*ctx).g).emptyNode;
5349 		raiseStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T7_, 1);
5350 		nimZeroMem((void*)T8_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5351 		T8_[0] = cond;
5352 		T8_[1] = raiseStmt;
5353 		ifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T8_, 2);
5354 		nimZeroMem((void*)T9_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5355 		T9_[0] = ifBranch;
5356 		ifStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T9_, 1);
5357 		add__ast_4797(result, ifStmt);
5358 	}
5359 	{
5360 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond_2;
5361 		tyArray__T6RKPw8xfAeNaoei9aZGzXg T11_;
5362 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
5363 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
5364 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
5365 		nimZeroMem((void*)T11_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5366 		T12_ = NIM_NIL;
5367 		T12_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_43), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72));
5368 		T11_[0] = newSymNode__ast_3716(T12_);
5369 		T11_[1] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5370 		T11_[2] = newStateAccess__closureiters_35(ctx);
5371 		cond_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T11_, 3);
5372 		asgnRef((void**) (&(*cond_2).typ), boolTyp);
5373 		nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5374 		T13_[0] = newUnrollFinallyAccess__closureiters_84(ctx, info);
5375 		T13_[1] = cond_2;
5376 		asgn = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T13_, 2);
5377 		add__ast_4797(result, asgn);
5378 	}
5379 	{
5380 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond_3;
5381 		tyArray__T6RKPw8xfAeNaoei9aZGzXg T15_;
5382 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T16_;
5383 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* negateState;
5384 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T17_;
5385 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
5386 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch_2;
5387 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T19_;
5388 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt_2;
5389 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T20_;
5390 		nimZeroMem((void*)T15_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5391 		T16_ = NIM_NIL;
5392 		T16_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_43), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72));
5393 		T15_[0] = newSymNode__ast_3716(T16_);
5394 		T15_[1] = newStateAccess__closureiters_35(ctx);
5395 		T15_[2] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5396 		cond_3 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T15_, 3);
5397 		asgnRef((void**) (&(*cond_3).typ), boolTyp);
5398 		nimZeroMem((void*)T17_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5399 		T18_ = NIM_NIL;
5400 		T18_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_44), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93));
5401 		T17_[0] = newSymNode__ast_3716(T18_);
5402 		T17_[1] = newStateAccess__closureiters_35(ctx);
5403 		negateState = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T17_, 2);
5404 		asgnRef((void**) (&(*negateState).typ), intTyp);
5405 		nimZeroMem((void*)T19_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5406 		T19_[0] = cond_3;
5407 		T19_[1] = newStateAssgn__closureiters_41(ctx, negateState);
5408 		ifBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T19_, 2);
5409 		nimZeroMem((void*)T20_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5410 		T20_[0] = ifBranch_2;
5411 		ifStmt_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T20_, 1);
5412 		add__ast_4797(result, ifStmt_2);
5413 	}
5414 	{
5415 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T22_;
5416 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
5417 		nimZeroMem((void*)T22_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5418 		T22_[0] = newCurExcAccess__closureiters_91(ctx);
5419 		T22_[1] = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5420 		T23_ = NIM_NIL;
5421 		T23_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T22_, 2);
5422 		add__ast_4797(result, T23_);
5423 	}
5424 	return result;
5425 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,wrapIntoTryExcept__closureiters_1605)5426 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoTryExcept__closureiters_1605)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5427 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5428 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* setupExc;
5429 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5430 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
5431 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tryBody;
5432 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
5433 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptBranch;
5434 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T4_;
5435 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T5_;
5436 	result = NIM_NIL;
5437 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5438 	T2_ = NIM_NIL;
5439 	T2_ = getCompilerProc__magicsys_145((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_30));
5440 	T1_[0] = newSymNode__ast_3716(T2_);
5441 	T1_[1] = newCurExcAccess__closureiters_91(ctx);
5442 	setupExc = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 2);
5443 	nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5444 	T3_[0] = setupExc;
5445 	T3_[1] = n;
5446 	tryBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T3_, 2);
5447 	nimZeroMem((void*)T4_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5448 	T4_[0] = newCatchBody__closureiters_1568(ctx, (*(*ctx).fn).info);
5449 	exceptBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87), T4_, 1);
5450 	nimZeroMem((void*)T5_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5451 	T5_[0] = tryBody;
5452 	T5_[1] = exceptBranch;
5453 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106), T5_, 2);
5454 	return result;
5455 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,wrapIntoStateLoop__closureiters_1612)5456 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoStateLoop__closureiters_1612)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5457 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5458 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
5459 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5460 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
5461 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* localVars;
5462 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* blockStmt;
5463 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
5464 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gs;
5465 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
5466 	NI T14_;
5467 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
5468 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* blockBody;
5469 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T16_;
5470 	result = NIM_NIL;
5471 	loopBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5472 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5473 	T2_ = NIM_NIL;
5474 	T2_ = getSysSym__magicsys_16((*ctx).g, (*n).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_18));
5475 	T1_[0] = newSymNode__ast_3716(T2_);
5476 	T1_[1] = loopBody;
5477 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96), T1_, 2);
5478 	(*result).info = (*n).info;
5479 	localVars = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5480 	{
5481 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSect;
5482 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
5483 		if (!!(((*ctx).stateVarSym == 0))) goto LA5_;
5484 		varSect = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*n).info);
5485 		T7_ = NIM_NIL;
5486 		T7_ = newSymNode__ast_3716((*ctx).stateVarSym);
5487 		addVar__lowerings_63(varSect, T7_);
5488 		add__ast_4797(localVars, varSect);
5489 		{
5490 			if (!!(((*ctx).tempVars == 0))) goto LA10_;
5491 			add__ast_4797(localVars, (*ctx).tempVars);
5492 		}
5493 		LA10_: ;
5494 	}
5495 	LA5_: ;
5496 	blockStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112), (*n).info);
5497 	T12_ = NIM_NIL;
5498 	T12_ = newSymNode__ast_3716((*ctx).stateLoopLabel);
5499 	add__ast_4797(blockStmt, T12_);
5500 	gs = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
5501 	T13_ = NIM_NIL;
5502 	T13_ = newStateAccess__closureiters_35(ctx);
5503 	add__ast_4797(gs, T13_);
5504 	T14_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
5505 	T15_ = NIM_NIL;
5506 	T15_ = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((NI)(T14_ - ((NI) 1)))));
5507 	add__ast_4797(gs, T15_);
5508 	nimZeroMem((void*)T16_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5509 	T16_[0] = gs;
5510 	T16_[1] = localVars;
5511 	T16_[2] = n;
5512 	blockBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T16_, 3);
5513 	{
5514 		if (!(*ctx).hasExceptions) goto LA19_;
5515 		blockBody = wrapIntoTryExcept__closureiters_1605(ctx, blockBody);
5516 	}
5517 	LA19_: ;
5518 	add__ast_4797(blockStmt, blockBody);
5519 	add__ast_4797(loopBody, blockStmt);
5520 	return result;
5521 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformClosureIterator__closureiters_3541)5522 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIterator__closureiters_3541)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5523 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5524 	tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A ctx;
5525 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T8_;
5526 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T9_;
5527 	tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw pc;
5528 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5529 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
5530 	NI T11_;
5531 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut;
5532 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T12_;
5533 	NIM_BOOL ns;
5534 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
5535 	result = NIM_NIL;
5536 	nimZeroMem((void*)(&ctx), sizeof(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A));
5537 	ctx.g = g;
5538 	ctx.fn = fn;
5539 	ctx.idgen = idgen;
5540 	{
5541 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
5542 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T6_;
5543 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
5544 		T3_ = NIM_NIL;
5545 		T3_ = getEnvParam__lambdalifting_131(fn);
5546 		if (!(T3_ == 0)) goto LA4_;
5547 		T6_ = NIM_NIL;
5548 		T6_ = getIdent__idents_143((*ctx.g).cache, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_2));
5549 		T7_ = nextSymId__ast_3132(idgen);
5550 		ctx.stateVarSym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T6_, T7_, fn, (*fn).info, 0);
5551 		asgnRef((void**) (&(*ctx.stateVarSym).typ), createClosureIterStateType__lambdalifting_33(g, fn, idgen));
5552 	}
5553 	LA4_: ;
5554 	T8_ = NIM_NIL;
5555 	T8_ = getIdent__idents_143((*ctx.g).cache, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_3));
5556 	T9_ = nextSymId__ast_3132(idgen);
5557 	ctx.stateLoopLabel = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), T8_, T9_, fn, (*fn).info, 0);
5558 	nimZeroMem((void*)(&pc), sizeof(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw));
5559 	nimZeroMem((void*)(&pc), sizeof(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw));
5560 	pc.finallys = NIM_NIL;
5561 	pc.config = (*g).config;
5562 	pc.idgen = idgen;
5563 	T10_ = NIM_NIL;
5564 	T10_ = toStmtList__closureiters_136(n);
5565 	n_2 = preprocess__closureiters_3362((&pc), T10_);
5566 	T11_ = (NI)0;
5567 	T11_ = newState__closureiters_97((&ctx), n_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5568 	(void)(T11_);
5569 	nimZeroMem((void*)T12_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5570 	T12_[0] = newIntLit__lowerings_695(g, (*n_2).info, IL64(-1));
5571 	gotoOut = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T12_, 1);
5572 	ns = NIM_FALSE;
5573 	n_2 = lowerStmtListExprs__closureiters_478((&ctx), n_2, (&ns));
5574 	{
5575 		NIM_BOOL T15_;
5576 		T15_ = (NIM_BOOL)0;
5577 		T15_ = hasYieldsInExpressions__closureiters_371(n_2);
5578 		if (!T15_) goto LA16_;
5579 		internalErrorImpl__msgs_1431((*ctx.g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_19), TM__slVvvIjx75ivXdMpHiE9c9aQ_20);
5580 	}
5581 	LA16_: ;
5582 	T18_ = NIM_NIL;
5583 	T18_ = transformClosureIteratorBody__closureiters_1173((&ctx), n_2, gotoOut);
5584 	(void)(T18_);
5585 	deleteEmptyStates__closureiters_1659((&ctx));
5586 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n_2).info);
5587 	{
5588 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s;
5589 		NI i;
5590 		NI L;
5591 		NI T20_;
5592 		s = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5593 		i = ((NI) 0);
5594 		T20_ = (ctx.states ? ctx.states->Sup.len : 0);
5595 		L = T20_;
5596 		{
5597 			while (1) {
5598 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
5599 				if (!(i < L)) goto LA22;
5600 				s = &ctx.states->data[i];
5601 				body = (*(*s))._kind_6.sons->data[((NI) 1)];
5602 				del__closureiters_3571((&(*(*s))._kind_6.sons), ((NI) 1));
5603 				add__ast_4797(result, (*s));
5604 				add__ast_4797(result, body);
5605 				i += ((NI) 1);
5606 			} LA22: ;
5607 		}
5608 	}
5609 	result = transformStateAssignments__closureiters_1386((&ctx), result);
5610 	result = wrapIntoStateLoop__closureiters_1612((&ctx), result);
5611 	return result;
5612 }
N_NIMCALL(void,compiler_closureitersDatInit000)5613 N_LIB_PRIVATE N_NIMCALL(void, compiler_closureitersDatInit000)(void) {
5614 static TNimNode* TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[3];
5615 static TNimNode TM__slVvvIjx75ivXdMpHiE9c9aQ_0[4];
5616 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.size = sizeof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw);
5617 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.align = NIM_ALIGNOF(tyTuple__O3AtiO8fwKWfdl6NGmuzhw);
5618 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.kind = 18;
5619 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.base = 0;
5620 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[0] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1];
5621 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].kind = 1;
5622 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field0);
5623 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5624 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].name = "Field0";
5625 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[1] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2];
5626 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].kind = 1;
5627 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field1);
5628 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5629 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].name = "Field1";
5630 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[2] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3];
5631 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].kind = 1;
5632 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field2);
5633 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
5634 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].name = "Field2";
5635 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].len = 3; TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].kind = 2; TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].sons = &TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[0];
5636 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.node = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0];
5637 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.size = sizeof(tySequence__gVogYzwlGNrCaz6jQnXRzA*);
5638 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.align = NIM_ALIGNOF(tySequence__gVogYzwlGNrCaz6jQnXRzA*);
5639 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.kind = 24;
5640 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.base = (&NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_);
5641 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.marker = Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA;
5642 }
5643 
5644