/ nimble-linux / @mnimblepkg@spackageinstaller.nim.c
@mnimblepkg@spackageinstaller.nim.c
  1  /* Generated by Nim Compiler v1.6.11 */
  2  #define NIM_INTBITS 64
  3  
  4  #include "nimbase.h"
  5  #include <string.h>
  6  #undef LANGUAGE_C
  7  #undef MIPSEB
  8  #undef MIPSEL
  9  #undef PPC
 10  #undef R3000
 11  #undef R4000
 12  #undef i386
 13  #undef linux
 14  #undef mips
 15  #undef near
 16  #undef far
 17  #undef powerpc
 18  #undef unix
 19    #  define nimfr_(proc, file) \
 20        TFrame FR_; \
 21        FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
 22  
 23    #  define nimfrs_(proc, file, slots, length) \
 24        struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 25        FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
 26  
 27    #  define nimln_(n, file) \
 28        FR_.line = n; FR_.filename = file;
 29    typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
 30  typedef struct TGenericSeq TGenericSeq;
 31  typedef struct NimStringDesc NimStringDesc;
 32  typedef struct tyObject_Options__LR5gStV09bAFaOqz9agkkZxQ tyObject_Options__LR5gStV09bAFaOqz9agkkZxQ;
 33  typedef struct TNimType TNimType;
 34  typedef struct TNimNode TNimNode;
 35  typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
 36  typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
 37  typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
 38  typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
 39  typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
 40  typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
 41  typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
 42  typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
 43  typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
 44  typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
 45  typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
 46  typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
 47  typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
 48  typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
 49  typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
 50  typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
 51  typedef struct tyObject_Action__Axd3qAbppa2kHdtxRGykNw tyObject_Action__Axd3qAbppa2kHdtxRGykNw;
 52  typedef struct tySequence__kLwf9aGQcuduFr4gekUDa2w tySequence__kLwf9aGQcuduFr4gekUDa2w;
 53  typedef struct tySequence__K2J9a59aomOCxv7VVeiHZfug tySequence__K2J9a59aomOCxv7VVeiHZfug;
 54  typedef struct tyObject_Option__vK1KzfYf1DGLiUIpLm9cS0A tyObject_Option__vK1KzfYf1DGLiUIpLm9cS0A;
 55  typedef struct tyObject_Config__4CDaXnHluuDhjlvHrDG8RA tyObject_Config__4CDaXnHluuDhjlvHrDG8RA;
 56  typedef struct tyObject_Table__9cUbBDOJGZJU2domnRMqAHQ tyObject_Table__9cUbBDOJGZJU2domnRMqAHQ;
 57  typedef struct tySequence__sQx7tKsP6HE09cszRIkxbdg tySequence__sQx7tKsP6HE09cszRIkxbdg;
 58  typedef struct tyObject_Uri__j49bukNPrq747O1GRd4Ng9bQ tyObject_Uri__j49bukNPrq747O1GRd4Ng9bQ;
 59  typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
 60  typedef struct tyObject_Table__861JQ0xhLIYW2jzxkMweLQ tyObject_Table__861JQ0xhLIYW2jzxkMweLQ;
 61  typedef struct tySequence__v6NVljHM6giAeuZKHEoQNA tySequence__v6NVljHM6giAeuZKHEoQNA;
 62  typedef struct tyTuple__gDWaEqPfhOauJWKMBm8bzg tyTuple__gDWaEqPfhOauJWKMBm8bzg;
 63  typedef struct tyObject_VersionRangeObj__FrJQzed5Yezqp6gCbEyg0w tyObject_VersionRangeObj__FrJQzed5Yezqp6gCbEyg0w;
 64  typedef struct tyTuple__7OnuWIzW3xYXy9bIUIvuRmA tyTuple__7OnuWIzW3xYXy9bIUIvuRmA;
 65  typedef struct tyTuple__vQEyvUeZmB7ODgnsZ5BScQ tyTuple__vQEyvUeZmB7ODgnsZ5BScQ;
 66  typedef struct tyObject_PackageList__00UcE13159cf20wGpsHwwMg tyObject_PackageList__00UcE13159cf20wGpsHwwMg;
 67  typedef struct tyTuple__rLNSKSsDc19cDzAtjOZs9cSw tyTuple__rLNSKSsDc19cDzAtjOZs9cSw;
 68  struct TGenericSeq {
 69  NI len;
 70  NI reserved;
 71  };
 72  struct NimStringDesc {
 73    TGenericSeq Sup;
 74  NIM_CHAR data[SEQ_DECL_SIZE];
 75  };
 76  typedef NU16 tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA;
 77  typedef NU8 tyEnum_DisplayType__HypVeg1P09aXzPaqyobO7xA;
 78  typedef NU8 tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ;
 79  typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
 80  typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
 81  typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
 82  typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
 83  typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
 84  struct TNimType {
 85  NI size;
 86  NI align;
 87  tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
 88  tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
 89  TNimType* base;
 90  TNimNode* node;
 91  void* finalizer;
 92  tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
 93  tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
 94  };
 95  typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
 96  struct TNimNode {
 97  tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
 98  NI offset;
 99  TNimType* typ;
100  NCSTRING name;
101  NI len;
102  TNimNode** sons;
103  };
104  struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
105  NI refcount;
106  TNimType* typ;
107  };
108  struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
109  void* bottom;
110  };
111  struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
112  NI len;
113  NI cap;
114  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
115  };
116  typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
117  typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
118  typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
119  typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
120  typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
121  struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
122  tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
123  };
124  typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
125  struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
126  tyArray__0aOLqZchNi8nWtMTi8ND8w link;
127  NI key;
128  NI upperBound;
129  NI level;
130  };
131  struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
132  tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
133  NI Field1;
134  };
135  typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
136  struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
137  NI len;
138  tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
139  tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
140  };
141  struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
142  NI minLargeObj;
143  NI maxLargeObj;
144  tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
145  NU32 flBitmap;
146  tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
147  tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
148  tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
149  NI currMem;
150  NI maxMem;
151  NI freeMem;
152  NI occ;
153  NI lastSize;
154  tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
155  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
156  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
157  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
158  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
159  NIM_BOOL locked;
160  NIM_BOOL blockChunkSizeIncrease;
161  NI nextChunkSize;
162  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
163  tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
164  };
165  struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
166  NI stackScans;
167  NI cycleCollections;
168  NI maxThreshold;
169  NI maxStackSize;
170  NI maxStackCells;
171  NI cycleTableSize;
172  NI64 maxPause;
173  };
174  struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
175  NI counter;
176  NI max;
177  tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
178  tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
179  };
180  struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
181  tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
182  NI cycleThreshold;
183  NI zctThreshold;
184  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
185  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
186  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
187  NI recGcLock;
188  tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
189  tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
190  tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
191  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
192  NI gcThreadId;
193  };
194  typedef NU8 tyEnum_ForcePrompt__djMIU0KJ4yj4ST3o49caOhA;
195  typedef NU8 tyEnum_ActionType__w1V3R82mpkCDejycxLFPdg;
196  struct tyObject_Option__vK1KzfYf1DGLiUIpLm9cS0A {
197  NimStringDesc* val;
198  NIM_BOOL has;
199  };
200  struct tyObject_Action__Axd3qAbppa2kHdtxRGykNw {
201  tyEnum_ActionType__w1V3R82mpkCDejycxLFPdg typ;
202  union{
203  struct {NIM_BOOL listOnly;
204  } _typ_2;
205  struct {NimStringDesc* optionalURL;
206  } _typ_3;
207  struct {tySequence__kLwf9aGQcuduFr4gekUDa2w* packages;
208  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* passNimFlags;
209  tySequence__K2J9a59aomOCxv7VVeiHZfug* devActions;
210  NimStringDesc* path;
211  NIM_BOOL noRebuild;
212  NIM_BOOL withDependencies;
213  NimStringDesc* developFile;
214  NIM_BOOL global;
215  } _typ_4;
216  struct {tySequence__sM4lkSb7zS6F7OVMvW9cffQ* search;
217  } _typ_5;
218  struct {NimStringDesc* projName;
219  NimStringDesc* vcsOption;
220  } _typ_6;
221  struct {NimStringDesc* file;
222  NimStringDesc* backend;
223  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* additionalArguments;
224  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptions;
225  } _typ_7;
226  struct {tyObject_Option__vK1KzfYf1DGLiUIpLm9cS0A runFile;
227  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileFlags;
228  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* runFlags;
229  } _typ_8;
230  struct {NimStringDesc* command;
231  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* arguments;
232  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* custCompileFlags;
233  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* custRunFlags;
234  } _typ_9;
235  struct {NimStringDesc* format;
236  } _typ_10;
237  };
238  };
239  struct tyObject_Table__9cUbBDOJGZJU2domnRMqAHQ {
240  tySequence__sQx7tKsP6HE09cszRIkxbdg* data;
241  NI counter;
242  };
243  struct tyObject_Uri__j49bukNPrq747O1GRd4Ng9bQ {
244  NimStringDesc* scheme;
245  NimStringDesc* username;
246  NimStringDesc* password;
247  NimStringDesc* hostname;
248  NimStringDesc* port;
249  NimStringDesc* path;
250  NimStringDesc* query;
251  NimStringDesc* anchor;
252  NIM_BOOL opaque;
253  NIM_BOOL isIpv6;
254  };
255  struct tyObject_Config__4CDaXnHluuDhjlvHrDG8RA {
256  NimStringDesc* nimbleDir;
257  NIM_BOOL chcp;
258  tyObject_Table__9cUbBDOJGZJU2domnRMqAHQ packageLists;
259  NIM_BOOL cloneUsingHttps;
260  tyObject_Uri__j49bukNPrq747O1GRd4Ng9bQ httpProxy;
261  };
262  typedef NU8 tyEnum_DumpMode__lrp4056pVLtFZp9cfnP5HtA;
263  struct tyObject_Options__LR5gStV09bAFaOqz9agkkZxQ {
264  tyEnum_ForcePrompt__djMIU0KJ4yj4ST3o49caOhA forcePrompts;
265  NIM_BOOL depsOnly;
266  NIM_BOOL uninstallRevDeps;
267  NIM_BOOL queryVersions;
268  NIM_BOOL queryInstalled;
269  NimStringDesc* nimbleDir;
270  tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ verbosity;
271  tyObject_Action__Axd3qAbppa2kHdtxRGykNw action;
272  tyObject_Config__4CDaXnHluuDhjlvHrDG8RA config;
273  tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* nimbleData;
274  tyObject_Table__861JQ0xhLIYW2jzxkMweLQ* pkgInfoCache;
275  NIM_BOOL showHelp;
276  NimStringDesc* lockFileName;
277  NIM_BOOL showVersion;
278  NIM_BOOL offline;
279  NIM_BOOL noColor;
280  NIM_BOOL disableValidation;
281  NIM_BOOL continueTestsOnFailure;
282  NIM_BOOL forceFullClone;
283  tySequence__v6NVljHM6giAeuZKHEoQNA* unknownFlags;
284  tyEnum_DumpMode__lrp4056pVLtFZp9cfnP5HtA dumpMode;
285  NimStringDesc* startDir;
286  NimStringDesc* nim;
287  NIM_BOOL localdeps;
288  NIM_BOOL developLocaldeps;
289  NIM_BOOL disableSslCertCheck;
290  NIM_BOOL enableTarballs;
291  NimStringDesc* task;
292  NimStringDesc* package;
293  };
294  struct tyTuple__gDWaEqPfhOauJWKMBm8bzg {
295  NimStringDesc* Field0;
296  tyObject_VersionRangeObj__FrJQzed5Yezqp6gCbEyg0w* Field1;
297  };
298  typedef NU8 tyEnum_DevelopActionType__x2ItfH5czqSlrOttkAoYOQ;
299  struct tyTuple__7OnuWIzW3xYXy9bIUIvuRmA {
300  tyEnum_DevelopActionType__x2ItfH5czqSlrOttkAoYOQ Field0;
301  NimStringDesc* Field1;
302  };
303  struct tyObject_PackageList__00UcE13159cf20wGpsHwwMg {
304  NimStringDesc* name;
305  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* urls;
306  NimStringDesc* path;
307  };
308  struct tyTuple__vQEyvUeZmB7ODgnsZ5BScQ {
309  NI Field0;
310  NimStringDesc* Field1;
311  tyObject_PackageList__00UcE13159cf20wGpsHwwMg Field2;
312  };
313  typedef NU8 tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA;
314  struct tyTuple__rLNSKSsDc19cDzAtjOZs9cSw {
315  tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA Field0;
316  NimStringDesc* Field1;
317  NimStringDesc* Field2;
318  };
319  struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
320    TGenericSeq Sup;
321    NimStringDesc* data[SEQ_DECL_SIZE];
322  };
323  struct tySequence__kLwf9aGQcuduFr4gekUDa2w {
324    TGenericSeq Sup;
325    tyTuple__gDWaEqPfhOauJWKMBm8bzg data[SEQ_DECL_SIZE];
326  };
327  struct tySequence__K2J9a59aomOCxv7VVeiHZfug {
328    TGenericSeq Sup;
329    tyTuple__7OnuWIzW3xYXy9bIUIvuRmA data[SEQ_DECL_SIZE];
330  };
331  struct tySequence__sQx7tKsP6HE09cszRIkxbdg {
332    TGenericSeq Sup;
333    tyTuple__vQEyvUeZmB7ODgnsZ5BScQ data[SEQ_DECL_SIZE];
334  };
335  struct tySequence__v6NVljHM6giAeuZKHEoQNA {
336    TGenericSeq Sup;
337    tyTuple__rLNSKSsDc19cDzAtjOZs9cSw data[SEQ_DECL_SIZE];
338  };
339  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosrelativePath)(NimStringDesc* path, NimStringDesc* base, NIM_CHAR sep);
340  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path);
341  N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA, nosgetFilePermissions)(NimStringDesc* filename);
342  N_LIB_PRIVATE N_NIMCALL(void, nossetFilePermissions)(NimStringDesc* filename, tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions, NIM_BOOL followSymlinks);
343  N_LIB_PRIVATE N_NIMCALL(void, display__nimblepkgZcli_156)(NimStringDesc* category, NimStringDesc* msg, tyEnum_DisplayType__HypVeg1P09aXzPaqyobO7xA displayType, tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ priority);
344  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
345  static N_INLINE(void, nimZeroMem)(void* p, NI size);
346  static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
347  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
348  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
349  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
350  N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringDesc* file);
351  N_LIB_PRIVATE N_NIMCALL(void, createSymlink__pureZos_1011)(NimStringDesc* src, NimStringDesc* dest);
352  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
353  N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
354  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
355  static N_INLINE(void, nimGCunrefNoCycle)(void* p);
356  static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
357  static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
358  static N_INLINE(void, nimFrame)(TFrame* s);
359  N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
360  static N_INLINE(void, popFrame)(void);
361  static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
362  static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
363  N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5293)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
364  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr);
365  STRING_LITERAL(TM__yK9aybloZA9bb1n4SolPwsJg_2, "Creating", 8);
366  STRING_LITERAL(TM__yK9aybloZA9bb1n4SolPwsJg_3, "symlink: $1 -> $2", 17);
367  STRING_LITERAL(TM__yK9aybloZA9bb1n4SolPwsJg_4, "Symlink already exists in $1. Replacing.", 40);
368  STRING_LITERAL(TM__yK9aybloZA9bb1n4SolPwsJg_5, "Warning:", 8);
369  extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
370  extern TFrame* framePtr__system_2564;
371  extern TFrame* framePtr__system_2564;
372  extern TFrame* framePtr__system_2564;
373  extern TFrame* framePtr__system_2564;
374  extern TFrame* framePtr__system_2564;
375  extern TFrame* framePtr__system_2564;
376  extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5246;
377  static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
378  	void* T1_;
379  	T1_ = (void*)0;
380  	T1_ = memset(a, v, ((size_t) (size)));
381  }
382  static N_INLINE(void, nimZeroMem)(void* p, NI size) {
383  	nimSetMem__systemZmemory_7(p, ((int) 0), size);
384  }
385  static N_INLINE(void, nimFrame)(TFrame* s) {
386  	{
387  		if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
388  		(*s).calldepth = ((NI16) 0);
389  	}
390  	goto LA1_;
391  	LA3_: ;
392  	{
393  		(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
394  	}
395  	LA1_: ;
396  	(*s).prev = framePtr__system_2564;
397  	framePtr__system_2564 = s;
398  	{
399  		if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
400  		callDepthLimitReached__system_2997();
401  	}
402  	LA8_: ;
403  }
404  static N_INLINE(void, popFrame)(void) {
405  	framePtr__system_2564 = (*framePtr__system_2564).prev;
406  }
407  static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
408  	NI result;
409  	nimfr_("-%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
410  	result = (NI)0;
411  	nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
412  	nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
413  	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
414  	popFrame();
415  	return result;
416  }
417  static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
418  	NIM_BOOL result;
419  	nimfr_("<%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
420  	result = (NIM_BOOL)0;
421  	nimln_(186, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
422  	nimln_(188, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
423  	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
424  	popFrame();
425  	return result;
426  }
427  static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
428  	nimfr_("rtlAddZCT", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
429  	nimln_(243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
430  	addZCT__system_5293((&gch__system_5246.zct), c);
431  	popFrame();
432  }
433  static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
434  	nimfr_("decRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
435  	nimln_(248, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
436  	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
437  	nimln_(249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
438  	{
439  		NIM_BOOL T3_;
440  		T3_ = (NIM_BOOL)0;
441  		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
442  		if (!T3_) goto LA4_;
443  		nimln_(250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
444  		rtlAddZCT__system_5342(c);
445  	}
446  	LA4_: ;
447  	popFrame();
448  }
449  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr) {
450  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
451  	NI T1_;
452  	nimfr_("usrToCell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
453  	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
454  	nimln_(177, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
455  	T1_ = (NI)0;
456  	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
457  	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
458  	popFrame();
459  	return result;
460  }
461  static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
462  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
463  	nimfr_("nimGCunrefNoCycle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
464  	nimln_(276, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
465  	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
466  	T1_ = usrToCell__system_5299(p);
467  	decRef__system_5344(T1_);
468  	popFrame();
469  }
470  N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, setupBinSymlink__nimblepkgZpackageinstaller_5)(NimStringDesc* symlinkDest, NimStringDesc* symlinkFilename, tyObject_Options__LR5gStV09bAFaOqz9agkkZxQ* options) {
471  	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
472  	NimStringDesc* symlinkDestRel;
473  	NimStringDesc* T1_;
474  	tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA currentPerms;
475  	tyArray__Re75IspeoxXy2oCZHwcRrA T2_;
476  	NimStringDesc* T3_;
477  	NimStringDesc* T9_;
478  	NI T10_;
479  	NimStringDesc* T11_;
480  	nimfr_("setupBinSymlink", "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
481  	result = NIM_NIL;
482  	nimln_(28, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
483  	result = NIM_NIL;
484  	nimln_(30, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
485  	T1_ = NIM_NIL;
486  	T1_ = nosparentDir(symlinkFilename);
487  	symlinkDestRel = nosrelativePath(symlinkDest, T1_, 47);
488  	nimln_(31, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
489  	currentPerms = nosgetFilePermissions(symlinkDest);
490  	nimln_(32, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
491  	nossetFilePermissions(symlinkDest, (currentPerms | 1), NIM_TRUE);
492  	nimln_(34, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
493  	nimZeroMem((void*)T2_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
494  	T2_[0] = copyString(symlinkDest);
495  	T2_[1] = copyString(symlinkFilename);
496  	T3_ = NIM_NIL;
497  	T3_ = nsuFormatOpenArray(((NimStringDesc*) &TM__yK9aybloZA9bb1n4SolPwsJg_3), T2_, 2);
498  	display__nimblepkgZcli_156(((NimStringDesc*) &TM__yK9aybloZA9bb1n4SolPwsJg_2), T3_, ((tyEnum_DisplayType__HypVeg1P09aXzPaqyobO7xA) 4), ((tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ) 2));
499  	nimln_(36, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
500  	{
501  		NIM_BOOL T6_;
502  		NimStringDesc* msg;
503  		T6_ = (NIM_BOOL)0;
504  		T6_ = nosfileExists(symlinkFilename);
505  		if (!T6_) goto LA7_;
506  		nimln_(37, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
507  		msg = nsuFormatSingleElem(((NimStringDesc*) &TM__yK9aybloZA9bb1n4SolPwsJg_4), symlinkFilename);
508  		nimln_(38, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
509  		display__nimblepkgZcli_156(((NimStringDesc*) &TM__yK9aybloZA9bb1n4SolPwsJg_5), msg, ((tyEnum_DisplayType__HypVeg1P09aXzPaqyobO7xA) 1), ((tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ) 3));
510  		nimln_(39, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
511  		nosremoveFile(symlinkFilename);
512  	}
513  	LA7_: ;
514  	nimln_(41, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
515  	createSymlink__pureZos_1011(symlinkDestRel, symlinkFilename);
516  	nimln_(42, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
517  	T9_ = NIM_NIL;
518  	T9_ = nosextractFilename(symlinkFilename);
519  	result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
520  	T10_ = result->Sup.len++;
521  	T11_ = NIM_NIL;
522  	T11_ = result->data[T10_]; result->data[T10_] = copyStringRC1(T9_);
523  	if (T11_) nimGCunrefNoCycle(T11_);
524  	popFrame();
525  	return result;
526  }