1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
22 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
23 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
24 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
25 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
26 typedef struct tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ;
27 typedef struct TNimType TNimType;
28 typedef struct TNimNode TNimNode;
29 typedef struct tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg;
30 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
31 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
32 typedef struct RootObj RootObj;
33 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
34 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
35 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
36 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
37 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
38 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
39 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
40 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
41 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
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_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
46 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
47 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
48 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
49 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
50 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
51 typedef struct NimStringDesc NimStringDesc;
52 typedef struct TGenericSeq TGenericSeq;
53 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
54 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
55 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
56 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
57 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
58 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
59 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
60 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
61 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
62 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
63 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
64 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
65 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
66 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
67 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
68 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
69 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
70 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
71 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
72 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
73 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
74 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
75 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
76 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
77 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
78 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
79 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
80 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
81 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
82 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
83 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
84 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
85 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
86 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
87 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
88 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
89 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
90 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
91 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
92 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
93 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
94 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
95 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
96 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
97 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
98 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
99 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
100 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
101 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
102 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
103 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
104 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
105 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
106 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
107 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
108 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
109 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
110 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
111 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
112 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
113 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
114 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
115 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
116 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
117 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
118 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
119 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
120 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
121 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
122 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
123 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
124 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
125 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
126 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
127 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
128 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
129 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
130 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
131 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
132 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
133 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
134 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
135 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
136 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
137 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
138 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
139 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
140 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
141 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
142 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
143 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
144 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
145 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
146 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
147 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
148 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
149 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
150 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
151 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
152 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
153 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
154 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
155 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
156 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
157 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
158 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
159 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
160 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
161 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
162 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
163 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
164 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
165 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
166 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
167 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
168 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
169 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
170 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
171 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
172 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
173 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
174 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
175 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
176 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
177 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
178 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
179 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
180 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
181 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
182 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
183 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
184 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
185 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
186 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
187 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
188 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
189 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
190 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
191 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
192 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
193 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
194 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
195 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
196 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
197 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
198 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
199 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
200 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
201 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
202 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
203 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
204 NI counter;
205 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
206 };
207 struct tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ {
208 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q topLayer;
209 tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* nextLayer;
210 };
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 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
227 struct TNimNode {
228 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
229 NI offset;
230 TNimType* typ;
231 NCSTRING name;
232 NI len;
233 TNimNode** sons;
234 };
235 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
236 NU16 line;
237 NI16 col;
238 NI32 fileIndex;
239 };
240 struct tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg {
241 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
242 tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
243 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMap;
244 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q localCache;
245 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
246 NIM_BOOL allowMetaTypes;
247 NIM_BOOL skipTypedesc;
248 NIM_BOOL isReturnType;
249 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
250 NI recursionLimit;
251 };
252 struct RootObj {
253 TNimType* m_type;
254 };
255 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
256   RootObj Sup;
257 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
258 };
259 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
260 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
261 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
262 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
263 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
264 typedef struct {
265 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
266 void* ClE_0;
267 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
268 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
269 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__qlV9aWvA5wrWVg9bI5PqwJyA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
270 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
271 typedef struct {
272 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
273 void* ClE_0;
274 } tyProc__3cacbJ4la9bDJNibHybQSnA;
275 typedef struct {
276 N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, void* ClE_0);
277 void* ClE_0;
278 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
279 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
280 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
281 NI elems;
282 NI counter;
283 NI max;
284 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
285 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
286 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
287 };
288 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
289 NI counter;
290 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
291 };
292 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
293 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, NI col);
294 struct TGenericSeq {
295 NI len;
296 NI reserved;
297 };
298 struct NimStringDesc {
299   TGenericSeq Sup;
300 NIM_CHAR data[SEQ_DECL_SIZE];
301 };
302 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
303 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
304 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
305 NI counter;
306 };
307 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
308 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
309 NI counter;
310 };
311 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
312 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
313 NI counter;
314 };
315 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
316   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
317 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
318 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
319 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
320 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
321 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
322 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
323 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
324 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
325 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
326 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
327 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
328 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
329 NI instCounter;
330 NI* templInstCounter;
331 NI inGenericContext;
332 NI inStaticContext;
333 NI inUnrolledContext;
334 NI compilesContextId;
335 NI compilesContextIdGenerator;
336 NI inGenericInst;
337 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
338 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
339 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
340 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
341 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
342 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
343 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
344 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
345 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
346 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
347 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
348 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
349 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
350 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
351 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
352 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
353 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
354 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
355 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
356 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
357 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
358 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
359 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
360 NI topStmts;
361 NI lastGenericIdx;
362 NI hloLoopDetector;
363 NI inParallelStmt;
364 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
365 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
366 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
367 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
368 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
369 NimStringDesc* recursiveDep;
370 NIM_BOOL suggestionsMade;
371 NIM_BOOL isAmbiguous;
372 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
373 NI inTypeContext;
374 NI inConceptDecl;
375 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
376 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
377 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
378 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
379 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
380 NI inUncheckedAssignSection;
381 };
382 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
383 NI32 module;
384 NI32 item;
385 };
386 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
387   RootObj Sup;
388 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
389 };
390 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
391 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
392 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
393 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
394 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
395 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
396 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
397 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
398 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
399 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
400 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
401 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
402 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
403 };
404 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
405   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
406 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
407 union{
408 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
409 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
410 } _kind_1;
411 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
412 NI bitsize;
413 NI alignment;
414 } _kind_2;
415 };
416 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
417 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
418 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
419 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
420 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
421 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
422 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
423 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
424 NI position;
425 NI offset;
426 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
427 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
428 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
429 };
430 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
431 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
432 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
433 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
434 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
435 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
436 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
437 union{
438 struct {NI64 intVal;
439 } _kind_1;
440 struct {NF floatVal;
441 } _kind_2;
442 struct {NimStringDesc* strVal;
443 } _kind_3;
444 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
445 } _kind_4;
446 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
447 } _kind_5;
448 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
449 } _kind_6;
450 };
451 };
452 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
453 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
454 NI counter;
455 };
456 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
457 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
458 NI counter;
459 };
460 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
461 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
462 NI counter;
463 };
464 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
465 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
466 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
467 NI counter;
468 };
469 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
470 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
471 NI counter;
472 };
473 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
474 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
475 NI counter;
476 };
477 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
478 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
479 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
480 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
481 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
482 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
483 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
484 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
485 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
486 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
487 };
488 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
489 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
490 NI counter;
491 };
492 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
493 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
494 NI counter;
495 };
496 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
497 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
498 NI counter;
499 };
500 typedef struct {
501 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
502 void* ClE_0;
503 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
504 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
505 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
506 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
507 NI counter;
508 };
509 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
510 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
511 NI counter;
512 };
513 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
514 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
515 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
516 tySequence__23SMqauuRsbDANhthj9bWlA* data;
517 NI counter;
518 };
519 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
520 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
521 NI counter;
522 };
523 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
524 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
525 NI counter;
526 };
527 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
528 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
529 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
530 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
531 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
532 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
533 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
534 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
535 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
536 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
537 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
538 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
539 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
540 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
541 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
542 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
543 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
544 };
545 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
546 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
547 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
548 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
549 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
550 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
551 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
552 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
553 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
554 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
555 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
556 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
557 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
558 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
559 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
560 NIM_BOOL suggestMode;
561 NIM_BOOL invalidTransitiveClosure;
562 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
563 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
564 RootObj* backend;
565 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
566 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
567 RootObj* vm;
568 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
569 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
570 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
571 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
572 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
573 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
574 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
575 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
576 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
577 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
578 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
579 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
580 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
581 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
582 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
583 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
584 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
585 tySequence__MAQKEADohlpnXTModtugbQ* passes;
586 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
587 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
588 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
589 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
590 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
591 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
592 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
593 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
594 };
595 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
596 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
597 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
598 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
599   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
600 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
601 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
602 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
603 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
604 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
605 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
606 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
607 NI64 size;
608 NI16 align;
609 NI16 paddingAtEnd;
610 NI16 lockLevel;
611 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
612 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
613 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
614 };
615 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
616 NimStringDesc* Field0;
617 NI Field1;
618 NI Field2;
619 };
620 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
621 NU32 module;
622 NI32 item;
623 };
624 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
625 NI module;
626 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
627 };
628 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
629 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
630 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
631 };
632 typedef NU8 tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg;
633 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
634 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
635 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
636 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
637 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
638 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
639 NI32 module;
640 NI32 symId;
641 NI32 typeId_0;
642 NIM_BOOL sealed;
643 };
644 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
645 NI refcount;
646 TNimType* typ;
647 };
648 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
649 void* bottom;
650 };
651 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
652 NI len;
653 NI cap;
654 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
655 };
656 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
657 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
658 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
659 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
660 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
661 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
662 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
663 };
664 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
665 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
666 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
667 NI key;
668 NI upperBound;
669 NI level;
670 };
671 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
672 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
673 NI Field1;
674 };
675 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
676 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
677 NI len;
678 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
679 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
680 };
681 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
682 NI minLargeObj;
683 NI maxLargeObj;
684 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
685 NU32 flBitmap;
686 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
687 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
688 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
689 NI currMem;
690 NI maxMem;
691 NI freeMem;
692 NI occ;
693 NI lastSize;
694 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
695 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
696 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
697 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
698 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
699 NIM_BOOL locked;
700 NIM_BOOL blockChunkSizeIncrease;
701 NI nextChunkSize;
702 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
703 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
704 };
705 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
706 NI stackScans;
707 NI cycleCollections;
708 NI maxThreshold;
709 NI maxStackSize;
710 NI maxStackCells;
711 NI cycleTableSize;
712 NI64 maxPause;
713 };
714 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
715 NI counter;
716 NI max;
717 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
718 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
719 };
720 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
721 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
722 NI cycleThreshold;
723 NI zctThreshold;
724 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
725 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
726 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
727 NI recGcLock;
728 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
729 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
730 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
731 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
732 NI gcThreadId;
733 };
734 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
735 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
736 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
737 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
738 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
739 };
740 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
741 NI Field0;
742 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
743 };
744 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
745 NI id;
746 NimStringDesc* s;
747 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
748 NI h;
749 };
750 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
751 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
752 RootObj* val;
753 };
754 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
755 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
756 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
757 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
758 union{
759 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
760 } _mode_2;
761 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
762 } _mode_3;
763 };
764 };
765 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
766 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
767 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
768 };
769 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
770 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
771 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
772 };
773 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
774 NI Field0;
775 NI Field1;
776 };
777 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
778 NI Field0;
779 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
780 };
781 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
782 NI Field0;
783 NI Field1;
784 NI Field2;
785 };
786 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
787 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
788 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
789 };
790 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
791 NI Field0;
792 NI Field1;
793 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
794 };
795 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
796 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
797 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
798 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
799 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
800 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
801 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
802 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
803 };
804 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
805 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
806 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
807 };
808 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
809 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
810 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
811 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
812 };
813 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
814 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
815 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
816 };
817 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
818 NimStringDesc* definedSymbols;
819 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
820 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
821 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
822 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
823 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
824 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
825 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
826 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
827 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
828 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
829 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
830 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
831 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
832 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
833 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
834 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
835 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
836 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
837 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
838 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
839 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
840 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
841 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
842 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
843 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
844 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
845 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
846 };
847 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
848 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
849 NI counter;
850 };
851 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
852 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
853 NIM_BOOL symsInit;
854 NIM_BOOL typesInit;
855 NIM_BOOL loadedButAliveSetChanged;
856 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
857 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
858 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
859 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
860 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
861 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
862 };
863 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
864 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
865 NI counter;
866 };
867 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
868 NI32 thisModule;
869 NI32 lastFile;
870 NU32 lastLit;
871 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
872 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
873 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
874 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
875 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
876 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
877 };
878 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
879 NI Field0;
880 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
881 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
882 };
883 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
884 NI module;
885 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
886 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
887 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
888 };
889 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
890 NI Field0;
891 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
892 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
893 };
894 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
895 NI Field0;
896 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
897 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
898 };
899 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
900 NI Field0;
901 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
902 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
903 };
904 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
905 NI Field0;
906 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
907 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
908 };
909 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
910 NI Field0;
911 NimStringDesc* Field1;
912 NI32 Field2;
913 };
914 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
915 NI Field0;
916 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
917 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
918 };
919 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
920 NI Field0;
921 NI32 Field1;
922 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
923 };
924 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
925 NI Field0;
926 NI32 Field1;
927 NI32 Field2;
928 };
929 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
930 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
931 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
932 };
933 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
934 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
935 NI Field0;
936 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
937 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
938 };
939 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
940 NI Field0;
941 NI Field1;
942 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
943 };
944 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
945 NI Field0;
946 NimStringDesc* Field1;
947 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
948 };
949 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
950 NI Field0;
951 NimStringDesc* Field1;
952 NI64 Field2;
953 };
954 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
955 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
956 NI entries;
957 };
958 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
959 NI Field0;
960 NimStringDesc* Field1;
961 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
962 };
963 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
964 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
965 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
966 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
967 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
968 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
969 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
970 NIM_BOOL Field3;
971 };
972 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
973 NU32 Field0;
974 NimStringDesc* Field1;
975 };
976 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
977 NU16 line;
978 NI16 col;
979 NU32 file;
980 };
981 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
982 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
983 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
984 NI32 operand;
985 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
986 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
987 };
988 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
989 NU32 Field0;
990 NI32 Field1;
991 };
992 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
993 NU32 Field0;
994 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
995 };
996 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
997 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
998 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
999 };
1000 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1001 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1002 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1003 };
1004 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1005 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1006 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1007 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1008 };
1009 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1010 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1011 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1012 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1013 };
1014 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1015 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1016 NI Field1;
1017 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1018 };
1019 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1020 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1021 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1022 NIM_BOOL generated;
1023 NIM_BOOL isOverriden;
1024 NU32 name;
1025 NI32 path;
1026 };
1027 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1028 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1029 NU32 name;
1030 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1031 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1032 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1033 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1034 NI32 ast;
1035 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1036 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1037 NI bitsize;
1038 NI alignment;
1039 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1040 NI position;
1041 NI offset;
1042 NU32 externalName;
1043 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1044 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1045 NI32 constraint;
1046 };
1047 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1048 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1049 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1050 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1051 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1052 NI32 n;
1053 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1054 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1055 NI64 size;
1056 NI16 align;
1057 NI16 paddingAtEnd;
1058 NI16 lockLevel;
1059 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1060 NI32 nonUniqueId;
1061 };
1062 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1063 NI Field0;
1064 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1065 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1066 };
1067 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1068 NI Field0;
1069 NI32 Field1;
1070 NU32 Field2;
1071 };
1072 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1073   TGenericSeq Sup;
1074   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1075 };
1076 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1077   TGenericSeq Sup;
1078   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1079 };
1080 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1081   TGenericSeq Sup;
1082   tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1083 };
1084 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1085   TGenericSeq Sup;
1086   tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1087 };
1088 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1089   TGenericSeq Sup;
1090   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1091 };
1092 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1093   TGenericSeq Sup;
1094   tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1095 };
1096 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1097   TGenericSeq Sup;
1098   tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1099 };
1100 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1101   TGenericSeq Sup;
1102   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1103 };
1104 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1105   TGenericSeq Sup;
1106   tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1107 };
1108 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1109   TGenericSeq Sup;
1110   tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1111 };
1112 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1113   TGenericSeq Sup;
1114   tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1115 };
1116 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1117   TGenericSeq Sup;
1118   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1119 };
1120 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1121   TGenericSeq Sup;
1122   tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1123 };
1124 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1125   TGenericSeq Sup;
1126   tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1127 };
1128 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1129   TGenericSeq Sup;
1130   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1131 };
1132 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1133   TGenericSeq Sup;
1134   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1135 };
1136 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1137   TGenericSeq Sup;
1138   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1139 };
1140 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1141   TGenericSeq Sup;
1142   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1143 };
1144 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1145   TGenericSeq Sup;
1146   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1147 };
1148 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1149   TGenericSeq Sup;
1150   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1151 };
1152 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1153   TGenericSeq Sup;
1154   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1155 };
1156 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1157   TGenericSeq Sup;
1158   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1159 };
1160 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1161   TGenericSeq Sup;
1162   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1163 };
1164 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1165   TGenericSeq Sup;
1166   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1167 };
1168 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1169   TGenericSeq Sup;
1170   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1171 };
1172 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1173   TGenericSeq Sup;
1174   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1175 };
1176 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1177   TGenericSeq Sup;
1178   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1179 };
1180 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1181   TGenericSeq Sup;
1182   NI32 data[SEQ_DECL_SIZE];
1183 };
1184 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1185   TGenericSeq Sup;
1186   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1187 };
1188 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1189   TGenericSeq Sup;
1190   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1191 };
1192 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1193   TGenericSeq Sup;
1194   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1195 };
1196 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1197   TGenericSeq Sup;
1198   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1199 };
1200 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1201   TGenericSeq Sup;
1202   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1203 };
1204 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1205   TGenericSeq Sup;
1206   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1207 };
1208 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1209   TGenericSeq Sup;
1210   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1211 };
1212 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1213   TGenericSeq Sup;
1214   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1215 };
1216 struct tySequence__MAQKEADohlpnXTModtugbQ {
1217   TGenericSeq Sup;
1218   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1219 };
1220 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1221   TGenericSeq Sup;
1222   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1223 };
1224 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1225   TGenericSeq Sup;
1226   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1227 };
1228 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1229   TGenericSeq Sup;
1230   NU32 data[SEQ_DECL_SIZE];
1231 };
1232 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1233   TGenericSeq Sup;
1234   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1235 };
1236 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1237   TGenericSeq Sup;
1238   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1239 };
1240 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1241   TGenericSeq Sup;
1242   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1243 };
1244 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1245   TGenericSeq Sup;
1246   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1247 };
1248 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1249   TGenericSeq Sup;
1250   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1251 };
1252 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1253   TGenericSeq Sup;
1254   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1255 };
1256 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1257   TGenericSeq Sup;
1258   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1259 };
1260 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1261   TGenericSeq Sup;
1262   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1263 };
1264 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1265   TGenericSeq Sup;
1266   NimStringDesc* data[SEQ_DECL_SIZE];
1267 };
1268 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1269   TGenericSeq Sup;
1270   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1271 };
1272 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1273   TGenericSeq Sup;
1274   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1275 };
1276 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1277   TGenericSeq Sup;
1278   NI64 data[SEQ_DECL_SIZE];
1279 };
1280 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1281   TGenericSeq Sup;
1282   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1283 };
1284 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1285   TGenericSeq Sup;
1286   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1287 };
1288 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1289   TGenericSeq Sup;
1290   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1291 };
1292 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1293   TGenericSeq Sup;
1294   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1295 };
1296 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, initLayeredTypeMap__semtypinst_134)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt);
1297 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1298 static N_NIMCALL(void, Marker_tyRef__zSq8dodcWpSdfE0WaiBU9cw)(void* p, NI op);
1299 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1300 N_LIB_PRIVATE N_NIMCALL(void, copyIdTable__ast_3610)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* dest, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q src);
1301 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1302 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1303 N_LIB_PRIVATE N_NIMCALL(void, initTypeVars__semtypinst_982)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* Result);
1304 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1305 N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_4096)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x);
1306 N_LIB_PRIVATE N_NIMCALL(void, pushInfoContext__msgs_490)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* detail);
1307 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypeVarsN__semtypinst_130)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start);
1308 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1309 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsT__semtypinst_178)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1310 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsTAux__semtypinst_124)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1311 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lookup__semtypinst_158)(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TType__facALICuu8zUj0hjvbTLFg* key);
1312 N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_64)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key);
1313 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, handleGenericInvocation__semtypinst_509)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1314 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1315 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, searchInstTypes__semtypinst_44)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* key);
1316 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__modulegraphs_2995)(tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
1317 N_LIB_PRIVATE N_NIMCALL(tySequence__O5RcspOP32YJ4YtU5ppxxA**, X5BX5D___modulegraphs_3311)(tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
1318 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, resolveType__modulegraphs_2851)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg* t);
1319 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1320 static N_INLINE(NIM_BOOL, sameFlags__types_2216)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1321 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_2659)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y, tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg cmp, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1322 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lookupTypeVar__semtypinst_464)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1323 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);
1324 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1325 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1326 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1327 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1328 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1329 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, errorType__semdata_1002)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1330 N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val);
1331 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, instCopyType__semtypinst_480)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1332 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, exactReplica__ast_4051)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1333 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, copyType__ast_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1334 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1335 N_LIB_PRIVATE N_NIMCALL(void, copyTypeProps__modulegraphs_8872)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
1336 static N_INLINE(void, asgnRef)(void** dest, void* src);
1337 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1338 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1339 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
1340 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1341 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1342 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1343 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1344 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1345 N_LIB_PRIVATE N_NIMCALL(void, propagateToOwner__ast_4219)(tyObject_TType__facALICuu8zUj0hjvbTLFg* owner, tyObject_TType__facALICuu8zUj0hjvbTLFg* elem, NIM_BOOL propagateHasAsgn);
1346 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1347 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1348 N_LIB_PRIVATE N_NIMCALL(void, cacheTypeInst__semtypinst_88)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inst);
1349 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1350 N_LIB_PRIVATE N_NIMCALL(void, addToGenericCache__semdata_2394)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* inst);
1351 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, newTypeMapLayer__semtypinst_155)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl);
1352 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1353 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericAlias__types_2196)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1354 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2210)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1355 N_LIB_PRIVATE N_NIMCALL(void, checkPartialConstructedType__semtypinst_13)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1356 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
1357 N_LIB_PRIVATE N_NIMCALL(void, setAttachedOp__modulegraphs_4407)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
1358 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1359 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__modulegraphs_7256)(tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
1360 N_LIB_PRIVATE N_NIMCALL(tySequence__159bHWBGAOOs6U7OZ9cQlO0g**, X5BX5D___modulegraphs_7572)(tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
1361 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, resolveSym__modulegraphs_2866)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA* t);
1362 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareNode__semtypinst_182)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1363 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, replaceTypeVarsS__semtypinst_127)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1364 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, copySym__ast_4054)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id);
1365 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1366 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1367 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1368 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1369 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeS__semdata_733)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1370 static N_INLINE(void, nimGCunrefRC1)(void* p);
1371 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
1372 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1373 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeDesc__concepts_49)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1374 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1375 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3351)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1376 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1377 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1378 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1379 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1380 N_LIB_PRIVATE N_NIMCALL(void, propagateFieldFlags__semtypinst_774)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1381 N_LIB_PRIVATE N_NIMCALL(void, eraseVoidParams__semtypinst_682)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1382 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1383 N_LIB_PRIVATE N_NIMCALL(void, skipIntLiteralParams__semtypinst_738)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1384 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceObjBranches__semtypinst_277)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1385 N_LIB_PRIVATE N_NIMCALL(void, illFormedAst__semdata_1071)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1386 N_LIB_PRIVATE N_NIMCALL(void, checkSonsLen__semdata_1077)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI length, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1387 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1388 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, reResolveCallsWithTypedescParams__semtypinst_246)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1389 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeParam__semtypinst_227)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1390 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1391 N_LIB_PRIVATE N_NIMCALL(void, newSons__semtypinst_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI length);
1392 N_LIB_PRIVATE N_NIMCALL(void, popInfoContext__msgs_507)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1393 N_LIB_PRIVATE N_NIMCALL(void, recomputeFieldPositions__semtypinst_1006)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, NI* currPosition);
1394 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1395 N_LIB_PRIVATE N_NIMCALL(NI64, computeSize__types_3308)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1396 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3987)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1397 N_LIB_PRIVATE TNimType NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_;
1398 extern TNimType NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_;
1399 N_LIB_PRIVATE TNimType NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_;
1400 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_3, "no generic body", 15);
1401 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_5, "/home/runner/work/nightlies/nightlies/nim/compiler/semtypinst.nim", 65);
1402 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_4 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1403 ((NI) 329),
1404 ((NI) 17)}
1405 ;
1406 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_6, "cannot instantiate: \'", 21);
1407 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_7, "\'", 1);
1408 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_8 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1409 ((NI) 293),
1410 ((NI) 14)}
1411 ;
1412 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_9, "substitution with generic parameter", 35);
1413 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_10 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1414 ((NI) 300),
1415 ((NI) 17)}
1416 ;
1417 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
1418 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_11, "type \'var var\' is not allowed", 29);
1419 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_12 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1420 ((NI) 21),
1421 ((NI) 14)}
1422 ;
1423 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_13 = {
1424 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1425 0x00}
1426 ;
1427 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_14, "\'; Maybe generic arguments are missing\?", 39);
1428 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_15 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1429 ((NI) 525),
1430 ((NI) 14)}
1431 ;
1432 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_16 = {
1433 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1434 0x00}
1435 ;
1436 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_17, "cannot instantiate \'", 20);
1437 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_18, "\' inside of type definition: \'", 30);
1438 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_19 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1439 ((NI) 599),
1440 ((NI) 22)}
1441 ;
1442 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_20 = {
1443 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
1444 0x00}
1445 ;
1446 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_21 = {
1447 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
1448 0x00}
1449 ;
1450 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_22, "(", 1);
1451 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_23, ", ", 2);
1452 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_24, ")", 1);
1453 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_25 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1454 ((NI) 618),
1455 ((NI) 23)}
1456 ;
1457 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1458 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1459 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_26 = {
1460 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1461 0x00}
1462 ;
1463 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_27, "ReplaceTypeVarsN: when condition not a bool", 43);
1464 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_28 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1465 ((NI) 179),
1466 ((NI) 23)}
1467 ;
1468 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_29 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1469 ((NI) 219),
1470 ((NI) 23)}
1471 ;
1472 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_30 = {
1473 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1474 0x00}
1475 ;
1476 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_31 = {
1477 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1478 0x00}
1479 ;
1480 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_32 = {
1481 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1482 0x00}
1483 ;
1484 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_33 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1485 ((NI) 27),
1486 ((NI) 14)}
1487 ;
1488 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_34, "illegal recursion in type \'", 27);
1489 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_35 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1490 ((NI) 29),
1491 ((NI) 14)}
1492 ;
1493 extern tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw eqTypeFlags__ast_479;
1494 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_NIMCALL(void,Marker_tyRef__zSq8dodcWpSdfE0WaiBU9cw)1495 static N_NIMCALL(void, Marker_tyRef__zSq8dodcWpSdfE0WaiBU9cw)(void* p, NI op) {
1496 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* a;
1497 	a = (tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*)p;
1498 	nimGCvisit((void*)(*a).topLayer.data, op);
1499 	nimGCvisit((void*)(*a).nextLayer, op);
1500 }
N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ *,initLayeredTypeMap__semtypinst_134)1501 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, initLayeredTypeMap__semtypinst_134)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt) {
1502 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* result;
1503 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* T1_;
1504 	result = NIM_NIL;
1505 	T1_ = NIM_NIL;
1506 	T1_ = (tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*) newObj((&NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_), sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ));
1507 	result = T1_;
1508 	copyIdTable__ast_3610((&(*result).topLayer), pt);
1509 	return result;
1510 }
N_INLINE(void,nimSetMem__systemZmemory_7)1511 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1512 	void* T1_;
1513 	T1_ = (void*)0;
1514 	T1_ = memset(a, v, ((size_t) (size)));
1515 }
N_INLINE(void,nimZeroMem)1516 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1517 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
1518 }
N_NIMCALL(void,initTypeVars__semtypinst_982)1519 N_LIB_PRIVATE N_NIMCALL(void, initTypeVars__semtypinst_982)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* Result) {
1520 	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
1521 	unsureAsgnRef((void**)&(*Result).typeMap, NIM_NIL);
1522 	(*Result).symMap.counter = 0;
1523 	unsureAsgnRef((void**)&(*Result).symMap.data, NIM_NIL);
1524 	(*Result).localCache.counter = 0;
1525 	unsureAsgnRef((void**)&(*Result).localCache.data, NIM_NIL);
1526 	(*Result).info.line = 0;
1527 	(*Result).info.col = 0;
1528 	(*Result).info.fileIndex = 0;
1529 	(*Result).allowMetaTypes = 0;
1530 	(*Result).skipTypedesc = 0;
1531 	(*Result).isReturnType = 0;
1532 	unsureAsgnRef((void**)&(*Result).owner, NIM_NIL);
1533 	(*Result).recursionLimit = 0;
1534 	initIdTable__ast_4096((&(*Result).symMap));
1535 	initIdTable__ast_4096((&(*Result).localCache));
1536 	unsureAsgnRef((void**) (&(*Result).typeMap), typeMap);
1537 	(*Result).info = info;
1538 	unsureAsgnRef((void**) (&(*Result).c), p);
1539 	unsureAsgnRef((void**) (&(*Result).owner), owner);
1540 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,lookup__semtypinst_158)1541 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lookup__semtypinst_158)(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TType__facALICuu8zUj0hjvbTLFg* key) {
1542 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1543 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* tm;
1544 {	result = NIM_NIL;
1545 	tm = typeMap;
1546 	{
1547 		while (1) {
1548 			RootObj* T3_;
1549 			if (!!((tm == ((tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*) NIM_NIL)))) goto LA2;
1550 			T3_ = NIM_NIL;
1551 			T3_ = idTableGet__astalgo_64((*tm).topLayer, &key->Sup);
1552 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T3_));
1553 			{
1554 				if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA6_;
1555 				goto BeforeRet_;
1556 			}
1557 			LA6_: ;
1558 			tm = (*tm).nextLayer;
1559 		} LA2: ;
1560 	}
1561 	}BeforeRet_: ;
1562 	return result;
1563 }
N_INLINE(NI,len__ast_4002)1564 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
1565 	NI result;
1566 	NI T1_;
1567 	result = (NI)0;
1568 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
1569 	result = T1_;
1570 	return result;
1571 }
N_INLINE(NIM_BOOL,sameFlags__types_2216)1572 static N_INLINE(NIM_BOOL, sameFlags__types_2216)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
1573 	NIM_BOOL result;
1574 	result = (NIM_BOOL)0;
1575 	result = ((eqTypeFlags__ast_479 & (*a).flags) == (eqTypeFlags__ast_479 & (*b).flags));
1576 	return result;
1577 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,searchInstTypes__semtypinst_44)1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, searchInstTypes__semtypinst_44)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* key) {
1579 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1580 	tyObject_TType__facALICuu8zUj0hjvbTLFg* genericTyp;
1581 {	result = NIM_NIL;
1582 	genericTyp = (*key).sons->data[((NI) 0)];
1583 	{
1584 		NIM_BOOL T3_;
1585 		T3_ = (NIM_BOOL)0;
1586 		T3_ = ((*genericTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
1587 		if (!(T3_)) goto LA4_;
1588 		T3_ = !(((*genericTyp).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
1589 		LA4_: ;
1590 		if (!!(T3_)) goto LA5_;
1591 		goto BeforeRet_;
1592 	}
1593 	LA5_: ;
1594 	{
1595 		tyObject_TType__facALICuu8zUj0hjvbTLFg* inst;
1596 		inst = NIM_NIL;
1597 		{
1598 			NIM_BOOL T10_;
1599 			tySequence__O5RcspOP32YJ4YtU5ppxxA** x;
1600 			T10_ = (NIM_BOOL)0;
1601 			T10_ = contains__modulegraphs_2995((*g).typeInstCache, (*(*genericTyp).sym).Sup.itemId);
1602 			if (!T10_) goto LA11_;
1603 			x = X5BX5D___modulegraphs_3311((&(*g).typeInstCache), (*(*genericTyp).sym).Sup.itemId);
1604 			{
1605 				tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg* t;
1606 				NI i;
1607 				NI L;
1608 				NI T14_;
1609 				t = (tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg*)0;
1610 				i = ((NI) 0);
1611 				T14_ = ((*x) ? (*x)->Sup.len : 0);
1612 				L = T14_;
1613 				{
1614 					while (1) {
1615 						if (!(i < L)) goto LA16;
1616 						t = (&(*x)->data[i]);
1617 						inst = resolveType__modulegraphs_2851(g, t);
1618 						{
1619 							{
1620 								tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym15_;
1621 								tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym16_;
1622 								xX60gensym15_ = inst;
1623 								xX60gensym16_ = key;
1624 								if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym15_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym15_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym16_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym16_).Sup.itemId.item))))) goto LA20_;
1625 								result = inst;
1626 								goto BeforeRet_;
1627 							}
1628 							LA20_: ;
1629 							{
1630 								NI T24_;
1631 								NI T25_;
1632 								T24_ = (NI)0;
1633 								T24_ = len__ast_4002(inst);
1634 								T25_ = (NI)0;
1635 								T25_ = len__ast_4002(key);
1636 								if (!(T24_ < T25_)) goto LA26_;
1637 								goto BeforeRet_;
1638 							}
1639 							LA26_: ;
1640 							{
1641 								NIM_BOOL T30_;
1642 								T30_ = (NIM_BOOL)0;
1643 								T30_ = sameFlags__types_2216(inst, key);
1644 								if (!!(T30_)) goto LA31_;
1645 								goto LA17;
1646 							}
1647 							LA31_: ;
1648 							{
1649 								{
1650 									NI j;
1651 									NI colontmp_;
1652 									NI T35_;
1653 									NI res;
1654 									j = (NI)0;
1655 									colontmp_ = (NI)0;
1656 									T35_ = (((*key).sons ? (*key).sons->Sup.len : 0)-1);
1657 									colontmp_ = T35_;
1658 									res = ((NI) 1);
1659 									{
1660 										while (1) {
1661 											if (!(res <= colontmp_)) goto LA37;
1662 											j = res;
1663 											{
1664 												NIM_BOOL T40_;
1665 												T40_ = (NIM_BOOL)0;
1666 												T40_ = compareTypes__types_2659((*inst).sons->data[j], (*key).sons->data[j], ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 0), 136);
1667 												if (!!(T40_)) goto LA41_;
1668 												goto LA33;
1669 											}
1670 											LA41_: ;
1671 											res += ((NI) 1);
1672 										} LA37: ;
1673 									}
1674 								}
1675 								result = inst;
1676 								goto BeforeRet_;
1677 							} LA33: ;
1678 						} LA17: ;
1679 						i += ((NI) 1);
1680 					} LA16: ;
1681 				}
1682 			}
1683 		}
1684 		LA11_: ;
1685 	}
1686 	}BeforeRet_: ;
1687 	return result;
1688 }
N_INLINE(void,nimCopyMem)1689 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
1690 	void* T1_;
1691 	T1_ = (void*)0;
1692 	T1_ = memcpy(dest, source, ((size_t) (size)));
1693 }
N_INLINE(void,copyMem__system_1727)1694 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
1695 	nimCopyMem(dest, source, size);
1696 }
N_INLINE(void,appendString)1697 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
1698 	{
1699 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
1700 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
1701 		(*dest).Sup.len += (*src).Sup.len;
1702 	}
1703 	LA3_: ;
1704 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,lookupTypeVar__semtypinst_464)1705 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lookupTypeVar__semtypinst_464)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1706 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1707 {	result = NIM_NIL;
1708 	result = lookup__semtypinst_158((*cl).typeMap, t);
1709 	{
1710 		NimStringDesc* T11_;
1711 		NimStringDesc* T12_;
1712 		if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
1713 		{
1714 			NIM_BOOL T7_;
1715 			T7_ = (NIM_BOOL)0;
1716 			T7_ = (*cl).allowMetaTypes;
1717 			if (T7_) goto LA8_;
1718 			T7_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0);
1719 			LA8_: ;
1720 			if (!T7_) goto LA9_;
1721 			goto BeforeRet_;
1722 		}
1723 		LA9_: ;
1724 		T11_ = NIM_NIL;
1725 		T12_ = NIM_NIL;
1726 		T12_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
1727 		T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + 22);
1728 appendString(T11_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_6));
1729 appendString(T11_, T12_);
1730 appendString(T11_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_7));
1731 		liMessage__msgs_1118((*(*(*cl).c).graph).config, (*(*t).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_8, NIM_FALSE);
1732 		result = errorType__semdata_1002((*cl).c);
1733 		idTablePut__astalgo_70((&(*(*cl).typeMap).topLayer), &t->Sup, (*((RootObj**) (&(result)))));
1734 	}
1735 	goto LA1_;
1736 	LA3_: ;
1737 	{
1738 		NIM_BOOL T14_;
1739 		T14_ = (NIM_BOOL)0;
1740 		T14_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
1741 		if (!(T14_)) goto LA15_;
1742 		T14_ = !((*cl).allowMetaTypes);
1743 		LA15_: ;
1744 		if (!T14_) goto LA16_;
1745 		internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, (*cl).info, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_9), TM__mrkrD9c2e31kE4GdQtpMdaQ_10);
1746 	}
1747 	goto LA1_;
1748 	LA16_: ;
1749 	LA1_: ;
1750 	}BeforeRet_: ;
1751 	return result;
1752 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)1753 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
1754 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
1755 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1756 	(*x).typeId_0 += ((NI) 1);
1757 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1758 	result.module = (*x).module;
1759 	result.item = (*x).typeId_0;
1760 	return result;
1761 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,instCopyType__semtypinst_480)1762 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, instCopyType__semtypinst_480)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1763 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1764 {	result = NIM_NIL;
1765 	{
1766 		if (!(*cl).allowMetaTypes) goto LA3_;
1767 		result = exactReplica__ast_4051(t);
1768 	}
1769 	goto LA1_;
1770 	LA3_: ;
1771 	{
1772 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
1773 		T6_ = nextTypeId__ast_3151((*(*cl).c).Sup.idgen);
1774 		result = copyType__ast_4046(t, T6_, (*t).owner);
1775 		copyTypeProps__modulegraphs_8872((*(*cl).c).graph, ((NI) ((*(*(*cl).c).Sup.idgen).module)), result, t);
1776 	}
1777 	LA1_: ;
1778 	{
1779 		if (!(*cl).allowMetaTypes) goto LA9_;
1780 		goto BeforeRet_;
1781 	}
1782 	LA9_: ;
1783 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8)) & 63);
1784 	{
1785 		NIM_BOOL T13_;
1786 		NIM_BOOL T15_;
1787 		T13_ = (NIM_BOOL)0;
1788 		T13_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59));
1789 		if (T13_) goto LA14_;
1790 		T15_ = (NIM_BOOL)0;
1791 		T15_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
1792 		if (!(T15_)) goto LA16_;
1793 		T15_ = ((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
1794 		LA16_: ;
1795 		T13_ = T15_;
1796 		LA14_: ;
1797 		if (!!(T13_)) goto LA17_;
1798 		(*result).flags = ((*result).flags & ~ 2097664);
1799 	}
1800 	goto LA11_;
1801 	LA17_: ;
1802 	{
1803 		(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63));
1804 	}
1805 	LA11_: ;
1806 	}BeforeRet_: ;
1807 	return result;
1808 }
N_INLINE(NI,pluspercent___system_696)1809 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1810 	NI result;
1811 	result = (NI)0;
1812 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1813 	return result;
1814 }
N_INLINE(void,incRef__system_5308)1815 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1816 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1817 }
N_INLINE(NI,minuspercent___system_716)1818 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1819 	NI result;
1820 	result = (NI)0;
1821 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1822 	return result;
1823 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)1824 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
1825 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1826 	NI T1_;
1827 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1828 	T1_ = (NI)0;
1829 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1830 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1831 	return result;
1832 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1833 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1834 	NIM_BOOL result;
1835 	result = (NIM_BOOL)0;
1836 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1837 	return result;
1838 }
N_INLINE(void,rtlAddZCT__system_5313)1839 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1840 	addZCT__system_5264((&gch__system_5217.zct), c);
1841 }
N_INLINE(void,decRef__system_5315)1842 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1843 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1844 	{
1845 		NIM_BOOL T3_;
1846 		T3_ = (NIM_BOOL)0;
1847 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1848 		if (!T3_) goto LA4_;
1849 		rtlAddZCT__system_5313(c);
1850 	}
1851 	LA4_: ;
1852 }
N_INLINE(void,asgnRef)1853 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1854 	{
1855 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1856 		if (!!((src == NIM_NIL))) goto LA3_;
1857 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1858 		T5_ = usrToCell__system_5270(src);
1859 		incRef__system_5308(T5_);
1860 	}
1861 	LA3_: ;
1862 	{
1863 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1864 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1865 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1866 		T10_ = usrToCell__system_5270((*dest));
1867 		decRef__system_5315(T10_);
1868 	}
1869 	LA8_: ;
1870 	(*dest) = src;
1871 }
N_NIMCALL(void,cacheTypeInst__semtypinst_88)1872 N_LIB_PRIVATE N_NIMCALL(void, cacheTypeInst__semtypinst_88)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inst) {
1873 	tyObject_TType__facALICuu8zUj0hjvbTLFg* gt;
1874 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
1875 {	gt = (*inst).sons->data[((NI) 0)];
1876 	{
1877 		if (!((*gt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA3_;
1878 		t = lastSon__ast_3743(gt);
1879 	}
1880 	goto LA1_;
1881 	LA3_: ;
1882 	{
1883 		t = gt;
1884 	}
1885 	LA1_: ;
1886 	{
1887 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA8_;
1888 		goto BeforeRet_;
1889 	}
1890 	LA8_: ;
1891 	addToGenericCache__semdata_2394(c, (*gt).sym, inst);
1892 	}BeforeRet_: ;
1893 }
N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ *,newTypeMapLayer__semtypinst_155)1894 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, newTypeMapLayer__semtypinst_155)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl) {
1895 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* result;
1896 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* T1_;
1897 	result = NIM_NIL;
1898 	T1_ = NIM_NIL;
1899 	T1_ = (tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*) newObj((&NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_), sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ));
1900 	result = T1_;
1901 	asgnRef((void**) (&(*result).nextLayer), (*cl).typeMap);
1902 	initIdTable__ast_4096((&(*result).topLayer));
1903 	return result;
1904 }
N_NIMCALL(void,checkPartialConstructedType__semtypinst_13)1905 N_LIB_PRIVATE N_NIMCALL(void, checkPartialConstructedType__semtypinst_13)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1906 	{
1907 		NIM_BOOL T3_;
1908 		T3_ = (NIM_BOOL)0;
1909 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
1910 		if (!(T3_)) goto LA4_;
1911 		T3_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
1912 		LA4_: ;
1913 		if (!T3_) goto LA5_;
1914 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_11), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_12, NIM_FALSE);
1915 	}
1916 	LA5_: ;
1917 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,handleGenericInvocation__semtypinst_509)1918 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, handleGenericInvocation__semtypinst_509)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1919 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1920 	tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
1921 	tyObject_TType__facALICuu8zUj0hjvbTLFg* header;
1922 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T44_;
1923 	tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T45_;
1924 	NIM_BOOL oldSkipTypedesc;
1925 	tyObject_TType__facALICuu8zUj0hjvbTLFg* bbody;
1926 	tyObject_TType__facALICuu8zUj0hjvbTLFg* newbody;
1927 {	result = NIM_NIL;
1928 	body = (*t).sons->data[((NI) 0)];
1929 	{
1930 		if (!!(((*body).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA3_;
1931 		internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, (*cl).info, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_3), TM__mrkrD9c2e31kE4GdQtpMdaQ_4);
1932 	}
1933 	LA3_: ;
1934 	header = t;
1935 	{
1936 		RootObj* T9_;
1937 		if (!(*cl).allowMetaTypes) goto LA7_;
1938 		T9_ = NIM_NIL;
1939 		T9_ = idTableGet__astalgo_64((*cl).localCache, &t->Sup);
1940 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T9_));
1941 	}
1942 	goto LA5_;
1943 	LA7_: ;
1944 	{
1945 		result = searchInstTypes__semtypinst_44((*(*cl).c).graph, t);
1946 	}
1947 	LA5_: ;
1948 	{
1949 		NIM_BOOL T13_;
1950 		T13_ = (NIM_BOOL)0;
1951 		T13_ = !((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
1952 		if (!(T13_)) goto LA14_;
1953 		T13_ = sameFlags__types_2216(result, t);
1954 		LA14_: ;
1955 		if (!T13_) goto LA15_;
1956 		goto BeforeRet_;
1957 	}
1958 	LA15_: ;
1959 	{
1960 		NI i;
1961 		NI colontmp_;
1962 		NI i_2;
1963 		i = (NI)0;
1964 		colontmp_ = (NI)0;
1965 		colontmp_ = len__ast_4002(t);
1966 		i_2 = ((NI) 1);
1967 		{
1968 			while (1) {
1969 				tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
1970 				if (!(i_2 < colontmp_)) goto LA19;
1971 				i = i_2;
1972 				x = (*t).sons->data[i];
1973 				{
1974 					if (!((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA22_;
1975 					x = lookupTypeVar__semtypinst_464(cl, x);
1976 					{
1977 						if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA26_;
1978 						{
1979 							if (!(header == t)) goto LA30_;
1980 							header = instCopyType__semtypinst_480(cl, t);
1981 						}
1982 						LA30_: ;
1983 						asgnRef((void**) (&(*header).sons->data[i]), x);
1984 						propagateToOwner__ast_4219(header, x, NIM_TRUE);
1985 					}
1986 					LA26_: ;
1987 				}
1988 				goto LA20_;
1989 				LA22_: ;
1990 				{
1991 					propagateToOwner__ast_4219(header, x, NIM_TRUE);
1992 				}
1993 				LA20_: ;
1994 				i_2 += ((NI) 1);
1995 			} LA19: ;
1996 		}
1997 	}
1998 	{
1999 		if (!!((header == t))) goto LA35_;
2000 		result = searchInstTypes__semtypinst_44((*(*cl).c).graph, header);
2001 		{
2002 			NIM_BOOL T39_;
2003 			T39_ = (NIM_BOOL)0;
2004 			T39_ = !((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2005 			if (!(T39_)) goto LA40_;
2006 			T39_ = sameFlags__types_2216(result, t);
2007 			LA40_: ;
2008 			if (!T39_) goto LA41_;
2009 			goto BeforeRet_;
2010 		}
2011 		LA41_: ;
2012 	}
2013 	goto LA33_;
2014 	LA35_: ;
2015 	{
2016 		header = instCopyType__semtypinst_480(cl, t);
2017 	}
2018 	LA33_: ;
2019 	T44_ = nextTypeId__ast_3151((*(*cl).c).Sup.idgen);
2020 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11), T44_, (*(*t).sons->data[((NI) 0)]).owner);
2021 	(*result).flags = (*header).flags;
2022 	T45_ = NIM_NIL;
2023 	T45_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
2024 	asgnRef((void**) (&T45_->data[0]), (*header).sons->data[((NI) 0)]);
2025 	asgnRef((void**) (&(*result).sons), T45_);
2026 	{
2027 		if (!!((*cl).allowMetaTypes)) goto LA48_;
2028 		cacheTypeInst__semtypinst_88((*cl).c, result);
2029 	}
2030 	goto LA46_;
2031 	LA48_: ;
2032 	{
2033 		idTablePut__astalgo_70((&(*cl).localCache), &t->Sup, (*((RootObj**) (&(result)))));
2034 	}
2035 	LA46_: ;
2036 	oldSkipTypedesc = (*cl).skipTypedesc;
2037 	(*cl).skipTypedesc = NIM_TRUE;
2038 	unsureAsgnRef((void**) (&(*cl).typeMap), newTypeMapLayer__semtypinst_155(cl));
2039 	{
2040 		NI i_3;
2041 		NI colontmp__2;
2042 		NI i_4;
2043 		i_3 = (NI)0;
2044 		colontmp__2 = (NI)0;
2045 		colontmp__2 = len__ast_4002(t);
2046 		i_4 = ((NI) 1);
2047 		{
2048 			while (1) {
2049 				tyObject_TType__facALICuu8zUj0hjvbTLFg* x_2;
2050 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T54_;
2051 				if (!(i_4 < colontmp__2)) goto LA53;
2052 				i_3 = i_4;
2053 				T54_ = NIM_NIL;
2054 				{
2055 					if (!((*(*header).sons->data[i_3]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA57_;
2056 					T54_ = (*t).sons->data[i_3];
2057 				}
2058 				goto LA55_;
2059 				LA57_: ;
2060 				{
2061 					T54_ = (*header).sons->data[i_3];
2062 				}
2063 				LA55_: ;
2064 				x_2 = replaceTypeVarsT__semtypinst_178(cl, T54_);
2065 				asgnRef((void**) (&(*header).sons->data[i_3]), x_2);
2066 				propagateToOwner__ast_4219(header, x_2, NIM_TRUE);
2067 				idTablePut__astalgo_70((&(*(*cl).typeMap).topLayer), (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*body).sons->data[(NI)(i_3 - ((NI) 1))])))), (*((RootObj**) (&(x_2)))));
2068 				i_4 += ((NI) 1);
2069 			} LA53: ;
2070 		}
2071 	}
2072 	{
2073 		NI i_5;
2074 		NI colontmp__3;
2075 		NI i_6;
2076 		i_5 = (NI)0;
2077 		colontmp__3 = (NI)0;
2078 		colontmp__3 = len__ast_4002(t);
2079 		i_6 = ((NI) 1);
2080 		{
2081 			while (1) {
2082 				if (!(i_6 < colontmp__3)) goto LA62;
2083 				i_5 = i_6;
2084 				rawAddSon__ast_4288(result, (*header).sons->data[i_5], NIM_FALSE);
2085 				i_6 += ((NI) 1);
2086 			} LA62: ;
2087 		}
2088 	}
2089 	{
2090 		if (!((*body).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA65_;
2091 		goto BeforeRet_;
2092 	}
2093 	LA65_: ;
2094 	bbody = lastSon__ast_3743(body);
2095 	newbody = replaceTypeVarsT__semtypinst_178(cl, bbody);
2096 	(*cl).skipTypedesc = oldSkipTypedesc;
2097 	(*newbody).flags = ((*newbody).flags | (((*t).flags | (*body).flags) & ~ 2097664));
2098 	(*result).flags = (((*result).flags | (*newbody).flags) & ~ 2097664);
2099 	unsureAsgnRef((void**) (&(*cl).typeMap), (*(*cl).typeMap).nextLayer);
2100 	{
2101 		NIM_BOOL T69_;
2102 		T69_ = (NIM_BOOL)0;
2103 		T69_ = isGenericAlias__types_2196(newbody);
2104 		if (!T69_) goto LA70_;
2105 		newbody = skipGenericAlias__types_2210(newbody);
2106 	}
2107 	LA70_: ;
2108 	rawAddSon__ast_4288(result, newbody, NIM_TRUE);
2109 	checkPartialConstructedType__semtypinst_13((*(*(*cl).c).graph).config, (*cl).info, newbody);
2110 	{
2111 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc;
2112 		tyObject_TType__facALICuu8zUj0hjvbTLFg* mm;
2113 		if (!!((*cl).allowMetaTypes)) goto LA74_;
2114 		dc = getAttachedOp__modulegraphs_4011((*(*cl).c).graph, newbody, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4));
2115 		{
2116 			NIM_BOOL T78_;
2117 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T82_;
2118 			T78_ = (NIM_BOOL)0;
2119 			T78_ = !((dc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2120 			if (!(T78_)) goto LA79_;
2121 			T78_ = !((((*dc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0));
2122 			LA79_: ;
2123 			if (!T78_) goto LA80_;
2124 			T82_ = NIM_NIL;
2125 			T82_ = (*(*cl).c).instTypeBoundOp((*cl).c, dc, result, (*cl).info, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4), ((NI) 1));
2126 			setAttachedOp__modulegraphs_4407((*(*cl).c).graph, (*(*(*cl).c).module).position, newbody, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4), T82_);
2127 		}
2128 		LA80_: ;
2129 		{
2130 			if (!((*newbody).typeInst == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA85_;
2131 			asgnRef((void**) (&(*newbody).typeInst), result);
2132 			{
2133 				NIM_BOOL T89_;
2134 				T89_ = (NIM_BOOL)0;
2135 				T89_ = (((*newbody).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 34))&63U)))!=0);
2136 				if (!(T89_)) goto LA90_;
2137 				T89_ = !(((*newbody).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)));
2138 				LA90_: ;
2139 				if (!T89_) goto LA91_;
2140 				{
2141 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T95_;
2142 					T95_ = NIM_NIL;
2143 					T95_ = lastSon__ast_3743(newbody);
2144 					if (!!(((*T95_).typeInst == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA96_;
2145 				}
2146 				goto LA93_;
2147 				LA96_: ;
2148 				{
2149 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T99_;
2150 					T99_ = NIM_NIL;
2151 					T99_ = lastSon__ast_3743(newbody);
2152 					asgnRef((void**) (&(*T99_).typeInst), result);
2153 				}
2154 				LA93_: ;
2155 			}
2156 			LA91_: ;
2157 		}
2158 		LA85_: ;
2159 		mm = skipTypes__ast_3735(bbody, TM__mrkrD9c2e31kE4GdQtpMdaQ_13);
2160 		{
2161 			if (!!((((*mm).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0))) goto LA102_;
2162 			(*mm).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8)) & 63);
2163 			{
2164 				NI col;
2165 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* meth;
2166 				col = (NI)0;
2167 				meth = NIM_NIL;
2168 				{
2169 					NIM_BOOL T107_;
2170 					T107_ = (NIM_BOOL)0;
2171 					T107_ = contains__modulegraphs_7256((*(*(*cl).c).graph).methodsPerType, (*mm).Sup.itemId);
2172 					if (!T107_) goto LA108_;
2173 					{
2174 						tyTuple__VrD6plbUKJjYKM0lCr3hGQ* it;
2175 						NI i_7;
2176 						NI L;
2177 						tySequence__159bHWBGAOOs6U7OZ9cQlO0g** T111_;
2178 						NI T112_;
2179 						it = (tyTuple__VrD6plbUKJjYKM0lCr3hGQ*)0;
2180 						i_7 = ((NI) 0);
2181 						T111_ = (tySequence__159bHWBGAOOs6U7OZ9cQlO0g**)0;
2182 						T111_ = X5BX5D___modulegraphs_7572((&(*(*(*cl).c).graph).methodsPerType), (*mm).Sup.itemId);
2183 						T112_ = ((*T111_) ? (*T111_)->Sup.len : 0);
2184 						L = T112_;
2185 						{
2186 							while (1) {
2187 								tySequence__159bHWBGAOOs6U7OZ9cQlO0g** T115_;
2188 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T116_;
2189 								if (!(i_7 < L)) goto LA114;
2190 								T115_ = (tySequence__159bHWBGAOOs6U7OZ9cQlO0g**)0;
2191 								T115_ = X5BX5D___modulegraphs_7572((&(*(*(*cl).c).graph).methodsPerType), (*mm).Sup.itemId);
2192 								it = (&(*T115_)->data[i_7]);
2193 								col = (*it).Field0;
2194 								meth = resolveSym__modulegraphs_2866((*(*cl).c).graph, (&(*it).Field1));
2195 								T116_ = NIM_NIL;
2196 								T116_ = (*(*cl).c).instTypeBoundOp((*cl).c, meth, result, (*cl).info, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1), col);
2197 								(void)(T116_);
2198 								i_7 += ((NI) 1);
2199 							} LA114: ;
2200 						}
2201 					}
2202 				}
2203 				LA108_: ;
2204 			}
2205 			(*mm).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8)) & 63));
2206 		}
2207 		LA102_: ;
2208 	}
2209 	LA74_: ;
2210 	}BeforeRet_: ;
2211 	return result;
2212 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)2213 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
2214 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
2215 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2216 	(*x).symId += ((NI) 1);
2217 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2218 	result.module = (*x).module;
2219 	result.item = (*x).symId;
2220 	return result;
2221 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,replaceTypeVarsS__semtypinst_127)2222 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, replaceTypeVarsS__semtypinst_127)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2223 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2224 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
2225 {	result = NIM_NIL;
2226 	{
2227 		if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
2228 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2229 		goto BeforeRet_;
2230 	}
2231 	LA3_: ;
2232 	{
2233 		NIM_BOOL T7_;
2234 		T7_ = (NIM_BOOL)0;
2235 		T7_ = !(((*cl).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2236 		if (!(T7_)) goto LA8_;
2237 		T7_ = !(((*s).owner == (*cl).owner));
2238 		LA8_: ;
2239 		if (!T7_) goto LA9_;
2240 		result = s;
2241 		goto BeforeRet_;
2242 	}
2243 	LA9_: ;
2244 	{
2245 		NIM_BOOL T13_;
2246 		T13_ = (NIM_BOOL)0;
2247 		T13_ = ((521984 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2248 		if (T13_) goto LA14_;
2249 		T13_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
2250 		LA14_: ;
2251 		if (!T13_) goto LA15_;
2252 		result = s;
2253 		goto BeforeRet_;
2254 	}
2255 	LA15_: ;
2256 	T17_ = nextSymId__ast_3132((*(*cl).c).Sup.idgen);
2257 	result = copySym__ast_4054(s, T17_);
2258 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
2259 	asgnRef((void**) (&(*result).owner), (*s).owner);
2260 	asgnRef((void**) (&(*result).typ), replaceTypeVarsT__semtypinst_178(cl, (*s).typ));
2261 	{
2262 		if (!!(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)))) goto LA20_;
2263 		asgnRef((void**) (&(*result).ast), replaceTypeVarsN__semtypinst_130(cl, (*s).ast, ((NI) 0)));
2264 	}
2265 	LA20_: ;
2266 	}BeforeRet_: ;
2267 	return result;
2268 }
N_INLINE(NI,len__ast_3198)2269 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2270 	NI result;
2271 	NI T1_;
2272 	result = (NI)0;
2273 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2274 	result = T1_;
2275 	return result;
2276 }
N_INLINE(NI,safeLen__ast_3191)2277 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2278 	NI result;
2279 	result = (NI)0;
2280 	{
2281 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
2282 		result = ((NI) 0);
2283 	}
2284 	goto LA1_;
2285 	LA3_: ;
2286 	{
2287 		result = len__ast_3198(n);
2288 	}
2289 	LA1_: ;
2290 	return result;
2291 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prepareNode__semtypinst_182)2292 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareNode__semtypinst_182)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2293 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2294 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2295 	NIM_BOOL isCall;
2296 {	result = NIM_NIL;
2297 	t = replaceTypeVarsT__semtypinst_178(cl, (*n).typ);
2298 	{
2299 		NIM_BOOL T3_;
2300 		NIM_BOOL T4_;
2301 		T3_ = (NIM_BOOL)0;
2302 		T4_ = (NIM_BOOL)0;
2303 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2304 		if (!(T4_)) goto LA5_;
2305 		T4_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
2306 		LA5_: ;
2307 		T3_ = T4_;
2308 		if (!(T3_)) goto LA6_;
2309 		T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2310 		LA6_: ;
2311 		if (!T3_) goto LA7_;
2312 		{
2313 			if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA11_;
2314 			result = prepareNode__semtypinst_182(cl, (*t).n);
2315 		}
2316 		goto LA9_;
2317 		LA11_: ;
2318 		{
2319 			result = (*t).n;
2320 		}
2321 		LA9_: ;
2322 		goto BeforeRet_;
2323 	}
2324 	LA7_: ;
2325 	result = copyNode__ast_4336(n);
2326 	asgnRef((void**) (&(*result).typ), t);
2327 	{
2328 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA16_;
2329 		asgnRef((void**) (&(*result)._kind_4.sym), replaceTypeVarsS__semtypinst_127(cl, (*n)._kind_4.sym));
2330 	}
2331 	LA16_: ;
2332 	isCall = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
2333 	{
2334 		NI i;
2335 		NI colontmp_;
2336 		NI i_2;
2337 		i = (NI)0;
2338 		colontmp_ = (NI)0;
2339 		colontmp_ = safeLen__ast_3191(n);
2340 		i_2 = ((NI) 0);
2341 		{
2342 			while (1) {
2343 				if (!(i_2 < colontmp_)) goto LA20;
2344 				i = i_2;
2345 				{
2346 					NIM_BOOL T23_;
2347 					T23_ = (NIM_BOOL)0;
2348 					T23_ = isCall;
2349 					if (!(T23_)) goto LA24_;
2350 					T23_ = (i == ((NI) 0));
2351 					LA24_: ;
2352 					if (!T23_) goto LA25_;
2353 					add__ast_4797(result, (*n)._kind_6.sons->data[i]);
2354 				}
2355 				goto LA21_;
2356 				LA25_: ;
2357 				{
2358 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
2359 					T28_ = NIM_NIL;
2360 					T28_ = prepareNode__semtypinst_182(cl, (*n)._kind_6.sons->data[i]);
2361 					add__ast_4797(result, T28_);
2362 				}
2363 				LA21_: ;
2364 				i_2 += ((NI) 1);
2365 			} LA20: ;
2366 		}
2367 	}
2368 	}BeforeRet_: ;
2369 	return result;
2370 }
N_INLINE(void,nimGCunrefRC1)2371 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2372 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2373 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2374 	T1_ = usrToCell__system_5270(p);
2375 	decRef__system_5315(T1_);
2376 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipIntLit__magicsys_124)2377 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id) {
2378 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
2379 	result = NIM_NIL;
2380 	{
2381 		NIM_BOOL T3_;
2382 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
2383 		T3_ = (NIM_BOOL)0;
2384 		T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2385 		if (!(T3_)) goto LA4_;
2386 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
2387 		LA4_: ;
2388 		if (!T3_) goto LA5_;
2389 		T7_ = nextTypeId__ast_3151(id);
2390 		result = copyType__ast_4046(t, T7_, (*t).owner);
2391 		asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2392 	}
2393 	goto LA1_;
2394 	LA5_: ;
2395 	{
2396 		result = t;
2397 	}
2398 	LA1_: ;
2399 	return result;
2400 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)2401 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
2402 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
2403 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)2404 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
2405 	NimStringDesc* result;
2406 	result = NIM_NIL;
2407 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
2408 appendString(result, info.Field0);
2409 	{
2410 		if (!(((NI) 0) < info.Field1)) goto LA3_;
2411 		result = resizeString(result, 1);
2412 appendString(result, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_22));
2413 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
2414 		{
2415 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
2416 			result = resizeString(result, 2);
2417 appendString(result, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_23));
2418 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
2419 		}
2420 		LA7_: ;
2421 		result = resizeString(result, 1);
2422 appendString(result, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_24));
2423 	}
2424 	LA3_: ;
2425 	return result;
2426 }
N_NIMCALL(void,propagateFieldFlags__semtypinst_774)2427 N_LIB_PRIVATE N_NIMCALL(void, propagateFieldFlags__semtypinst_774)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2428 {	{
2429 		if (!(n == 0)) goto LA3_;
2430 		goto BeforeRet_;
2431 	}
2432 	LA3_: ;
2433 	switch ((*n).kind) {
2434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2435 	{
2436 		propagateToOwner__ast_4219(t, (*(*n)._kind_4.sym).typ, NIM_TRUE);
2437 	}
2438 	break;
2439 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
2440 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
2441 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
2442 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2443 	{
2444 		{
2445 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son;
2446 			son = NIM_NIL;
2447 			{
2448 				NI i;
2449 				NI colontmp_;
2450 				NI i_2;
2451 				i = (NI)0;
2452 				colontmp_ = (NI)0;
2453 				colontmp_ = safeLen__ast_3191(n);
2454 				i_2 = ((NI) 0);
2455 				{
2456 					while (1) {
2457 						if (!(i_2 < colontmp_)) goto LA10;
2458 						i = i_2;
2459 						son = (*n)._kind_6.sons->data[i];
2460 						propagateFieldFlags__semtypinst_774(t, son);
2461 						i_2 += ((NI) 1);
2462 					} LA10: ;
2463 				}
2464 			}
2465 		}
2466 	}
2467 	break;
2468 	default:
2469 	{
2470 	}
2471 	break;
2472 	}
2473 	}BeforeRet_: ;
2474 }
N_NIMCALL(void,eraseVoidParams__semtypinst_682)2475 N_LIB_PRIVATE N_NIMCALL(void, eraseVoidParams__semtypinst_682)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2476 	{
2477 		NIM_BOOL T3_;
2478 		T3_ = (NIM_BOOL)0;
2479 		T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2480 		if (!(T3_)) goto LA4_;
2481 		T3_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
2482 		LA4_: ;
2483 		if (!T3_) goto LA5_;
2484 		asgnRef((void**) (&(*t).sons->data[((NI) 0)]), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2485 	}
2486 	LA5_: ;
2487 	{
2488 		NI i;
2489 		NI colontmp_;
2490 		NI i_2;
2491 		i = (NI)0;
2492 		colontmp_ = (NI)0;
2493 		colontmp_ = len__ast_4002(t);
2494 		i_2 = ((NI) 1);
2495 		{
2496 			while (1) {
2497 				if (!(i_2 < colontmp_)) goto LA9;
2498 				i = i_2;
2499 				{
2500 					NI pos;
2501 					if (!((*(*t).sons->data[i]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA12_;
2502 					pos = i;
2503 					{
2504 						NI j;
2505 						NI colontmp__2;
2506 						NI colontmp__3;
2507 						NI i_3;
2508 						j = (NI)0;
2509 						colontmp__2 = (NI)0;
2510 						colontmp__3 = (NI)0;
2511 						colontmp__2 = (NI)(i + ((NI) 1));
2512 						colontmp__3 = len__ast_4002(t);
2513 						i_3 = colontmp__2;
2514 						{
2515 							while (1) {
2516 								if (!(i_3 < colontmp__3)) goto LA16;
2517 								j = i_3;
2518 								{
2519 									if (!!(((*(*t).sons->data[j]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63)))) goto LA19_;
2520 									asgnRef((void**) (&(*t).sons->data[pos]), (*t).sons->data[j]);
2521 									asgnRef((void**) (&(*(*t).n)._kind_6.sons->data[pos]), (*(*t).n)._kind_6.sons->data[j]);
2522 									pos += ((NI) 1);
2523 								}
2524 								LA19_: ;
2525 								i_3 += ((NI) 1);
2526 							} LA16: ;
2527 						}
2528 					}
2529 					asgnRef((void**) (&(*t).sons), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) setLengthSeqV2(&((*t).sons)->Sup, (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) (pos))));
2530 					asgnRef((void**) (&(*(*t).n)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*t).n)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (pos))));
2531 					goto LA7;
2532 				}
2533 				LA12_: ;
2534 				i_2 += ((NI) 1);
2535 			} LA9: ;
2536 		}
2537 	} LA7: ;
2538 }
N_NIMCALL(void,skipIntLiteralParams__semtypinst_738)2539 N_LIB_PRIVATE N_NIMCALL(void, skipIntLiteralParams__semtypinst_738)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
2540 	{
2541 		NI i;
2542 		NI colontmp_;
2543 		NI i_2;
2544 		i = (NI)0;
2545 		colontmp_ = (NI)0;
2546 		colontmp_ = len__ast_4002(t);
2547 		i_2 = ((NI) 0);
2548 		{
2549 			while (1) {
2550 				if (!(i_2 < colontmp_)) goto LA3;
2551 				i = i_2;
2552 				{
2553 					tyObject_TType__facALICuu8zUj0hjvbTLFg* p;
2554 					tyObject_TType__facALICuu8zUj0hjvbTLFg* skipped;
2555 					p = (*t).sons->data[i];
2556 					{
2557 						if (!(p == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
2558 						goto LA4;
2559 					}
2560 					LA7_: ;
2561 					skipped = skipIntLit__magicsys_124(p, idgen);
2562 					{
2563 						if (!!((skipped == p))) goto LA11_;
2564 						asgnRef((void**) (&(*t).sons->data[i]), skipped);
2565 						{
2566 							if (!(((NI) 0) < i)) goto LA15_;
2567 							asgnRef((void**) (&(*(*(*(*t).n)._kind_6.sons->data[i])._kind_4.sym).typ), skipped);
2568 						}
2569 						LA15_: ;
2570 					}
2571 					LA11_: ;
2572 				} LA4: ;
2573 				i_2 += ((NI) 1);
2574 			} LA3: ;
2575 		}
2576 	}
2577 	{
2578 		NIM_BOOL T19_;
2579 		T19_ = (NIM_BOOL)0;
2580 		T19_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2581 		if (!(T19_)) goto LA20_;
2582 		T19_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
2583 		LA20_: ;
2584 		if (!T19_) goto LA21_;
2585 		asgnRef((void**) (&(*t).sons->data[((NI) 0)]), base__types_63((*t).sons->data[((NI) 0)]));
2586 	}
2587 	LA21_: ;
2588 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,replaceObjBranches__semtypinst_277)2589 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceObjBranches__semtypinst_277)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2590 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2591 	result = NIM_NIL;
2592 	result = n;
2593 	switch ((*n).kind) {
2594 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
2595 	{
2596 	}
2597 	break;
2598 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
2599 	{
2600 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
2601 		branch = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
2602 		{
2603 			NI i;
2604 			NI colontmp_;
2605 			NI i_2;
2606 			i = (NI)0;
2607 			colontmp_ = (NI)0;
2608 			colontmp_ = len__ast_3198(n);
2609 			i_2 = ((NI) 0);
2610 			{
2611 				while (1) {
2612 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
2613 					if (!(i_2 < colontmp_)) goto LA5;
2614 					i = i_2;
2615 					it = (*n)._kind_6.sons->data[i];
2616 					{
2617 						if (!(it == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA8_;
2618 						illFormedAst__semdata_1071(n, (*(*(*cl).c).graph).config);
2619 					}
2620 					LA8_: ;
2621 					switch ((*it).kind) {
2622 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
2623 					{
2624 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
2625 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
2626 						checkSonsLen__semdata_1077(it, ((NI) 2), (*(*(*cl).c).graph).config);
2627 						cond = (*it)._kind_6.sons->data[((NI) 0)];
2628 						e = (*(*cl).c).semConstExpr((*cl).c, cond);
2629 						{
2630 							if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA13_;
2631 							internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, (*e).info, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_27), TM__mrkrD9c2e31kE4GdQtpMdaQ_28);
2632 						}
2633 						LA13_: ;
2634 						{
2635 							NIM_BOOL T17_;
2636 							T17_ = (NIM_BOOL)0;
2637 							T17_ = !(((*e)._kind_1.intVal == IL64(0)));
2638 							if (!(T17_)) goto LA18_;
2639 							T17_ = (branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2640 							LA18_: ;
2641 							if (!T17_) goto LA19_;
2642 							branch = (*it)._kind_6.sons->data[((NI) 1)];
2643 						}
2644 						LA19_: ;
2645 					}
2646 					break;
2647 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2648 					{
2649 						checkSonsLen__semdata_1077(it, ((NI) 1), (*(*(*cl).c).graph).config);
2650 						{
2651 							if (!(branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA24_;
2652 							branch = (*it)._kind_6.sons->data[((NI) 0)];
2653 						}
2654 						LA24_: ;
2655 					}
2656 					break;
2657 					default:
2658 					{
2659 						illFormedAst__semdata_1071(n, (*(*(*cl).c).graph).config);
2660 					}
2661 					break;
2662 					}
2663 					i_2 += ((NI) 1);
2664 				} LA5: ;
2665 			}
2666 		}
2667 		{
2668 			if (!!((branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA29_;
2669 			result = replaceObjBranches__semtypinst_277(cl, branch);
2670 		}
2671 		goto LA27_;
2672 		LA29_: ;
2673 		{
2674 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
2675 		}
2676 		LA27_: ;
2677 	}
2678 	break;
2679 	default:
2680 	{
2681 		{
2682 			NI i_3;
2683 			NI colontmp__2;
2684 			NI i_4;
2685 			i_3 = (NI)0;
2686 			colontmp__2 = (NI)0;
2687 			colontmp__2 = len__ast_3198(n);
2688 			i_4 = ((NI) 0);
2689 			{
2690 				while (1) {
2691 					if (!(i_4 < colontmp__2)) goto LA35;
2692 					i_3 = i_4;
2693 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), replaceObjBranches__semtypinst_277(cl, (*n)._kind_6.sons->data[i_3]));
2694 					i_4 += ((NI) 1);
2695 				} LA35: ;
2696 			}
2697 		}
2698 	}
2699 	break;
2700 	}
2701 	return result;
2702 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,replaceTypeVarsTAux__semtypinst_124)2703 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsTAux__semtypinst_124)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2704 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
2705 {	result = NIM_NIL;
2706 	result = t;
2707 	{
2708 		if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
2709 		goto BeforeRet_;
2710 	}
2711 	LA3_: ;
2712 	{
2713 		tyObject_TType__facALICuu8zUj0hjvbTLFg* lookup;
2714 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA7_;
2715 		lookup = lookup__semtypinst_158((*cl).typeMap, t);
2716 		{
2717 			if (!!((lookup == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA11_;
2718 			result = lookup;
2719 			goto BeforeRet_;
2720 		}
2721 		LA11_: ;
2722 	}
2723 	LA7_: ;
2724 	switch ((*t).kind) {
2725 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
2726 	{
2727 		result = handleGenericInvocation__semtypinst_509(cl, t);
2728 		{
2729 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
2730 			T16_ = NIM_NIL;
2731 			T16_ = lastSon__ast_3743(result);
2732 			if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA17_;
2733 			(*result).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53);
2734 		}
2735 		LA17_: ;
2736 	}
2737 	break;
2738 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
2739 	{
2740 		NimStringDesc* T20_;
2741 		NimStringDesc* T21_;
2742 		T20_ = NIM_NIL;
2743 		T21_ = NIM_NIL;
2744 		T21_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
2745 		T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + 60);
2746 appendString(T20_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_6));
2747 appendString(T20_, T21_);
2748 appendString(T20_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_14));
2749 		liMessage__msgs_1118((*(*(*cl).c).graph).config, (*cl).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_15, NIM_FALSE);
2750 		result = errorType__semdata_1002((*cl).c);
2751 	}
2752 	break;
2753 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
2754 	{
2755 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
2756 		{
2757 			if (!(*cl).allowMetaTypes) goto LA25_;
2758 			goto BeforeRet_;
2759 		}
2760 		LA25_: ;
2761 		n = prepareNode__semtypinst_182(cl, (*t).n);
2762 		{
2763 			if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA29_;
2764 			n = (*(*cl).c).semConstExpr((*cl).c, n);
2765 		}
2766 		LA29_: ;
2767 		{
2768 			if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA33_;
2769 			result = skipTypes__ast_3735((*n).typ, TM__mrkrD9c2e31kE4GdQtpMdaQ_16);
2770 		}
2771 		goto LA31_;
2772 		LA33_: ;
2773 		{
2774 			{
2775 				NIM_BOOL T38_;
2776 				T38_ = (NIM_BOOL)0;
2777 				T38_ = !(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
2778 				if (!(T38_)) goto LA39_;
2779 				T38_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4)));
2780 				LA39_: ;
2781 				if (!T38_) goto LA40_;
2782 				result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), (*cl).c);
2783 				if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
2784 				(*result).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
2785 				asgnRef((void**) (&(*result).sons->data[0]), (*n).typ);
2786 				asgnRef((void**) (&(*result).n), n);
2787 			}
2788 			goto LA36_;
2789 			LA40_: ;
2790 			{
2791 				result = (*n).typ;
2792 			}
2793 			LA36_: ;
2794 		}
2795 		LA31_: ;
2796 	}
2797 	break;
2798 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
2799 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
2800 	{
2801 		result = skipIntLit__magicsys_124(t, (*(*cl).c).Sup.idgen);
2802 	}
2803 	break;
2804 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
2805 	{
2806 		tyObject_TType__facALICuu8zUj0hjvbTLFg* lookup_2;
2807 		lookup_2 = lookup__semtypinst_158((*cl).typeMap, t);
2808 		{
2809 			if (!!((lookup_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA47_;
2810 			result = lookup_2;
2811 			{
2812 				if (!!(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA51_;
2813 				result = makeTypeDesc__concepts_49((*cl).c, result);
2814 			}
2815 			goto LA49_;
2816 			LA51_: ;
2817 			{
2818 				NIM_BOOL T54_;
2819 				T54_ = (NIM_BOOL)0;
2820 				T54_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
2821 				if (T54_) goto LA55_;
2822 				T54_ = (*cl).skipTypedesc;
2823 				LA55_: ;
2824 				if (!T54_) goto LA56_;
2825 				result = base__types_63(result);
2826 			}
2827 			goto LA49_;
2828 			LA56_: ;
2829 			LA49_: ;
2830 		}
2831 		goto LA45_;
2832 		LA47_: ;
2833 		{
2834 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T61_;
2835 			if (!!(((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA59_;
2836 			T61_ = NIM_NIL;
2837 			T61_ = replaceTypeVarsT__semtypinst_178(cl, (*t).sons->data[((NI) 0)]);
2838 			result = makeTypeDesc__concepts_49((*cl).c, T61_);
2839 		}
2840 		goto LA45_;
2841 		LA59_: ;
2842 		LA45_: ;
2843 	}
2844 	break;
2845 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
2846 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
2847 	{
2848 		result = t;
2849 	}
2850 	break;
2851 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
2852 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
2853 	{
2854 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T76_;
2855 		{
2856 			RootObj* T68_;
2857 			if (!(((NI) 100) < (*cl).recursionLimit)) goto LA66_;
2858 			T68_ = NIM_NIL;
2859 			T68_ = idTableGet__astalgo_64((*cl).localCache, &t->Sup);
2860 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T68_));
2861 			{
2862 				if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA71_;
2863 				goto BeforeRet_;
2864 			}
2865 			LA71_: ;
2866 		}
2867 		LA66_: ;
2868 		(*cl).recursionLimit += ((NI) 1);
2869 		result = instCopyType__semtypinst_480(cl, t);
2870 		idTablePut__astalgo_70((&(*cl).localCache), &t->Sup, (*((RootObj**) (&(result)))));
2871 		{
2872 			NI i;
2873 			NI colontmp_;
2874 			NI i_2;
2875 			i = (NI)0;
2876 			colontmp_ = (NI)0;
2877 			colontmp_ = len__ast_4002(result);
2878 			i_2 = ((NI) 1);
2879 			{
2880 				while (1) {
2881 					if (!(i_2 < colontmp_)) goto LA75;
2882 					i = i_2;
2883 					asgnRef((void**) (&(*result).sons->data[i]), replaceTypeVarsT__semtypinst_178(cl, (*result).sons->data[i]));
2884 					i_2 += ((NI) 1);
2885 				} LA75: ;
2886 			}
2887 		}
2888 		T76_ = NIM_NIL;
2889 		T76_ = lastSon__ast_3743(result);
2890 		propagateToOwner__ast_4219(result, T76_, NIM_TRUE);
2891 	}
2892 	break;
2893 	default:
2894 	{
2895 		{
2896 			NIM_BOOL T80_;
2897 			T80_ = (NIM_BOOL)0;
2898 			T80_ = containsGenericType__types_3351(t);
2899 			if (!T80_) goto LA81_;
2900 			{
2901 				RootObj* T87_;
2902 				if (!(((NI) 100) < (*cl).recursionLimit)) goto LA85_;
2903 				T87_ = NIM_NIL;
2904 				T87_ = idTableGet__astalgo_64((*cl).localCache, &t->Sup);
2905 				result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T87_));
2906 				{
2907 					if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA90_;
2908 					goto BeforeRet_;
2909 				}
2910 				LA90_: ;
2911 			}
2912 			LA85_: ;
2913 			(*cl).recursionLimit += ((NI) 1);
2914 			result = instCopyType__semtypinst_480(cl, t);
2915 			(*result).size = IL64(-1);
2916 			idTablePut__astalgo_70((&(*cl).localCache), &t->Sup, (*((RootObj**) (&(result)))));
2917 			{
2918 				NI i_3;
2919 				NI colontmp__2;
2920 				NI i_4;
2921 				i_3 = (NI)0;
2922 				colontmp__2 = (NI)0;
2923 				colontmp__2 = len__ast_4002(result);
2924 				i_4 = ((NI) 0);
2925 				{
2926 					while (1) {
2927 						if (!(i_4 < colontmp__2)) goto LA94;
2928 						i_3 = i_4;
2929 						{
2930 							tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
2931 							if (!!(((*result).sons->data[i_3] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA97_;
2932 							{
2933 								tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T103_;
2934 								NimStringDesc* T109_;
2935 								NimStringDesc* T110_;
2936 								if (!((*(*result).sons->data[i_3]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA101_;
2937 								{
2938 									if (!!(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA106_;
2939 									T103_ = (*(*t).sym).info;
2940 								}
2941 								goto LA104_;
2942 								LA106_: ;
2943 								{
2944 									T103_ = (*cl).info;
2945 								}
2946 								LA104_: ;
2947 								T109_ = NIM_NIL;
2948 								T110_ = NIM_NIL;
2949 								T110_ = typeToString__types_50((*result).sons->data[i_3], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
2950 								T109_ = rawNewString((T110_ ? T110_->Sup.len : 0) + ((*(*(*t).owner).name).s ? (*(*(*t).owner).name).s->Sup.len : 0) + 89);
2951 appendString(T109_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_17));
2952 appendString(T109_, T110_);
2953 appendString(T109_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_18));
2954 appendString(T109_, (*(*(*t).owner).name).s);
2955 appendString(T109_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_14));
2956 								liMessage__msgs_1118((*(*(*cl).c).graph).config, T103_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T109_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_19, NIM_FALSE);
2957 							}
2958 							LA101_: ;
2959 							r = replaceTypeVarsT__semtypinst_178(cl, (*result).sons->data[i_3]);
2960 							{
2961 								tyObject_TType__facALICuu8zUj0hjvbTLFg* r2;
2962 								if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA113_;
2963 								r2 = skipTypes__ast_3735(r, TM__mrkrD9c2e31kE4GdQtpMdaQ_20);
2964 								{
2965 									if (!((*r2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*r2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA117_;
2966 									r = skipTypes__ast_3735(r2, TM__mrkrD9c2e31kE4GdQtpMdaQ_21);
2967 								}
2968 								LA117_: ;
2969 							}
2970 							LA113_: ;
2971 							asgnRef((void**) (&(*result).sons->data[i_3]), r);
2972 							{
2973 								NIM_BOOL T121_;
2974 								T121_ = (NIM_BOOL)0;
2975 								T121_ = !(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16)));
2976 								if (T121_) goto LA122_;
2977 								T121_ = !((i_3 == ((NI) 0)));
2978 								LA122_: ;
2979 								if (!T121_) goto LA123_;
2980 								propagateToOwner__ast_4219(result, r, NIM_TRUE);
2981 							}
2982 							LA123_: ;
2983 						}
2984 						LA97_: ;
2985 						i_4 += ((NI) 1);
2986 					} LA94: ;
2987 				}
2988 			}
2989 			asgnRef((void**) (&(*result).n), replaceTypeVarsN__semtypinst_130(cl, (*result).n, ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))));
2990 			switch ((*result).kind) {
2991 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
2992 			{
2993 				tyObject_TType__facALICuu8zUj0hjvbTLFg* idx;
2994 				idx = (*result).sons->data[((NI) 0)];
2995 				{
2996 					NimStringDesc* argX60gensym191_;
2997 					if (!!(!(((*idx).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))))) goto LA128_;
2998 					argX60gensym191_ = toFileLineCol__msgs_615(TM__mrkrD9c2e31kE4GdQtpMdaQ_25);
2999 					internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym191_, TM__mrkrD9c2e31kE4GdQtpMdaQ_25);
3000 				}
3001 				LA128_: ;
3002 			}
3003 			break;
3004 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
3005 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
3006 			{
3007 				propagateFieldFlags__semtypinst_774(result, (*result).n);
3008 				{
3009 					NIM_BOOL T133_;
3010 					T133_ = (NIM_BOOL)0;
3011 					T133_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
3012 					if (!(T133_)) goto LA134_;
3013 					T133_ = (*(*cl).c).computeRequiresInit((*cl).c, result);
3014 					LA134_: ;
3015 					if (!T133_) goto LA135_;
3016 					(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
3017 				}
3018 				LA135_: ;
3019 			}
3020 			break;
3021 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
3022 			{
3023 				eraseVoidParams__semtypinst_682(result);
3024 				skipIntLiteralParams__semtypinst_738(result, (*(*cl).c).Sup.idgen);
3025 			}
3026 			break;
3027 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
3028 			{
3029 				asgnRef((void**) (&(*result).sons->data[((NI) 0)]), skipTypes__ast_3735((*result).sons->data[((NI) 0)], TM__mrkrD9c2e31kE4GdQtpMdaQ_26));
3030 			}
3031 			break;
3032 			default:
3033 			{
3034 			}
3035 			break;
3036 			}
3037 		}
3038 		goto LA78_;
3039 		LA81_: ;
3040 		{
3041 			result = t;
3042 			{
3043 				NIM_BOOL T143_;
3044 				NIM_BOOL T144_;
3045 				NIM_BOOL T145_;
3046 				NI T147_;
3047 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T152_;
3048 				T143_ = (NIM_BOOL)0;
3049 				T144_ = (NIM_BOOL)0;
3050 				T145_ = (NIM_BOOL)0;
3051 				T145_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
3052 				if (!(T145_)) goto LA146_;
3053 				T147_ = (NI)0;
3054 				T147_ = len__ast_4002(t);
3055 				T145_ = (((NI) 0) < T147_);
3056 				LA146_: ;
3057 				T144_ = T145_;
3058 				if (!(T144_)) goto LA148_;
3059 				T144_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
3060 				LA148_: ;
3061 				T143_ = T144_;
3062 				if (!(T143_)) goto LA149_;
3063 				T143_ = !(((*(*t).sons->data[((NI) 0)]).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3064 				LA149_: ;
3065 				if (!T143_) goto LA150_;
3066 				T152_ = NIM_NIL;
3067 				T152_ = replaceObjBranches__semtypinst_277((&(*cl)), (*(*t).sons->data[((NI) 0)]).n);
3068 				(void)(T152_);
3069 			}
3070 			goto LA141_;
3071 			LA150_: ;
3072 			{
3073 				NIM_BOOL T154_;
3074 				T154_ = (NIM_BOOL)0;
3075 				T154_ = !(((*result).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3076 				if (!(T154_)) goto LA155_;
3077 				T154_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
3078 				LA155_: ;
3079 				if (!T154_) goto LA156_;
3080 				(*result).size = IL64(-1);
3081 				asgnRef((void**) (&(*result).n), replaceObjBranches__semtypinst_277((&(*cl)), (*result).n));
3082 			}
3083 			goto LA141_;
3084 			LA156_: ;
3085 			LA141_: ;
3086 		}
3087 		LA78_: ;
3088 	}
3089 	break;
3090 	}
3091 	}BeforeRet_: ;
3092 	return result;
3093 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,replaceTypeVarsT__semtypinst_178)3094 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsT__semtypinst_178)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3095 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3096 	result = NIM_NIL;
3097 	result = replaceTypeVarsTAux__semtypinst_124(cl, t);
3098 	return result;
3099 }
N_NIMCALL(NIM_BOOL,isTypeParam__semtypinst_227)3100 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeParam__semtypinst_227)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3101 	NIM_BOOL result;
3102 	NIM_BOOL T1_;
3103 	NIM_BOOL T3_;
3104 	NIM_BOOL T5_;
3105 {	result = (NIM_BOOL)0;
3106 	T1_ = (NIM_BOOL)0;
3107 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3108 	if (!(T1_)) goto LA2_;
3109 	T3_ = (NIM_BOOL)0;
3110 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4));
3111 	if (T3_) goto LA4_;
3112 	T5_ = (NIM_BOOL)0;
3113 	T5_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
3114 	if (!(T5_)) goto LA6_;
3115 	T5_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
3116 	LA6_: ;
3117 	T3_ = T5_;
3118 	LA4_: ;
3119 	T1_ = T3_;
3120 	LA2_: ;
3121 	result = T1_;
3122 	goto BeforeRet_;
3123 	}BeforeRet_: ;
3124 	return result;
3125 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,reResolveCallsWithTypedescParams__semtypinst_246)3126 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, reResolveCallsWithTypedescParams__semtypinst_246)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3127 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3128 {	result = NIM_NIL;
3129 	{
3130 		NIM_BOOL T3_;
3131 		NIM_BOOL needsFixing;
3132 		T3_ = (NIM_BOOL)0;
3133 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
3134 		if (!(T3_)) goto LA4_;
3135 		T3_ = (((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
3136 		LA4_: ;
3137 		if (!T3_) goto LA5_;
3138 		needsFixing = NIM_FALSE;
3139 		{
3140 			NI i;
3141 			NI colontmp_;
3142 			NI i_2;
3143 			i = (NI)0;
3144 			colontmp_ = (NI)0;
3145 			colontmp_ = safeLen__ast_3191(n);
3146 			i_2 = ((NI) 1);
3147 			{
3148 				while (1) {
3149 					if (!(i_2 < colontmp_)) goto LA9;
3150 					i = i_2;
3151 					{
3152 						NIM_BOOL T12_;
3153 						T12_ = (NIM_BOOL)0;
3154 						T12_ = isTypeParam__semtypinst_227((*n)._kind_6.sons->data[i]);
3155 						if (!T12_) goto LA13_;
3156 						needsFixing = NIM_TRUE;
3157 					}
3158 					LA13_: ;
3159 					i_2 += ((NI) 1);
3160 				} LA9: ;
3161 			}
3162 		}
3163 		{
3164 			if (!needsFixing) goto LA17_;
3165 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).owner));
3166 			result = (*(*cl).c).semOverloadedCall((*cl).c, n, n, 12288, 0);
3167 			goto BeforeRet_;
3168 		}
3169 		LA17_: ;
3170 	}
3171 	LA5_: ;
3172 	{
3173 		NI i_3;
3174 		NI colontmp__2;
3175 		NI i_4;
3176 		i_3 = (NI)0;
3177 		colontmp__2 = (NI)0;
3178 		colontmp__2 = safeLen__ast_3191(n);
3179 		i_4 = ((NI) 0);
3180 		{
3181 			while (1) {
3182 				if (!(i_4 < colontmp__2)) goto LA21;
3183 				i_3 = i_4;
3184 				asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), reResolveCallsWithTypedescParams__semtypinst_246(cl, (*n)._kind_6.sons->data[i_3]));
3185 				i_4 += ((NI) 1);
3186 			} LA21: ;
3187 		}
3188 	}
3189 	result = n;
3190 	goto BeforeRet_;
3191 	}BeforeRet_: ;
3192 	return result;
3193 }
N_NIMCALL(void,newSons__semtypinst_404)3194 N_LIB_PRIVATE N_NIMCALL(void, newSons__semtypinst_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI length) {
3195 	asgnRef((void**) (&(*father)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*father)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (length))));
3196 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,replaceTypeVarsN__semtypinst_130)3197 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypeVarsN__semtypinst_130)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start) {
3198 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3199 {	result = NIM_NIL;
3200 	{
3201 		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
3202 		goto BeforeRet_;
3203 	}
3204 	LA3_: ;
3205 	result = copyNode__ast_4336(n);
3206 	{
3207 		if (!!(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
3208 		asgnRef((void**) (&(*result).typ), replaceTypeVarsT__semtypinst_178(cl, (*n).typ));
3209 	}
3210 	LA7_: ;
3211 	switch ((*n).kind) {
3212 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
3213 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3214 	{
3215 	}
3216 	break;
3217 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
3218 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
3219 	{
3220 		result = n;
3221 	}
3222 	break;
3223 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3224 	{
3225 		asgnRef((void**) (&(*result)._kind_4.sym), replaceTypeVarsS__semtypinst_127(cl, (*n)._kind_4.sym));
3226 		{
3227 			if (!((*(*(*result)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA14_;
3228 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
3229 		}
3230 		LA14_: ;
3231 	}
3232 	break;
3233 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
3234 	{
3235 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
3236 		branch = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
3237 		{
3238 			NI i;
3239 			NI colontmp_;
3240 			NI i_2;
3241 			i = (NI)0;
3242 			colontmp_ = (NI)0;
3243 			colontmp_ = len__ast_3198(n);
3244 			i_2 = ((NI) 0);
3245 			{
3246 				while (1) {
3247 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
3248 					if (!(i_2 < colontmp_)) goto LA19;
3249 					i = i_2;
3250 					it = (*n)._kind_6.sons->data[i];
3251 					{
3252 						if (!(it == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA22_;
3253 						illFormedAst__semdata_1071(n, (*(*(*cl).c).graph).config);
3254 					}
3255 					LA22_: ;
3256 					switch ((*it).kind) {
3257 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
3258 					{
3259 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
3260 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
3261 						checkSonsLen__semdata_1077(it, ((NI) 2), (*(*(*cl).c).graph).config);
3262 						cond = prepareNode__semtypinst_182(cl, (*it)._kind_6.sons->data[((NI) 0)]);
3263 						e = (*(*cl).c).semConstExpr((*cl).c, cond);
3264 						{
3265 							if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA27_;
3266 							internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, (*e).info, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_27), TM__mrkrD9c2e31kE4GdQtpMdaQ_29);
3267 						}
3268 						LA27_: ;
3269 						{
3270 							NIM_BOOL T31_;
3271 							T31_ = (NIM_BOOL)0;
3272 							T31_ = !(((*e)._kind_1.intVal == IL64(0)));
3273 							if (!(T31_)) goto LA32_;
3274 							T31_ = (branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3275 							LA32_: ;
3276 							if (!T31_) goto LA33_;
3277 							branch = (*it)._kind_6.sons->data[((NI) 1)];
3278 						}
3279 						LA33_: ;
3280 					}
3281 					break;
3282 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
3283 					{
3284 						checkSonsLen__semdata_1077(it, ((NI) 1), (*(*(*cl).c).graph).config);
3285 						{
3286 							if (!(branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA38_;
3287 							branch = (*it)._kind_6.sons->data[((NI) 0)];
3288 						}
3289 						LA38_: ;
3290 					}
3291 					break;
3292 					default:
3293 					{
3294 						illFormedAst__semdata_1071(n, (*(*(*cl).c).graph).config);
3295 					}
3296 					break;
3297 					}
3298 					i_2 += ((NI) 1);
3299 				} LA19: ;
3300 			}
3301 		}
3302 		{
3303 			if (!!((branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA43_;
3304 			result = replaceTypeVarsN__semtypinst_130(cl, branch, ((NI) 0));
3305 		}
3306 		goto LA41_;
3307 		LA43_: ;
3308 		{
3309 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
3310 		}
3311 		LA41_: ;
3312 	}
3313 	break;
3314 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
3315 	{
3316 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
3317 		n_2 = prepareNode__semtypinst_182(cl, n);
3318 		n_2 = reResolveCallsWithTypedescParams__semtypinst_246(cl, n_2);
3319 		{
3320 			if (!(*cl).allowMetaTypes) goto LA49_;
3321 			result = n_2;
3322 		}
3323 		goto LA47_;
3324 		LA49_: ;
3325 		{
3326 			result = (*(*cl).c).semExpr((*cl).c, n_2, 0);
3327 		}
3328 		LA47_: ;
3329 		{
3330 			if (!!((*cl).allowMetaTypes)) goto LA54_;
3331 		}
3332 		LA54_: ;
3333 	}
3334 	break;
3335 	default:
3336 	{
3337 		{
3338 			NI T59_;
3339 			NI T62_;
3340 			T59_ = (NI)0;
3341 			T59_ = len__ast_3198(n);
3342 			if (!(((NI) 0) < T59_)) goto LA60_;
3343 			T62_ = (NI)0;
3344 			T62_ = len__ast_3198(n);
3345 			newSons__semtypinst_404(result, T62_);
3346 			{
3347 				if (!(((NI) 0) < start)) goto LA65_;
3348 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 0)]);
3349 			}
3350 			LA65_: ;
3351 			{
3352 				NI i_3;
3353 				NI colontmp__2;
3354 				NI i_4;
3355 				i_3 = (NI)0;
3356 				colontmp__2 = (NI)0;
3357 				colontmp__2 = len__ast_3198(n);
3358 				i_4 = start;
3359 				{
3360 					while (1) {
3361 						if (!(i_4 < colontmp__2)) goto LA69;
3362 						i_3 = i_4;
3363 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), replaceTypeVarsN__semtypinst_130(cl, (*n)._kind_6.sons->data[i_3], ((NI) 0)));
3364 						i_4 += ((NI) 1);
3365 					} LA69: ;
3366 				}
3367 			}
3368 		}
3369 		LA60_: ;
3370 	}
3371 	break;
3372 	}
3373 	}BeforeRet_: ;
3374 	return result;
3375 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,replaceTypesInBody__semtypinst_988)3376 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypesInBody__semtypinst_988)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, NIM_BOOL allowMetaTypes) {
3377 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3378 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
3379 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
3380 	result = NIM_NIL;
3381 	typeMap = initLayeredTypeMap__semtypinst_134(pt);
3382 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
3383 	initTypeVars__semtypinst_982(p, typeMap, (*n).info, owner, (&cl));
3384 	cl.allowMetaTypes = allowMetaTypes;
3385 	pushInfoContext__msgs_490((*(*p).graph).config, (*n).info, ((NimStringDesc*) NIM_NIL));
3386 	result = replaceTypeVarsN__semtypinst_130((&cl), n, ((NI) 0));
3387 	popInfoContext__msgs_507((*(*p).graph).config);
3388 	return result;
3389 }
N_NIMCALL(void,recomputeFieldPositions__semtypinst_1006)3390 N_LIB_PRIVATE N_NIMCALL(void, recomputeFieldPositions__semtypinst_1006)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, NI* currPosition) {
3391 	{
3392 		NIM_BOOL T3_;
3393 		NIM_BOOL T4_;
3394 		NI T6_;
3395 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
3396 		T3_ = (NIM_BOOL)0;
3397 		T4_ = (NIM_BOOL)0;
3398 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3399 		if (!(T4_)) goto LA5_;
3400 		T6_ = (NI)0;
3401 		T6_ = len__ast_4002(t);
3402 		T4_ = (((NI) 0) < T6_);
3403 		LA5_: ;
3404 		T3_ = T4_;
3405 		if (!(T3_)) goto LA7_;
3406 		T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3407 		LA7_: ;
3408 		if (!T3_) goto LA8_;
3409 		b = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__mrkrD9c2e31kE4GdQtpMdaQ_31);
3410 		recomputeFieldPositions__semtypinst_1006(b, (*b).n, currPosition);
3411 	}
3412 	LA8_: ;
3413 	switch ((*obj).kind) {
3414 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
3415 	{
3416 		{
3417 			NI i;
3418 			NI colontmp_;
3419 			NI i_2;
3420 			i = (NI)0;
3421 			colontmp_ = (NI)0;
3422 			colontmp_ = len__ast_3198(obj);
3423 			i_2 = ((NI) 0);
3424 			{
3425 				while (1) {
3426 					if (!(i_2 < colontmp_)) goto LA13;
3427 					i = i_2;
3428 					recomputeFieldPositions__semtypinst_1006(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[i], currPosition);
3429 					i_2 += ((NI) 1);
3430 				} LA13: ;
3431 			}
3432 		}
3433 	}
3434 	break;
3435 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
3436 	{
3437 		recomputeFieldPositions__semtypinst_1006(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[((NI) 0)], currPosition);
3438 		{
3439 			NI i_3;
3440 			NI colontmp__2;
3441 			NI i_4;
3442 			i_3 = (NI)0;
3443 			colontmp__2 = (NI)0;
3444 			colontmp__2 = len__ast_3198(obj);
3445 			i_4 = ((NI) 1);
3446 			{
3447 				while (1) {
3448 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
3449 					if (!(i_4 < colontmp__2)) goto LA17;
3450 					i_3 = i_4;
3451 					T18_ = NIM_NIL;
3452 					T18_ = lastSon__ast_4832((*obj)._kind_6.sons->data[i_3]);
3453 					recomputeFieldPositions__semtypinst_1006(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), T18_, currPosition);
3454 					i_4 += ((NI) 1);
3455 				} LA17: ;
3456 			}
3457 		}
3458 	}
3459 	break;
3460 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3461 	{
3462 		(*(*obj)._kind_4.sym).position = (*currPosition);
3463 		(*currPosition) += ((NI) 1);
3464 	}
3465 	break;
3466 	default:
3467 	{
3468 	}
3469 	break;
3470 	}
3471 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,generateTypeInstance__semtypinst_1050)3472 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, generateTypeInstance__semtypinst_1050)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3473 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3474 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
3475 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
3476 	tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
3477 	result = NIM_NIL;
3478 	typeMap = initLayeredTypeMap__semtypinst_134(pt);
3479 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
3480 	initTypeVars__semtypinst_982(p, typeMap, info, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (&cl));
3481 	pushInfoContext__msgs_490((*(*p).graph).config, info, ((NimStringDesc*) NIM_NIL));
3482 	result = replaceTypeVarsT__semtypinst_178((&cl), t);
3483 	popInfoContext__msgs_507((*(*p).graph).config);
3484 	objType = skipTypes__ast_3735(result, TM__mrkrD9c2e31kE4GdQtpMdaQ_30);
3485 	{
3486 		NI position;
3487 		if (!((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA3_;
3488 		position = ((NI) 0);
3489 		recomputeFieldPositions__semtypinst_1006(objType, (*objType).n, (&position));
3490 	}
3491 	LA3_: ;
3492 	return result;
3493 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,prepareMetatypeForSigmatch__semtypinst_1064)3494 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, prepareMetatypeForSigmatch__semtypinst_1064)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3495 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3496 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
3497 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
3498 	result = NIM_NIL;
3499 	typeMap = initLayeredTypeMap__semtypinst_134(pt);
3500 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
3501 	initTypeVars__semtypinst_982(p, typeMap, info, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (&cl));
3502 	cl.allowMetaTypes = NIM_TRUE;
3503 	pushInfoContext__msgs_490((*(*p).graph).config, info, ((NimStringDesc*) NIM_NIL));
3504 	result = replaceTypeVarsT__semtypinst_178((&cl), t);
3505 	popInfoContext__msgs_507((*(*p).graph).config);
3506 	return result;
3507 }
N_NIMCALL(void,checkConstructedType__semtypinst_26)3508 N_LIB_PRIVATE N_NIMCALL(void, checkConstructedType__semtypinst_26)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
3509 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
3510 	t = skipTypes__ast_3735(typ, TM__mrkrD9c2e31kE4GdQtpMdaQ_32);
3511 	{
3512 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA3_;
3513 	}
3514 	goto LA1_;
3515 	LA3_: ;
3516 	{
3517 		NIM_BOOL T6_;
3518 		T6_ = (NIM_BOOL)0;
3519 		T6_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
3520 		if (!(T6_)) goto LA7_;
3521 		T6_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
3522 		LA7_: ;
3523 		if (!T6_) goto LA8_;
3524 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_11), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_33, NIM_FALSE);
3525 	}
3526 	goto LA1_;
3527 	LA8_: ;
3528 	{
3529 		NIM_BOOL T11_;
3530 		NI64 T12_;
3531 		NimStringDesc* T16_;
3532 		NimStringDesc* T17_;
3533 		T11_ = (NIM_BOOL)0;
3534 		T12_ = (NI64)0;
3535 		T12_ = computeSize__types_3308(conf, t);
3536 		T11_ = (T12_ == IL64(-2));
3537 		if (T11_) goto LA13_;
3538 		T11_ = isTupleRecursive__types_3987(t);
3539 		LA13_: ;
3540 		if (!T11_) goto LA14_;
3541 		T16_ = NIM_NIL;
3542 		T17_ = NIM_NIL;
3543 		T17_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3544 		T16_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 28);
3545 appendString(T16_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_34));
3546 appendString(T16_, T17_);
3547 appendString(T16_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_7));
3548 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_35, NIM_FALSE);
3549 	}
3550 	goto LA1_;
3551 	LA14_: ;
3552 	LA1_: ;
3553 }
N_NIMCALL(void,compiler_semtypinstDatInit000)3554 N_LIB_PRIVATE N_NIMCALL(void, compiler_semtypinstDatInit000)(void) {
3555 static TNimNode* TM__mrkrD9c2e31kE4GdQtpMdaQ_2_2[2];
3556 static TNimNode TM__mrkrD9c2e31kE4GdQtpMdaQ_0[3];
3557 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.size = sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ);
3558 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.align = NIM_ALIGNOF(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ);
3559 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.kind = 18;
3560 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.base = 0;
3561 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.flags = 2;
3562 TM__mrkrD9c2e31kE4GdQtpMdaQ_2_2[0] = &TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1];
3563 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1].kind = 1;
3564 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1].offset = offsetof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ, topLayer);
3565 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1].typ = (&NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_);
3566 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1].name = "topLayer";
3567 TM__mrkrD9c2e31kE4GdQtpMdaQ_2_2[1] = &TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2];
3568 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2].kind = 1;
3569 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2].offset = offsetof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ, nextLayer);
3570 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2].typ = (&NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_);
3571 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2].name = "nextLayer";
3572 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[0].len = 2; TM__mrkrD9c2e31kE4GdQtpMdaQ_0[0].kind = 2; TM__mrkrD9c2e31kE4GdQtpMdaQ_0[0].sons = &TM__mrkrD9c2e31kE4GdQtpMdaQ_2_2[0];
3573 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.node = &TM__mrkrD9c2e31kE4GdQtpMdaQ_0[0];
3574 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.size = sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*);
3575 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.align = NIM_ALIGNOF(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*);
3576 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.kind = 22;
3577 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.base = (&NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_);
3578 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.flags = 2;
3579 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.marker = Marker_tyRef__zSq8dodcWpSdfE0WaiBU9cw;
3580 }
3581 
3582