1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 #define NIM_EmulateOverflowChecks
4
5 #include "nimbase.h"
6 #include <string.h>
7 #include <setjmp.h>
8 #include <stdio.h>
9 #undef LANGUAGE_C
10 #undef MIPSEB
11 #undef MIPSEL
12 #undef PPC
13 #undef R3000
14 #undef R4000
15 #undef i386
16 #undef linux
17 #undef mips
18 #undef near
19 #undef far
20 #undef powerpc
21 #undef unix
22 #define nimfr_(x, y)
23 #define nimln_(x, y)
24 typedef struct NimStringDesc NimStringDesc;
25 typedef struct TGenericSeq TGenericSeq;
26 typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
27 typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg;
28 typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
29 typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
30 typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ;
31 typedef struct TNimType TNimType;
32 typedef struct TNimNode TNimNode;
33 typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
34 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
35 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
36 typedef struct Exception Exception;
37 typedef struct RootObj RootObj;
38 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
39 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
40 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
41 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
42 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
43 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
44 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
45 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
46 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
47 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
48 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
49 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
50 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
51 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
52 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
53 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
54 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
55 typedef struct tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g;
56 typedef struct tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ;
57 typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
58 typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ;
59 typedef struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ;
60 typedef struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg;
61 typedef struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q tySequence__Ih0V9cYug0VPJyBBGvgEH7Q;
62 typedef struct TSafePoint TSafePoint;
63 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
64 typedef struct tyTuple__jq7X5k7hWG0tdTZTDkiyGQ tyTuple__jq7X5k7hWG0tdTZTDkiyGQ;
65 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
66 struct TGenericSeq {
67 NI len;
68 NI reserved;
69 };
70 struct NimStringDesc {
71 TGenericSeq Sup;
72 NIM_CHAR data[SEQ_DECL_SIZE];
73 };
74 typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
75 struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg {
76 tySequence__MlAD6nAPq9bHKla9cWiIZP0g* data;
77 NI counter;
78 NI first;
79 NI last;
80 };
81 struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q {
82 NIM_BOOL isUnquoted;
83 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind;
84 union{
85 struct {NimStringDesc* str;
86 } _kind_1;
87 struct {NI64 num;
88 } _kind_2;
89 struct {NF fnum;
90 } _kind_3;
91 struct {NIM_BOOL bval;
92 } _kind_4;
93 struct {tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg fields;
94 } _kind_6;
95 struct {tySequence__oLpBKXzW3hF9aCVMo5EymfQ* elems;
96 } _kind_7;
97 };
98 };
99 struct tyTuple__awOivLjlO76sGdHY7nQUjQ {
100 NI Field0;
101 NI Field1;
102 NimStringDesc* Field2;
103 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3;
104 };
105 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
106 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
107 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
108 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
109 struct TNimType {
110 NI size;
111 NI align;
112 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
113 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
114 TNimType* base;
115 TNimNode* node;
116 void* finalizer;
117 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
118 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
119 };
120 struct RootObj {
121 TNimType* m_type;
122 };
123 struct Exception {
124 RootObj Sup;
125 Exception* parent;
126 NCSTRING name;
127 NimStringDesc* message;
128 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
129 Exception* up;
130 };
131 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
132 Exception Sup;
133 };
134 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
135 tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
136 };
137 struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
138 tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
139 };
140 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
141 struct TNimNode {
142 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
143 NI offset;
144 TNimType* typ;
145 NCSTRING name;
146 NI len;
147 TNimNode** sons;
148 };
149 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
150 NI refcount;
151 TNimType* typ;
152 };
153 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
154 void* bottom;
155 };
156 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
157 NI len;
158 NI cap;
159 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
160 };
161 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
162 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
163 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
164 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
165 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
166 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
167 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
168 };
169 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
170 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
171 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
172 NI key;
173 NI upperBound;
174 NI level;
175 };
176 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
177 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
178 NI Field1;
179 };
180 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
181 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
182 NI len;
183 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
184 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
185 };
186 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
187 NI minLargeObj;
188 NI maxLargeObj;
189 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
190 NU32 flBitmap;
191 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
192 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
193 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
194 NI currMem;
195 NI maxMem;
196 NI freeMem;
197 NI occ;
198 NI lastSize;
199 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
200 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
201 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
202 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
203 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
204 NIM_BOOL locked;
205 NIM_BOOL blockChunkSizeIncrease;
206 NI nextChunkSize;
207 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
208 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
209 };
210 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
211 NI stackScans;
212 NI cycleCollections;
213 NI maxThreshold;
214 NI maxStackSize;
215 NI maxStackCells;
216 NI cycleTableSize;
217 NI64 maxPause;
218 };
219 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
220 NI counter;
221 NI max;
222 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
223 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
224 };
225 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
226 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
227 NI cycleThreshold;
228 NI zctThreshold;
229 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
230 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
231 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
232 NI recGcLock;
233 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
234 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
235 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
236 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
237 NI gcThreadId;
238 };
239 typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
240 typedef NU8 tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
241 struct tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g {
242 tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
243 };
244 typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
245 struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
246 tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
247 };
248 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
249 struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg {
250 RootObj Sup;
251 NI bufpos;
252 NimStringDesc* buf;
253 tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input;
254 NI lineNumber;
255 NI sentinel;
256 NI lineStart;
257 NI offsetBase;
258 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars;
259 };
260 typedef NU8 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw;
261 typedef NU8 tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA;
262 typedef NU8 tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew;
263 struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ {
264 tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg Sup;
265 NimStringDesc* a;
266 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok;
267 tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA kind;
268 tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew err;
269 tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* state;
270 NimStringDesc* filename;
271 NIM_BOOL rawStringLiterals;
272 };
273 struct TSafePoint {
274 TSafePoint* prev;
275 NI status;
276 jmp_buf context;
277 };
278 typedef N_NIMCALL_PTR(void, tyProc__JQrsH08b4uPTH9cyFPlVOZg) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
279 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__9bmhFrLahRsL2hltfRDVtlQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
280 typedef N_NIMCALL_PTR(void, tyProc__3svSoGIUJIsHkaBL7q4DAQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NI pos);
281 typedef N_NIMCALL_PTR(NI, tyProc__xflqkf2D1uVClg70czEDHA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
282 typedef N_NIMCALL_PTR(NI, tyProc__c9c0f59ak4YGQ6neEym8LPKw) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc** buffer, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA slice);
283 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__7jFfqMk9ajToCz6Hv9atCA4A) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc** line);
284 typedef N_NIMCALL_PTR(NI, tyProc__2VVzVL9bOnKhj1eZKkf9cEuA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
285 typedef N_NIMCALL_PTR(void, tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
286 struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ {
287 RootObj Sup;
288 tyProc__JQrsH08b4uPTH9cyFPlVOZg closeImpl;
289 tyProc__9bmhFrLahRsL2hltfRDVtlQ atEndImpl;
290 tyProc__3svSoGIUJIsHkaBL7q4DAQ setPositionImpl;
291 tyProc__xflqkf2D1uVClg70czEDHA getPositionImpl;
292 tyProc__c9c0f59ak4YGQ6neEym8LPKw readDataStrImpl;
293 tyProc__7jFfqMk9ajToCz6Hv9atCA4A readLineImpl;
294 tyProc__2VVzVL9bOnKhj1eZKkf9cEuA readDataImpl;
295 tyProc__2VVzVL9bOnKhj1eZKkf9cEuA peekDataImpl;
296 tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ writeDataImpl;
297 tyProc__JQrsH08b4uPTH9cyFPlVOZg flushImpl;
298 };
299 struct tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ {
300 tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ Sup;
301 FILE* f;
302 };
303 struct tyTuple__jq7X5k7hWG0tdTZTDkiyGQ {
304 NimStringDesc* Field0;
305 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field1;
306 };
307 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
308 NCSTRING procname;
309 NI line;
310 NCSTRING filename;
311 };
312 typedef NU8 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ;
313 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
314 NI a;
315 NI b;
316 };
317 struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ {
318 TGenericSeq Sup;
319 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];
320 };
321 struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g {
322 TGenericSeq Sup;
323 tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];
324 };
325 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
326 TGenericSeq Sup;
327 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
328 };
329 struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q {
330 TGenericSeq Sup;
331 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ data[SEQ_DECL_SIZE];
332 };
333 N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
334 N_LIB_PRIVATE N_NIMCALL(void, escapeJson__pureZjson_4352)(NimStringDesc* s, NimStringDesc** result);
335 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
336 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
337 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
338 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
339 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
340 N_LIB_PRIVATE N_NIMCALL(void, escapeJsonUnquoted__pureZjson_4331)(NimStringDesc* s, NimStringDesc** result);
341 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
342 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1792)(NI x, NI len);
343 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
344 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
345 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
346 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
347 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2061)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x, tySequence__oLpBKXzW3hF9aCVMo5EymfQ* y);
348 static N_INLINE(void*, seqToPtr__pureZjson_2077)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x);
349 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2044)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b);
350 static N_INLINE(NI, len__pureZjson_2142)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t);
351 static N_INLINE(void, nimZeroMem)(void* p, NI size);
352 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
353 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
354 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_2564)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key);
355 N_LIB_PRIVATE N_NIMCALL(NI, rawGet__pureZjson_356)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc);
356 N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_279)(NimStringDesc* x);
357 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
358 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___pureZjson_2638)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key);
359 static N_INLINE(NI, rawGet__pureZjson_2645)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc);
360 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__msgs_300)(NimStringDesc* key) __attribute__((noreturn));
361 N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_2989)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n);
362 N_LIB_PRIVATE N_NIMCALL(void, toUgly__pureZjson_4362)(NimStringDesc** result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node);
363 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
364 static N_INLINE(void, addFloat__system_3122)(NimStringDesc** result, NF x);
365 N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_3127)(NimStringDesc** result, NF x);
366 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
367 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
368 static N_INLINE(void, asgnRef)(void** dest, void* src);
369 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
370 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
371 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr);
372 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
373 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
374 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
375 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
376 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
377 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
378 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
379 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZjson_5339)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x);
380 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, collectionToString__pureZjson_5343)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x, NimStringDesc* prefix, NimStringDesc* separator, NimStringDesc* suffix);
381 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__pureZjson_5375)(NimStringDesc** s, tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x);
382 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
383 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
384 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
385 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
386 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
387 static N_NIMCALL(void, Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g)(void* p, NI op);
388 static N_NIMCALL(void, Marker_tyRef__zfzzuQ8txrdZAYK0WGWpHg)(void* p, NI op);
389 static N_NIMCALL(void, Marker_tySequence__oLpBKXzW3hF9aCVMo5EymfQ)(void* p, NI op);
390 N_LIB_PRIVATE N_NIMCALL(tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ*, newFileStream__pureZstreams_832)(NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
391 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5216)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc* filename, NIM_BOOL rawIntegers, NIM_BOOL rawFloats);
392 N_LIB_PRIVATE N_NIMCALL(void, open__pureZparsejson_97)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NimStringDesc* filename, NIM_BOOL rawStringLiterals);
393 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
394 N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, getTok__pureZparsejson_425)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
395 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5178)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NIM_BOOL rawIntegers, NIM_BOOL rawFloats, NI depth);
396 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJStringMove__pureZjson_78)(NimStringDesc* s);
397 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJRawNumber__pureZjson_75)(NimStringDesc* s);
398 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJInt__pureZjson_81)(NI64 n);
399 N_LIB_PRIVATE N_NIMCALL(NI64, nsuParseBiggestInt)(NimStringDesc* s);
400 static N_INLINE(void, popSafePoint)(void);
401 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
402 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
403 static N_INLINE(void, popCurrentException)(void);
404 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
405 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJFloat__pureZjson_84)(NF n);
406 N_LIB_PRIVATE N_NIMCALL(NF, nsuParseFloat)(NimStringDesc* s);
407 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJBool__pureZjson_87)(NIM_BOOL b);
408 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJNull__pureZjson_90)(void);
409 N_LIB_PRIVATE N_NOINLINE(void, raiseParseErr__pureZparsejson_580)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NimStringDesc* msg) __attribute__((noreturn));
410 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_92)(void);
411 N_LIB_PRIVATE N_NIMCALL(void, initOrderedTable__pureZjson_94)(NI initialSize, tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* Result);
412 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
413 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_176)(NI x);
414 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
415 N_LIB_PRIVATE N_NIMCALL(void, eat__pureZparsejson_602)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok);
416 static N_INLINE(void, X5BX5Deq___pureZjson_1923)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
417 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_287)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
418 static N_INLINE(NIM_BOOL, mustRehash__pureZjson_692)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t);
419 N_LIB_PRIVATE N_NIMCALL(void, enlarge__pureZjson_853)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t);
420 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__pureZjson_1264)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, tySequence__MlAD6nAPq9bHKla9cWiIZP0g** data, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val, NI hc, NI h);
421 N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC__pureZjson_1546)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI hc);
422 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_123)(void);
423 static N_INLINE(void, nimGCunrefRC1)(void* p);
424 N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_222)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child);
425 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
426 static N_INLINE(void, close__pureZparsejson_151)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
427 N_LIB_PRIVATE N_NIMCALL(void, close__pureZlexbase_14)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L);
428 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
429 N_LIB_PRIVATE N_NIMCALL(void, toPretty__pureZjson_4380)(NimStringDesc** result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent, NIM_BOOL ml, NIM_BOOL lstArr, NI currIndent);
430 N_LIB_PRIVATE N_NIMCALL(void, indent__pureZjson_4320)(NimStringDesc** s, NI i);
431 static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n);
432 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
433 N_LIB_PRIVATE N_NIMCALL(void, nl__pureZjson_4328)(NimStringDesc** s, NIM_BOOL ml);
434 N_LIB_PRIVATE N_NIMCALL(NI, newIndent__pureZjson_4323)(NI curr, NI indent, NIM_BOOL ml);
435 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_2, "\"", 1);
436 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_3, "\\n", 2);
437 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_4, "\\b", 2);
438 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_5, "\\f", 2);
439 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_6, "\\t", 2);
440 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_7, "\\u000b", 6);
441 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_8, "\\r", 2);
442 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_9, "\\\"", 2);
443 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_10, "\\u000", 5);
444 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_11, "\\u00", 4);
445 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_12, "\\\\", 2);
446 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_13, "[", 1);
447 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_14, ",", 1);
448 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_15, "]", 1);
449 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_16, "{", 1);
450 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_17, ":", 1);
451 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_18, "}", 1);
452 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_19, "true", 4);
453 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_20, "false", 5);
454 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_21, "null", 4);
455 N_LIB_PRIVATE TNimType NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_;
456 extern TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_;
457 extern TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_;
458 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_25, "key not found: ", 15);
459 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_26, "Incorrect JSON kind. Wanted \'$1\' in \'$2\' but got \'$3\'.", 54);
460 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_27, ", ", 2);
461 extern TNimType NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_;
462 extern TNimType NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_;
463 N_LIB_PRIVATE TNimType NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_;
464 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
465 TNimNode* NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[8];
466 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
467 extern TNimType NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_;
468 extern TNimType NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_;
469 N_LIB_PRIVATE TNimType NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_;
470 N_LIB_PRIVATE TNimType NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_;
471 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
472 N_LIB_PRIVATE TNimType NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_;
473 N_LIB_PRIVATE TNimType NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_;
474 N_LIB_PRIVATE TNimType NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_;
475 extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
476 extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
477 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_31, "cannot read from file: ", 23);
478 extern TNimType NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_;
479 extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
480 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_35, "string literal as key", 21);
481 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_36, "\012", 1);
482 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_37, " ", 1);
483 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_38, ": ", 2);
484 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_39, "{}", 2);
485 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_40, "[]", 2);
486 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238;
487 extern TSafePoint* excHandler__system_2565;
488 extern TSafePoint* excHandler__system_2565;
489 extern TSafePoint* excHandler__system_2565;
490 extern TSafePoint* excHandler__system_2565;
491 extern Exception* currException__system_2566;
492 extern Exception* currException__system_2566;
493 extern Exception* currException__system_2566;
N_INLINE(void,nimCopyMem)494 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
495 void* T1_;
496 T1_ = (void*)0;
497 T1_ = memcpy(dest, source, ((size_t) (size)));
498 }
N_INLINE(void,copyMem__system_1727)499 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
500 nimCopyMem(dest, source, size);
501 }
N_INLINE(void,appendString)502 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
503 {
504 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
505 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
506 (*dest).Sup.len += (*src).Sup.len;
507 }
508 LA3_: ;
509 }
N_NIMCALL(void,escapeJsonUnquoted__pureZjson_4331)510 N_LIB_PRIVATE N_NIMCALL(void, escapeJsonUnquoted__pureZjson_4331)(NimStringDesc* s, NimStringDesc** result) {
511 {
512 NIM_CHAR c;
513 NI i;
514 NI L;
515 c = (NIM_CHAR)0;
516 i = ((NI) 0);
517 L = (s ? s->Sup.len : 0);
518 {
519 while (1) {
520 if (!(i < L)) goto LA3;
521 c = s->data[i];
522 switch (((NU8)(c))) {
523 case 10:
524 {
525 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
526 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_3));
527 }
528 break;
529 case 8:
530 {
531 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
532 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_4));
533 }
534 break;
535 case 12:
536 {
537 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
538 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_5));
539 }
540 break;
541 case 9:
542 {
543 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
544 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_6));
545 }
546 break;
547 case 11:
548 {
549 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 6));
550 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_7));
551 }
552 break;
553 case 13:
554 {
555 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
556 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_8));
557 }
558 break;
559 case 34:
560 {
561 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
562 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_9));
563 }
564 break;
565 case 0 ... 7:
566 {
567 NimStringDesc* T12_;
568 NimStringDesc* T13_;
569 T12_ = NIM_NIL;
570 T13_ = NIM_NIL;
571 T13_ = dollar___systemZdollars_3(((NU8)(c)));
572 T12_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 5);
573 appendString(T12_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_10));
574 appendString(T12_, T13_);
575 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T12_ ? T12_->Sup.len : 0) + 0));
576 appendString((*result), T12_);
577 }
578 break;
579 case 14 ... 31:
580 {
581 NimStringDesc* T15_;
582 NimStringDesc* T16_;
583 T15_ = NIM_NIL;
584 T16_ = NIM_NIL;
585 T16_ = toHex__pureZstrutils_1792(((NU8)(c)), ((NI) 2));
586 T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 4);
587 appendString(T15_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_11));
588 appendString(T15_, T16_);
589 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T15_ ? T15_->Sup.len : 0) + 0));
590 appendString((*result), T15_);
591 }
592 break;
593 case 92:
594 {
595 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
596 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_12));
597 }
598 break;
599 default:
600 {
601 unsureAsgnRef((void**) (&(*result)), addChar((*result), c));
602 }
603 break;
604 }
605 i += ((NI) 1);
606 } LA3: ;
607 }
608 }
609 }
N_NIMCALL(void,escapeJson__pureZjson_4352)610 N_LIB_PRIVATE N_NIMCALL(void, escapeJson__pureZjson_4352)(NimStringDesc* s, NimStringDesc** result) {
611 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
612 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_2));
613 escapeJsonUnquoted__pureZjson_4331(s, result);
614 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
615 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_2));
616 }
N_NIMCALL(NimStringDesc *,escapeJson__pureZjson_4355)617 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJson__pureZjson_4355)(NimStringDesc* s) {
618 NimStringDesc* result;
619 result = NIM_NIL;
620 result = rawNewString(((NI) ((NI)((s ? s->Sup.len : 0) + (NI)((NI32)((s ? s->Sup.len : 0)) >> (NU32)(((NI) 3)))))));
621 escapeJson__pureZjson_4352(s, (&result));
622 return result;
623 }
N_INLINE(int,nimCmpMem)624 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
625 int result;
626 result = (int)0;
627 result = memcmp(a, b, ((size_t) (size)));
628 return result;
629 }
N_INLINE(NIM_BOOL,equalMem__system_1735)630 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
631 NIM_BOOL result;
632 int T1_;
633 result = (NIM_BOOL)0;
634 T1_ = (int)0;
635 T1_ = nimCmpMem(a, b, size);
636 result = (T1_ == ((NI32) 0));
637 return result;
638 }
N_INLINE(NIM_BOOL,eqStrings)639 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
640 NIM_BOOL result;
641 NI alen;
642 NI blen;
643 { result = (NIM_BOOL)0;
644 alen = (a ? a->Sup.len : 0);
645 blen = (b ? b->Sup.len : 0);
646 {
647 if (!(alen == blen)) goto LA3_;
648 {
649 if (!(alen == ((NI) 0))) goto LA7_;
650 result = NIM_TRUE;
651 goto BeforeRet_;
652 }
653 LA7_: ;
654 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
655 goto BeforeRet_;
656 }
657 LA3_: ;
658 }BeforeRet_: ;
659 return result;
660 }
N_INLINE(void *,seqToPtr__pureZjson_2077)661 static N_INLINE(void*, seqToPtr__pureZjson_2077)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x) {
662 void* result;
663 result = (void*)0;
664 result = ((void*) (x));
665 return result;
666 }
N_NIMCALL(NIM_BOOL,eqeq___pureZjson_2061)667 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2061)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x, tySequence__oLpBKXzW3hF9aCVMo5EymfQ* y) {
668 NIM_BOOL result;
669 { result = (NIM_BOOL)0;
670 {
671 void* T3_;
672 void* T4_;
673 T3_ = (void*)0;
674 T3_ = seqToPtr__pureZjson_2077(x);
675 T4_ = (void*)0;
676 T4_ = seqToPtr__pureZjson_2077(y);
677 if (!(T3_ == T4_)) goto LA5_;
678 result = NIM_TRUE;
679 goto BeforeRet_;
680 }
681 LA5_: ;
682 {
683 NI T9_;
684 NI T10_;
685 T9_ = (x ? x->Sup.len : 0);
686 T10_ = (y ? y->Sup.len : 0);
687 if (!!((T9_ == T10_))) goto LA11_;
688 result = NIM_FALSE;
689 goto BeforeRet_;
690 }
691 LA11_: ;
692 {
693 NI i;
694 NI colontmp_;
695 NI T14_;
696 NI res;
697 i = (NI)0;
698 colontmp_ = (NI)0;
699 T14_ = (x ? x->Sup.len : 0);
700 colontmp_ = (NI)(T14_ - ((NI) 1));
701 res = ((NI) 0);
702 {
703 while (1) {
704 if (!(res <= colontmp_)) goto LA16;
705 i = res;
706 {
707 NIM_BOOL T19_;
708 T19_ = (NIM_BOOL)0;
709 T19_ = eqeq___pureZjson_2044(x->data[i], y->data[i]);
710 if (!!(T19_)) goto LA20_;
711 result = NIM_FALSE;
712 goto BeforeRet_;
713 }
714 LA20_: ;
715 res += ((NI) 1);
716 } LA16: ;
717 }
718 }
719 result = NIM_TRUE;
720 goto BeforeRet_;
721 }BeforeRet_: ;
722 return result;
723 }
N_INLINE(NI,len__pureZjson_2142)724 static N_INLINE(NI, len__pureZjson_2142)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t) {
725 NI result;
726 result = (NI)0;
727 result = t.counter;
728 return result;
729 }
N_INLINE(void,nimSetMem__systemZmemory_7)730 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
731 void* T1_;
732 T1_ = (void*)0;
733 T1_ = memset(a, v, ((size_t) (size)));
734 }
N_INLINE(void,nimZeroMem)735 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
736 nimSetMem__systemZmemory_7(p, ((int) 0), size);
737 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)738 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
739 NIM_BOOL result;
740 result = (NIM_BOOL)0;
741 result = !((hcode == ((NI) 0)));
742 return result;
743 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)744 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
745 NI result;
746 result = (NI)0;
747 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
748 return result;
749 }
N_NIMCALL(NI,rawGet__pureZjson_356)750 N_LIB_PRIVATE N_NIMCALL(NI, rawGet__pureZjson_356)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc) {
751 NI result;
752 NI h;
753 NI T10_;
754 { result = (NI)0;
755 (*hc) = hash__pureZhashes_279(key);
756 {
757 if (!((*hc) == ((NI) 0))) goto LA3_;
758 (*hc) = ((NI) 314159265);
759 }
760 LA3_: ;
761 {
762 NI T7_;
763 T7_ = (t.data ? t.data->Sup.len : 0);
764 if (!(T7_ == ((NI) 0))) goto LA8_;
765 result = ((NI) -1);
766 goto BeforeRet_;
767 }
768 LA8_: ;
769 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
770 h = (NI)((*hc) & T10_);
771 {
772 while (1) {
773 NIM_BOOL T13_;
774 NI T20_;
775 T13_ = (NIM_BOOL)0;
776 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
777 if (!T13_) goto LA12;
778 {
779 NIM_BOOL T16_;
780 T16_ = (NIM_BOOL)0;
781 T16_ = (t.data->data[h].Field0 == (*hc));
782 if (!(T16_)) goto LA17_;
783 T16_ = eqStrings(t.data->data[h].Field2, key);
784 LA17_: ;
785 if (!T16_) goto LA18_;
786 result = h;
787 goto BeforeRet_;
788 }
789 LA18_: ;
790 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
791 h = nextTry__pureZcollectionsZtables_34(h, T20_);
792 } LA12: ;
793 }
794 result = (NI)(((NI) -1) - h);
795 }BeforeRet_: ;
796 return result;
797 }
N_NIMCALL(NIM_BOOL,hasKey__pureZjson_2564)798 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_2564)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key) {
799 NIM_BOOL result;
800 NI hc;
801 NI T1_;
802 result = (NIM_BOOL)0;
803 hc = (NI)0;
804 T1_ = (NI)0;
805 T1_ = rawGet__pureZjson_356(t, key, (&hc));
806 result = (((NI) 0) <= T1_);
807 return result;
808 }
N_INLINE(NI,rawGet__pureZjson_2645)809 static N_INLINE(NI, rawGet__pureZjson_2645)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc) {
810 NI result;
811 NI h;
812 NI T10_;
813 { result = (NI)0;
814 (*hc) = hash__pureZhashes_279(key);
815 {
816 if (!((*hc) == ((NI) 0))) goto LA3_;
817 (*hc) = ((NI) 314159265);
818 }
819 LA3_: ;
820 {
821 NI T7_;
822 T7_ = (t.data ? t.data->Sup.len : 0);
823 if (!(T7_ == ((NI) 0))) goto LA8_;
824 result = ((NI) -1);
825 goto BeforeRet_;
826 }
827 LA8_: ;
828 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
829 h = (NI)((*hc) & T10_);
830 {
831 while (1) {
832 NIM_BOOL T13_;
833 NI T20_;
834 T13_ = (NIM_BOOL)0;
835 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
836 if (!T13_) goto LA12;
837 {
838 NIM_BOOL T16_;
839 T16_ = (NIM_BOOL)0;
840 T16_ = (t.data->data[h].Field0 == (*hc));
841 if (!(T16_)) goto LA17_;
842 T16_ = eqStrings(t.data->data[h].Field2, key);
843 LA17_: ;
844 if (!T16_) goto LA18_;
845 result = h;
846 goto BeforeRet_;
847 }
848 LA18_: ;
849 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
850 h = nextTry__pureZcollectionsZtables_34(h, T20_);
851 } LA12: ;
852 }
853 result = (NI)(((NI) -1) - h);
854 }BeforeRet_: ;
855 return result;
856 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q **,X5BX5D___pureZjson_2638)857 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___pureZjson_2638)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key) {
858 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** result;
859 NI hcX60gensym89_;
860 NI indexX60gensym89_;
861 result = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
862 hcX60gensym89_ = (NI)0;
863 indexX60gensym89_ = rawGet__pureZjson_2645((*t), key, (&hcX60gensym89_));
864 {
865 if (!(((NI) 0) <= indexX60gensym89_)) goto LA3_;
866 result = &(*t).data->data[indexX60gensym89_].Field3;
867 }
868 goto LA1_;
869 LA3_: ;
870 {
871 raiseKeyError__msgs_300(key);
872 }
873 LA1_: ;
874 return result;
875 }
N_NIMCALL(NIM_BOOL,eqeq___pureZjson_2044)876 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2044)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b) {
877 NIM_BOOL result;
878 { result = (NIM_BOOL)0;
879 {
880 if (!(a == 0)) goto LA3_;
881 {
882 if (!(b == 0)) goto LA7_;
883 result = NIM_TRUE;
884 goto BeforeRet_;
885 }
886 LA7_: ;
887 result = NIM_FALSE;
888 goto BeforeRet_;
889 }
890 goto LA1_;
891 LA3_: ;
892 {
893 NIM_BOOL T10_;
894 T10_ = (NIM_BOOL)0;
895 T10_ = (b == 0);
896 if (T10_) goto LA11_;
897 T10_ = !(((*a).kind == (*b).kind));
898 LA11_: ;
899 if (!T10_) goto LA12_;
900 result = NIM_FALSE;
901 goto BeforeRet_;
902 }
903 goto LA1_;
904 LA12_: ;
905 {
906 switch ((*a).kind) {
907 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4):
908 {
909 result = eqStrings((*a)._kind_1.str, (*b)._kind_1.str);
910 }
911 break;
912 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2):
913 {
914 result = ((*a)._kind_2.num == (*b)._kind_2.num);
915 }
916 break;
917 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3):
918 {
919 result = ((*a)._kind_3.fnum == (*b)._kind_3.fnum);
920 }
921 break;
922 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1):
923 {
924 result = ((*a)._kind_4.bval == (*b)._kind_4.bval);
925 }
926 break;
927 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0):
928 {
929 result = NIM_TRUE;
930 }
931 break;
932 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
933 {
934 result = eqeq___pureZjson_2061((*a)._kind_7.elems, (*b)._kind_7.elems);
935 }
936 break;
937 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
938 {
939 {
940 NI T24_;
941 NI T25_;
942 T24_ = (NI)0;
943 T24_ = len__pureZjson_2142((*a)._kind_6.fields);
944 T25_ = (NI)0;
945 T25_ = len__pureZjson_2142((*b)._kind_6.fields);
946 if (!!((T24_ == T25_))) goto LA26_;
947 result = NIM_FALSE;
948 goto BeforeRet_;
949 }
950 LA26_: ;
951 {
952 NimStringDesc* key;
953 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
954 tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp_;
955 NI L;
956 key = NIM_NIL;
957 val = NIM_NIL;
958 nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
959 colontmp_.data = (*a)._kind_6.fields.data;
960 colontmp_.counter = (*a)._kind_6.fields.counter;
961 colontmp_.first = (*a)._kind_6.fields.first;
962 colontmp_.last = (*a)._kind_6.fields.last;
963 L = len__pureZjson_2142(colontmp_);
964 {
965 NI h;
966 if (!(((NI) 0) < colontmp_.counter)) goto LA31_;
967 h = colontmp_.first;
968 {
969 while (1) {
970 NI nxt;
971 if (!(((NI) 0) <= h)) goto LA34;
972 nxt = colontmp_.data->data[h].Field1;
973 {
974 NIM_BOOL T37_;
975 T37_ = (NIM_BOOL)0;
976 T37_ = isFilled__pureZcollectionsZtables_31(colontmp_.data->data[h].Field0);
977 if (!T37_) goto LA38_;
978 key = colontmp_.data->data[h].Field2;
979 val = colontmp_.data->data[h].Field3;
980 {
981 NIM_BOOL T42_;
982 T42_ = (NIM_BOOL)0;
983 T42_ = hasKey__pureZjson_2564((*b)._kind_6.fields, key);
984 if (!!(T42_)) goto LA43_;
985 result = NIM_FALSE;
986 goto BeforeRet_;
987 }
988 LA43_: ;
989 {
990 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** T47_;
991 NIM_BOOL T48_;
992 T47_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
993 T47_ = X5BX5D___pureZjson_2638((&(*b)._kind_6.fields), key);
994 T48_ = (NIM_BOOL)0;
995 T48_ = eqeq___pureZjson_2044((*T47_), val);
996 if (!!(T48_)) goto LA49_;
997 result = NIM_FALSE;
998 goto BeforeRet_;
999 }
1000 LA49_: ;
1001 }
1002 LA38_: ;
1003 h = nxt;
1004 } LA34: ;
1005 }
1006 }
1007 LA31_: ;
1008 }
1009 result = NIM_TRUE;
1010 }
1011 break;
1012 }
1013 }
1014 LA1_: ;
1015 }BeforeRet_: ;
1016 return result;
1017 }
N_NIMCALL(NI,len__pureZjson_2989)1018 N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_2989)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n) {
1019 NI result;
1020 result = (NI)0;
1021 switch ((*n).kind) {
1022 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
1023 {
1024 NI T2_;
1025 T2_ = ((*n)._kind_7.elems ? (*n)._kind_7.elems->Sup.len : 0);
1026 result = T2_;
1027 }
1028 break;
1029 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
1030 {
1031 result = len__pureZjson_2142((*n)._kind_6.fields);
1032 }
1033 break;
1034 default:
1035 {
1036 }
1037 break;
1038 }
1039 return result;
1040 }
N_INLINE(void,addFloat__system_3122)1041 static N_INLINE(void, addFloat__system_3122)(NimStringDesc** result, NF x) {
1042 addFloatRoundtrip__system_3127(result, x);
1043 }
N_NIMCALL(void,toUgly__pureZjson_4362)1044 N_LIB_PRIVATE N_NIMCALL(void, toUgly__pureZjson_4362)(NimStringDesc** result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
1045 NIM_BOOL comma;
1046 comma = NIM_FALSE;
1047 switch ((*node).kind) {
1048 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
1049 {
1050 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1051 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_13));
1052 {
1053 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** child;
1054 tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp_;
1055 NI i;
1056 NI L;
1057 NI T3_;
1058 child = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
1059 colontmp_ = NIM_NIL;
1060 colontmp_ = (*node)._kind_7.elems;
1061 i = ((NI) 0);
1062 T3_ = (colontmp_ ? colontmp_->Sup.len : 0);
1063 L = T3_;
1064 {
1065 while (1) {
1066 if (!(i < L)) goto LA5;
1067 child = &colontmp_->data[i];
1068 {
1069 if (!comma) goto LA8_;
1070 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1071 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_14));
1072 }
1073 goto LA6_;
1074 LA8_: ;
1075 {
1076 comma = NIM_TRUE;
1077 }
1078 LA6_: ;
1079 toUgly__pureZjson_4362(result, (*child));
1080 i += ((NI) 1);
1081 } LA5: ;
1082 }
1083 }
1084 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1085 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_15));
1086 }
1087 break;
1088 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
1089 {
1090 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1091 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_16));
1092 {
1093 NimStringDesc* key;
1094 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* value;
1095 tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp__2;
1096 NI L_2;
1097 key = NIM_NIL;
1098 value = NIM_NIL;
1099 nimZeroMem((void*)(&colontmp__2), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
1100 colontmp__2.data = (*node)._kind_6.fields.data;
1101 colontmp__2.counter = (*node)._kind_6.fields.counter;
1102 colontmp__2.first = (*node)._kind_6.fields.first;
1103 colontmp__2.last = (*node)._kind_6.fields.last;
1104 L_2 = len__pureZjson_2142(colontmp__2);
1105 {
1106 NI h;
1107 if (!(((NI) 0) < colontmp__2.counter)) goto LA15_;
1108 h = colontmp__2.first;
1109 {
1110 while (1) {
1111 NI nxt;
1112 if (!(((NI) 0) <= h)) goto LA18;
1113 nxt = colontmp__2.data->data[h].Field1;
1114 {
1115 NIM_BOOL T21_;
1116 T21_ = (NIM_BOOL)0;
1117 T21_ = isFilled__pureZcollectionsZtables_31(colontmp__2.data->data[h].Field0);
1118 if (!T21_) goto LA22_;
1119 key = colontmp__2.data->data[h].Field2;
1120 value = colontmp__2.data->data[h].Field3;
1121 {
1122 if (!comma) goto LA26_;
1123 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1124 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_14));
1125 }
1126 goto LA24_;
1127 LA26_: ;
1128 {
1129 comma = NIM_TRUE;
1130 }
1131 LA24_: ;
1132 escapeJson__pureZjson_4352(key, result);
1133 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1134 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_17));
1135 toUgly__pureZjson_4362(result, value);
1136 }
1137 LA22_: ;
1138 h = nxt;
1139 } LA18: ;
1140 }
1141 }
1142 LA15_: ;
1143 }
1144 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1145 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_18));
1146 }
1147 break;
1148 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4):
1149 {
1150 {
1151 if (!(*node).isUnquoted) goto LA32_;
1152 unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*node)._kind_1.str ? (*node)._kind_1.str->Sup.len : 0) + 0));
1153 appendString((*result), (*node)._kind_1.str);
1154 }
1155 goto LA30_;
1156 LA32_: ;
1157 {
1158 escapeJson__pureZjson_4352((*node)._kind_1.str, result);
1159 }
1160 LA30_: ;
1161 }
1162 break;
1163 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2):
1164 {
1165 addInt__stdZprivateZdigitsutils_167(result, (*node)._kind_2.num);
1166 }
1167 break;
1168 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3):
1169 {
1170 addFloat__system_3122(result, (*node)._kind_3.fnum);
1171 }
1172 break;
1173 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1):
1174 {
1175 NimStringDesc* T38_;
1176 T38_ = NIM_NIL;
1177 {
1178 if (!(*node)._kind_4.bval) goto LA41_;
1179 T38_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_19));
1180 }
1181 goto LA39_;
1182 LA41_: ;
1183 {
1184 T38_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_20));
1185 }
1186 LA39_: ;
1187 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T38_ ? T38_->Sup.len : 0) + 0));
1188 appendString((*result), T38_);
1189 }
1190 break;
1191 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0):
1192 {
1193 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 4));
1194 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_21));
1195 }
1196 break;
1197 }
1198 }
N_NIMCALL(NimStringDesc *,dollar___pureZjson_4465)1199 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZjson_4465)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
1200 NimStringDesc* result;
1201 NI T1_;
1202 result = NIM_NIL;
1203 T1_ = (NI)0;
1204 T1_ = len__pureZjson_2989(node);
1205 result = rawNewString(((NI) ((NI)((NU32)(T1_) << (NU32)(((NI) 1))))));
1206 toUgly__pureZjson_4362((&result), node);
1207 return result;
1208 }
N_NIMCALL(NIM_BOOL,hasKey__pureZjson_3152)1209 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_3152)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* key) {
1210 NIM_BOOL result;
1211 result = (NIM_BOOL)0;
1212 result = hasKey__pureZjson_2564((*node)._kind_6.fields, key);
1213 return result;
1214 }
N_INLINE(NI,pluspercent___system_696)1215 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1216 NI result;
1217 result = (NI)0;
1218 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1219 return result;
1220 }
N_INLINE(void,incRef__system_5329)1221 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1222 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1223 }
N_INLINE(NI,minuspercent___system_716)1224 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1225 NI result;
1226 result = (NI)0;
1227 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1228 return result;
1229 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5291)1230 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) {
1231 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1232 NI T1_;
1233 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1234 T1_ = (NI)0;
1235 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1236 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1237 return result;
1238 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1239 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1240 NIM_BOOL result;
1241 result = (NIM_BOOL)0;
1242 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1243 return result;
1244 }
N_INLINE(void,rtlAddZCT__system_5334)1245 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1246 addZCT__system_5285((&gch__system_5238.zct), c);
1247 }
N_INLINE(void,decRef__system_5336)1248 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1249 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1250 {
1251 NIM_BOOL T3_;
1252 T3_ = (NIM_BOOL)0;
1253 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1254 if (!T3_) goto LA4_;
1255 rtlAddZCT__system_5334(c);
1256 }
1257 LA4_: ;
1258 }
N_INLINE(void,asgnRef)1259 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1260 {
1261 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1262 if (!!((src == NIM_NIL))) goto LA3_;
1263 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1264 T5_ = usrToCell__system_5291(src);
1265 incRef__system_5329(T5_);
1266 }
1267 LA3_: ;
1268 {
1269 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1270 if (!!(((*dest) == NIM_NIL))) goto LA8_;
1271 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1272 T10_ = usrToCell__system_5291((*dest));
1273 decRef__system_5336(T10_);
1274 }
1275 LA8_: ;
1276 (*dest) = src;
1277 }
N_NIMCALL(void,addQuoted__pureZjson_5375)1278 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__pureZjson_5375)(NimStringDesc** s, tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x) {
1279 unsureAsgnRef((void**) (&(*s)), resizeString((*s), (reprEnum((NI)x, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)) ? reprEnum((NI)x, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))->Sup.len : 0) + 0));
1280 appendString((*s), reprEnum((NI)x, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)));
1281 }
N_NIMCALL(NimStringDesc *,collectionToString__pureZjson_5343)1282 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, collectionToString__pureZjson_5343)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x, NimStringDesc* prefix, NimStringDesc* separator, NimStringDesc* suffix) {
1283 NimStringDesc* result;
1284 NIM_BOOL firstElement;
1285 result = NIM_NIL;
1286 result = copyString(prefix);
1287 firstElement = NIM_TRUE;
1288 {
1289 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg value;
1290 NI i;
1291 value = (tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0;
1292 i = ((NI) 0);
1293 {
1294 while (1) {
1295 if (!(i <= ((NI) 6))) goto LA3;
1296 {
1297 if (!((x &((NU8)1<<((NU)(((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) (i)))&7U)))!=0)) goto LA6_;
1298 value = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) (i));
1299 {
1300 if (!firstElement) goto LA10_;
1301 firstElement = NIM_FALSE;
1302 }
1303 goto LA8_;
1304 LA10_: ;
1305 {
1306 result = resizeString(result, (separator ? separator->Sup.len : 0) + 0);
1307 appendString(result, separator);
1308 }
1309 LA8_: ;
1310 addQuoted__pureZjson_5375((&result), value);
1311 }
1312 LA6_: ;
1313 i += ((NI) 1);
1314 } LA3: ;
1315 }
1316 }
1317 result = resizeString(result, (suffix ? suffix->Sup.len : 0) + 0);
1318 appendString(result, suffix);
1319 return result;
1320 }
N_NIMCALL(NimStringDesc *,dollar___pureZjson_5339)1321 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZjson_5339)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x) {
1322 NimStringDesc* result;
1323 result = NIM_NIL;
1324 result = collectionToString__pureZjson_5343(x, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_16), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_27), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_18));
1325 return result;
1326 }
N_INLINE(void,nimGCunrefNoCycle)1327 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
1328 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1329 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1330 T1_ = usrToCell__system_5291(p);
1331 decRef__system_5336(T1_);
1332 }
N_NIMCALL(void,initFromJson__pureZjson_5260)1333 N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5260)(NimStringDesc** dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringDesc** jsonPath) {
1334 {
1335 NIM_BOOL T3_;
1336 tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
1337 NimStringDesc* T7_;
1338 T3_ = (NIM_BOOL)0;
1339 T3_ = eqeq___pureZjson_2044(jsonNode, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
1340 if (!T3_) goto LA4_;
1341 T6_ = NIM_NIL;
1342 T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
1343 (*T6_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
1344 (*T6_).Sup.Sup.Sup.name = "KeyError";
1345 T7_ = NIM_NIL;
1346 T7_ = rawNewString(((*jsonPath) ? (*jsonPath)->Sup.len : 0) + 15);
1347 appendString(T7_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_25));
1348 appendString(T7_, (*jsonPath));
1349 asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
1350 asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1351 raiseExceptionEx((Exception*)T6_, "KeyError", "initFromJson", "json.nim", 1050);
1352 }
1353 goto LA1_;
1354 LA4_: ;
1355 {
1356 NimStringDesc* msgX60gensym96_;
1357 tyArray__24KAM9afIUgUaqBaEBB6r9bg T11_;
1358 tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g* T12_;
1359 NimStringDesc* T13_;
1360 if (!!(((17 &((NU8)1<<((NU)((*jsonNode).kind)&7U)))!=0))) goto LA9_;
1361 nimZeroMem((void*)T11_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
1362 T11_[0] = dollar___pureZjson_5339(17);
1363 T11_[1] = copyString((*jsonPath));
1364 T11_[2] = reprEnum((NI)(*jsonNode).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_));
1365 msgX60gensym96_ = nsuFormatOpenArray(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_26), T11_, 3);
1366 T12_ = NIM_NIL;
1367 T12_ = (tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g*) newObj((&NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_), sizeof(tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g));
1368 (*T12_).Sup.Sup.Sup.Sup.m_type = (&NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_);
1369 (*T12_).Sup.Sup.Sup.name = "JsonKindError";
1370 T13_ = NIM_NIL;
1371 T13_ = (*T12_).Sup.Sup.Sup.message; (*T12_).Sup.Sup.Sup.message = copyStringRC1(msgX60gensym96_);
1372 if (T13_) nimGCunrefNoCycle(T13_);
1373 asgnRef((void**) (&(*T12_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1374 raiseExceptionEx((Exception*)T12_, "JsonKindError", "initFromJson", "json.nim", 1057);
1375 }
1376 goto LA1_;
1377 LA9_: ;
1378 LA1_: ;
1379 {
1380 if (!((*jsonNode).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0))) goto LA16_;
1381 unsureAsgnRef((void**) (&(*dst)), ((NimStringDesc*) NIM_NIL));
1382 }
1383 goto LA14_;
1384 LA16_: ;
1385 {
1386 unsureAsgnRef((void**) (&(*dst)), copyString((*jsonNode)._kind_1.str));
1387 }
1388 LA14_: ;
1389 }
N_NIMCALL(void,Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g)1390 static N_NIMCALL(void, Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g)(void* p, NI op) {
1391 tySequence__MlAD6nAPq9bHKla9cWiIZP0g* a;
1392 NI T1_;
1393 a = (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*)p;
1394 T1_ = (NI)0;
1395 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1396 nimGCvisit((void*)a->data[T1_].Field2, op);
1397 nimGCvisit((void*)a->data[T1_].Field3, op);
1398 }
1399 }
N_NIMCALL(void,Marker_tyRef__zfzzuQ8txrdZAYK0WGWpHg)1400 static N_NIMCALL(void, Marker_tyRef__zfzzuQ8txrdZAYK0WGWpHg)(void* p, NI op) {
1401 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a;
1402 a = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)p;
1403 switch ((*a).kind) {
1404 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4):
1405 nimGCvisit((void*)(*a)._kind_1.str, op);
1406 break;
1407 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2):
1408 break;
1409 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3):
1410 break;
1411 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1):
1412 break;
1413 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0):
1414 break;
1415 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
1416 nimGCvisit((void*)(*a)._kind_6.fields.data, op);
1417 break;
1418 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
1419 nimGCvisit((void*)(*a)._kind_7.elems, op);
1420 break;
1421 }
1422 }
N_NIMCALL(void,Marker_tySequence__oLpBKXzW3hF9aCVMo5EymfQ)1423 static N_NIMCALL(void, Marker_tySequence__oLpBKXzW3hF9aCVMo5EymfQ)(void* p, NI op) {
1424 tySequence__oLpBKXzW3hF9aCVMo5EymfQ* a;
1425 NI T1_;
1426 a = (tySequence__oLpBKXzW3hF9aCVMo5EymfQ*)p;
1427 T1_ = (NI)0;
1428 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1429 nimGCvisit((void*)a->data[T1_], op);
1430 }
1431 }
N_NIMCALL(tySequence__oLpBKXzW3hF9aCVMo5EymfQ *,getElems__pureZjson_207)1432 N_LIB_PRIVATE N_NIMCALL(tySequence__oLpBKXzW3hF9aCVMo5EymfQ*, getElems__pureZjson_207)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n, tySequence__oLpBKXzW3hF9aCVMo5EymfQ* default_0) {
1433 tySequence__oLpBKXzW3hF9aCVMo5EymfQ* result;
1434 { result = NIM_NIL;
1435 {
1436 NIM_BOOL T3_;
1437 T3_ = (NIM_BOOL)0;
1438 T3_ = (n == 0);
1439 if (T3_) goto LA4_;
1440 T3_ = !(((*n).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)));
1441 LA4_: ;
1442 if (!T3_) goto LA5_;
1443 genericSeqAssign((&result), default_0, (&NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_));
1444 goto BeforeRet_;
1445 }
1446 goto LA1_;
1447 LA5_: ;
1448 {
1449 genericSeqAssign((&result), (*n)._kind_7.elems, (&NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_));
1450 goto BeforeRet_;
1451 }
1452 LA1_: ;
1453 }BeforeRet_: ;
1454 return result;
1455 }
N_NIMCALL(void,initFromJson__pureZjson_5264)1456 N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5264)(NIM_BOOL* dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringDesc** jsonPath) {
1457 {
1458 NIM_BOOL T3_;
1459 tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
1460 NimStringDesc* T7_;
1461 T3_ = (NIM_BOOL)0;
1462 T3_ = eqeq___pureZjson_2044(jsonNode, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
1463 if (!T3_) goto LA4_;
1464 T6_ = NIM_NIL;
1465 T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
1466 (*T6_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
1467 (*T6_).Sup.Sup.Sup.name = "KeyError";
1468 T7_ = NIM_NIL;
1469 T7_ = rawNewString(((*jsonPath) ? (*jsonPath)->Sup.len : 0) + 15);
1470 appendString(T7_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_25));
1471 appendString(T7_, (*jsonPath));
1472 asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
1473 asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1474 raiseExceptionEx((Exception*)T6_, "KeyError", "initFromJson", "json.nim", 1050);
1475 }
1476 goto LA1_;
1477 LA4_: ;
1478 {
1479 NimStringDesc* msgX60gensym100_;
1480 tyArray__24KAM9afIUgUaqBaEBB6r9bg T11_;
1481 tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g* T12_;
1482 NimStringDesc* T13_;
1483 if (!!(((2 &((NU8)1<<((NU)((*jsonNode).kind)&7U)))!=0))) goto LA9_;
1484 nimZeroMem((void*)T11_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
1485 T11_[0] = dollar___pureZjson_5339(2);
1486 T11_[1] = copyString((*jsonPath));
1487 T11_[2] = reprEnum((NI)(*jsonNode).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_));
1488 msgX60gensym100_ = nsuFormatOpenArray(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_26), T11_, 3);
1489 T12_ = NIM_NIL;
1490 T12_ = (tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g*) newObj((&NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_), sizeof(tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g));
1491 (*T12_).Sup.Sup.Sup.Sup.m_type = (&NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_);
1492 (*T12_).Sup.Sup.Sup.name = "JsonKindError";
1493 T13_ = NIM_NIL;
1494 T13_ = (*T12_).Sup.Sup.Sup.message; (*T12_).Sup.Sup.Sup.message = copyStringRC1(msgX60gensym100_);
1495 if (T13_) nimGCunrefNoCycle(T13_);
1496 asgnRef((void**) (&(*T12_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1497 raiseExceptionEx((Exception*)T12_, "JsonKindError", "initFromJson", "json.nim", 1057);
1498 }
1499 goto LA1_;
1500 LA9_: ;
1501 LA1_: ;
1502 (*dst) = (*jsonNode)._kind_4.bval;
1503 }
N_INLINE(void,pushSafePoint)1504 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
1505 (*s).prev = excHandler__system_2565;
1506 excHandler__system_2565 = s;
1507 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJStringMove__pureZjson_78)1508 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJStringMove__pureZjson_78)(NimStringDesc* s) {
1509 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1510 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1511 result = NIM_NIL;
1512 T1_ = NIM_NIL;
1513 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1514 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4);
1515 result = T1_;
1516 asgnRef((void**) (&(*result)._kind_1.str), s);
1517 return result;
1518 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJRawNumber__pureZjson_75)1519 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJRawNumber__pureZjson_75)(NimStringDesc* s) {
1520 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1521 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1522 NimStringDesc* T2_;
1523 result = NIM_NIL;
1524 T1_ = NIM_NIL;
1525 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1526 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4);
1527 T2_ = NIM_NIL;
1528 T2_ = (*T1_)._kind_1.str; (*T1_)._kind_1.str = copyStringRC1(s);
1529 if (T2_) nimGCunrefNoCycle(T2_);
1530 (*T1_).isUnquoted = NIM_TRUE;
1531 result = T1_;
1532 return result;
1533 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJInt__pureZjson_81)1534 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJInt__pureZjson_81)(NI64 n) {
1535 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1536 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1537 result = NIM_NIL;
1538 T1_ = NIM_NIL;
1539 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1540 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2);
1541 (*T1_)._kind_2.num = n;
1542 result = T1_;
1543 return result;
1544 }
N_INLINE(void,popSafePoint)1545 static N_INLINE(void, popSafePoint)(void) {
1546 excHandler__system_2565 = (*excHandler__system_2565).prev;
1547 }
N_INLINE(Exception *,nimBorrowCurrentException)1548 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
1549 Exception* result;
1550 result = NIM_NIL;
1551 result = currException__system_2566;
1552 return result;
1553 }
N_INLINE(void,popCurrentException)1554 static N_INLINE(void, popCurrentException)(void) {
1555 asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
1556 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJFloat__pureZjson_84)1557 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJFloat__pureZjson_84)(NF n) {
1558 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1559 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1560 result = NIM_NIL;
1561 T1_ = NIM_NIL;
1562 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1563 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3);
1564 (*T1_)._kind_3.fnum = n;
1565 result = T1_;
1566 return result;
1567 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJBool__pureZjson_87)1568 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJBool__pureZjson_87)(NIM_BOOL b) {
1569 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1570 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1571 result = NIM_NIL;
1572 T1_ = NIM_NIL;
1573 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1574 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1);
1575 (*T1_)._kind_4.bval = b;
1576 result = T1_;
1577 return result;
1578 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJNull__pureZjson_90)1579 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJNull__pureZjson_90)(void) {
1580 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1581 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1582 result = NIM_NIL;
1583 T1_ = NIM_NIL;
1584 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1585 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0);
1586 result = T1_;
1587 return result;
1588 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1589 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1590 NI result;
1591 result = (NI)0;
1592 result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1593 return result;
1594 }
N_NIMCALL(void,initOrderedTable__pureZjson_94)1595 N_LIB_PRIVATE N_NIMCALL(void, initOrderedTable__pureZjson_94)(NI initialSize, tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* Result) {
1596 NI correctSizeX60gensym0_;
1597 unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1598 (*Result).counter = 0;
1599 (*Result).first = 0;
1600 (*Result).last = 0;
1601 correctSizeX60gensym0_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1602 (*Result).counter = ((NI) 0);
1603 unsureAsgnRef((void**) (&(*Result).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym0_))));
1604 (*Result).first = ((NI) -1);
1605 (*Result).last = ((NI) -1);
1606 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJObject__pureZjson_92)1607 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_92)(void) {
1608 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1609 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1610 result = NIM_NIL;
1611 T1_ = NIM_NIL;
1612 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1613 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5);
1614 initOrderedTable__pureZjson_94(((NI) 2), (&(*T1_)._kind_6.fields));
1615 result = T1_;
1616 return result;
1617 }
N_INLINE(NIM_BOOL,mustRehash__pureZjson_692)1618 static N_INLINE(NIM_BOOL, mustRehash__pureZjson_692)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t) {
1619 NIM_BOOL result;
1620 NIM_BOOL T1_;
1621 NI T2_;
1622 NI T4_;
1623 result = (NIM_BOOL)0;
1624 T1_ = (NIM_BOOL)0;
1625 T2_ = (t.data ? t.data->Sup.len : 0);
1626 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1627 if (T1_) goto LA3_;
1628 T4_ = (t.data ? t.data->Sup.len : 0);
1629 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1630 LA3_: ;
1631 result = T1_;
1632 return result;
1633 }
N_NIMCALL(void,rawInsert__pureZjson_1264)1634 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__pureZjson_1264)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, tySequence__MlAD6nAPq9bHKla9cWiIZP0g** data, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val, NI hc, NI h) {
1635 NimStringDesc* T1_;
1636 T1_ = NIM_NIL;
1637 T1_ = (*data)->data[h].Field2; (*data)->data[h].Field2 = copyStringRC1(key);
1638 if (T1_) nimGCunrefNoCycle(T1_);
1639 asgnRef((void**) (&(*data)->data[h].Field3), val);
1640 (*data)->data[h].Field0 = hc;
1641 (*data)->data[h].Field1 = ((NI) -1);
1642 {
1643 if (!((*t).first < ((NI) 0))) goto LA4_;
1644 (*t).first = h;
1645 }
1646 LA4_: ;
1647 {
1648 if (!(((NI) 0) <= (*t).last)) goto LA8_;
1649 (*data)->data[(*t).last].Field1 = h;
1650 }
1651 LA8_: ;
1652 (*t).last = h;
1653 }
N_NIMCALL(void,enlarge__pureZjson_853)1654 N_LIB_PRIVATE N_NIMCALL(void, enlarge__pureZjson_853)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t) {
1655 tySequence__MlAD6nAPq9bHKla9cWiIZP0g* n;
1656 NI T1_;
1657 NI h;
1658 tySequence__MlAD6nAPq9bHKla9cWiIZP0g* T2_;
1659 n = NIM_NIL;
1660 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1661 n = (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1662 h = (*t).first;
1663 (*t).first = ((NI) -1);
1664 (*t).last = ((NI) -1);
1665 T2_ = NIM_NIL;
1666 T2_ = (*t).data;
1667 unsureAsgnRef((void**) (&(*t).data), n);
1668 n = T2_;
1669 {
1670 while (1) {
1671 NI nxt;
1672 NI eh;
1673 if (!(((NI) 0) <= h)) goto LA4;
1674 nxt = n->data[h].Field1;
1675 eh = n->data[h].Field0;
1676 {
1677 NIM_BOOL T7_;
1678 NI j;
1679 NI T10_;
1680 NimStringDesc* T15_;
1681 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T16_;
1682 T7_ = (NIM_BOOL)0;
1683 T7_ = isFilled__pureZcollectionsZtables_31(eh);
1684 if (!T7_) goto LA8_;
1685 T10_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1686 j = (NI)(eh & T10_);
1687 {
1688 while (1) {
1689 NIM_BOOL T13_;
1690 NI T14_;
1691 T13_ = (NIM_BOOL)0;
1692 T13_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1693 if (!T13_) goto LA12;
1694 T14_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1695 j = nextTry__pureZcollectionsZtables_34(j, T14_);
1696 } LA12: ;
1697 }
1698 T15_ = NIM_NIL;
1699 T15_ = n->data[h].Field2;
1700 asgnRef((void**) (&n->data[h].Field2), NIM_NIL);
1701 T16_ = NIM_NIL;
1702 T16_ = n->data[h].Field3;
1703 asgnRef((void**) (&n->data[h].Field3), NIM_NIL);
1704 rawInsert__pureZjson_1264(t, (&(*t).data), T15_, T16_, n->data[h].Field0, j);
1705 }
1706 LA8_: ;
1707 h = nxt;
1708 } LA4: ;
1709 }
1710 }
N_NIMCALL(NI,rawGetKnownHC__pureZjson_1546)1711 N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC__pureZjson_1546)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI hc) {
1712 NI result;
1713 NI h;
1714 NI T6_;
1715 { result = (NI)0;
1716 {
1717 NI T3_;
1718 T3_ = (t.data ? t.data->Sup.len : 0);
1719 if (!(T3_ == ((NI) 0))) goto LA4_;
1720 result = ((NI) -1);
1721 goto BeforeRet_;
1722 }
1723 LA4_: ;
1724 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1725 h = (NI)(hc & T6_);
1726 {
1727 while (1) {
1728 NIM_BOOL T9_;
1729 NI T16_;
1730 T9_ = (NIM_BOOL)0;
1731 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1732 if (!T9_) goto LA8;
1733 {
1734 NIM_BOOL T12_;
1735 T12_ = (NIM_BOOL)0;
1736 T12_ = (t.data->data[h].Field0 == hc);
1737 if (!(T12_)) goto LA13_;
1738 T12_ = eqStrings(t.data->data[h].Field2, key);
1739 LA13_: ;
1740 if (!T12_) goto LA14_;
1741 result = h;
1742 goto BeforeRet_;
1743 }
1744 LA14_: ;
1745 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1746 h = nextTry__pureZcollectionsZtables_34(h, T16_);
1747 } LA8: ;
1748 }
1749 result = (NI)(((NI) -1) - h);
1750 }BeforeRet_: ;
1751 return result;
1752 }
N_NIMCALL(void,X5BX5Deq___pureZjson_287)1753 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_287)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) {
1754 NI hc;
1755 NI index;
1756 {
1757 NI T3_;
1758 NI correctSizeX60gensym13_;
1759 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1760 if (!(T3_ == ((NI) 0))) goto LA4_;
1761 correctSizeX60gensym13_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1762 (*t).counter = ((NI) 0);
1763 unsureAsgnRef((void**) (&(*t).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym13_))));
1764 (*t).first = ((NI) -1);
1765 (*t).last = ((NI) -1);
1766 }
1767 LA4_: ;
1768 hc = (NI)0;
1769 index = rawGet__pureZjson_356((*t), key, (&hc));
1770 {
1771 if (!(((NI) 0) <= index)) goto LA8_;
1772 asgnRef((void**) (&(*t).data->data[index].Field3), val);
1773 }
1774 goto LA6_;
1775 LA8_: ;
1776 {
1777 {
1778 NI T13_;
1779 NI correctSizeX60gensym18_;
1780 T13_ = ((*t).data ? (*t).data->Sup.len : 0);
1781 if (!(T13_ == ((NI) 0))) goto LA14_;
1782 correctSizeX60gensym18_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1783 (*t).counter = ((NI) 0);
1784 unsureAsgnRef((void**) (&(*t).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym18_))));
1785 (*t).first = ((NI) -1);
1786 (*t).last = ((NI) -1);
1787 }
1788 LA14_: ;
1789 {
1790 NIM_BOOL T18_;
1791 T18_ = (NIM_BOOL)0;
1792 T18_ = mustRehash__pureZjson_692((*t));
1793 if (!T18_) goto LA19_;
1794 enlarge__pureZjson_853(t);
1795 index = rawGetKnownHC__pureZjson_1546((*t), key, hc);
1796 }
1797 LA19_: ;
1798 index = (NI)(((NI) -1) - index);
1799 rawInsert__pureZjson_1264(t, (&(*t).data), key, val, hc, index);
1800 (*t).counter += ((NI) 1);
1801 }
1802 LA6_: ;
1803 }
N_INLINE(void,X5BX5Deq___pureZjson_1923)1804 static N_INLINE(void, X5BX5Deq___pureZjson_1923)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) {
1805 X5BX5Deq___pureZjson_287((&(*obj)._kind_6.fields), key, val);
1806 }
N_INLINE(void,nimGCunrefRC1)1807 static N_INLINE(void, nimGCunrefRC1)(void* p) {
1808 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1809 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1810 T1_ = usrToCell__system_5291(p);
1811 decRef__system_5336(T1_);
1812 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJArray__pureZjson_123)1813 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_123)(void) {
1814 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1815 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1816 result = NIM_NIL;
1817 T1_ = NIM_NIL;
1818 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1819 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6);
1820 if ((*T1_)._kind_7.elems) { nimGCunrefRC1((*T1_)._kind_7.elems); (*T1_)._kind_7.elems = NIM_NIL; }
1821 result = T1_;
1822 return result;
1823 }
N_NIMCALL(void,add__pureZjson_222)1824 N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_222)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child) {
1825 NI T1_;
1826 asgnRef((void**) (&(*father)._kind_7.elems), (tySequence__oLpBKXzW3hF9aCVMo5EymfQ*) incrSeqV3((TGenericSeq*)((*father)._kind_7.elems), (&NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_)));
1827 T1_ = (*father)._kind_7.elems->Sup.len++;
1828 asgnRef((void**) (&(*father)._kind_7.elems->data[T1_]), child);
1829 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,parseJson__pureZjson_5178)1830 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5178)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NIM_BOOL rawIntegers, NIM_BOOL rawFloats, NI depth) {
1831 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* volatile result;
1832 result = NIM_NIL;
1833 switch ((*p).tok) {
1834 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2):
1835 {
1836 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T2_;
1837 result = newJStringMove__pureZjson_78((*p).a);
1838 unsureAsgnRef((void**) (&(*p).a), ((NimStringDesc*) NIM_NIL));
1839 T2_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1840 T2_ = getTok__pureZparsejson_425(p);
1841 (void)(T2_);
1842 }
1843 break;
1844 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 3):
1845 {
1846 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T12_;
1847 {
1848 if (!rawIntegers) goto LA6_;
1849 result = newJRawNumber__pureZjson_75((*p).a);
1850 }
1851 goto LA4_;
1852 LA6_: ;
1853 {
1854 TSafePoint TM__9b9bytt1stv9cZ8uqII7HFgew_33;
1855 NI64 T9_;
1856 pushSafePoint(&TM__9b9bytt1stv9cZ8uqII7HFgew_33);
1857 TM__9b9bytt1stv9cZ8uqII7HFgew_33.status = setjmp(TM__9b9bytt1stv9cZ8uqII7HFgew_33.context);
1858 if (TM__9b9bytt1stv9cZ8uqII7HFgew_33.status == 0) {
1859 T9_ = (NI64)0;
1860 T9_ = nsuParseBiggestInt((*p).a);
1861 result = newJInt__pureZjson_81(T9_);
1862 popSafePoint();
1863 }
1864 else {
1865 popSafePoint();
1866 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_))) {
1867 TM__9b9bytt1stv9cZ8uqII7HFgew_33.status = 0;
1868 result = newJRawNumber__pureZjson_75((*p).a);
1869 popCurrentException();
1870 }
1871 }
1872 if (TM__9b9bytt1stv9cZ8uqII7HFgew_33.status != 0) reraiseException();
1873 }
1874 LA4_: ;
1875 T12_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1876 T12_ = getTok__pureZparsejson_425(p);
1877 (void)(T12_);
1878 }
1879 break;
1880 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 4):
1881 {
1882 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T22_;
1883 {
1884 if (!rawFloats) goto LA16_;
1885 result = newJRawNumber__pureZjson_75((*p).a);
1886 }
1887 goto LA14_;
1888 LA16_: ;
1889 {
1890 TSafePoint TM__9b9bytt1stv9cZ8uqII7HFgew_34;
1891 NF T19_;
1892 pushSafePoint(&TM__9b9bytt1stv9cZ8uqII7HFgew_34);
1893 TM__9b9bytt1stv9cZ8uqII7HFgew_34.status = setjmp(TM__9b9bytt1stv9cZ8uqII7HFgew_34.context);
1894 if (TM__9b9bytt1stv9cZ8uqII7HFgew_34.status == 0) {
1895 T19_ = (NF)0;
1896 T19_ = nsuParseFloat((*p).a);
1897 result = newJFloat__pureZjson_84(T19_);
1898 popSafePoint();
1899 }
1900 else {
1901 popSafePoint();
1902 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_))) {
1903 TM__9b9bytt1stv9cZ8uqII7HFgew_34.status = 0;
1904 result = newJRawNumber__pureZjson_75((*p).a);
1905 popCurrentException();
1906 }
1907 }
1908 if (TM__9b9bytt1stv9cZ8uqII7HFgew_34.status != 0) reraiseException();
1909 }
1910 LA14_: ;
1911 T22_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1912 T22_ = getTok__pureZparsejson_425(p);
1913 (void)(T22_);
1914 }
1915 break;
1916 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 5):
1917 {
1918 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T24_;
1919 result = newJBool__pureZjson_87(NIM_TRUE);
1920 T24_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1921 T24_ = getTok__pureZparsejson_425(p);
1922 (void)(T24_);
1923 }
1924 break;
1925 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 6):
1926 {
1927 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T26_;
1928 result = newJBool__pureZjson_87(NIM_FALSE);
1929 T26_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1930 T26_ = getTok__pureZparsejson_425(p);
1931 (void)(T26_);
1932 }
1933 break;
1934 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 7):
1935 {
1936 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T28_;
1937 result = newJNull__pureZjson_90();
1938 T28_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1939 T28_ = getTok__pureZparsejson_425(p);
1940 (void)(T28_);
1941 }
1942 break;
1943 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 8):
1944 {
1945 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T34_;
1946 {
1947 if (!(((NI) 1000) < depth)) goto LA32_;
1948 raiseParseErr__pureZparsejson_580((&(*p)), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_18));
1949 }
1950 LA32_: ;
1951 result = newJObject__pureZjson_92();
1952 T34_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1953 T34_ = getTok__pureZparsejson_425(p);
1954 (void)(T34_);
1955 {
1956 while (1) {
1957 NimStringDesc* key;
1958 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T41_;
1959 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
1960 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T46_;
1961 if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9)))) goto LA36;
1962 {
1963 if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2)))) goto LA39_;
1964 raiseParseErr__pureZparsejson_580((&(*p)), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_35));
1965 }
1966 LA39_: ;
1967 key = copyString((*p).a);
1968 T41_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1969 T41_ = getTok__pureZparsejson_425(p);
1970 (void)(T41_);
1971 eat__pureZparsejson_602(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 12));
1972 val = parseJson__pureZjson_5178(p, rawIntegers, rawFloats, (NI)(depth + ((NI) 1)));
1973 X5BX5Deq___pureZjson_1923(result, key, val);
1974 {
1975 if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13)))) goto LA44_;
1976 goto LA35;
1977 }
1978 LA44_: ;
1979 T46_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1980 T46_ = getTok__pureZparsejson_425(p);
1981 (void)(T46_);
1982 } LA36: ;
1983 } LA35: ;
1984 eat__pureZparsejson_602(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9));
1985 }
1986 break;
1987 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 10):
1988 {
1989 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T52_;
1990 {
1991 if (!(((NI) 1000) < depth)) goto LA50_;
1992 raiseParseErr__pureZparsejson_580((&(*p)), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_15));
1993 }
1994 LA50_: ;
1995 result = newJArray__pureZjson_123();
1996 T52_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1997 T52_ = getTok__pureZparsejson_425(p);
1998 (void)(T52_);
1999 {
2000 while (1) {
2001 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T55_;
2002 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T60_;
2003 if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11)))) goto LA54;
2004 T55_ = NIM_NIL;
2005 T55_ = parseJson__pureZjson_5178(p, rawIntegers, rawFloats, (NI)(depth + ((NI) 1)));
2006 add__pureZjson_222(result, T55_);
2007 {
2008 if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13)))) goto LA58_;
2009 goto LA53;
2010 }
2011 LA58_: ;
2012 T60_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
2013 T60_ = getTok__pureZparsejson_425(p);
2014 (void)(T60_);
2015 } LA54: ;
2016 } LA53: ;
2017 eat__pureZparsejson_602(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11));
2018 }
2019 break;
2020 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 0):
2021 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9):
2022 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11):
2023 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 12):
2024 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13):
2025 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 1):
2026 {
2027 raiseParseErr__pureZparsejson_580((&(*p)), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_16));
2028 }
2029 break;
2030 }
2031 return result;
2032 }
N_INLINE(void,close__pureZparsejson_151)2033 static N_INLINE(void, close__pureZparsejson_151)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
2034 close__pureZlexbase_14(&my->Sup);
2035 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,parseJson__pureZjson_5216)2036 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5216)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc* filename, NIM_BOOL rawIntegers, NIM_BOOL rawFloats) {
2037 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* volatile result;
2038 tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ p;
2039 TSafePoint TM__9b9bytt1stv9cZ8uqII7HFgew_32;
2040 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T1_;
2041 result = NIM_NIL;
2042 nimZeroMem((void*)(&p), sizeof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ));
2043 p.Sup.Sup.m_type = (&NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_);
2044 open__pureZparsejson_97((&p), s, filename, NIM_FALSE);
2045 pushSafePoint(&TM__9b9bytt1stv9cZ8uqII7HFgew_32);
2046 TM__9b9bytt1stv9cZ8uqII7HFgew_32.status = setjmp(TM__9b9bytt1stv9cZ8uqII7HFgew_32.context);
2047 if (TM__9b9bytt1stv9cZ8uqII7HFgew_32.status == 0) {
2048 T1_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
2049 T1_ = getTok__pureZparsejson_425((&p));
2050 (void)(T1_);
2051 result = parseJson__pureZjson_5178((&p), rawIntegers, rawFloats, ((NI) 0));
2052 eat__pureZparsejson_602((&p), ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 1));
2053 popSafePoint();
2054 }
2055 else {
2056 popSafePoint();
2057 }
2058 {
2059 close__pureZparsejson_151((&p));
2060 if (TM__9b9bytt1stv9cZ8uqII7HFgew_32.status != 0) nimLeaveFinally();
2061 }
2062 if (TM__9b9bytt1stv9cZ8uqII7HFgew_32.status != 0) reraiseException();
2063 return result;
2064 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,parseFile__pureZjson_5228)2065 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseFile__pureZjson_5228)(NimStringDesc* filename) {
2066 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2067 tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ* stream;
2068 result = NIM_NIL;
2069 stream = newFileStream__pureZstreams_832(filename, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
2070 {
2071 tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T5_;
2072 NimStringDesc* T6_;
2073 if (!(stream == ((tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ*) NIM_NIL))) goto LA3_;
2074 T5_ = NIM_NIL;
2075 T5_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
2076 (*T5_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
2077 (*T5_).Sup.Sup.name = "IOError";
2078 T6_ = NIM_NIL;
2079 T6_ = rawNewString((filename ? filename->Sup.len : 0) + 23);
2080 appendString(T6_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_31));
2081 appendString(T6_, filename);
2082 asgnRef((void**) (&(*T5_).Sup.Sup.message), T6_);
2083 asgnRef((void**) (&(*T5_).Sup.Sup.parent), ((Exception*) NIM_NIL));
2084 raiseExceptionEx((Exception*)T5_, "IOError", "parseFile", "json.nim", 1042);
2085 }
2086 LA3_: ;
2087 result = parseJson__pureZjson_5216((*((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ**) (&(stream)))), filename, NIM_FALSE, NIM_FALSE);
2088 return result;
2089 }
N_INLINE(NimStringDesc *,spaces__pureZstrutils_1029)2090 static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n) {
2091 NimStringDesc* result;
2092 result = NIM_NIL;
2093 result = nsuRepeatChar(32, n);
2094 return result;
2095 }
N_NIMCALL(void,indent__pureZjson_4320)2096 N_LIB_PRIVATE N_NIMCALL(void, indent__pureZjson_4320)(NimStringDesc** s, NI i) {
2097 NimStringDesc* T1_;
2098 T1_ = NIM_NIL;
2099 T1_ = spaces__pureZstrutils_1029(((NI) (i)));
2100 unsureAsgnRef((void**) (&(*s)), resizeString((*s), (T1_ ? T1_->Sup.len : 0) + 0));
2101 appendString((*s), T1_);
2102 }
N_NIMCALL(void,nl__pureZjson_4328)2103 N_LIB_PRIVATE N_NIMCALL(void, nl__pureZjson_4328)(NimStringDesc** s, NIM_BOOL ml) {
2104 NimStringDesc* T1_;
2105 T1_ = NIM_NIL;
2106 {
2107 if (!ml) goto LA4_;
2108 T1_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_36));
2109 }
2110 goto LA2_;
2111 LA4_: ;
2112 {
2113 T1_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_37));
2114 }
2115 LA2_: ;
2116 unsureAsgnRef((void**) (&(*s)), resizeString((*s), (T1_ ? T1_->Sup.len : 0) + 0));
2117 appendString((*s), T1_);
2118 }
N_NIMCALL(NI,newIndent__pureZjson_4323)2119 N_LIB_PRIVATE N_NIMCALL(NI, newIndent__pureZjson_4323)(NI curr, NI indent, NIM_BOOL ml) {
2120 NI result;
2121 { result = (NI)0;
2122 {
2123 if (!ml) goto LA3_;
2124 result = (NI)(curr + indent);
2125 goto BeforeRet_;
2126 }
2127 goto LA1_;
2128 LA3_: ;
2129 {
2130 result = indent;
2131 goto BeforeRet_;
2132 }
2133 LA1_: ;
2134 }BeforeRet_: ;
2135 return result;
2136 }
N_NIMCALL(void,toPretty__pureZjson_4380)2137 N_LIB_PRIVATE N_NIMCALL(void, toPretty__pureZjson_4380)(NimStringDesc** result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent, NIM_BOOL ml, NIM_BOOL lstArr, NI currIndent) {
2138 switch ((*node).kind) {
2139 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
2140 {
2141 {
2142 if (!lstArr) goto LA4_;
2143 indent__pureZjson_4320(result, currIndent);
2144 }
2145 LA4_: ;
2146 {
2147 NI T8_;
2148 NI i;
2149 T8_ = (NI)0;
2150 T8_ = len__pureZjson_2142((*node)._kind_6.fields);
2151 if (!(((NI) 0) < T8_)) goto LA9_;
2152 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2153 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_16));
2154 nl__pureZjson_4328(result, ml);
2155 i = ((NI) 0);
2156 {
2157 NimStringDesc* key;
2158 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
2159 tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp_;
2160 NI L;
2161 key = NIM_NIL;
2162 val = NIM_NIL;
2163 nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
2164 colontmp_.data = (*node)._kind_6.fields.data;
2165 colontmp_.counter = (*node)._kind_6.fields.counter;
2166 colontmp_.first = (*node)._kind_6.fields.first;
2167 colontmp_.last = (*node)._kind_6.fields.last;
2168 L = len__pureZjson_2142(colontmp_);
2169 {
2170 NI h;
2171 if (!(((NI) 0) < colontmp_.counter)) goto LA14_;
2172 h = colontmp_.first;
2173 {
2174 while (1) {
2175 NI nxt;
2176 if (!(((NI) 0) <= h)) goto LA17;
2177 nxt = colontmp_.data->data[h].Field1;
2178 {
2179 NIM_BOOL T20_;
2180 NI T27_;
2181 NI T28_;
2182 T20_ = (NIM_BOOL)0;
2183 T20_ = isFilled__pureZcollectionsZtables_31(colontmp_.data->data[h].Field0);
2184 if (!T20_) goto LA21_;
2185 key = colontmp_.data->data[h].Field2;
2186 val = colontmp_.data->data[h].Field3;
2187 {
2188 if (!(((NI) 0) < i)) goto LA25_;
2189 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2190 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_14));
2191 nl__pureZjson_4328(result, ml);
2192 }
2193 LA25_: ;
2194 i += ((NI) 1);
2195 T27_ = (NI)0;
2196 T27_ = newIndent__pureZjson_4323(currIndent, indent, ml);
2197 indent__pureZjson_4320(result, T27_);
2198 escapeJson__pureZjson_4352(key, result);
2199 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
2200 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_38));
2201 T28_ = (NI)0;
2202 T28_ = newIndent__pureZjson_4323(currIndent, indent, ml);
2203 toPretty__pureZjson_4380(result, val, indent, ml, NIM_FALSE, T28_);
2204 }
2205 LA21_: ;
2206 h = nxt;
2207 } LA17: ;
2208 }
2209 }
2210 LA14_: ;
2211 }
2212 nl__pureZjson_4328(result, ml);
2213 indent__pureZjson_4320(result, currIndent);
2214 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2215 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_18));
2216 }
2217 goto LA6_;
2218 LA9_: ;
2219 {
2220 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
2221 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_39));
2222 }
2223 LA6_: ;
2224 }
2225 break;
2226 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4):
2227 {
2228 {
2229 if (!lstArr) goto LA33_;
2230 indent__pureZjson_4320(result, currIndent);
2231 }
2232 LA33_: ;
2233 toUgly__pureZjson_4362(result, node);
2234 }
2235 break;
2236 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2):
2237 {
2238 {
2239 if (!lstArr) goto LA38_;
2240 indent__pureZjson_4320(result, currIndent);
2241 }
2242 LA38_: ;
2243 addInt__stdZprivateZdigitsutils_167(result, (*node)._kind_2.num);
2244 }
2245 break;
2246 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3):
2247 {
2248 {
2249 if (!lstArr) goto LA43_;
2250 indent__pureZjson_4320(result, currIndent);
2251 }
2252 LA43_: ;
2253 addFloat__system_3122(result, (*node)._kind_3.fnum);
2254 }
2255 break;
2256 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1):
2257 {
2258 NimStringDesc* T50_;
2259 {
2260 if (!lstArr) goto LA48_;
2261 indent__pureZjson_4320(result, currIndent);
2262 }
2263 LA48_: ;
2264 T50_ = NIM_NIL;
2265 {
2266 if (!(*node)._kind_4.bval) goto LA53_;
2267 T50_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_19));
2268 }
2269 goto LA51_;
2270 LA53_: ;
2271 {
2272 T50_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_20));
2273 }
2274 LA51_: ;
2275 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T50_ ? T50_->Sup.len : 0) + 0));
2276 appendString((*result), T50_);
2277 }
2278 break;
2279 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
2280 {
2281 {
2282 if (!lstArr) goto LA59_;
2283 indent__pureZjson_4320(result, currIndent);
2284 }
2285 LA59_: ;
2286 {
2287 NI T63_;
2288 T63_ = ((*node)._kind_7.elems ? (*node)._kind_7.elems->Sup.len : 0);
2289 if (!!((T63_ == ((NI) 0)))) goto LA64_;
2290 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2291 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_13));
2292 nl__pureZjson_4328(result, ml);
2293 {
2294 NI i_2;
2295 NI colontmp__2;
2296 NI T67_;
2297 NI res;
2298 i_2 = (NI)0;
2299 colontmp__2 = (NI)0;
2300 T67_ = ((*node)._kind_7.elems ? (*node)._kind_7.elems->Sup.len : 0);
2301 colontmp__2 = (NI)(T67_ - ((NI) 1));
2302 res = ((NI) 0);
2303 {
2304 while (1) {
2305 NI T74_;
2306 if (!(res <= colontmp__2)) goto LA69;
2307 i_2 = res;
2308 {
2309 if (!(((NI) 0) < i_2)) goto LA72_;
2310 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2311 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_14));
2312 nl__pureZjson_4328(result, ml);
2313 }
2314 LA72_: ;
2315 T74_ = (NI)0;
2316 T74_ = newIndent__pureZjson_4323(currIndent, indent, ml);
2317 toPretty__pureZjson_4380(result, (*node)._kind_7.elems->data[i_2], indent, ml, NIM_TRUE, T74_);
2318 res += ((NI) 1);
2319 } LA69: ;
2320 }
2321 }
2322 nl__pureZjson_4328(result, ml);
2323 indent__pureZjson_4320(result, currIndent);
2324 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2325 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_15));
2326 }
2327 goto LA61_;
2328 LA64_: ;
2329 {
2330 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
2331 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_40));
2332 }
2333 LA61_: ;
2334 }
2335 break;
2336 case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0):
2337 {
2338 {
2339 if (!lstArr) goto LA79_;
2340 indent__pureZjson_4320(result, currIndent);
2341 }
2342 LA79_: ;
2343 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 4));
2344 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_21));
2345 }
2346 break;
2347 }
2348 }
N_NIMCALL(NimStringDesc *,pretty__pureZjson_4461)2349 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, pretty__pureZjson_4461)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent) {
2350 NimStringDesc* result;
2351 result = NIM_NIL;
2352 result = ((NimStringDesc*) NIM_NIL);
2353 toPretty__pureZjson_4380((&result), node, indent, NIM_TRUE, NIM_FALSE, ((NI) 0));
2354 return result;
2355 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,percent___pureZjson_1790)2356 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1790)(NimStringDesc* s) {
2357 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2358 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
2359 NimStringDesc* T2_;
2360 result = NIM_NIL;
2361 T1_ = NIM_NIL;
2362 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
2363 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4);
2364 T2_ = NIM_NIL;
2365 T2_ = (*T1_)._kind_1.str; (*T1_)._kind_1.str = copyStringRC1(s);
2366 if (T2_) nimGCunrefNoCycle(T2_);
2367 result = T1_;
2368 return result;
2369 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,percent___pureZjson_1816)2370 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1816)(NIM_BOOL b) {
2371 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2372 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
2373 result = NIM_NIL;
2374 T1_ = NIM_NIL;
2375 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
2376 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1);
2377 (*T1_)._kind_4.bval = b;
2378 result = T1_;
2379 return result;
2380 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,percent___pureZjson_1800)2381 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1800)(NI n) {
2382 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2383 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
2384 result = NIM_NIL;
2385 T1_ = NIM_NIL;
2386 T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
2387 (*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2);
2388 (*T1_)._kind_2.num = ((NI64) (n));
2389 result = T1_;
2390 return result;
2391 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,percent___pureZjson_1819)2392 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1819)(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ* keyVals, NI keyValsLen_0) {
2393 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2394 { result = NIM_NIL;
2395 {
2396 if (!(keyValsLen_0 == ((NI) 0))) goto LA3_;
2397 result = newJArray__pureZjson_123();
2398 goto BeforeRet_;
2399 }
2400 LA3_: ;
2401 result = newJObject__pureZjson_92();
2402 {
2403 NimStringDesc** key;
2404 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** val;
2405 NI i;
2406 key = (NimStringDesc**)0;
2407 val = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
2408 i = ((NI) 0);
2409 {
2410 while (1) {
2411 if (!(i < keyValsLen_0)) goto LA7;
2412 key = (&keyVals[i].Field0);
2413 val = &keyVals[i].Field1;
2414 X5BX5Deq___pureZjson_287((&(*result)._kind_6.fields), (*key), (*val));
2415 i += ((NI) 1);
2416 } LA7: ;
2417 }
2418 }
2419 }BeforeRet_: ;
2420 return result;
2421 }
N_NIMCALL(void,stdlib_jsonDatInit000)2422 N_LIB_PRIVATE N_NIMCALL(void, stdlib_jsonDatInit000)(void) {
2423 static TNimNode* TM__9b9bytt1stv9cZ8uqII7HFgew_22_7[7];
2424 NI TM__9b9bytt1stv9cZ8uqII7HFgew_24;
2425 static char* NIM_CONST TM__9b9bytt1stv9cZ8uqII7HFgew_23[7] = {
2426 "JNull",
2427 "JBool",
2428 "JInt",
2429 "JFloat",
2430 "JString",
2431 "JObject",
2432 "JArray"};
2433 static TNimNode* TM__9b9bytt1stv9cZ8uqII7HFgew_28_2[2];
2434 static TNimNode* TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[4];
2435 static TNimNode* TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[4];
2436 static TNimNode TM__9b9bytt1stv9cZ8uqII7HFgew_0[28];
2437 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.size = sizeof(tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg);
2438 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.align = NIM_ALIGNOF(tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg);
2439 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.kind = 14;
2440 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.base = 0;
2441 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.flags = 3;
2442 for (TM__9b9bytt1stv9cZ8uqII7HFgew_24 = 0; TM__9b9bytt1stv9cZ8uqII7HFgew_24 < 7; TM__9b9bytt1stv9cZ8uqII7HFgew_24++) {
2443 TM__9b9bytt1stv9cZ8uqII7HFgew_0[TM__9b9bytt1stv9cZ8uqII7HFgew_24+0].kind = 1;
2444 TM__9b9bytt1stv9cZ8uqII7HFgew_0[TM__9b9bytt1stv9cZ8uqII7HFgew_24+0].offset = TM__9b9bytt1stv9cZ8uqII7HFgew_24;
2445 TM__9b9bytt1stv9cZ8uqII7HFgew_0[TM__9b9bytt1stv9cZ8uqII7HFgew_24+0].name = TM__9b9bytt1stv9cZ8uqII7HFgew_23[TM__9b9bytt1stv9cZ8uqII7HFgew_24];
2446 TM__9b9bytt1stv9cZ8uqII7HFgew_22_7[TM__9b9bytt1stv9cZ8uqII7HFgew_24] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[TM__9b9bytt1stv9cZ8uqII7HFgew_24+0];
2447 }
2448 TM__9b9bytt1stv9cZ8uqII7HFgew_0[7].len = 7; TM__9b9bytt1stv9cZ8uqII7HFgew_0[7].kind = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[7].sons = &TM__9b9bytt1stv9cZ8uqII7HFgew_22_7[0];
2449 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.node = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[7];
2450 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.size = sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q);
2451 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.align = NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q);
2452 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.kind = 18;
2453 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.base = 0;
2454 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.flags = 2;
2455 TM__9b9bytt1stv9cZ8uqII7HFgew_28_2[0] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[9];
2456 TM__9b9bytt1stv9cZ8uqII7HFgew_0[9].kind = 1;
2457 TM__9b9bytt1stv9cZ8uqII7HFgew_0[9].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, isUnquoted);
2458 TM__9b9bytt1stv9cZ8uqII7HFgew_0[9].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2459 TM__9b9bytt1stv9cZ8uqII7HFgew_0[9].name = "isUnquoted";
2460 TM__9b9bytt1stv9cZ8uqII7HFgew_28_2[1] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[10];
2461 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].kind = 3;
2462 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, kind);
2463 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].typ = (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_);
2464 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].name = "kind";
2465 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].sons = &NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[0];
2466 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].len = 7;
2467 TM__9b9bytt1stv9cZ8uqII7HFgew_0[11].kind = 1;
2468 TM__9b9bytt1stv9cZ8uqII7HFgew_0[11].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_1.str);
2469 TM__9b9bytt1stv9cZ8uqII7HFgew_0[11].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
2470 TM__9b9bytt1stv9cZ8uqII7HFgew_0[11].name = "str";
2471 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[4] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[11];
2472 TM__9b9bytt1stv9cZ8uqII7HFgew_0[12].kind = 1;
2473 TM__9b9bytt1stv9cZ8uqII7HFgew_0[12].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_2.num);
2474 TM__9b9bytt1stv9cZ8uqII7HFgew_0[12].typ = (&NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_);
2475 TM__9b9bytt1stv9cZ8uqII7HFgew_0[12].name = "num";
2476 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[2] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[12];
2477 TM__9b9bytt1stv9cZ8uqII7HFgew_0[13].kind = 1;
2478 TM__9b9bytt1stv9cZ8uqII7HFgew_0[13].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_3.fnum);
2479 TM__9b9bytt1stv9cZ8uqII7HFgew_0[13].typ = (&NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_);
2480 TM__9b9bytt1stv9cZ8uqII7HFgew_0[13].name = "fnum";
2481 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[3] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[13];
2482 TM__9b9bytt1stv9cZ8uqII7HFgew_0[14].kind = 1;
2483 TM__9b9bytt1stv9cZ8uqII7HFgew_0[14].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_4.bval);
2484 TM__9b9bytt1stv9cZ8uqII7HFgew_0[14].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2485 TM__9b9bytt1stv9cZ8uqII7HFgew_0[14].name = "bval";
2486 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[1] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[14];
2487 TM__9b9bytt1stv9cZ8uqII7HFgew_0[15].len = 0; TM__9b9bytt1stv9cZ8uqII7HFgew_0[15].kind = 2;
2488 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[0] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[15];
2489 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.size = sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg);
2490 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.align = NIM_ALIGNOF(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg);
2491 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.kind = 18;
2492 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.base = 0;
2493 TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[0] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[18];
2494 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.size = sizeof(tyTuple__awOivLjlO76sGdHY7nQUjQ);
2495 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.align = NIM_ALIGNOF(tyTuple__awOivLjlO76sGdHY7nQUjQ);
2496 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.kind = 18;
2497 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.base = 0;
2498 TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[0] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[20];
2499 TM__9b9bytt1stv9cZ8uqII7HFgew_0[20].kind = 1;
2500 TM__9b9bytt1stv9cZ8uqII7HFgew_0[20].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field0);
2501 TM__9b9bytt1stv9cZ8uqII7HFgew_0[20].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2502 TM__9b9bytt1stv9cZ8uqII7HFgew_0[20].name = "Field0";
2503 TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[1] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[21];
2504 TM__9b9bytt1stv9cZ8uqII7HFgew_0[21].kind = 1;
2505 TM__9b9bytt1stv9cZ8uqII7HFgew_0[21].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field1);
2506 TM__9b9bytt1stv9cZ8uqII7HFgew_0[21].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2507 TM__9b9bytt1stv9cZ8uqII7HFgew_0[21].name = "Field1";
2508 TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[2] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[22];
2509 TM__9b9bytt1stv9cZ8uqII7HFgew_0[22].kind = 1;
2510 TM__9b9bytt1stv9cZ8uqII7HFgew_0[22].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field2);
2511 TM__9b9bytt1stv9cZ8uqII7HFgew_0[22].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
2512 TM__9b9bytt1stv9cZ8uqII7HFgew_0[22].name = "Field2";
2513 TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[3] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[23];
2514 TM__9b9bytt1stv9cZ8uqII7HFgew_0[23].kind = 1;
2515 TM__9b9bytt1stv9cZ8uqII7HFgew_0[23].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field3);
2516 TM__9b9bytt1stv9cZ8uqII7HFgew_0[23].typ = (&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_);
2517 TM__9b9bytt1stv9cZ8uqII7HFgew_0[23].name = "Field3";
2518 TM__9b9bytt1stv9cZ8uqII7HFgew_0[19].len = 4; TM__9b9bytt1stv9cZ8uqII7HFgew_0[19].kind = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[19].sons = &TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[0];
2519 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.node = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[19];
2520 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.size = sizeof(tySequence__MlAD6nAPq9bHKla9cWiIZP0g*);
2521 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.align = NIM_ALIGNOF(tySequence__MlAD6nAPq9bHKla9cWiIZP0g*);
2522 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.kind = 24;
2523 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.base = (&NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_);
2524 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.marker = Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
2525 TM__9b9bytt1stv9cZ8uqII7HFgew_0[18].kind = 1;
2526 TM__9b9bytt1stv9cZ8uqII7HFgew_0[18].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, data);
2527 TM__9b9bytt1stv9cZ8uqII7HFgew_0[18].typ = (&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_);
2528 TM__9b9bytt1stv9cZ8uqII7HFgew_0[18].name = "data";
2529 TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[1] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[24];
2530 TM__9b9bytt1stv9cZ8uqII7HFgew_0[24].kind = 1;
2531 TM__9b9bytt1stv9cZ8uqII7HFgew_0[24].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, counter);
2532 TM__9b9bytt1stv9cZ8uqII7HFgew_0[24].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2533 TM__9b9bytt1stv9cZ8uqII7HFgew_0[24].name = "counter";
2534 TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[2] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[25];
2535 TM__9b9bytt1stv9cZ8uqII7HFgew_0[25].kind = 1;
2536 TM__9b9bytt1stv9cZ8uqII7HFgew_0[25].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, first);
2537 TM__9b9bytt1stv9cZ8uqII7HFgew_0[25].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2538 TM__9b9bytt1stv9cZ8uqII7HFgew_0[25].name = "first";
2539 TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[3] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[26];
2540 TM__9b9bytt1stv9cZ8uqII7HFgew_0[26].kind = 1;
2541 TM__9b9bytt1stv9cZ8uqII7HFgew_0[26].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, last);
2542 TM__9b9bytt1stv9cZ8uqII7HFgew_0[26].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2543 TM__9b9bytt1stv9cZ8uqII7HFgew_0[26].name = "last";
2544 TM__9b9bytt1stv9cZ8uqII7HFgew_0[17].len = 4; TM__9b9bytt1stv9cZ8uqII7HFgew_0[17].kind = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[17].sons = &TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[0];
2545 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.node = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[17];
2546 TM__9b9bytt1stv9cZ8uqII7HFgew_0[16].kind = 1;
2547 TM__9b9bytt1stv9cZ8uqII7HFgew_0[16].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_6.fields);
2548 TM__9b9bytt1stv9cZ8uqII7HFgew_0[16].typ = (&NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_);
2549 TM__9b9bytt1stv9cZ8uqII7HFgew_0[16].name = "fields";
2550 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[5] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[16];
2551 TM__9b9bytt1stv9cZ8uqII7HFgew_0[27].kind = 1;
2552 TM__9b9bytt1stv9cZ8uqII7HFgew_0[27].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_7.elems);
2553 TM__9b9bytt1stv9cZ8uqII7HFgew_0[27].typ = (&NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_);
2554 TM__9b9bytt1stv9cZ8uqII7HFgew_0[27].name = "elems";
2555 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[6] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[27];
2556 TM__9b9bytt1stv9cZ8uqII7HFgew_0[8].len = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[8].kind = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[8].sons = &TM__9b9bytt1stv9cZ8uqII7HFgew_28_2[0];
2557 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.node = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[8];
2558 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.size = sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*);
2559 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.align = NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*);
2560 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.kind = 22;
2561 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.base = (&NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_);
2562 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.marker = Marker_tyRef__zfzzuQ8txrdZAYK0WGWpHg;
2563 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.size = sizeof(tySequence__oLpBKXzW3hF9aCVMo5EymfQ*);
2564 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.align = NIM_ALIGNOF(tySequence__oLpBKXzW3hF9aCVMo5EymfQ*);
2565 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.kind = 24;
2566 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.base = (&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_);
2567 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.marker = Marker_tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
2568 }
2569
2570