/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef LANGUAGE_C #undef MIPSEB #undef MIPSEL #undef PPC #undef R3000 #undef R4000 #undef i386 #undef linux #undef mips #undef near #undef far #undef powerpc #undef unix #define nimfr_(x, y) #define nimln_(x, y) typedef struct NimStrPayload NimStrPayload; typedef struct NimStringV2 NimStringV2; typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA; typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA; struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; struct tyTuple__UV3llMMYFckfui8YMBuUZA { NimStringV2 Field0; NimStringV2 Field1; }; typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32]; struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA { NI a; NI b; }; static N_INLINE(void, nimZeroMem)(void* p, NI size); static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); static N_INLINE(NIM_BOOL*, nimErrorFlag)(void); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuReplaceChar)(NimStringV2 s, NIM_CHAR sub, NIM_CHAR by); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuToUpperAsciiStr)(NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuStrip)(NimStringV2 s, NIM_BOOL leading, NIM_BOOL trailing, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars); static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1279)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x); N_NIMCALL(NimStringV2, mnewString)(NI len); static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s); N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s); static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZstrbasics_49)(NI a, NI b); static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b); static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size); static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size); N_LIB_PRIVATE N_NIMCALL(NI, nsuFindChar)(NimStringV2 s, NIM_CHAR sub, NI start, NI last); static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1307)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x); static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_128)(NI a, NI b); N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZprivateZntpath_122)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest, tyTuple__UV3llMMYFckfui8YMBuUZA* src); static const struct { NI cap; NIM_CHAR data[0+1]; } TM__zOq09cgA9b1N0AGiRzbR9aQww_2 = { 0 | NIM_STRLIT_FLAG, "" }; static const NimStringV2 TM__zOq09cgA9b1N0AGiRzbR9aQww_3 = {0, (NimStrPayload*)&TM__zOq09cgA9b1N0AGiRzbR9aQww_2}; static const struct { NI cap; NIM_CHAR data[7+1]; } TM__zOq09cgA9b1N0AGiRzbR9aQww_4 = { 7 | NIM_STRLIT_FLAG, "\\\\\?\\UNC" }; static const NimStringV2 TM__zOq09cgA9b1N0AGiRzbR9aQww_5 = {7, (NimStrPayload*)&TM__zOq09cgA9b1N0AGiRzbR9aQww_4}; static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__zOq09cgA9b1N0AGiRzbR9aQww_6 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; extern NIM_BOOL nimInErrorMode__system_3980; static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { void* T1_; T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size))); } static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) { NIM_BOOL* result; result = (NIM_BOOL*)0; result = (&nimInErrorMode__system_3980); return result; } static N_INLINE(void, nimZeroMem)(void* p, NI size) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimSetMem__systemZmemory_7(p, ((int)0), size); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = !(((*s).p == ((NimStrPayload*) NIM_NIL))); if (!(T3_)) goto LA4_; T3_ = ((NI)((*(*s).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904))); LA4_: ; if (!T3_) goto LA5_; nimPrepareStrMutationImpl__system_2301(s); } LA5_: ; } static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1279)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) { NimStringV2 result; NI a; NI L; result.len = 0; result.p = NIM_NIL; a = x.a; L = (NI)((NI)(x.b - a) + ((NI)1)); result = mnewString(((NI) (L))); { NI i; NI i_2; i = (NI)0; i_2 = ((NI)0); { while (1) { if (!(i_2 < L)) goto LA3 ; i = i_2; nimPrepareStrMutationV2((&result)); result.p->data[i] = s.p->data[(NI)(i + a)]; i_2 += ((NI)1); } LA3: ; } } return result; } static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZstrbasics_49)(NI a, NI b) { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result; nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA)); nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA)); result.a = a; result.b = b; return result; } static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) { int result; result = (int)0; result = memcmp(a, b, ((size_t) (size))); return result; } static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size) { NIM_BOOL result; int T1_; result = (NIM_BOOL)0; T1_ = (int)0; T1_ = nimCmpMem(a, b, size); result = (T1_ == ((NI32)0)); return result; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b) { NIM_BOOL result; NI alen; NI blen; { result = (NIM_BOOL)0; alen = a.len; blen = b.len; { if (!(alen == blen)) goto LA3_; { if (!(alen == ((NI)0))) goto LA7_; result = NIM_TRUE; goto BeforeRet_; } LA7_: ; result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen))); goto BeforeRet_; } LA3_: ; }BeforeRet_: ; return result; } static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1307)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) { NimStringV2 result; NI a; NI L; result.len = 0; result.p = NIM_NIL; a = x.a; L = (NI)((NI)((NI)(s.len - x.b) - a) + ((NI)1)); result = mnewString(((NI) (L))); { NI i; NI i_2; i = (NI)0; i_2 = ((NI)0); { while (1) { if (!(i_2 < L)) goto LA3 ; i = i_2; nimPrepareStrMutationV2((&result)); result.p->data[i] = s.p->data[(NI)(i + a)]; i_2 += ((NI)1); } LA3: ; } } return result; } static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_128)(NI a, NI b) { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result; nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA)); nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA)); result.a = a; result.b = b; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZprivateZntpath_122)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest, tyTuple__UV3llMMYFckfui8YMBuUZA* src) { if ((*dest).Field0.p != (*src).Field0.p) { eqdestroy___stdZassertions_13((&(*dest).Field0)); } (*dest).Field0.len = (*src).Field0.len; (*dest).Field0.p = (*src).Field0.p; if ((*dest).Field1.p != (*src).Field1.p) { eqdestroy___stdZassertions_13((&(*dest).Field1)); } (*dest).Field1.len = (*src).Field1.len; (*dest).Field1.p = (*src).Field1.p; } N_LIB_PRIVATE N_NIMCALL(void, splitDrive__stdZprivateZntpath_2)(NimStringV2 p, tyTuple__UV3llMMYFckfui8YMBuUZA* Result) { NimStringV2 colontmp_; NimStringV2 colontmp__2; NimStringV2 normp; NimStringV2 blitTmp; NimStringV2 blitTmp_2; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)Result, sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA)); colontmp_.len = 0; colontmp_.p = NIM_NIL; colontmp__2.len = 0; colontmp__2.p = NIM_NIL; normp.len = 0; normp.p = NIM_NIL; colontmp_ = TM__zOq09cgA9b1N0AGiRzbR9aQww_3; eqcopy___stdZassertions_16((&colontmp__2), p); blitTmp = colontmp_; colontmp_.len = 0; colontmp_.p = NIM_NIL; (*Result).Field0 = blitTmp; blitTmp_2 = colontmp__2; colontmp__2.len = 0; colontmp__2.p = NIM_NIL; (*Result).Field1 = blitTmp_2; { if (!(p.len < ((NI)2))) goto LA4_; eqdestroy___stdZassertions_13((&p)); eqdestroy___stdZassertions_13((&normp)); eqdestroy___stdZassertions_13((&colontmp__2)); eqdestroy___stdZassertions_13((&colontmp_)); goto BeforeRet_; } LA4_: ; normp = nsuReplaceChar(p, 47, 92); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NIM_BOOL T8_; NIM_BOOL T9_; NIM_BOOL T10_; NI colontmpD_; NimStringV2 colontmp__3; NimStringV2 colontmp__4; NI start; NI index; NI index2; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T36_; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T37_; tyTuple__UV3llMMYFckfui8YMBuUZA T38_; NimStringV2 blitTmp_3; NimStringV2 blitTmp_4; T8_ = (NIM_BOOL)0; T9_ = (NIM_BOOL)0; T10_ = (NIM_BOOL)0; T10_ = (((NI)2) < p.len); if (!(T10_)) goto LA11_; T10_ = ((NU8)(normp.p->data[((NI)0)]) == (NU8)(92)); LA11_: ; T9_ = T10_; if (!(T9_)) goto LA12_; T9_ = ((NU8)(normp.p->data[((NI)1)]) == (NU8)(92)); LA12_: ; T8_ = T9_; if (!(T8_)) goto LA13_; T8_ = !(((NU8)(normp.p->data[((NI)2)]) == (NU8)(92))); LA13_: ; if (!T8_) goto LA14_; colontmpD_ = (NI)0; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; colontmp__4.len = 0; colontmp__4.p = NIM_NIL; { NimStringV2 colontmpD__2; NimStringV2 colontmpD__3; NimStringV2 colontmpD__4; NI colontmpD__5; NI colontmpD__6; NI idx; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL; colontmpD__5 = (NI)0; colontmpD__6 = (NI)0; idx = ((((NI)8) <= normp.len) ? ((NI)8) : normp.len); { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T20_; T20_ = dotdot___stdZstrbasics_49(((NI)0), (NI)(idx - ((NI)1))); colontmpD__2 = X5BX5D___pureZstrutils_1279(normp, T20_); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; colontmpD__3 = nsuStrip(colontmpD__2, NIM_FALSE, NIM_TRUE, TM__zOq09cgA9b1N0AGiRzbR9aQww_6); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; colontmpD__4 = nsuToUpperAsciiStr(colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; if (!eqStrings(TM__zOq09cgA9b1N0AGiRzbR9aQww_5, colontmpD__4)) goto LA21_; colontmpD__5 = ((NI)8); colontmpD_ = colontmpD__5; } goto LA18_; LA21_: ; { colontmpD__6 = ((NI)2); colontmpD_ = colontmpD__6; } LA18_: ; eqdestroy___stdZassertions_13((&colontmpD__4)); eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___stdZassertions_13((&colontmpD__2)); start = colontmpD_; } index = nsuFindChar(normp, 92, ((NI) (start)), ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; { if (!(index == ((NI)-1))) goto LA26_; eqdestroy___stdZassertions_13((&colontmp__4)); eqdestroy___stdZassertions_13((&colontmp__3)); eqdestroy___stdZassertions_13((&p)); eqdestroy___stdZassertions_13((&normp)); eqdestroy___stdZassertions_13((&colontmp__2)); eqdestroy___stdZassertions_13((&colontmp_)); goto BeforeRet_; } LA26_: ; index2 = nsuFindChar(normp, 92, ((NI) ((NI)(index + ((NI)1)))), ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; { if (!(index2 == (NI)(index + ((NI)1)))) goto LA30_; eqdestroy___stdZassertions_13((&colontmp__4)); eqdestroy___stdZassertions_13((&colontmp__3)); eqdestroy___stdZassertions_13((&p)); eqdestroy___stdZassertions_13((&normp)); eqdestroy___stdZassertions_13((&colontmp__2)); eqdestroy___stdZassertions_13((&colontmp_)); goto BeforeRet_; } LA30_: ; { if (!(index2 == ((NI)-1))) goto LA34_; index2 = p.len; } LA34_: ; T36_ = dotdot___stdZstrbasics_49(((NI)0), (NI)(index2 - ((NI)1))); colontmp__3 = X5BX5D___pureZstrutils_1279(p, T36_); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; T37_ = dotdot___stdZenumutils_128(index2, ((NI)1)); colontmp__4 = X5BX5D___pureZstrutils_1307(p, T37_); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; blitTmp_3 = colontmp__3; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; T38_.Field0 = blitTmp_3; blitTmp_4 = colontmp__4; colontmp__4.len = 0; colontmp__4.p = NIM_NIL; T38_.Field1 = blitTmp_4; eqsink___stdZprivateZntpath_122(Result, (&T38_)); eqdestroy___stdZassertions_13((&colontmp__4)); eqdestroy___stdZassertions_13((&colontmp__3)); eqdestroy___stdZassertions_13((&p)); eqdestroy___stdZassertions_13((&normp)); eqdestroy___stdZassertions_13((&colontmp__2)); eqdestroy___stdZassertions_13((&colontmp_)); goto BeforeRet_; { LA16_:; } { eqdestroy___stdZassertions_13((&colontmp__4)); eqdestroy___stdZassertions_13((&colontmp__3)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA14_: ; { NimStringV2 colontmp__5; NimStringV2 colontmp__6; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T46_; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T47_; tyTuple__UV3llMMYFckfui8YMBuUZA T48_; NimStringV2 blitTmp_5; NimStringV2 blitTmp_6; if (!((NU8)(p.p->data[((NI)1)]) == (NU8)(58))) goto LA43_; colontmp__5.len = 0; colontmp__5.p = NIM_NIL; colontmp__6.len = 0; colontmp__6.p = NIM_NIL; T46_ = dotdot___stdZstrbasics_49(((NI)0), ((NI)1)); colontmp__5 = X5BX5D___pureZstrutils_1279(p, T46_); if (NIM_UNLIKELY(*nimErr_)) goto LA45_; T47_ = dotdot___stdZenumutils_128(((NI)2), ((NI)1)); colontmp__6 = X5BX5D___pureZstrutils_1307(p, T47_); if (NIM_UNLIKELY(*nimErr_)) goto LA45_; blitTmp_5 = colontmp__5; colontmp__5.len = 0; colontmp__5.p = NIM_NIL; T48_.Field0 = blitTmp_5; blitTmp_6 = colontmp__6; colontmp__6.len = 0; colontmp__6.p = NIM_NIL; T48_.Field1 = blitTmp_6; eqsink___stdZprivateZntpath_122(Result, (&T48_)); eqdestroy___stdZassertions_13((&colontmp__6)); eqdestroy___stdZassertions_13((&colontmp__5)); eqdestroy___stdZassertions_13((&p)); eqdestroy___stdZassertions_13((&normp)); eqdestroy___stdZassertions_13((&colontmp__2)); eqdestroy___stdZassertions_13((&colontmp_)); goto BeforeRet_; { LA45_:; } { eqdestroy___stdZassertions_13((&colontmp__6)); eqdestroy___stdZassertions_13((&colontmp__5)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA43_: ; { LA1_:; } { eqdestroy___stdZassertions_13((&p)); eqdestroy___stdZassertions_13((&normp)); eqdestroy___stdZassertions_13((&colontmp__2)); eqdestroy___stdZassertions_13((&colontmp_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZprivateZntpath_116)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest) { eqdestroy___stdZassertions_13((&(*dest).Field0)); eqdestroy___stdZassertions_13((&(*dest).Field1)); } N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZprivateZntpath_119)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest, tyTuple__UV3llMMYFckfui8YMBuUZA* src) { eqcopy___stdZassertions_16((&(*dest).Field0), (*src).Field0); eqcopy___stdZassertions_16((&(*dest).Field1), (*src).Field1); }