/* Generated by Nim Compiler v0.16.0 */
/*   (c) 2017 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#undef linux
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct Processobj_NHqciQYh8G1aN2n273mmYw Processobj_NHqciQYh8G1aN2n273mmYw;
typedef struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw;
typedef struct Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ;
typedef struct Processinformation_rpgAdaffN9b79bo2kEQiFsMg Processinformation_rpgAdaffN9b79bo2kEQiFsMg;
typedef struct TNimObject TNimObject;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw;
typedef struct TY_0hEbbYmlam6yzyW5MFo9cjg TY_0hEbbYmlam6yzyW5MFo9cjg;
typedef struct TY_4eQHGndY6XBYpFOH09apV8Q TY_4eQHGndY6XBYpFOH09apV8Q;
typedef struct TY_UV3llMMYFckfui8YMBuUZA TY_UV3llMMYFckfui8YMBuUZA;
typedef struct Streamobj_RShkcoDOPnoCVhtpN1hDPQ Streamobj_RShkcoDOPnoCVhtpN1hDPQ;
typedef struct Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw;
typedef struct TY_l0xXJxOLtcuhlSBHl64t5w TY_l0xXJxOLtcuhlSBHl64t5w;
typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w;
typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA;
typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg;
typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w;
typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 TY_nmiMWKVIe46vacnhAFrQvw_Set[32];
typedef NU8 Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set;
struct  Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ  {
NI32 cb;
NCSTRING lpreserved;
NCSTRING lpdesktop;
NCSTRING lptitle;
NI32 dwx;
NI32 dwy;
NI32 dwxsize;
NI32 dwysize;
NI32 dwxcountchars;
NI32 dwycountchars;
NI32 dwfillattribute;
NI32 dwflags;
NI16 wshowwindow;
NI16 cbreserved2;
void* lpreserved2;
NI hstdinput;
NI hstdoutput;
NI hstderror;
};
struct  Processinformation_rpgAdaffN9b79bo2kEQiFsMg  {
NI hprocess;
NI hthread;
NI32 dwprocessid;
NI32 dwthreadid;
};
typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set;
typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0);
typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0);
struct  TNimType  {
NI size;
Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind;
Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY_ojoeKfW4VYIm36I9cpDTQIg marker;
TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  Processobj_NHqciQYh8G1aN2n273mmYw  {
  TNimObject Sup;
NI fprocesshandle;
int inhandle;
int outhandle;
int errhandle;
NI id;
int exitstatus;
Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options;
};
typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ;
struct  TNimNode  {
Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NU8 Processoption_bnU6W8LhTMnT4JaSWtGlSA;
struct  Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw  {
NI32 nlength;
void* lpsecuritydescriptor;
NI32 binherithandle;
};
typedef N_STDCALL_PTR(NI32, TY_C5kM33gEhlSKPXwfDNHofQ) (NI* hreadpipe0, NI* hwritepipe0, Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw* lppipeattributes0, NI32 nsize0);
typedef N_STDCALL_PTR(NI, TY_zbOhGDO3f3Asi0OF5kiN4w) (NI16* lpname0, NI32 dwopenmode0, NI32 dwpipemode0, NI32 nmaxinstances0, NI32 noutbuffersize0, NI32 ninbuffersize0, NI32 ndefaulttimeout0, Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw* lpsecurityattributes0);
typedef N_STDCALL_PTR(NI, TY_jZjaRJIBSgYA1p8iXwsy9cA) (NI16* lpfilename0, NI32 dwdesiredaccess0, NI32 dwsharemode0, void* lpsecurityattributes0, NI32 dwcreationdisposition0, NI32 dwflagsandattributes0, NI htemplatefile0);
typedef N_STDCALL_PTR(NI, TY_uryidYWkntM7ddjZSyxvyQ) (void);
typedef N_STDCALL_PTR(NI32, TY_oew1DfaGl5XhHmnBK0HYXQ) (NI hsourceprocesshandle0, NI hsourcehandle0, NI htargetprocesshandle0, NI* lptargethandle0, NI32 dwdesiredaccess0, NI32 binherithandle0, NI32 dwoptions0);
typedef N_STDCALL_PTR(NI32, TY_P13srMBg9b3d3yEV9aW4NCoA) (NI hobject0);
typedef N_STDCALL_PTR(NI, TY_zP2zGemcuVRvOUE82f9a0Pw) (NI32 nstdhandle0);
struct TY_0hEbbYmlam6yzyW5MFo9cjg {
NCSTRING Field0;
NI Field1;
};
typedef NU8 Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ;
struct  Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw  {
  TNimObject Sup;
NI counter;
TY_4eQHGndY6XBYpFOH09apV8Q* data;
Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ mode;
};
struct TY_UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
typedef N_STDCALL_PTR(NI32, TY_sZsab4827ISgT5SnxCijjg) (NI16* lpapplicationname0, NI16* lpcommandline0, Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw* lpprocessattributes0, Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw* lpthreadattributes0, NI32 binherithandles0, NI32 dwcreationflags0, NI16* lpenvironment0, NI16* lpcurrentdirectory0, Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ* lpstartupinfo0, Processinformation_rpgAdaffN9b79bo2kEQiFsMg* lpprocessinformation0);
typedef N_NIMCALL_PTR(void, TY_cnkJEp9bna8U6yi9aVW9cAJ0Q) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
typedef N_NIMCALL_PTR(NIM_BOOL, TY_KjFcmLOhf4VQvVcyLJWXZw) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
typedef N_NIMCALL_PTR(void, TY_jlOYFw9cHausuCbPoWx2iiA) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, NI pos0);
typedef N_NIMCALL_PTR(NI, TY_Xzm85qBLb9cf9cu8VOfAr8PQ) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
typedef N_NIMCALL_PTR(NI, TY_tjaJtoUzLe1BMUbItlcGhQ) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, void* buffer0, NI buflen0);
typedef N_NIMCALL_PTR(void, TY_b9bsIuILxTLVZHPvJBW187A) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, void* buffer0, NI buflen0);
struct  Streamobj_RShkcoDOPnoCVhtpN1hDPQ  {
  TNimObject Sup;
TY_cnkJEp9bna8U6yi9aVW9cAJ0Q closeimpl;
TY_KjFcmLOhf4VQvVcyLJWXZw atendimpl;
TY_jlOYFw9cHausuCbPoWx2iiA setpositionimpl;
TY_Xzm85qBLb9cf9cu8VOfAr8PQ getpositionimpl;
TY_tjaJtoUzLe1BMUbItlcGhQ readdataimpl;
TY_tjaJtoUzLe1BMUbItlcGhQ peekdataimpl;
TY_b9bsIuILxTLVZHPvJBW187A writedataimpl;
TY_cnkJEp9bna8U6yi9aVW9cAJ0Q flushimpl;
};
struct  Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw  {
  Streamobj_RShkcoDOPnoCVhtpN1hDPQ Sup;
NI handle;
NIM_BOOL attheend;
};
typedef N_STDCALL_PTR(NI32, TY_9ajZYMGL5GqiRFqiCC367oA) (NI hfile0, void* Buffer0, NI32 nnumberofbytestoread0, NI32* lpnumberofbytesread0, void* lpoverlapped0);
typedef N_STDCALL_PTR(NI32, TY_FprzxJFfqQdWyyGxiUsmeQ) (NI hhandle0, NI32 dwmilliseconds0);
typedef N_STDCALL_PTR(NI32, TY_KxeGXN001TReCr89ca9c5bng) (NI hprocess0, NI32* lpexitcode0);
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (NI idx0, void* ClEnv);
void* ClEnv;
} TY_kElEuvYkhDcTHhB3d89aMYA;
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0, void* ClEnv);
void* ClEnv;
} TY_SfW5itioRNR8yop8fOJeNg;
typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_17) (NI idx0);
typedef NimStringDesc* TY_8ZvwQIddfpj2THRVPsFzIQ[1];
struct  Cell_1zcF9cV8XIAtbN8h5HRUB8g  {
NI refcount;
TNimType* typ;
};
struct  Cellseq_Axo1XVm9aaQueTOldv8le5w  {
NI len;
NI cap;
Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256];
struct  Intset_EZObFrE3NC9bIb3YMkY9crZA  {
TY_lh2A89ahMmYg9bCmpVaplLbA data;
};
struct  Memregion_x81NhDv59b8ercDZ9bi85jyg  {
NI minlargeobj;
NI maxlargeobj;
TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks;
Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currmem;
NI maxmem;
NI freemem;
NI lastsize;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist;
Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes;
NIM_BOOL locked;
NIM_BOOL blockchunksizeincrease;
NI nextchunksize;
};
struct  Gcstat_0RwLoVBHZPfUAcLczmfQAg  {
NI stackscans;
NI cyclecollections;
NI maxthreshold;
NI maxstacksize;
NI maxstackcells;
NI cycletablesize;
NI64 maxpause;
};
struct  Cellset_jG87P0AI9aZtss9ccTYBIISQ  {
NI counter;
NI max;
Pagedesc_fublkgIY4LG3mT51LU2WHg* head;
Pagedesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct  Gcheap_1TRH1TZMaVZTnLNcIHuNFQ  {
Gcstack_7fytPA5bBsob6See21YMRA* stack;
void* stackbottom;
NI cyclethreshold;
Cellseq_Axo1XVm9aaQueTOldv8le5w zct;
Cellseq_Axo1XVm9aaQueTOldv8le5w decstack;
Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack;
NI recgclock;
Memregion_x81NhDv59b8ercDZ9bi85jyg region;
Gcstat_0RwLoVBHZPfUAcLczmfQAg stat;
Cellset_jG87P0AI9aZtss9ccTYBIISQ marked;
Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots;
};
typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_19) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0);
typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_20) (NI idx0);
typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_21) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0);
typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_22) (NI idx0);
typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_23) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0);
struct  Gcstack_7fytPA5bBsob6See21YMRA  {
Gcstack_7fytPA5bBsob6See21YMRA* prev;
Gcstack_7fytPA5bBsob6See21YMRA* next;
void* starts;
void* pos;
NI maxstacksize;
};
struct  Basechunk_Sdq7WpT6qAH858F5ZEdG3w  {
NI prevsize;
NI size;
NIM_BOOL used;
};
struct  Smallchunk_tXn60W2f8h3jgAYdEmy5NQ  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev;
Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist;
NI free;
NI acc;
NF data;
};
struct  Llchunk_XsENErzHIZV9bhvyJx56wGw  {
NI size;
NI acc;
Llchunk_XsENErzHIZV9bhvyJx56wGw* next;
};
struct  Bigchunk_Rv9c70Uhp2TytkX7eH78qEg  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev;
NI align;
NF data;
};
typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16];
struct  Trunk_W0r8S0Y3UGke6T9bIUWnnuw  {
Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2];
struct  Avlnode_IaqjtwKhxLEpvDS9bct9blEw  {
TY_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperbound;
NI level;
};
struct  Pagedesc_fublkgIY4LG3mT51LU2WHg  {
Pagedesc_fublkgIY4LG3mT51LU2WHg* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
struct  Freecell_u6M5LHprqzkn9axr04yg9bGQ  {
Freecell_u6M5LHprqzkn9axr04yg9bGQ* next;
NI zerofield;
};
struct TY_l0xXJxOLtcuhlSBHl64t5w {
  TGenericSeq Sup;
  Processobj_NHqciQYh8G1aN2n273mmYw* data[SEQ_DECL_SIZE];
};
struct TY_4eQHGndY6XBYpFOH09apV8Q {
  TGenericSeq Sup;
  TY_UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE];
};
N_NIMCALL(NimStringDesc*, nospquoteShellWindows)(NimStringDesc* s0);
N_NIMCALL(NIM_BOOL, contains_m1TSS3QwQPclQATuiRuVZg)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0);
static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0);
N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0);
static N_NIMCALL(void, Marker_TY_Ryg5db24dBRIzTUa2BQTPg)(void* p, NI op);
N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0);
N_NIMCALL(void, createpipehandles_nS1R74hYO6jh9akpSRUPnIg)(NI* rdhandle0, NI* wrhandle0);
N_NOINLINE(void, raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA)(NI32 errorcode0, NimStringDesc* additionalinfo0);
N_NIMCALL(NI32, oslasterror_6wyvsbJUteIgEY9cC5BVJZQ)(void);
N_NIMCALL(void, createallpipehandles_ZPmzXxZKeyBt0Wi9aJjf52Q)(Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ* si0, NI* stdin_dS1b8X9bn6dC2ZZEWgAQb5Q, NI* stdout_dMYgA6WVZinWKi8dINL9bBQ, NI* stderr_9b2E9b3wEAndYKpn06YaEfdw, NI hash0);
N_NIMCALL(NI16*, newwidecstring_kxipuF9cNh6r2grKDcLjFuw)(NimStringDesc* s0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
N_NIMCALL(NI, mydup_BhmJ645pEpWayx9blkYZByQ)(NI h0, NI32 inherit0);
N_NIMCALL(NCSTRING, buildcommandline_tA5mt9bJh8OMX1zGi2svnbw)(NimStringDesc* a0, NimStringDesc** args0, NI args0Len0);
N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s0);
N_NOCONV(void*, alloc0_4cubgSerkjpuLcj5MXjiLw)(NI size0);
N_NIMCALL(TY_0hEbbYmlam6yzyW5MFo9cjg, buildenv_6JVbkmernZV2xMcrspjFVw)(Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0);
N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str0);
N_NIMCALL(NI16*, newwidecstring_NuXSaDWgkbvz3UCBEjgeFQ)(NCSTRING s0);
N_NIMCALL(NI16*, newwidecstring_b3CORJA07cGvZB3j3M3bqQ)(NCSTRING source0, NI L0);
static N_INLINE(void, fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc)(NI h0);
static N_INLINE(NIM_BOOL, HEX3DHEX3D_9ccNWqrTIE9bcAqE2Q0ro7zgos)(NCSTRING x0, NCSTRING y0);
N_NOCONV(void, dealloc_RCjNtRnHdRYntrcE7YtwWw)(void* p0);
N_NIMCALL(void, nospclose)(Processobj_NHqciQYh8G1aN2n273mmYw* p0);
N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr0, NimStringDesc* a0);
N_NIMCALL(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*, newfilehandlestream_FY9bg8cqHQ3304H4lX7tZjQ)(NI handle0);
static N_NIMCALL(void, Marker_TY_809biO2nZKLCCWaUdwxpJnw)(void* p, NI op);
N_NIMCALL(void, hsclose_mMygNk9cI9adl1hVa8HM2s5w)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
N_NIMCALL(NIM_BOOL, hsatend_RvXFfAGoLFsgGGpODT9b7BQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
N_NIMCALL(NI, hsreaddata_ieraXKQWE78CiFg2M1WiHA)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s_LkmFLRyQRfFgkFiRuysVAw, void* buffer0, NI buflen0);
N_NIMCALL(void, hswritedata_RpB0RZVadSTAvvH8cbGLKQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s_Go9cytw9cKc4d29ctlEiZa8gQ, void* buffer0, NI buflen0);
N_NIMCALL(NI, ncpicountProcessors)(void);
N_NIMCALL(void, nimGCvisit)(void* d0, NI op0);
static N_NIMCALL(void, Marker_TY_l0xXJxOLtcuhlSBHl64t5w)(void* p, NI op);
N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0);
N_NIMCALL(Processobj_NHqciQYh8G1aN2n273mmYw*, nospstartProcess)(NimStringDesc* command0, NimStringDesc* workingdir0, NimStringDesc** args0, NI args0Len0, Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0);
static N_INLINE(void, asgnRef)(void** dest0, void* src0);
static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0);
static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NIMCALL(void, nossleep)(NI milsecs0);
N_NIMCALL(NIM_BOOL, nosprunning)(Processobj_NHqciQYh8G1aN2n273mmYw* p0);
N_NIMCALL(NI, nospwaitForExit)(Processobj_NHqciQYh8G1aN2n273mmYw* p0, NI timeout0);
extern TNimType NTI_13RNkKqUOX1TtorOUlKtqA;
TNimType NTI_NHqciQYh8G1aN2n273mmYw;
extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA;
extern TNimType NTI_UtShRB9b1wZO9cvpdowm9cefA;
extern TNimType NTI_nlCscttRCss70IBTyuBqnA;
TNimType NTI_bnU6W8LhTMnT4JaSWtGlSA;
TNimType NTI_HlmBYNr2gdAZMXOsuiSZ0A;
TNimType NTI_Ryg5db24dBRIzTUa2BQTPg;
extern TY_C5kM33gEhlSKPXwfDNHofQ Dl_119622;
extern TY_zbOhGDO3f3Asi0OF5kiN4w Dl_119630;
extern TY_jZjaRJIBSgYA1p8iXwsy9cA Dl_121421;
extern TY_uryidYWkntM7ddjZSyxvyQ Dl_121419;
extern TY_oew1DfaGl5XhHmnBK0HYXQ Dl_121409;
extern TY_P13srMBg9b3d3yEV9aW4NCoA Dl_119603;
extern TY_zP2zGemcuVRvOUE82f9a0Pw Dl_119820;
extern TY_sZsab4827ISgT5SnxCijjg Dl_119652;
extern TNimType NTI_RShkcoDOPnoCVhtpN1hDPQ;
TNimType NTI_rXWfTqEOueKQF1Zr6U68Zw;
extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ;
TNimType NTI_809biO2nZKLCCWaUdwxpJnw;
extern TY_9ajZYMGL5GqiRFqiCC367oA Dl_119606;
extern TY_9ajZYMGL5GqiRFqiCC367oA Dl_119614;
extern TY_FprzxJFfqQdWyyGxiUsmeQ Dl_119807;
extern TY_KxeGXN001TReCr89ca9c5bng Dl_119815;
TNimType NTI_l0xXJxOLtcuhlSBHl64t5w;
extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_HZdw8BhppcTQo8DIK46LSg_2 = {
0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_3, "", 0);
STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_4, "\"", 1);
STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_5, "\\\"", 2);
STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_10, "\\\\.\\pipe\\stdout", 15);
STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_11, "\\\\.\\pipe\\stdin", 14);
NIM_CONST TY_0hEbbYmlam6yzyW5MFo9cjg T_HZdw8BhppcTQo8DIK46LSg_12 = {NIM_NIL,
((NI) -1)}
;
STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_13, "=", 1);
STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_14, "Requested command not found: \'$1\'. OS error:", 44);
static NIM_CONST TY_kElEuvYkhDcTHhB3d89aMYA T_HZdw8BhppcTQo8DIK46LSg_16 = {NIM_NIL,NIM_NIL};
static NIM_CONST TY_SfW5itioRNR8yop8fOJeNg T_HZdw8BhppcTQo8DIK46LSg_18 = {NIM_NIL,NIM_NIL};

static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0) {
	void* LOC1;
	LOC1 = (void*)0;
	LOC1 = memcpy(dest0, source0, ((size_t) (size0)));
}

static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) {
	copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1)))));
	(*dest0).Sup.len += (*src0).Sup.len;
}

N_NIMCALL(NimStringDesc*, nospquoteShellWindows)(NimStringDesc* s0) {
	NimStringDesc* result0;
	NIM_BOOL needquote0;
	NIM_BOOL LOC1;
	NimStringDesc* backslashbuff0;
	result0 = (NimStringDesc*)0;
	LOC1 = (NIM_BOOL)0;
	LOC1 = contains_m1TSS3QwQPclQATuiRuVZg(s0, T_HZdw8BhppcTQo8DIK46LSg_2);
	if (LOC1) goto LA2;
	LOC1 = ((s0 ? s0->Sup.len : 0) == ((NI) 0));
	LA2: ;
	needquote0 = LOC1;
	result0 = copyString(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	backslashbuff0 = copyString(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	{
		if (!needquote0) goto LA5;
		result0 = resizeString(result0, 1);
appendString(result0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_4));
	}
	LA5: ;
	{
		NIM_CHAR c_cEb5GPormUAx1moN9c0e4yw;
		NI i_yYr5ptEEqWg8zTlZgS3HdQ;
		NI L_e0rVwYwoF4shE6RWXRGvpg;
		c_cEb5GPormUAx1moN9c0e4yw = (NIM_CHAR)0;
		i_yYr5ptEEqWg8zTlZgS3HdQ = ((NI) 0);
		L_e0rVwYwoF4shE6RWXRGvpg = (s0 ? s0->Sup.len : 0);
		{
			while (1) {
				if (!(i_yYr5ptEEqWg8zTlZgS3HdQ < L_e0rVwYwoF4shE6RWXRGvpg)) goto LA9;
				c_cEb5GPormUAx1moN9c0e4yw = s0->data[i_yYr5ptEEqWg8zTlZgS3HdQ];
				{
					if (!((NU8)(c_cEb5GPormUAx1moN9c0e4yw) == (NU8)(92))) goto LA12;
					backslashbuff0 = addChar(backslashbuff0, c_cEb5GPormUAx1moN9c0e4yw);
				}
				goto LA10;
				LA12: ;
				{
					if (!((NU8)(c_cEb5GPormUAx1moN9c0e4yw) == (NU8)(34))) goto LA15;
					result0 = resizeString(result0, backslashbuff0->Sup.len + 0);
appendString(result0, backslashbuff0);
					result0 = resizeString(result0, backslashbuff0->Sup.len + 0);
appendString(result0, backslashbuff0);
					backslashbuff0 = setLengthStr(backslashbuff0, ((NI) 0));
					result0 = resizeString(result0, 2);
appendString(result0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_5));
				}
				goto LA10;
				LA15: ;
				{
					{
						if (!!(((backslashbuff0 ? backslashbuff0->Sup.len : 0) == ((NI) 0)))) goto LA20;
						result0 = resizeString(result0, backslashbuff0->Sup.len + 0);
appendString(result0, backslashbuff0);
						backslashbuff0 = setLengthStr(backslashbuff0, ((NI) 0));
					}
					LA20: ;
					result0 = addChar(result0, c_cEb5GPormUAx1moN9c0e4yw);
				}
				LA10: ;
				i_yYr5ptEEqWg8zTlZgS3HdQ += ((NI) 1);
			} LA9: ;
		}
	}
	{
		if (!needquote0) goto LA24;
		result0 = resizeString(result0, 1);
appendString(result0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_4));
	}
	LA24: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s0) {
	NimStringDesc* result0;
{	result0 = (NimStringDesc*)0;
	result0 = nospquoteShellWindows(s0);
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}
static N_NIMCALL(void, Marker_TY_Ryg5db24dBRIzTUa2BQTPg)(void* p, NI op) {
	Processobj_NHqciQYh8G1aN2n273mmYw* a;
	a = (Processobj_NHqciQYh8G1aN2n273mmYw*)p;
}

N_NIMCALL(void, createpipehandles_nS1R74hYO6jh9akpSRUPnIg)(NI* rdhandle0, NI* wrhandle0) {
	Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw sa0;
	memset((void*)(&sa0), 0, sizeof(sa0));
	sa0.nlength = ((int) (((NI)sizeof(Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw))));
	sa0.lpsecuritydescriptor = NIM_NIL;
	sa0.binherithandle = ((NI32) 1);
	{
		NI32 LOC3;
		NI32 LOC6;
		LOC3 = (NI32)0;
		LOC3 = Dl_119622(rdhandle0, wrhandle0, (&sa0), ((NI32) 1024));
		if (!(LOC3 == ((NI32) 0))) goto LA4;
		LOC6 = (NI32)0;
		LOC6 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC6, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	LA4: ;
}

N_NIMCALL(NI, mydup_BhmJ645pEpWayx9blkYZByQ)(NI h0, NI32 inherit0) {
	NI result0;
	NI thisproc0;
	result0 = (NI)0;
	thisproc0 = Dl_121419();
	{
		NI32 LOC3;
		NI32 LOC6;
		LOC3 = (NI32)0;
		LOC3 = Dl_121409(thisproc0, h0, thisproc0, (&result0), ((NI32) 0), inherit0, ((NI32) 2));
		if (!(LOC3 == ((NI32) 0))) goto LA4;
		LOC6 = (NI32)0;
		LOC6 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC6, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	LA4: ;
	return result0;
}

N_NIMCALL(void, createallpipehandles_ZPmzXxZKeyBt0Wi9aJjf52Q)(Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ* si0, NI* stdin_dS1b8X9bn6dC2ZZEWgAQb5Q, NI* stdout_dMYgA6WVZinWKi8dINL9bBQ, NI* stderr_9b2E9b3wEAndYKpn06YaEfdw, NI hash0) {
	Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw sa0;
	NI16* pipeoutname0;
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	NI16* pipeinname0;
	NimStringDesc* LOC3;
	NimStringDesc* LOC4;
	NI pipeout0;
	NI pipein0;
	NI32 LOC25;
	NI32 LOC26;
	memset((void*)(&sa0), 0, sizeof(sa0));
	sa0.nlength = ((int) (((NI)sizeof(Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw))));
	sa0.lpsecuritydescriptor = NIM_NIL;
	sa0.binherithandle = ((NI32) 1);
	LOC1 = (NimStringDesc*)0;
	LOC2 = (NimStringDesc*)0;
	LOC2 = nimIntToStr(hash0);
	LOC1 = rawNewString(LOC2->Sup.len + 15);
appendString(LOC1, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10));
appendString(LOC1, LOC2);
	pipeoutname0 = newwidecstring_kxipuF9cNh6r2grKDcLjFuw(LOC1);
	LOC3 = (NimStringDesc*)0;
	LOC4 = (NimStringDesc*)0;
	LOC4 = nimIntToStr(hash0);
	LOC3 = rawNewString(LOC4->Sup.len + 14);
appendString(LOC3, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_11));
appendString(LOC3, LOC4);
	pipeinname0 = newwidecstring_kxipuF9cNh6r2grKDcLjFuw(LOC3);
	pipeout0 = Dl_119630(pipeoutname0, ((NI32) -2147483647), ((NI32) 1), ((NI32) 1), ((NI32) 1024), ((NI32) 1024), ((NI32) 0), (&sa0));
	{
		NI32 LOC9;
		if (!(pipeout0 == ((NI) -1))) goto LA7;
		LOC9 = (NI32)0;
		LOC9 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC9, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	LA7: ;
	pipein0 = Dl_119630(pipeinname0, ((NI32) -2147483646), ((NI32) 1), ((NI32) 1), ((NI32) 1024), ((NI32) 1024), ((NI32) 0), (&sa0));
	{
		NI32 LOC14;
		if (!(pipein0 == ((NI) -1))) goto LA12;
		LOC14 = (NI32)0;
		LOC14 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC14, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	LA12: ;
	(*si0).hstdoutput = Dl_121421(pipeoutname0, ((NI32) 1048578), ((NI32) 0), ((void*) ((&sa0))), ((NI32) 3), ((NI32) 128), ((NI) 0));
	{
		NI32 LOC19;
		if (!((*si0).hstdoutput == ((NI) -1))) goto LA17;
		LOC19 = (NI32)0;
		LOC19 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC19, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	LA17: ;
	(*si0).hstderror = mydup_BhmJ645pEpWayx9blkYZByQ((*si0).hstdoutput, ((NI32) 1));
	(*si0).hstdinput = Dl_121421(pipeinname0, ((NI32) 1048577), ((NI32) 0), ((void*) ((&sa0))), ((NI32) 3), ((NI32) 128), ((NI) 0));
	{
		NI32 LOC24;
		if (!((*si0).hstdoutput == ((NI) -1))) goto LA22;
		LOC24 = (NI32)0;
		LOC24 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC24, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	LA22: ;
	(*stdin_dS1b8X9bn6dC2ZZEWgAQb5Q) = mydup_BhmJ645pEpWayx9blkYZByQ(pipein0, ((NI32) 0));
	(*stdout_dMYgA6WVZinWKi8dINL9bBQ) = mydup_BhmJ645pEpWayx9blkYZByQ(pipeout0, ((NI32) 0));
	LOC25 = (NI32)0;
	LOC25 = Dl_119603(pipein0);
	LOC26 = (NI32)0;
	LOC26 = Dl_119603(pipeout0);
	(*stderr_9b2E9b3wEAndYKpn06YaEfdw) = (*stdout_dMYgA6WVZinWKi8dINL9bBQ);
}

N_NIMCALL(NCSTRING, buildcommandline_tA5mt9bJh8OMX1zGi2svnbw)(NimStringDesc* a0, NimStringDesc** args0, NI args0Len0) {
	NCSTRING result0;
	NimStringDesc* res0;
	void* LOC5;
	result0 = (NCSTRING)0;
	res0 = nospquoteShell(a0);
	{
		NI i_XmoTANb6HDvUW9coradigag;
		NI HEX3Atmp_RURePu0pPiw9awcJWKxsCXQ;
		NI res_IZGzjtmTaI4dYhmO9cPR8Yw;
		i_XmoTANb6HDvUW9coradigag = (NI)0;
		HEX3Atmp_RURePu0pPiw9awcJWKxsCXQ = (NI)0;
		HEX3Atmp_RURePu0pPiw9awcJWKxsCXQ = (args0Len0-1);
		res_IZGzjtmTaI4dYhmO9cPR8Yw = ((NI) 0);
		{
			while (1) {
				NimStringDesc* LOC4;
				if (!(res_IZGzjtmTaI4dYhmO9cPR8Yw <= HEX3Atmp_RURePu0pPiw9awcJWKxsCXQ)) goto LA3;
				i_XmoTANb6HDvUW9coradigag = res_IZGzjtmTaI4dYhmO9cPR8Yw;
				res0 = addChar(res0, 32);
				LOC4 = (NimStringDesc*)0;
				LOC4 = nospquoteShell(args0[i_XmoTANb6HDvUW9coradigag]);
				res0 = resizeString(res0, LOC4->Sup.len + 0);
appendString(res0, LOC4);
				res_IZGzjtmTaI4dYhmO9cPR8Yw += ((NI) 1);
			} LA3: ;
		}
	}
	LOC5 = (void*)0;
	LOC5 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) ((NI)((res0 ? res0->Sup.len : 0) + ((NI) 1)))));
	result0 = ((NCSTRING) (LOC5));
	copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) (result0)), ((void*) (res0->data)), ((NI) ((res0 ? res0->Sup.len : 0))));
	return result0;
}

N_NIMCALL(TY_0hEbbYmlam6yzyW5MFo9cjg, buildenv_6JVbkmernZV2xMcrspjFVw)(Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0) {
	TY_0hEbbYmlam6yzyW5MFo9cjg result0;
	NI L0;
	NCSTRING str0;
	void* LOC9;
	memset((void*)(&result0), 0, sizeof(result0));
	L0 = ((NI) 0);
	{
		NimStringDesc* key_NeIONvdITbYxLNdCR3i9bPA;
		NimStringDesc* val_OFy5EaKNZE1ksW6lN2uFIQ;
		key_NeIONvdITbYxLNdCR3i9bPA = (NimStringDesc*)0;
		val_OFy5EaKNZE1ksW6lN2uFIQ = (NimStringDesc*)0;
		{
			NI h_uoOej7RlqHmlktjJ7YI9auQ;
			NI HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ;
			NI res_IJw1jJuPkhet3PD739aZX9bA;
			h_uoOej7RlqHmlktjJ7YI9auQ = (NI)0;
			HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ = (NI)0;
			HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ = ((*env0).data ? ((*env0).data->Sup.len-1) : -1);
			res_IJw1jJuPkhet3PD739aZX9bA = ((NI) 0);
			{
				while (1) {
					if (!(res_IJw1jJuPkhet3PD739aZX9bA <= HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ)) goto LA4;
					h_uoOej7RlqHmlktjJ7YI9auQ = res_IJw1jJuPkhet3PD739aZX9bA;
					{
						if (!!(((*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ].Field0 == 0))) goto LA7;
						key_NeIONvdITbYxLNdCR3i9bPA = (*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ].Field0;
						val_OFy5EaKNZE1ksW6lN2uFIQ = (*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ].Field1;
						L0 += (NI)((NI)((key_NeIONvdITbYxLNdCR3i9bPA ? key_NeIONvdITbYxLNdCR3i9bPA->Sup.len : 0) + (val_OFy5EaKNZE1ksW6lN2uFIQ ? val_OFy5EaKNZE1ksW6lN2uFIQ->Sup.len : 0)) + ((NI) 2));
					}
					LA7: ;
					res_IJw1jJuPkhet3PD739aZX9bA += ((NI) 1);
				} LA4: ;
			}
		}
	}
	LOC9 = (void*)0;
	LOC9 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) ((NI)(L0 + ((NI) 2)))));
	str0 = ((NCSTRING) (LOC9));
	L0 = ((NI) 0);
	{
		NimStringDesc* key_NeIONvdITbYxLNdCR3i9bPA_2;
		NimStringDesc* val_OFy5EaKNZE1ksW6lN2uFIQ_2;
		key_NeIONvdITbYxLNdCR3i9bPA_2 = (NimStringDesc*)0;
		val_OFy5EaKNZE1ksW6lN2uFIQ_2 = (NimStringDesc*)0;
		{
			NI h_uoOej7RlqHmlktjJ7YI9auQ_2;
			NI HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ_2;
			NI res_IJw1jJuPkhet3PD739aZX9bA_2;
			h_uoOej7RlqHmlktjJ7YI9auQ_2 = (NI)0;
			HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ_2 = (NI)0;
			HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ_2 = ((*env0).data ? ((*env0).data->Sup.len-1) : -1);
			res_IJw1jJuPkhet3PD739aZX9bA_2 = ((NI) 0);
			{
				while (1) {
					if (!(res_IJw1jJuPkhet3PD739aZX9bA_2 <= HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ_2)) goto LA13;
					h_uoOej7RlqHmlktjJ7YI9auQ_2 = res_IJw1jJuPkhet3PD739aZX9bA_2;
					{
						NimStringDesc* x0;
						NimStringDesc* LOC18;
						if (!!(((*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ_2].Field0 == 0))) goto LA16;
						key_NeIONvdITbYxLNdCR3i9bPA_2 = (*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ_2].Field0;
						val_OFy5EaKNZE1ksW6lN2uFIQ_2 = (*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ_2].Field1;
						LOC18 = (NimStringDesc*)0;
						LOC18 = rawNewString(key_NeIONvdITbYxLNdCR3i9bPA_2->Sup.len + val_OFy5EaKNZE1ksW6lN2uFIQ_2->Sup.len + 1);
appendString(LOC18, key_NeIONvdITbYxLNdCR3i9bPA_2);
appendString(LOC18, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_13));
appendString(LOC18, val_OFy5EaKNZE1ksW6lN2uFIQ_2);
						x0 = LOC18;
						copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&str0[L0]))), ((void*) (x0->data)), ((NI) ((NI)((x0 ? x0->Sup.len : 0) + ((NI) 1)))));
						L0 += (NI)((x0 ? x0->Sup.len : 0) + ((NI) 1));
					}
					LA16: ;
					res_IJw1jJuPkhet3PD739aZX9bA_2 += ((NI) 1);
				} LA13: ;
			}
		}
	}
	result0.Field0 = str0;
	result0.Field1 = L0;
	return result0;
}

static N_INLINE(void, fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc)(NI h0) {
	{
		NI32 LOC5;
		if (!(((NI) 4) < h0)) goto LA3;
		LOC5 = (NI32)0;
		LOC5 = Dl_119603(h0);
	}
	LA3: ;
}

static N_INLINE(NIM_BOOL, HEX3DHEX3D_9ccNWqrTIE9bcAqE2Q0ro7zgos)(NCSTRING x0, NCSTRING y0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	{
		if (!(((void*) (x0)) == ((void*) (y0)))) goto LA3;
		result0 = NIM_TRUE;
	}
	goto LA1;
	LA3: ;
	{
		NIM_BOOL LOC6;
		LOC6 = (NIM_BOOL)0;
		LOC6 = (x0 == 0);
		if (LOC6) goto LA7;
		LOC6 = (y0 == 0);
		LA7: ;
		if (!LOC6) goto LA8;
		result0 = NIM_FALSE;
	}
	goto LA1;
	LA8: ;
	{
		int LOC11;
		LOC11 = (int)0;
		LOC11 = strcmp(x0, y0);
		result0 = (LOC11 == ((NI32) 0));
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, nospclose)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) {
	{
		NI32 LOC5;
		NI32 LOC6;
		NI32 LOC7;
		if (!(((*p0).options &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 5))&7U)))!=0)) goto LA3;
		LOC5 = (NI32)0;
		LOC5 = Dl_119603(((NI) ((*p0).inhandle)));
		LOC6 = (NI32)0;
		LOC6 = Dl_119603(((NI) ((*p0).outhandle)));
		LOC7 = (NI32)0;
		LOC7 = Dl_119603(((NI) ((*p0).errhandle)));
	}
	LA3: ;
}

N_NIMCALL(Processobj_NHqciQYh8G1aN2n273mmYw*, nospstartProcess)(NimStringDesc* command0, NimStringDesc* workingdir0, NimStringDesc** args0, NI args0Len0, Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0) {
	Processobj_NHqciQYh8G1aN2n273mmYw* result0;
	Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ si0;
	Processinformation_rpgAdaffN9b79bo2kEQiFsMg procinfo0;
	NI success0;
	NI hi0;
	NI ho0;
	NI he0;
	NCSTRING cmdl0;
	NCSTRING wd0;
	TY_0hEbbYmlam6yzyW5MFo9cjg e0;
	NI16* tmp0;
	NI16* ee0;
	NI16* wwd0;
	NI32 flags0;
	NI32 LOC43;
	NI32 lasterror0;
	NI32 LOC71;
	result0 = (Processobj_NHqciQYh8G1aN2n273mmYw*)0;
	memset((void*)(&si0), 0, sizeof(si0));
	memset((void*)(&procinfo0), 0, sizeof(procinfo0));
	success0 = (NI)0;
	hi0 = (NI)0;
	ho0 = (NI)0;
	he0 = (NI)0;
	result0 = (Processobj_NHqciQYh8G1aN2n273mmYw*) newObj((&NTI_Ryg5db24dBRIzTUa2BQTPg), sizeof(Processobj_NHqciQYh8G1aN2n273mmYw));
	(*result0).Sup.m_type = (&NTI_NHqciQYh8G1aN2n273mmYw);
	(*result0).options = options0;
	si0.cb = ((int) (((NI)sizeof(Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ))));
	{
		if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA3;
		si0.dwflags = ((NI32) 256);
		{
			if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 5))&7U)))!=0))) goto LA7;
			createpipehandles_nS1R74hYO6jh9akpSRUPnIg((&si0.hstdinput), (&hi0));
			createpipehandles_nS1R74hYO6jh9akpSRUPnIg((&ho0), (&si0.hstdoutput));
			{
				if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0)) goto LA11;
				si0.hstderror = si0.hstdoutput;
				he0 = ho0;
			}
			goto LA9;
			LA11: ;
			{
				createpipehandles_nS1R74hYO6jh9akpSRUPnIg((&he0), (&si0.hstderror));
			}
			LA9: ;
		}
		goto LA5;
		LA7: ;
		{
			createallpipehandles_ZPmzXxZKeyBt0Wi9aJjf52Q((&si0), (&hi0), (&ho0), (&he0), ((NI) (result0)));
		}
		LA5: ;
		(*result0).inhandle = ((int) (hi0));
		(*result0).outhandle = ((int) (ho0));
		(*result0).errhandle = ((int) (he0));
	}
	goto LA1;
	LA3: ;
	{
		si0.hstderror = Dl_119820(((NI32) -12));
		si0.hstdinput = Dl_119820(((NI32) -10));
		si0.hstdoutput = Dl_119820(((NI32) -11));
		(*result0).inhandle = ((int) (si0.hstdinput));
		(*result0).outhandle = ((int) (si0.hstdoutput));
		(*result0).errhandle = ((int) (si0.hstderror));
	}
	LA1: ;
	cmdl0 = (NCSTRING)0;
	{
		if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 2))&7U)))!=0)) goto LA18;
		cmdl0 = command0->data;
	}
	goto LA16;
	LA18: ;
	{
		cmdl0 = buildcommandline_tA5mt9bJh8OMX1zGi2svnbw(command0, args0, args0Len0);
	}
	LA16: ;
	wd0 = NIM_NIL;
	e0 = T_HZdw8BhppcTQo8DIK46LSg_12;
	{
		if (!(((NI) 0) < (workingdir0 ? workingdir0->Sup.len : 0))) goto LA23;
		wd0 = workingdir0->data;
	}
	LA23: ;
	{
		if (!!((env0 == NIM_NIL))) goto LA27;
		e0 = buildenv_6JVbkmernZV2xMcrspjFVw(env0);
	}
	LA27: ;
	{
		NimStringDesc* LOC33;
		if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 0))&7U)))!=0)) goto LA31;
		LOC33 = (NimStringDesc*)0;
		LOC33 = cstrToNimstr(cmdl0);
		printf("%s\015\012", LOC33? (LOC33)->data:"nil");
		fflush(stdout);
	}
	LA31: ;
	tmp0 = newwidecstring_NuXSaDWgkbvz3UCBEjgeFQ(cmdl0);
	{
		if (!(e0.Field0 == 0)) goto LA36;
		ee0 = NIM_NIL;
	}
	goto LA34;
	LA36: ;
	{
		ee0 = newwidecstring_b3CORJA07cGvZB3j3M3bqQ(e0.Field0, e0.Field1);
	}
	LA34: ;
	wwd0 = newwidecstring_NuXSaDWgkbvz3UCBEjgeFQ(wd0);
	flags0 = ((NI32) 1056);
	{
		if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 6))&7U)))!=0)) goto LA41;
		flags0 = (NI32)(flags0 | ((NI32) 134217728));
	}
	LA41: ;
	LOC43 = (NI32)0;
	LOC43 = Dl_119652(NIM_NIL, tmp0, NIM_NIL, NIM_NIL, ((NI32) 1), flags0, ee0, wwd0, (&si0), (&procinfo0));
	success0 = ((NI) (LOC43));
	lasterror0 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
	{
		if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA46;
		fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc(si0.hstdinput);
		fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc(si0.hstdoutput);
		{
			if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0))) goto LA50;
			fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc(si0.hstderror);
		}
		LA50: ;
	}
	LA46: ;
	{
		NIM_BOOL LOC54;
		LOC54 = (NIM_BOOL)0;
		LOC54 = HEX3DHEX3D_9ccNWqrTIE9bcAqE2Q0ro7zgos(e0.Field0, NIM_NIL);
		if (!!(LOC54)) goto LA55;
		dealloc_RCjNtRnHdRYntrcE7YtwWw(((void*) (e0.Field0)));
	}
	LA55: ;
	{
		if (!(success0 == ((NI) 0))) goto LA59;
		{
			if (!(((*result0).options &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 5))&7U)))!=0)) goto LA63;
			nospclose(result0);
		}
		LA63: ;
		{
			NimStringDesc* LOC69;
			if (!(((NI) (lasterror0)) == ((NI) 87) || ((NI) (lasterror0)) == ((NI) 2))) goto LA67;
			LOC69 = (NimStringDesc*)0;
			LOC69 = nsuFormatSingleElem(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_14), command0);
			raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(lasterror0, LOC69);
		}
		goto LA65;
		LA67: ;
		{
			raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(lasterror0, command0);
		}
		LA65: ;
	}
	LA59: ;
	LOC71 = (NI32)0;
	LOC71 = Dl_119603(procinfo0.hthread);
	(*result0).fprocesshandle = procinfo0.hprocess;
	(*result0).id = ((NI) (procinfo0.dwprocessid));
	return result0;
}
static N_NIMCALL(void, Marker_TY_809biO2nZKLCCWaUdwxpJnw)(void* p, NI op) {
	Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* a;
	a = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*)p;
}

N_NIMCALL(void, hsclose_mMygNk9cI9adl1hVa8HM2s5w)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0) {
}

N_NIMCALL(NIM_BOOL, hsatend_RvXFfAGoLFsgGGpODT9b7BQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0) {
	NIM_BOOL result0;
{	result0 = (NIM_BOOL)0;
	result0 = (*((Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*) (s0))).attheend;
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NI, hsreaddata_ieraXKQWE78CiFg2M1WiHA)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s_LkmFLRyQRfFgkFiRuysVAw, void* buffer0, NI buflen0) {
	NI result0;
	Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* s0;
	NI32 br0;
	NI32 a0;
{	result0 = (NI)0;
	s0 = ((Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*) (s_LkmFLRyQRfFgkFiRuysVAw));
	{
		if (!(*s0).attheend) goto LA3;
		result0 = ((NI) 0);
		goto BeforeRet;
	}
	LA3: ;
	br0 = (NI32)0;
	a0 = Dl_119606((*s0).handle, buffer0, ((int) (buflen0)), (&br0), NIM_NIL);
	{
		NIM_BOOL LOC7;
		NI32 LOC11;
		LOC7 = (NIM_BOOL)0;
		LOC7 = (a0 == ((NI32) 0));
		if (!(LOC7)) goto LA8;
		LOC7 = !((br0 == ((NI32) 0)));
		LA8: ;
		if (!LOC7) goto LA9;
		LOC11 = (NI32)0;
		LOC11 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC11, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	LA9: ;
	(*s0).attheend = (br0 == ((NI32) 0));
	result0 = ((NI) (br0));
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, hswritedata_RpB0RZVadSTAvvH8cbGLKQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s_Go9cytw9cKc4d29ctlEiZa8gQ, void* buffer0, NI buflen0) {
	Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* s0;
	NI32 byteswritten0;
	NI32 a0;
	s0 = ((Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*) (s_Go9cytw9cKc4d29ctlEiZa8gQ));
	byteswritten0 = (NI32)0;
	a0 = Dl_119614((*s0).handle, buffer0, ((int) (buflen0)), (&byteswritten0), NIM_NIL);
	{
		NI32 LOC5;
		if (!(a0 == ((NI32) 0))) goto LA3;
		LOC5 = (NI32)0;
		LOC5 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC5, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	LA3: ;
}

N_NIMCALL(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*, newfilehandlestream_FY9bg8cqHQ3304H4lX7tZjQ)(NI handle0) {
	Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* result0;
	result0 = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*)0;
	result0 = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*) newObj((&NTI_809biO2nZKLCCWaUdwxpJnw), sizeof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw));
	(*result0).Sup.Sup.m_type = (&NTI_rXWfTqEOueKQF1Zr6U68Zw);
	(*result0).handle = handle0;
	(*result0).Sup.closeimpl = hsclose_mMygNk9cI9adl1hVa8HM2s5w;
	(*result0).Sup.atendimpl = hsatend_RvXFfAGoLFsgGGpODT9b7BQ;
	(*result0).Sup.readdataimpl = hsreaddata_ieraXKQWE78CiFg2M1WiHA;
	(*result0).Sup.writedataimpl = hswritedata_RpB0RZVadSTAvvH8cbGLKQ;
	return result0;
}

N_NIMCALL(Streamobj_RShkcoDOPnoCVhtpN1hDPQ*, nospinputStream)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) {
	Streamobj_RShkcoDOPnoCVhtpN1hDPQ* result0;
	Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* LOC1;
	result0 = (Streamobj_RShkcoDOPnoCVhtpN1hDPQ*)0;
	LOC1 = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*)0;
	LOC1 = newfilehandlestream_FY9bg8cqHQ3304H4lX7tZjQ(((NI) ((*p0).inhandle)));
	result0 = &LOC1->Sup;
	return result0;
}

N_NIMCALL(Streamobj_RShkcoDOPnoCVhtpN1hDPQ*, nospoutputStream)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) {
	Streamobj_RShkcoDOPnoCVhtpN1hDPQ* result0;
	Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* LOC1;
	result0 = (Streamobj_RShkcoDOPnoCVhtpN1hDPQ*)0;
	LOC1 = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*)0;
	LOC1 = newfilehandlestream_FY9bg8cqHQ3304H4lX7tZjQ(((NI) ((*p0).outhandle)));
	result0 = &LOC1->Sup;
	return result0;
}

N_NIMCALL(NI, nospwaitForExit)(Processobj_NHqciQYh8G1aN2n273mmYw* p0, NI timeout0) {
	NI result0;
	NI32 LOC1;
	NI32 res0;
	NI32 LOC2;
	NI32 LOC3;
	result0 = (NI)0;
	LOC1 = (NI32)0;
	LOC1 = Dl_119807((*p0).fprocesshandle, ((NI32) (timeout0)));
	res0 = (NI32)0;
	LOC2 = (NI32)0;
	LOC2 = Dl_119815((*p0).fprocesshandle, (&res0));
	result0 = ((NI) (res0));
	LOC3 = (NI32)0;
	LOC3 = Dl_119603((*p0).fprocesshandle);
	return result0;
}

N_NIMCALL(NI, nospexecCmd)(NimStringDesc* command0) {
	NI result0;
	Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ si0;
	Processinformation_rpgAdaffN9b79bo2kEQiFsMg procinfo0;
	NI process0;
	NI32 L0;
	NI16* c0;
	NI32 res0;
	result0 = (NI)0;
	memset((void*)(&si0), 0, sizeof(si0));
	memset((void*)(&procinfo0), 0, sizeof(procinfo0));
	process0 = (NI)0;
	L0 = (NI32)0;
	si0.cb = ((int) (((NI)sizeof(Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ))));
	si0.hstderror = Dl_119820(((NI32) -12));
	si0.hstdinput = Dl_119820(((NI32) -10));
	si0.hstdoutput = Dl_119820(((NI32) -11));
	c0 = newwidecstring_kxipuF9cNh6r2grKDcLjFuw(command0);
	res0 = Dl_119652(NIM_NIL, c0, NIM_NIL, NIM_NIL, ((NI32) 0), ((NI32) 32), NIM_NIL, NIM_NIL, (&si0), (&procinfo0));
	{
		NI32 LOC5;
		if (!(res0 == ((NI32) 0))) goto LA3;
		LOC5 = (NI32)0;
		LOC5 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ();
		raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC5, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3));
	}
	goto LA1;
	LA3: ;
	{
		NI32 LOC7;
		NI32 LOC15;
		process0 = procinfo0.hprocess;
		LOC7 = (NI32)0;
		LOC7 = Dl_119603(procinfo0.hthread);
		{
			NI32 LOC10;
			NI32 LOC13;
			LOC10 = (NI32)0;
			LOC10 = Dl_119807(process0, ((NI32) -1));
			if (!!((LOC10 == ((NI32) -1)))) goto LA11;
			LOC13 = (NI32)0;
			LOC13 = Dl_119815(process0, (&L0));
			result0 = ((NI) (L0));
		}
		goto LA8;
		LA11: ;
		{
			result0 = ((NI) -1);
		}
		LA8: ;
		LOC15 = (NI32)0;
		LOC15 = Dl_119603(process0);
	}
	LA1: ;
	return result0;
}

N_NIMCALL(NI, peekexitcode_XqKQhqFFBS8ux5QQWd3fgg)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) {
	NI result0;
	NIM_BOOL b0;
	NI32 LOC1;
{	result0 = (NI)0;
	LOC1 = (NI32)0;
	LOC1 = Dl_119807((*p0).fprocesshandle, ((NI32) 50));
	b0 = (LOC1 == ((NI32) 258));
	{
		if (!b0) goto LA4;
		result0 = ((NI) -1);
	}
	goto LA2;
	LA4: ;
	{
		NI32 res0;
		NI32 LOC7;
		res0 = (NI32)0;
		LOC7 = (NI32)0;
		LOC7 = Dl_119815((*p0).fprocesshandle, (&res0));
		result0 = ((NI) (res0));
		goto BeforeRet;
	}
	LA2: ;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NI, nospcountProcessors)(void) {
	NI result0;
	result0 = (NI)0;
	result0 = ncpicountProcessors();
	return result0;
}
static N_NIMCALL(void, Marker_TY_l0xXJxOLtcuhlSBHl64t5w)(void* p, NI op) {
	TY_l0xXJxOLtcuhlSBHl64t5w* a;
	NI LOC1;
	a = (TY_l0xXJxOLtcuhlSBHl64t5w*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1], op);
	}
}

static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	(*c0).refcount = (NI)((NU32)((*c0).refcount) + (NU32)(((NI) 8)));
}

static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) {
	Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0;
	result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
	return result0;
}

static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0);
}

static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	{
		(*c0).refcount -= ((NI) 8);
		if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3;
		rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0);
	}
	LA3: ;
}

static N_INLINE(void, asgnRef)(void** dest0, void* src0) {
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC5;
		if (!!((src0 == NIM_NIL))) goto LA3;
		LOC5 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		LOC5 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0);
		incref_9cAA5YuQAAC3MVbnGeV86swsystem(LOC5);
	}
	LA3: ;
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC10;
		if (!!(((*dest0) == NIM_NIL))) goto LA8;
		LOC10 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		LOC10 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0));
		decref_MV4BBk6J1qu70IbBxwEn4wsystem(LOC10);
	}
	LA8: ;
	(*dest0) = src0;
}

N_NIMCALL(NIM_BOOL, nosprunning)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) {
	NIM_BOOL result0;
	NI32 x0;
{	result0 = (NIM_BOOL)0;
	x0 = Dl_119807((*p0).fprocesshandle, ((NI32) 50));
	result0 = (x0 == ((NI32) 258));
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NI, nospexecProcesses)(NimStringDesc** cmds0, NI cmds0Len0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0, NI n0, TY_kElEuvYkhDcTHhB3d89aMYA beforerunevent0, TY_SfW5itioRNR8yop8fOJeNg afterrunevent0) {
	NI result0;
	result0 = (NI)0;
	{
		TY_l0xXJxOLtcuhlSBHl64t5w* q0;
		NI m0;
		NI i0;
		if (!(((NI) 1) < n0)) goto LA3;
		q0 = (TY_l0xXJxOLtcuhlSBHl64t5w*)0;
		q0 = (TY_l0xXJxOLtcuhlSBHl64t5w*) newSeq((&NTI_l0xXJxOLtcuhlSBHl64t5w), ((NI) (n0)));
		m0 = ((n0 <= cmds0Len0) ? n0 : cmds0Len0);
		{
			NI i_IXYJmgb9b21Zawh7ZZyHDAA;
			NI HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw;
			NI res_I72nYMiJcfiDqXF9cJLTlxQ;
			i_IXYJmgb9b21Zawh7ZZyHDAA = (NI)0;
			HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw = (NI)0;
			HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw = (NI)(m0 - ((NI) 1));
			res_I72nYMiJcfiDqXF9cJLTlxQ = ((NI) 0);
			{
				while (1) {
					TY_8ZvwQIddfpj2THRVPsFzIQ LOC12;
					if (!(res_I72nYMiJcfiDqXF9cJLTlxQ <= HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw)) goto LA7;
					i_IXYJmgb9b21Zawh7ZZyHDAA = res_I72nYMiJcfiDqXF9cJLTlxQ;
					{
						if (!!((beforerunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_16.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_16.ClEnv))) goto LA10;
						beforerunevent0.ClEnv? beforerunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_17)(beforerunevent0.ClPrc))(i_IXYJmgb9b21Zawh7ZZyHDAA);
					}
					LA10: ;
					memset((void*)LOC12, 0, sizeof(LOC12));
					asgnRef((void**) (&q0->data[i_IXYJmgb9b21Zawh7ZZyHDAA]), nospstartProcess(cmds0[i_IXYJmgb9b21Zawh7ZZyHDAA], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3), LOC12, 0, NIM_NIL, (options0 | 4)));
					res_I72nYMiJcfiDqXF9cJLTlxQ += ((NI) 1);
				} LA7: ;
			}
		}
		i0 = m0;
		{
			while (1) {
				if (!(i0 <= (cmds0Len0-1))) goto LA14;
				nossleep(((NI) 50));
				{
					NI r_7CDX8QyPfnTM0rb4p9bm9blg;
					NI HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_2;
					NI res_I72nYMiJcfiDqXF9cJLTlxQ_2;
					r_7CDX8QyPfnTM0rb4p9bm9blg = (NI)0;
					HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_2 = (NI)0;
					HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_2 = (NI)(n0 - ((NI) 1));
					res_I72nYMiJcfiDqXF9cJLTlxQ_2 = ((NI) 0);
					{
						while (1) {
							if (!(res_I72nYMiJcfiDqXF9cJLTlxQ_2 <= HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_2)) goto LA17;
							r_7CDX8QyPfnTM0rb4p9bm9blg = res_I72nYMiJcfiDqXF9cJLTlxQ_2;
							{
								NIM_BOOL LOC20;
								NI LOC23;
								TY_8ZvwQIddfpj2THRVPsFzIQ LOC36;
								LOC20 = (NIM_BOOL)0;
								LOC20 = nosprunning(q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]);
								if (!!(LOC20)) goto LA21;
								LOC23 = (NI)0;
								LOC23 = nospwaitForExit(q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg], ((NI) -1));
								result0 = ((LOC23 >= result0) ? LOC23 : result0);
								{
									if (!!((afterrunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_18.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_18.ClEnv))) goto LA26;
									afterrunevent0.ClEnv? afterrunevent0.ClPrc(r_7CDX8QyPfnTM0rb4p9bm9blg, q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg], afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_19)(afterrunevent0.ClPrc))(r_7CDX8QyPfnTM0rb4p9bm9blg, q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]);
								}
								LA26: ;
								{
									if (!!((q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg] == NIM_NIL))) goto LA30;
									nospclose(q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]);
								}
								LA30: ;
								{
									if (!!((beforerunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_16.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_16.ClEnv))) goto LA34;
									beforerunevent0.ClEnv? beforerunevent0.ClPrc(i0, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_20)(beforerunevent0.ClPrc))(i0);
								}
								LA34: ;
								memset((void*)LOC36, 0, sizeof(LOC36));
								asgnRef((void**) (&q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]), nospstartProcess(cmds0[i0], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3), LOC36, 0, NIM_NIL, (options0 | 4)));
								i0 += ((NI) 1);
								{
									if (!((cmds0Len0-1) < i0)) goto LA39;
									goto LA15;
								}
								LA39: ;
							}
							LA21: ;
							res_I72nYMiJcfiDqXF9cJLTlxQ_2 += ((NI) 1);
						} LA17: ;
					}
				} LA15: ;
			} LA14: ;
		}
		{
			NI j_Qx3Y6Wjo6lf0L32X59altUg;
			NI HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_3;
			NI res_I72nYMiJcfiDqXF9cJLTlxQ_3;
			j_Qx3Y6Wjo6lf0L32X59altUg = (NI)0;
			HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_3 = (NI)0;
			HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_3 = (NI)(m0 - ((NI) 1));
			res_I72nYMiJcfiDqXF9cJLTlxQ_3 = ((NI) 0);
			{
				while (1) {
					NI LOC44;
					if (!(res_I72nYMiJcfiDqXF9cJLTlxQ_3 <= HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_3)) goto LA43;
					j_Qx3Y6Wjo6lf0L32X59altUg = res_I72nYMiJcfiDqXF9cJLTlxQ_3;
					LOC44 = (NI)0;
					LOC44 = nospwaitForExit(q0->data[j_Qx3Y6Wjo6lf0L32X59altUg], ((NI) -1));
					result0 = ((LOC44 >= result0) ? LOC44 : result0);
					{
						if (!!((afterrunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_18.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_18.ClEnv))) goto LA47;
						afterrunevent0.ClEnv? afterrunevent0.ClPrc(j_Qx3Y6Wjo6lf0L32X59altUg, q0->data[j_Qx3Y6Wjo6lf0L32X59altUg], afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_21)(afterrunevent0.ClPrc))(j_Qx3Y6Wjo6lf0L32X59altUg, q0->data[j_Qx3Y6Wjo6lf0L32X59altUg]);
					}
					LA47: ;
					{
						if (!!((q0->data[j_Qx3Y6Wjo6lf0L32X59altUg] == NIM_NIL))) goto LA51;
						nospclose(q0->data[j_Qx3Y6Wjo6lf0L32X59altUg]);
					}
					LA51: ;
					res_I72nYMiJcfiDqXF9cJLTlxQ_3 += ((NI) 1);
				} LA43: ;
			}
		}
	}
	goto LA1;
	LA3: ;
	{
		{
			NI i_IXYJmgb9b21Zawh7ZZyHDAA_2;
			NI HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_4;
			NI res_I72nYMiJcfiDqXF9cJLTlxQ_4;
			i_IXYJmgb9b21Zawh7ZZyHDAA_2 = (NI)0;
			HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_4 = (NI)0;
			HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_4 = (cmds0Len0-1);
			res_I72nYMiJcfiDqXF9cJLTlxQ_4 = ((NI) 0);
			{
				while (1) {
					Processobj_NHqciQYh8G1aN2n273mmYw* p0;
					TY_8ZvwQIddfpj2THRVPsFzIQ LOC61;
					NI LOC62;
					if (!(res_I72nYMiJcfiDqXF9cJLTlxQ_4 <= HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_4)) goto LA56;
					i_IXYJmgb9b21Zawh7ZZyHDAA_2 = res_I72nYMiJcfiDqXF9cJLTlxQ_4;
					{
						if (!!((beforerunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_16.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_16.ClEnv))) goto LA59;
						beforerunevent0.ClEnv? beforerunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA_2, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_22)(beforerunevent0.ClPrc))(i_IXYJmgb9b21Zawh7ZZyHDAA_2);
					}
					LA59: ;
					memset((void*)LOC61, 0, sizeof(LOC61));
					p0 = nospstartProcess(cmds0[i_IXYJmgb9b21Zawh7ZZyHDAA_2], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3), LOC61, 0, NIM_NIL, (options0 | 4));
					LOC62 = (NI)0;
					LOC62 = nospwaitForExit(p0, ((NI) -1));
					result0 = ((LOC62 >= result0) ? LOC62 : result0);
					{
						if (!!((afterrunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_18.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_18.ClEnv))) goto LA65;
						afterrunevent0.ClEnv? afterrunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA_2, p0, afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_23)(afterrunevent0.ClPrc))(i_IXYJmgb9b21Zawh7ZZyHDAA_2, p0);
					}
					LA65: ;
					nospclose(p0);
					res_I72nYMiJcfiDqXF9cJLTlxQ_4 += ((NI) 1);
				} LA56: ;
			}
		}
	}
	LA1: ;
	return result0;
}
NIM_EXTERNC N_NOINLINE(void, stdlib_osprocInit000)(void) {
}

NIM_EXTERNC N_NOINLINE(void, stdlib_osprocDatInit000)(void) {
static TNimNode* T_HZdw8BhppcTQo8DIK46LSg_6[7];
static TNimNode* T_HZdw8BhppcTQo8DIK46LSg_7[7];
NI T_HZdw8BhppcTQo8DIK46LSg_9;
static char* NIM_CONST T_HZdw8BhppcTQo8DIK46LSg_8[7] = {
"poEchoCmd", 
"poUsePath", 
"poEvalCommand", 
"poStdErrToStdOut", 
"poParentStreams", 
"poInteractive", 
"poDemon"};
static TNimNode* T_HZdw8BhppcTQo8DIK46LSg_15[2];
static TNimNode T_HZdw8BhppcTQo8DIK46LSg_0[20];
NTI_NHqciQYh8G1aN2n273mmYw.size = sizeof(Processobj_NHqciQYh8G1aN2n273mmYw);
NTI_NHqciQYh8G1aN2n273mmYw.kind = 17;
NTI_NHqciQYh8G1aN2n273mmYw.base = (&NTI_13RNkKqUOX1TtorOUlKtqA);
NTI_NHqciQYh8G1aN2n273mmYw.flags = 1;
T_HZdw8BhppcTQo8DIK46LSg_6[0] = &T_HZdw8BhppcTQo8DIK46LSg_0[1];
T_HZdw8BhppcTQo8DIK46LSg_0[1].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[1].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, fprocesshandle);
T_HZdw8BhppcTQo8DIK46LSg_0[1].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA);
T_HZdw8BhppcTQo8DIK46LSg_0[1].name = "fProcessHandle";
T_HZdw8BhppcTQo8DIK46LSg_6[1] = &T_HZdw8BhppcTQo8DIK46LSg_0[2];
T_HZdw8BhppcTQo8DIK46LSg_0[2].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[2].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, inhandle);
T_HZdw8BhppcTQo8DIK46LSg_0[2].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA);
T_HZdw8BhppcTQo8DIK46LSg_0[2].name = "inHandle";
T_HZdw8BhppcTQo8DIK46LSg_6[2] = &T_HZdw8BhppcTQo8DIK46LSg_0[3];
T_HZdw8BhppcTQo8DIK46LSg_0[3].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[3].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, outhandle);
T_HZdw8BhppcTQo8DIK46LSg_0[3].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA);
T_HZdw8BhppcTQo8DIK46LSg_0[3].name = "outHandle";
T_HZdw8BhppcTQo8DIK46LSg_6[3] = &T_HZdw8BhppcTQo8DIK46LSg_0[4];
T_HZdw8BhppcTQo8DIK46LSg_0[4].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[4].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, errhandle);
T_HZdw8BhppcTQo8DIK46LSg_0[4].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA);
T_HZdw8BhppcTQo8DIK46LSg_0[4].name = "errHandle";
T_HZdw8BhppcTQo8DIK46LSg_6[4] = &T_HZdw8BhppcTQo8DIK46LSg_0[5];
T_HZdw8BhppcTQo8DIK46LSg_0[5].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[5].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, id);
T_HZdw8BhppcTQo8DIK46LSg_0[5].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA);
T_HZdw8BhppcTQo8DIK46LSg_0[5].name = "id";
T_HZdw8BhppcTQo8DIK46LSg_6[5] = &T_HZdw8BhppcTQo8DIK46LSg_0[6];
T_HZdw8BhppcTQo8DIK46LSg_0[6].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[6].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, exitstatus);
T_HZdw8BhppcTQo8DIK46LSg_0[6].typ = (&NTI_nlCscttRCss70IBTyuBqnA);
T_HZdw8BhppcTQo8DIK46LSg_0[6].name = "exitStatus";
T_HZdw8BhppcTQo8DIK46LSg_6[6] = &T_HZdw8BhppcTQo8DIK46LSg_0[7];
NTI_bnU6W8LhTMnT4JaSWtGlSA.size = sizeof(Processoption_bnU6W8LhTMnT4JaSWtGlSA);
NTI_bnU6W8LhTMnT4JaSWtGlSA.kind = 14;
NTI_bnU6W8LhTMnT4JaSWtGlSA.base = 0;
NTI_bnU6W8LhTMnT4JaSWtGlSA.flags = 3;
for (T_HZdw8BhppcTQo8DIK46LSg_9 = 0; T_HZdw8BhppcTQo8DIK46LSg_9 < 7; T_HZdw8BhppcTQo8DIK46LSg_9++) {
T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+8].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+8].offset = T_HZdw8BhppcTQo8DIK46LSg_9;
T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+8].name = T_HZdw8BhppcTQo8DIK46LSg_8[T_HZdw8BhppcTQo8DIK46LSg_9];
T_HZdw8BhppcTQo8DIK46LSg_7[T_HZdw8BhppcTQo8DIK46LSg_9] = &T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+8];
}
T_HZdw8BhppcTQo8DIK46LSg_0[15].len = 7; T_HZdw8BhppcTQo8DIK46LSg_0[15].kind = 2; T_HZdw8BhppcTQo8DIK46LSg_0[15].sons = &T_HZdw8BhppcTQo8DIK46LSg_7[0];
NTI_bnU6W8LhTMnT4JaSWtGlSA.node = &T_HZdw8BhppcTQo8DIK46LSg_0[15];
NTI_HlmBYNr2gdAZMXOsuiSZ0A.size = sizeof(Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set);
NTI_HlmBYNr2gdAZMXOsuiSZ0A.kind = 19;
NTI_HlmBYNr2gdAZMXOsuiSZ0A.base = (&NTI_bnU6W8LhTMnT4JaSWtGlSA);
NTI_HlmBYNr2gdAZMXOsuiSZ0A.flags = 3;
T_HZdw8BhppcTQo8DIK46LSg_0[16].len = 0; T_HZdw8BhppcTQo8DIK46LSg_0[16].kind = 0;
NTI_HlmBYNr2gdAZMXOsuiSZ0A.node = &T_HZdw8BhppcTQo8DIK46LSg_0[16];
T_HZdw8BhppcTQo8DIK46LSg_0[7].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[7].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, options);
T_HZdw8BhppcTQo8DIK46LSg_0[7].typ = (&NTI_HlmBYNr2gdAZMXOsuiSZ0A);
T_HZdw8BhppcTQo8DIK46LSg_0[7].name = "options";
T_HZdw8BhppcTQo8DIK46LSg_0[0].len = 7; T_HZdw8BhppcTQo8DIK46LSg_0[0].kind = 2; T_HZdw8BhppcTQo8DIK46LSg_0[0].sons = &T_HZdw8BhppcTQo8DIK46LSg_6[0];
NTI_NHqciQYh8G1aN2n273mmYw.node = &T_HZdw8BhppcTQo8DIK46LSg_0[0];
NTI_Ryg5db24dBRIzTUa2BQTPg.size = sizeof(Processobj_NHqciQYh8G1aN2n273mmYw*);
NTI_Ryg5db24dBRIzTUa2BQTPg.kind = 22;
NTI_Ryg5db24dBRIzTUa2BQTPg.base = (&NTI_NHqciQYh8G1aN2n273mmYw);
NTI_Ryg5db24dBRIzTUa2BQTPg.marker = Marker_TY_Ryg5db24dBRIzTUa2BQTPg;
NTI_rXWfTqEOueKQF1Zr6U68Zw.size = sizeof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw);
NTI_rXWfTqEOueKQF1Zr6U68Zw.kind = 17;
NTI_rXWfTqEOueKQF1Zr6U68Zw.base = (&NTI_RShkcoDOPnoCVhtpN1hDPQ);
NTI_rXWfTqEOueKQF1Zr6U68Zw.flags = 1;
T_HZdw8BhppcTQo8DIK46LSg_15[0] = &T_HZdw8BhppcTQo8DIK46LSg_0[18];
T_HZdw8BhppcTQo8DIK46LSg_0[18].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[18].offset = offsetof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw, handle);
T_HZdw8BhppcTQo8DIK46LSg_0[18].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA);
T_HZdw8BhppcTQo8DIK46LSg_0[18].name = "handle";
T_HZdw8BhppcTQo8DIK46LSg_15[1] = &T_HZdw8BhppcTQo8DIK46LSg_0[19];
T_HZdw8BhppcTQo8DIK46LSg_0[19].kind = 1;
T_HZdw8BhppcTQo8DIK46LSg_0[19].offset = offsetof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw, attheend);
T_HZdw8BhppcTQo8DIK46LSg_0[19].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ);
T_HZdw8BhppcTQo8DIK46LSg_0[19].name = "atTheEnd";
T_HZdw8BhppcTQo8DIK46LSg_0[17].len = 2; T_HZdw8BhppcTQo8DIK46LSg_0[17].kind = 2; T_HZdw8BhppcTQo8DIK46LSg_0[17].sons = &T_HZdw8BhppcTQo8DIK46LSg_15[0];
NTI_rXWfTqEOueKQF1Zr6U68Zw.node = &T_HZdw8BhppcTQo8DIK46LSg_0[17];
NTI_809biO2nZKLCCWaUdwxpJnw.size = sizeof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*);
NTI_809biO2nZKLCCWaUdwxpJnw.kind = 22;
NTI_809biO2nZKLCCWaUdwxpJnw.base = (&NTI_rXWfTqEOueKQF1Zr6U68Zw);
NTI_809biO2nZKLCCWaUdwxpJnw.marker = Marker_TY_809biO2nZKLCCWaUdwxpJnw;
NTI_l0xXJxOLtcuhlSBHl64t5w.size = sizeof(TY_l0xXJxOLtcuhlSBHl64t5w*);
NTI_l0xXJxOLtcuhlSBHl64t5w.kind = 24;
NTI_l0xXJxOLtcuhlSBHl64t5w.base = (&NTI_Ryg5db24dBRIzTUa2BQTPg);
NTI_l0xXJxOLtcuhlSBHl64t5w.marker = Marker_TY_l0xXJxOLtcuhlSBHl64t5w;
}

