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