1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct TNimType TNimType;
22 typedef struct TNimNode TNimNode;
23 typedef struct tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg;
24 typedef struct RootObj RootObj;
25 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
26 typedef struct NimStringDesc NimStringDesc;
27 typedef struct TGenericSeq TGenericSeq;
28 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
29 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
30 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
31 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
32 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
33 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
34 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
35 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
36 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
37 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
38 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
39 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
40 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
41 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
42 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
43 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
44 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
45 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
46 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
47 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
48 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
49 struct TNimType {
50 NI size;
51 NI align;
52 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
53 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
54 TNimType* base;
55 TNimNode* node;
56 void* finalizer;
57 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
58 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
59 };
60 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
61 struct TNimNode {
62 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
63 NI offset;
64 TNimType* typ;
65 NCSTRING name;
66 NI len;
67 TNimNode** sons;
68 };
69 struct RootObj {
70 TNimType* m_type;
71 };
72 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
73 typedef NU8 tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA;
74 struct TGenericSeq {
75 NI len;
76 NI reserved;
77 };
78 struct NimStringDesc {
79   TGenericSeq Sup;
80 NIM_CHAR data[SEQ_DECL_SIZE];
81 };
82 struct tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg {
83   RootObj Sup;
84 NI pos;
85 NIM_BOOL inShortState;
86 NIM_BOOL allowWhitespaceAfterColon;
87 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw shortNoVal;
88 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* longNoVal;
89 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds;
90 NI idx;
91 tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA kind;
92 NimStringDesc* key;
93 NimStringDesc* val;
94 };
95 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
96 NI refcount;
97 TNimType* typ;
98 };
99 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
100 void* bottom;
101 };
102 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
103 NI len;
104 NI cap;
105 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
106 };
107 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
108 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
109 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
110 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
111 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
112 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
113 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
114 };
115 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
116 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
117 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
118 NI key;
119 NI upperBound;
120 NI level;
121 };
122 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
123 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
124 NI Field1;
125 };
126 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
127 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
128 NI len;
129 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
130 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
131 };
132 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
133 NI minLargeObj;
134 NI maxLargeObj;
135 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
136 NU32 flBitmap;
137 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
138 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
139 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
140 NI currMem;
141 NI maxMem;
142 NI freeMem;
143 NI occ;
144 NI lastSize;
145 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
146 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
147 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
148 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
149 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
150 NIM_BOOL locked;
151 NIM_BOOL blockChunkSizeIncrease;
152 NI nextChunkSize;
153 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
154 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
155 };
156 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
157 NI stackScans;
158 NI cycleCollections;
159 NI maxThreshold;
160 NI maxStackSize;
161 NI maxStackCells;
162 NI cycleTableSize;
163 NI64 maxPause;
164 };
165 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
166 NI counter;
167 NI max;
168 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
169 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
170 };
171 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
172 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
173 NI cycleThreshold;
174 NI zctThreshold;
175 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
176 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
177 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
178 NI recGcLock;
179 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
180 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
181 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
182 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
183 NI gcThreadId;
184 };
185 typedef NU8 tyArray__S8ib5N31oJbAkqOZTlNg5Q[8192];
186 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
187 NI a;
188 NI b;
189 };
190 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
191   TGenericSeq Sup;
192   NimStringDesc* data[SEQ_DECL_SIZE];
193 };
194 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
195 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
196 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
197 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nosparseCmdLine)(NimStringDesc* c);
198 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, newSeq__systemZio_501)(NI len);
199 N_LIB_PRIVATE N_NIMCALL(NI, paramCount__pureZos_1541)(void);
200 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, paramStr__pureZos_1535)(NI i);
201 static N_INLINE(void, asgnRef)(void** dest, void* src);
202 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
203 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
204 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr);
205 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
206 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
207 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
208 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
209 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5256)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
210 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
211 N_LIB_PRIVATE N_NIMCALL(void, handleShortOption__pureZparseopt_127)(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p, NimStringDesc* cmd);
212 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
213 static N_INLINE(NI, cardSet)(tyArray__S8ib5N31oJbAkqOZTlNg5Q s, NI len);
214 static N_INLINE(NI, countBits32)(NU32 n);
215 static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_26)(NU32 x);
216 N_CDECL(int, __builtin_popcount)(unsigned int x);
217 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7735)(NimStringDesc* s, NI first);
218 N_LIB_PRIVATE N_NIMCALL(NI, parseWord__pureZparseopt_25)(NimStringDesc* s, NI i, NimStringDesc** w, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw delim);
219 static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
220 static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
221 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
222 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
223 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
224 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
225 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, quoteShellCommand__pureZos_610)(NimStringDesc** args, NI argsLen_0);
226 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, X5BX5D___pureZparseopt_275)(NimStringDesc** s, NI sLen_0, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
227 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
228 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
229 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
230 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b);
231 static N_INLINE(void, nimZeroMem)(void* p, NI size);
232 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
233 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
234 N_LIB_PRIVATE TNimType NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_;
235 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
236 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
237 extern TNimType NTIchar__nmiMWKVIe46vacnhAFrQvw_;
238 N_LIB_PRIVATE TNimType NTIsetLcharT__HDqWPvEAxZK51ZcfaeQEdg_;
239 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
240 N_LIB_PRIVATE TNimType NTIcmdlinekind__XkdXq9atxjiuhkFFh0XYrSA_;
241 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
242 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__GYgvYKeHVTEls0AcywABHQ_6 = {
243 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x24,
244 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
245 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
247 ;
248 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5209;
N_INLINE(void,nimCopyMem)249 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
250 	void* T1_;
251 	T1_ = (void*)0;
252 	T1_ = memcpy(dest, source, ((size_t) (size)));
253 }
N_INLINE(NI,pluspercent___system_696)254 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
255 	NI result;
256 	result = (NI)0;
257 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
258 	return result;
259 }
N_INLINE(void,incRef__system_5300)260 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
261 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
262 }
N_INLINE(NI,minuspercent___system_716)263 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
264 	NI result;
265 	result = (NI)0;
266 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
267 	return result;
268 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5262)269 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr) {
270 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
271 	NI T1_;
272 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
273 	T1_ = (NI)0;
274 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
275 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
276 	return result;
277 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)278 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
279 	NIM_BOOL result;
280 	result = (NIM_BOOL)0;
281 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
282 	return result;
283 }
N_INLINE(void,rtlAddZCT__system_5305)284 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
285 	addZCT__system_5256((&gch__system_5209.zct), c);
286 }
N_INLINE(void,decRef__system_5307)287 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
288 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
289 	{
290 		NIM_BOOL T3_;
291 		T3_ = (NIM_BOOL)0;
292 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
293 		if (!T3_) goto LA4_;
294 		rtlAddZCT__system_5305(c);
295 	}
296 	LA4_: ;
297 }
N_INLINE(void,asgnRef)298 static N_INLINE(void, asgnRef)(void** dest, void* src) {
299 	{
300 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
301 		if (!!((src == NIM_NIL))) goto LA3_;
302 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
303 		T5_ = usrToCell__system_5262(src);
304 		incRef__system_5300(T5_);
305 	}
306 	LA3_: ;
307 	{
308 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
309 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
310 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
311 		T10_ = usrToCell__system_5262((*dest));
312 		decRef__system_5307(T10_);
313 	}
314 	LA8_: ;
315 	(*dest) = src;
316 }
N_NIMCALL(void,initOptParser__pureZparseopt_51)317 N_LIB_PRIVATE N_NIMCALL(void, initOptParser__pureZparseopt_51)(NimStringDesc* cmdline, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw shortNoVal, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* longNoVal, NIM_BOOL allowWhitespaceAfterColon, tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* Result) {
318 	(*Result).pos = 0;
319 	(*Result).inShortState = 0;
320 	(*Result).allowWhitespaceAfterColon = 0;
321 	unsureAsgnRef((void**)&(*Result).longNoVal, NIM_NIL);
322 	unsureAsgnRef((void**)&(*Result).cmds, NIM_NIL);
323 	(*Result).idx = 0;
324 	(*Result).kind = 0;
325 	unsureAsgnRef((void**)&(*Result).key, NIM_NIL);
326 	unsureAsgnRef((void**)&(*Result).val, NIM_NIL);
327 	(*Result).Sup.m_type = (&NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_);
328 	(*Result).pos = ((NI) 0);
329 	(*Result).idx = ((NI) 0);
330 	(*Result).inShortState = NIM_FALSE;
331 	nimCopyMem((void*)(*Result).shortNoVal, (NIM_CONST void*)shortNoVal, 32);
332 	genericSeqAssign((&(*Result).longNoVal), longNoVal, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
333 	(*Result).allowWhitespaceAfterColon = allowWhitespaceAfterColon;
334 	{
335 		if (!!(((cmdline ? cmdline->Sup.len : 0) == 0))) goto LA3_;
336 		unsureAsgnRef((void**) (&(*Result).cmds), nosparseCmdLine(cmdline));
337 	}
338 	goto LA1_;
339 	LA3_: ;
340 	{
341 		NI T6_;
342 		T6_ = (NI)0;
343 		T6_ = paramCount__pureZos_1541();
344 		unsureAsgnRef((void**) (&(*Result).cmds), newSeq__systemZio_501(((NI) (T6_))));
345 		{
346 			NI i;
347 			NI colontmp_;
348 			NI res;
349 			i = (NI)0;
350 			colontmp_ = (NI)0;
351 			colontmp_ = paramCount__pureZos_1541();
352 			res = ((NI) 1);
353 			{
354 				while (1) {
355 					if (!(res <= colontmp_)) goto LA9;
356 					i = res;
357 					asgnRef((void**) (&(*Result).cmds->data[(NI)(i - ((NI) 1))]), paramStr__pureZos_1535(i));
358 					res += ((NI) 1);
359 				} LA9: ;
360 			}
361 		}
362 	}
363 	LA1_: ;
364 	(*Result).kind = ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 0);
365 	unsureAsgnRef((void**) (&(*Result).key), ((NimStringDesc*) NIM_NIL));
366 	unsureAsgnRef((void**) (&(*Result).val), ((NimStringDesc*) NIM_NIL));
367 }
N_INLINE(NI,countSetBitsImpl__systemZcountbits95impl_26)368 static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_26)(NU32 x) {
369 	NI result;
370 	int T1_;
371 	result = (NI)0;
372 	T1_ = (int)0;
373 	T1_ = __builtin_popcount(x);
374 	result = ((NI) (T1_));
375 	return result;
376 }
N_INLINE(NI,countBits32)377 static N_INLINE(NI, countBits32)(NU32 n) {
378 	NI result;
379 	result = (NI)0;
380 	result = countSetBitsImpl__systemZcountbits95impl_26(n);
381 	return result;
382 }
N_INLINE(NI,cardSet)383 static N_INLINE(NI, cardSet)(tyArray__S8ib5N31oJbAkqOZTlNg5Q s, NI len) {
384 	NI result;
385 	NI i;
386 	result = (NI)0;
387 	i = ((NI) 0);
388 	result = ((NI) 0);
389 	{
390 		while (1) {
391 			NI T3_;
392 			if (!(i < len)) goto LA2;
393 			T3_ = (NI)0;
394 			T3_ = countBits32(((NU32) (s[(i)- 0])));
395 			result += T3_;
396 			i += ((NI) 1);
397 		} LA2: ;
398 	}
399 	return result;
400 }
N_NIMCALL(void,handleShortOption__pureZparseopt_127)401 N_LIB_PRIVATE N_NIMCALL(void, handleShortOption__pureZparseopt_127)(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p, NimStringDesc* cmd) {
402 	NI i;
403 	i = (*p).pos;
404 	(*p).kind = ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 3);
405 	{
406 		if (!(i < (cmd ? cmd->Sup.len : 0))) goto LA3_;
407 		unsureAsgnRef((void**) (&(*p).key), addChar((*p).key, cmd->data[i]));
408 		i += ((NI) 1);
409 	}
410 	LA3_: ;
411 	(*p).inShortState = NIM_TRUE;
412 	{
413 		while (1) {
414 			NIM_BOOL T7_;
415 			T7_ = (NIM_BOOL)0;
416 			T7_ = (i < (cmd ? cmd->Sup.len : 0));
417 			if (!(T7_)) goto LA8_;
418 			T7_ = (((NU8)(cmd->data[i])) == ((NU8)(9)) || ((NU8)(cmd->data[i])) == ((NU8)(32)));
419 			LA8_: ;
420 			if (!T7_) goto LA6;
421 			i += ((NI) 1);
422 			(*p).inShortState = NIM_FALSE;
423 		} LA6: ;
424 	}
425 	{
426 		NIM_BOOL T11_;
427 		NIM_BOOL T13_;
428 		NIM_BOOL T15_;
429 		T11_ = (NIM_BOOL)0;
430 		T11_ = (i < (cmd ? cmd->Sup.len : 0));
431 		if (!(T11_)) goto LA12_;
432 		T13_ = (NIM_BOOL)0;
433 		T13_ = (((NU8)(cmd->data[i])) == ((NU8)(58)) || ((NU8)(cmd->data[i])) == ((NU8)(61)));
434 		if (T13_) goto LA14_;
435 		T15_ = (NIM_BOOL)0;
436 		T15_ = (((NI) 0) < cardSet((*p).shortNoVal, 32));
437 		if (!(T15_)) goto LA16_;
438 		T15_ = !((((*p).shortNoVal[(NU)(((NU8)((*p).key->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*p).key->data[((NI) 0)])))&7U)))!=0));
439 		LA16_: ;
440 		T13_ = T15_;
441 		LA14_: ;
442 		T11_ = T13_;
443 		LA12_: ;
444 		if (!T11_) goto LA17_;
445 		{
446 			NIM_BOOL T21_;
447 			T21_ = (NIM_BOOL)0;
448 			T21_ = (i < (cmd ? cmd->Sup.len : 0));
449 			if (!(T21_)) goto LA22_;
450 			T21_ = (((NU8)(cmd->data[i])) == ((NU8)(58)) || ((NU8)(cmd->data[i])) == ((NU8)(61)));
451 			LA22_: ;
452 			if (!T21_) goto LA23_;
453 			i += ((NI) 1);
454 		}
455 		LA23_: ;
456 		(*p).inShortState = NIM_FALSE;
457 		{
458 			while (1) {
459 				NIM_BOOL T27_;
460 				T27_ = (NIM_BOOL)0;
461 				T27_ = (i < (cmd ? cmd->Sup.len : 0));
462 				if (!(T27_)) goto LA28_;
463 				T27_ = (((NU8)(cmd->data[i])) == ((NU8)(9)) || ((NU8)(cmd->data[i])) == ((NU8)(32)));
464 				LA28_: ;
465 				if (!T27_) goto LA26;
466 				i += ((NI) 1);
467 			} LA26: ;
468 		}
469 		unsureAsgnRef((void**) (&(*p).val), substr__system_7735(cmd, i));
470 		(*p).pos = ((NI) 0);
471 		(*p).idx += ((NI) 1);
472 	}
473 	goto LA9_;
474 	LA17_: ;
475 	{
476 		(*p).pos = i;
477 	}
478 	LA9_: ;
479 	{
480 		if (!((cmd ? cmd->Sup.len : 0) <= i)) goto LA32_;
481 		(*p).inShortState = NIM_FALSE;
482 		(*p).pos = ((NI) 0);
483 		(*p).idx += ((NI) 1);
484 	}
485 	LA32_: ;
486 }
N_NIMCALL(NI,parseWord__pureZparseopt_25)487 N_LIB_PRIVATE N_NIMCALL(NI, parseWord__pureZparseopt_25)(NimStringDesc* s, NI i, NimStringDesc** w, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw delim) {
488 	NI result;
489 	result = (NI)0;
490 	result = i;
491 	{
492 		NIM_BOOL T3_;
493 		T3_ = (NIM_BOOL)0;
494 		T3_ = (result < (s ? s->Sup.len : 0));
495 		if (!(T3_)) goto LA4_;
496 		T3_ = ((NU8)(s->data[result]) == (NU8)(34));
497 		LA4_: ;
498 		if (!T3_) goto LA5_;
499 		result += ((NI) 1);
500 		{
501 			while (1) {
502 				if (!(result < (s ? s->Sup.len : 0))) goto LA8;
503 				{
504 					if (!((NU8)(s->data[result]) == (NU8)(34))) goto LA11_;
505 					result += ((NI) 1);
506 					goto LA7;
507 				}
508 				LA11_: ;
509 				unsureAsgnRef((void**) (&(*w)), addChar((*w), s->data[result]));
510 				result += ((NI) 1);
511 			} LA8: ;
512 		} LA7: ;
513 	}
514 	goto LA1_;
515 	LA5_: ;
516 	{
517 		{
518 			while (1) {
519 				NIM_BOOL T16_;
520 				T16_ = (NIM_BOOL)0;
521 				T16_ = (result < (s ? s->Sup.len : 0));
522 				if (!(T16_)) goto LA17_;
523 				T16_ = !(((delim[(NU)(((NU8)(s->data[result])))>>3] &(1U<<((NU)(((NU8)(s->data[result])))&7U)))!=0));
524 				LA17_: ;
525 				if (!T16_) goto LA15;
526 				unsureAsgnRef((void**) (&(*w)), addChar((*w), s->data[result]));
527 				result += ((NI) 1);
528 			} LA15: ;
529 		}
530 	}
531 	LA1_: ;
532 	return result;
533 }
N_INLINE(int,nimCmpMem)534 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
535 	int result;
536 	result = (int)0;
537 	result = memcmp(a, b, ((size_t) (size)));
538 	return result;
539 }
N_INLINE(NIM_BOOL,equalMem__system_1735)540 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
541 	NIM_BOOL result;
542 	int T1_;
543 	result = (NIM_BOOL)0;
544 	T1_ = (int)0;
545 	T1_ = nimCmpMem(a, b, size);
546 	result = (T1_ == ((NI32) 0));
547 	return result;
548 }
N_INLINE(NIM_BOOL,eqStrings)549 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
550 	NIM_BOOL result;
551 	NI alen;
552 	NI blen;
553 {	result = (NIM_BOOL)0;
554 	alen = (a ? a->Sup.len : 0);
555 	blen = (b ? b->Sup.len : 0);
556 	{
557 		if (!(alen == blen)) goto LA3_;
558 		{
559 			if (!(alen == ((NI) 0))) goto LA7_;
560 			result = NIM_TRUE;
561 			goto BeforeRet_;
562 		}
563 		LA7_: ;
564 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
565 		goto BeforeRet_;
566 	}
567 	LA3_: ;
568 	}BeforeRet_: ;
569 	return result;
570 }
N_INLINE(NI,find__stdZenumutils_48)571 static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
572 	NI result;
573 {	result = (NI)0;
574 	result = ((NI) 0);
575 	{
576 		NimStringDesc** i;
577 		NI i_2;
578 		i = (NimStringDesc**)0;
579 		i_2 = ((NI) 0);
580 		{
581 			while (1) {
582 				if (!(i_2 < aLen_0)) goto LA3;
583 				i = (&a[i_2]);
584 				{
585 					if (!eqStrings((*i), item)) goto LA6_;
586 					goto BeforeRet_;
587 				}
588 				LA6_: ;
589 				result += ((NI) 1);
590 				i_2 += ((NI) 1);
591 			} LA3: ;
592 		}
593 	}
594 	result = ((NI) -1);
595 	}BeforeRet_: ;
596 	return result;
597 }
N_INLINE(NIM_BOOL,contains__stdZenumutils_43)598 static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
599 	NIM_BOOL result;
600 	NI T1_;
601 {	result = (NIM_BOOL)0;
602 	T1_ = (NI)0;
603 	T1_ = find__stdZenumutils_48(a, aLen_0, item);
604 	result = (((NI) 0) <= T1_);
605 	goto BeforeRet_;
606 	}BeforeRet_: ;
607 	return result;
608 }
N_NIMCALL(void,nponext)609 N_LIB_PRIVATE N_NIMCALL(void, nponext)(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p) {
610 	NI i;
611 {	{
612 		NI T3_;
613 		T3_ = ((*p).cmds ? (*p).cmds->Sup.len : 0);
614 		if (!(T3_ <= (*p).idx)) goto LA4_;
615 		(*p).kind = ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 0);
616 		goto BeforeRet_;
617 	}
618 	LA4_: ;
619 	i = (*p).pos;
620 	{
621 		while (1) {
622 			NIM_BOOL T8_;
623 			T8_ = (NIM_BOOL)0;
624 			T8_ = (i < ((*p).cmds->data[(*p).idx] ? (*p).cmds->data[(*p).idx]->Sup.len : 0));
625 			if (!(T8_)) goto LA9_;
626 			T8_ = (((NU8)((*p).cmds->data[(*p).idx]->data[i])) == ((NU8)(9)) || ((NU8)((*p).cmds->data[(*p).idx]->data[i])) == ((NU8)(32)));
627 			LA9_: ;
628 			if (!T8_) goto LA7;
629 			i += ((NI) 1);
630 		} LA7: ;
631 	}
632 	(*p).pos = i;
633 	unsureAsgnRef((void**) (&(*p).key), setLengthStr((*p).key, ((NI) 0)));
634 	unsureAsgnRef((void**) (&(*p).val), setLengthStr((*p).val, ((NI) 0)));
635 	{
636 		if (!(*p).inShortState) goto LA12_;
637 		(*p).inShortState = NIM_FALSE;
638 		{
639 			if (!(((*p).cmds->data[(*p).idx] ? (*p).cmds->data[(*p).idx]->Sup.len : 0) <= i)) goto LA16_;
640 			(*p).idx += ((NI) 1);
641 			(*p).pos = ((NI) 0);
642 			{
643 				NI T20_;
644 				T20_ = ((*p).cmds ? (*p).cmds->Sup.len : 0);
645 				if (!(T20_ <= (*p).idx)) goto LA21_;
646 				(*p).kind = ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 0);
647 				goto BeforeRet_;
648 			}
649 			LA21_: ;
650 		}
651 		goto LA14_;
652 		LA16_: ;
653 		{
654 			handleShortOption__pureZparseopt_127(p, (*p).cmds->data[(*p).idx]);
655 			goto BeforeRet_;
656 		}
657 		LA14_: ;
658 	}
659 	LA12_: ;
660 	{
661 		NIM_BOOL T26_;
662 		T26_ = (NIM_BOOL)0;
663 		T26_ = (i < ((*p).cmds->data[(*p).idx] ? (*p).cmds->data[(*p).idx]->Sup.len : 0));
664 		if (!(T26_)) goto LA27_;
665 		T26_ = ((NU8)((*p).cmds->data[(*p).idx]->data[i]) == (NU8)(45));
666 		LA27_: ;
667 		if (!T26_) goto LA28_;
668 		i += ((NI) 1);
669 		{
670 			NIM_BOOL T32_;
671 			T32_ = (NIM_BOOL)0;
672 			T32_ = (i < ((*p).cmds->data[(*p).idx] ? (*p).cmds->data[(*p).idx]->Sup.len : 0));
673 			if (!(T32_)) goto LA33_;
674 			T32_ = ((NU8)((*p).cmds->data[(*p).idx]->data[i]) == (NU8)(45));
675 			LA33_: ;
676 			if (!T32_) goto LA34_;
677 			(*p).kind = ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 2);
678 			i += ((NI) 1);
679 			i = parseWord__pureZparseopt_25((*p).cmds->data[(*p).idx], i, (&(*p).key), TM__GYgvYKeHVTEls0AcywABHQ_6);
680 			{
681 				while (1) {
682 					NIM_BOOL T38_;
683 					T38_ = (NIM_BOOL)0;
684 					T38_ = (i < ((*p).cmds->data[(*p).idx] ? (*p).cmds->data[(*p).idx]->Sup.len : 0));
685 					if (!(T38_)) goto LA39_;
686 					T38_ = (((NU8)((*p).cmds->data[(*p).idx]->data[i])) == ((NU8)(9)) || ((NU8)((*p).cmds->data[(*p).idx]->data[i])) == ((NU8)(32)));
687 					LA39_: ;
688 					if (!T38_) goto LA37;
689 					i += ((NI) 1);
690 				} LA37: ;
691 			}
692 			{
693 				NIM_BOOL T42_;
694 				T42_ = (NIM_BOOL)0;
695 				T42_ = (i < ((*p).cmds->data[(*p).idx] ? (*p).cmds->data[(*p).idx]->Sup.len : 0));
696 				if (!(T42_)) goto LA43_;
697 				T42_ = (((NU8)((*p).cmds->data[(*p).idx]->data[i])) == ((NU8)(58)) || ((NU8)((*p).cmds->data[(*p).idx]->data[i])) == ((NU8)(61)));
698 				LA43_: ;
699 				if (!T42_) goto LA44_;
700 				i += ((NI) 1);
701 				{
702 					while (1) {
703 						NIM_BOOL T48_;
704 						T48_ = (NIM_BOOL)0;
705 						T48_ = (i < ((*p).cmds->data[(*p).idx] ? (*p).cmds->data[(*p).idx]->Sup.len : 0));
706 						if (!(T48_)) goto LA49_;
707 						T48_ = (((NU8)((*p).cmds->data[(*p).idx]->data[i])) == ((NU8)(9)) || ((NU8)((*p).cmds->data[(*p).idx]->data[i])) == ((NU8)(32)));
708 						LA49_: ;
709 						if (!T48_) goto LA47;
710 						i += ((NI) 1);
711 					} LA47: ;
712 				}
713 				{
714 					NIM_BOOL T52_;
715 					NIM_BOOL T53_;
716 					NI T55_;
717 					T52_ = (NIM_BOOL)0;
718 					T53_ = (NIM_BOOL)0;
719 					T53_ = (((*p).cmds->data[(*p).idx] ? (*p).cmds->data[(*p).idx]->Sup.len : 0) <= i);
720 					if (!(T53_)) goto LA54_;
721 					T55_ = ((*p).cmds ? (*p).cmds->Sup.len : 0);
722 					T53_ = ((*p).idx < T55_);
723 					LA54_: ;
724 					T52_ = T53_;
725 					if (!(T52_)) goto LA56_;
726 					T52_ = (*p).allowWhitespaceAfterColon;
727 					LA56_: ;
728 					if (!T52_) goto LA57_;
729 					(*p).idx += ((NI) 1);
730 					i = ((NI) 0);
731 				}
732 				LA57_: ;
733 				{
734 					NI T61_;
735 					T61_ = ((*p).cmds ? (*p).cmds->Sup.len : 0);
736 					if (!((*p).idx < T61_)) goto LA62_;
737 					unsureAsgnRef((void**) (&(*p).val), substr__system_7735((*p).cmds->data[(*p).idx], i));
738 				}
739 				LA62_: ;
740 			}
741 			goto LA40_;
742 			LA44_: ;
743 			{
744 				NIM_BOOL T65_;
745 				NIM_BOOL T66_;
746 				NI T67_;
747 				NIM_BOOL T69_;
748 				NI T71_;
749 				T65_ = (NIM_BOOL)0;
750 				T66_ = (NIM_BOOL)0;
751 				T67_ = ((*p).longNoVal ? (*p).longNoVal->Sup.len : 0);
752 				T66_ = (((NI) 0) < T67_);
753 				if (!(T66_)) goto LA68_;
754 				T69_ = (NIM_BOOL)0;
755 				T69_ = contains__stdZenumutils_43((*p).longNoVal->data, ((*p).longNoVal ? (*p).longNoVal->Sup.len : 0), (*p).key);
756 				T66_ = !(T69_);
757 				LA68_: ;
758 				T65_ = T66_;
759 				if (!(T65_)) goto LA70_;
760 				T71_ = ((*p).cmds ? (*p).cmds->Sup.len : 0);
761 				T65_ = ((NI)((*p).idx + ((NI) 1)) < T71_);
762 				LA70_: ;
763 				if (!T65_) goto LA72_;
764 				unsureAsgnRef((void**) (&(*p).val), copyString((*p).cmds->data[(NI)((*p).idx + ((NI) 1))]));
765 				(*p).idx += ((NI) 1);
766 			}
767 			goto LA40_;
768 			LA72_: ;
769 			{
770 				unsureAsgnRef((void**) (&(*p).val), ((NimStringDesc*) NIM_NIL));
771 			}
772 			LA40_: ;
773 			(*p).idx += ((NI) 1);
774 			(*p).pos = ((NI) 0);
775 		}
776 		goto LA30_;
777 		LA34_: ;
778 		{
779 			(*p).pos = i;
780 			handleShortOption__pureZparseopt_127(p, (*p).cmds->data[(*p).idx]);
781 		}
782 		LA30_: ;
783 	}
784 	goto LA24_;
785 	LA28_: ;
786 	{
787 		(*p).kind = ((tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA) 1);
788 		unsureAsgnRef((void**) (&(*p).key), copyString((*p).cmds->data[(*p).idx]));
789 		(*p).idx += ((NI) 1);
790 		(*p).pos = ((NI) 0);
791 	}
792 	LA24_: ;
793 	}BeforeRet_: ;
794 }
N_INLINE(void,nimGCunrefNoCycle)795 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
796 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
797 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
798 	T1_ = usrToCell__system_5262(p);
799 	decRef__system_5307(T1_);
800 }
N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ *,X5BX5D___pureZparseopt_275)801 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, X5BX5D___pureZparseopt_275)(NimStringDesc** s, NI sLen_0, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
802 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
803 	NI a;
804 	NI L;
805 	result = NIM_NIL;
806 	a = x.a;
807 	L = (NI)((NI)((NI)(sLen_0 - x.b) - a) + ((NI) 1));
808 	result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) (L)));
809 	{
810 		NI i;
811 		NI i_2;
812 		i = (NI)0;
813 		i_2 = ((NI) 0);
814 		{
815 			while (1) {
816 				NimStringDesc* T4_;
817 				if (!(i_2 < L)) goto LA3;
818 				i = i_2;
819 				T4_ = NIM_NIL;
820 				T4_ = result->data[i]; result->data[i] = copyStringRC1(s[(NI)(i + a)]);
821 				if (T4_) nimGCunrefNoCycle(T4_);
822 				i_2 += ((NI) 1);
823 			} LA3: ;
824 		}
825 	}
826 	return result;
827 }
N_INLINE(void,nimSetMem__systemZmemory_7)828 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
829 	void* T1_;
830 	T1_ = (void*)0;
831 	T1_ = memset(a, v, ((size_t) (size)));
832 }
N_INLINE(void,nimZeroMem)833 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
834 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
835 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___stdZenumutils_80)836 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
837 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
838 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
839 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
840 	result.a = a;
841 	result.b = b;
842 	return result;
843 }
N_NIMCALL(NimStringDesc *,npocmdLineRest)844 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, npocmdLineRest)(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg* p) {
845 	NimStringDesc* result;
846 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T1_;
847 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T2_;
848 	result = NIM_NIL;
849 	T1_ = dotdot___stdZenumutils_80((*p).idx, ((NI) 1));
850 	T2_ = NIM_NIL;
851 	T2_ = X5BX5D___pureZparseopt_275((*p).cmds->data, ((*p).cmds ? (*p).cmds->Sup.len : 0), T1_);
852 	result = quoteShellCommand__pureZos_610(T2_->data, (T2_ ? T2_->Sup.len : 0));
853 	return result;
854 }
N_NIMCALL(void,stdlib_parseoptDatInit000)855 N_LIB_PRIVATE N_NIMCALL(void, stdlib_parseoptDatInit000)(void) {
856 static TNimNode* TM__GYgvYKeHVTEls0AcywABHQ_2_10[10];
857 static TNimNode* TM__GYgvYKeHVTEls0AcywABHQ_3_4[4];
858 NI TM__GYgvYKeHVTEls0AcywABHQ_5;
859 static char* NIM_CONST TM__GYgvYKeHVTEls0AcywABHQ_4[4] = {
860 "cmdEnd",
861 "cmdArgument",
862 "cmdLongOption",
863 "cmdShortOption"};
864 static TNimNode TM__GYgvYKeHVTEls0AcywABHQ_0[17];
865 NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_.size = sizeof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg);
866 NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_.align = NIM_ALIGNOF(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg);
867 NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_.kind = 17;
868 NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
869 TM__GYgvYKeHVTEls0AcywABHQ_2_10[0] = &TM__GYgvYKeHVTEls0AcywABHQ_0[1];
870 TM__GYgvYKeHVTEls0AcywABHQ_0[1].kind = 1;
871 TM__GYgvYKeHVTEls0AcywABHQ_0[1].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, pos);
872 TM__GYgvYKeHVTEls0AcywABHQ_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
873 TM__GYgvYKeHVTEls0AcywABHQ_0[1].name = "pos";
874 TM__GYgvYKeHVTEls0AcywABHQ_2_10[1] = &TM__GYgvYKeHVTEls0AcywABHQ_0[2];
875 TM__GYgvYKeHVTEls0AcywABHQ_0[2].kind = 1;
876 TM__GYgvYKeHVTEls0AcywABHQ_0[2].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, inShortState);
877 TM__GYgvYKeHVTEls0AcywABHQ_0[2].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
878 TM__GYgvYKeHVTEls0AcywABHQ_0[2].name = "inShortState";
879 TM__GYgvYKeHVTEls0AcywABHQ_2_10[2] = &TM__GYgvYKeHVTEls0AcywABHQ_0[3];
880 TM__GYgvYKeHVTEls0AcywABHQ_0[3].kind = 1;
881 TM__GYgvYKeHVTEls0AcywABHQ_0[3].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, allowWhitespaceAfterColon);
882 TM__GYgvYKeHVTEls0AcywABHQ_0[3].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
883 TM__GYgvYKeHVTEls0AcywABHQ_0[3].name = "allowWhitespaceAfterColon";
884 TM__GYgvYKeHVTEls0AcywABHQ_2_10[3] = &TM__GYgvYKeHVTEls0AcywABHQ_0[4];
885 NTIsetLcharT__HDqWPvEAxZK51ZcfaeQEdg_.size = sizeof(tySet_tyChar__nmiMWKVIe46vacnhAFrQvw);
886 NTIsetLcharT__HDqWPvEAxZK51ZcfaeQEdg_.align = NIM_ALIGNOF(tySet_tyChar__nmiMWKVIe46vacnhAFrQvw);
887 NTIsetLcharT__HDqWPvEAxZK51ZcfaeQEdg_.kind = 19;
888 NTIsetLcharT__HDqWPvEAxZK51ZcfaeQEdg_.base = (&NTIchar__nmiMWKVIe46vacnhAFrQvw_);
889 NTIsetLcharT__HDqWPvEAxZK51ZcfaeQEdg_.flags = 3;
890 TM__GYgvYKeHVTEls0AcywABHQ_0[5].len = 0; TM__GYgvYKeHVTEls0AcywABHQ_0[5].kind = 0;
891 NTIsetLcharT__HDqWPvEAxZK51ZcfaeQEdg_.node = &TM__GYgvYKeHVTEls0AcywABHQ_0[5];
892 TM__GYgvYKeHVTEls0AcywABHQ_0[4].kind = 1;
893 TM__GYgvYKeHVTEls0AcywABHQ_0[4].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, shortNoVal);
894 TM__GYgvYKeHVTEls0AcywABHQ_0[4].typ = (&NTIsetLcharT__HDqWPvEAxZK51ZcfaeQEdg_);
895 TM__GYgvYKeHVTEls0AcywABHQ_0[4].name = "shortNoVal";
896 TM__GYgvYKeHVTEls0AcywABHQ_2_10[4] = &TM__GYgvYKeHVTEls0AcywABHQ_0[6];
897 TM__GYgvYKeHVTEls0AcywABHQ_0[6].kind = 1;
898 TM__GYgvYKeHVTEls0AcywABHQ_0[6].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, longNoVal);
899 TM__GYgvYKeHVTEls0AcywABHQ_0[6].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
900 TM__GYgvYKeHVTEls0AcywABHQ_0[6].name = "longNoVal";
901 TM__GYgvYKeHVTEls0AcywABHQ_2_10[5] = &TM__GYgvYKeHVTEls0AcywABHQ_0[7];
902 TM__GYgvYKeHVTEls0AcywABHQ_0[7].kind = 1;
903 TM__GYgvYKeHVTEls0AcywABHQ_0[7].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, cmds);
904 TM__GYgvYKeHVTEls0AcywABHQ_0[7].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
905 TM__GYgvYKeHVTEls0AcywABHQ_0[7].name = "cmds";
906 TM__GYgvYKeHVTEls0AcywABHQ_2_10[6] = &TM__GYgvYKeHVTEls0AcywABHQ_0[8];
907 TM__GYgvYKeHVTEls0AcywABHQ_0[8].kind = 1;
908 TM__GYgvYKeHVTEls0AcywABHQ_0[8].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, idx);
909 TM__GYgvYKeHVTEls0AcywABHQ_0[8].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
910 TM__GYgvYKeHVTEls0AcywABHQ_0[8].name = "idx";
911 TM__GYgvYKeHVTEls0AcywABHQ_2_10[7] = &TM__GYgvYKeHVTEls0AcywABHQ_0[9];
912 NTIcmdlinekind__XkdXq9atxjiuhkFFh0XYrSA_.size = sizeof(tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA);
913 NTIcmdlinekind__XkdXq9atxjiuhkFFh0XYrSA_.align = NIM_ALIGNOF(tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA);
914 NTIcmdlinekind__XkdXq9atxjiuhkFFh0XYrSA_.kind = 14;
915 NTIcmdlinekind__XkdXq9atxjiuhkFFh0XYrSA_.base = 0;
916 NTIcmdlinekind__XkdXq9atxjiuhkFFh0XYrSA_.flags = 3;
917 for (TM__GYgvYKeHVTEls0AcywABHQ_5 = 0; TM__GYgvYKeHVTEls0AcywABHQ_5 < 4; TM__GYgvYKeHVTEls0AcywABHQ_5++) {
918 TM__GYgvYKeHVTEls0AcywABHQ_0[TM__GYgvYKeHVTEls0AcywABHQ_5+10].kind = 1;
919 TM__GYgvYKeHVTEls0AcywABHQ_0[TM__GYgvYKeHVTEls0AcywABHQ_5+10].offset = TM__GYgvYKeHVTEls0AcywABHQ_5;
920 TM__GYgvYKeHVTEls0AcywABHQ_0[TM__GYgvYKeHVTEls0AcywABHQ_5+10].name = TM__GYgvYKeHVTEls0AcywABHQ_4[TM__GYgvYKeHVTEls0AcywABHQ_5];
921 TM__GYgvYKeHVTEls0AcywABHQ_3_4[TM__GYgvYKeHVTEls0AcywABHQ_5] = &TM__GYgvYKeHVTEls0AcywABHQ_0[TM__GYgvYKeHVTEls0AcywABHQ_5+10];
922 }
923 TM__GYgvYKeHVTEls0AcywABHQ_0[14].len = 4; TM__GYgvYKeHVTEls0AcywABHQ_0[14].kind = 2; TM__GYgvYKeHVTEls0AcywABHQ_0[14].sons = &TM__GYgvYKeHVTEls0AcywABHQ_3_4[0];
924 NTIcmdlinekind__XkdXq9atxjiuhkFFh0XYrSA_.node = &TM__GYgvYKeHVTEls0AcywABHQ_0[14];
925 TM__GYgvYKeHVTEls0AcywABHQ_0[9].kind = 1;
926 TM__GYgvYKeHVTEls0AcywABHQ_0[9].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, kind);
927 TM__GYgvYKeHVTEls0AcywABHQ_0[9].typ = (&NTIcmdlinekind__XkdXq9atxjiuhkFFh0XYrSA_);
928 TM__GYgvYKeHVTEls0AcywABHQ_0[9].name = "kind";
929 TM__GYgvYKeHVTEls0AcywABHQ_2_10[8] = &TM__GYgvYKeHVTEls0AcywABHQ_0[15];
930 TM__GYgvYKeHVTEls0AcywABHQ_0[15].kind = 1;
931 TM__GYgvYKeHVTEls0AcywABHQ_0[15].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, key);
932 TM__GYgvYKeHVTEls0AcywABHQ_0[15].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
933 TM__GYgvYKeHVTEls0AcywABHQ_0[15].name = "key";
934 TM__GYgvYKeHVTEls0AcywABHQ_2_10[9] = &TM__GYgvYKeHVTEls0AcywABHQ_0[16];
935 TM__GYgvYKeHVTEls0AcywABHQ_0[16].kind = 1;
936 TM__GYgvYKeHVTEls0AcywABHQ_0[16].offset = offsetof(tyObject_OptParser__l9cyoK9aLLTUH7LBRIbLqETg, val);
937 TM__GYgvYKeHVTEls0AcywABHQ_0[16].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
938 TM__GYgvYKeHVTEls0AcywABHQ_0[16].name = "val";
939 TM__GYgvYKeHVTEls0AcywABHQ_0[0].len = 10; TM__GYgvYKeHVTEls0AcywABHQ_0[0].kind = 2; TM__GYgvYKeHVTEls0AcywABHQ_0[0].sons = &TM__GYgvYKeHVTEls0AcywABHQ_2_10[0];
940 NTIoptparser__l9cyoK9aLLTUH7LBRIbLqETg_.node = &TM__GYgvYKeHVTEls0AcywABHQ_0[0];
941 }
942 
943