/* Generated by Nim Compiler v2.2.10 */
/* Compiled for: MacOSX, arm64, clang */
/* Command for C compiler:
   clang -c  -w -ferror-limit=3 -fno-strict-aliasing -pthread -isysroot /Applications/Xcode_16.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -target arm64-apple-darwin24.2.0 -O3   -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/lib -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/src -o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pjson.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pjson.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#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
typedef struct tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA;
typedef struct tySequence__UM2HJI1wUigOaSPzL6VC3A tySequence__UM2HJI1wUigOaSPzL6VC3A;
typedef struct tySequence__UM2HJI1wUigOaSPzL6VC3A_Content tySequence__UM2HJI1wUigOaSPzL6VC3A_Content;
typedef struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw tySequence__t6JKa4Kdxpc0RJiFEWRI9bw;
typedef struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content;
typedef struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA;
typedef struct tyTuple__otFEYh4BBZ0y3q0WDtkCOw tyTuple__otFEYh4BBZ0y3q0WDtkCOw;
typedef struct tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ;
typedef struct tyObject_JsonConfig__iFWwY7PHFPaSFEA74m0sTw tyObject_JsonConfig__iFWwY7PHFPaSFEA74m0sTw;
typedef struct tyObject_Table__ao79cQacnAZc5Mu0cN3jybg tyObject_Table__ao79cQacnAZc5Mu0cN3jybg;
typedef struct tySequence__SFipDZIkFtPcrLs0AGBBjQ tySequence__SFipDZIkFtPcrLs0AGBBjQ;
typedef struct tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content;
typedef struct tyTuple__8ZxhPt1NwfElsJs8zUSV9bg tyTuple__8ZxhPt1NwfElsJs8zUSV9bg;
typedef struct tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ;
typedef struct tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw;
typedef struct tyObject_BaseLexer__uXaqyrqvlVgJisQ4nTlfBw tyObject_BaseLexer__uXaqyrqvlVgJisQ4nTlfBw;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tySequence__KnLzabZgqRI2nq1lKQIAhw tySequence__KnLzabZgqRI2nq1lKQIAhw;
typedef struct tySequence__KnLzabZgqRI2nq1lKQIAhw_Content tySequence__KnLzabZgqRI2nq1lKQIAhw_Content;
typedef struct Exception Exception;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ tySequence__3EvzHGO0xyXGnJBUggwfKQ;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content;
typedef struct tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw;
typedef struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw;
typedef struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug;
typedef struct tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q;
typedef struct tyObject_FileStreamObj__55YZdAmhEXf1sGHQMYxWjw tyObject_FileStreamObj__55YZdAmhEXf1sGHQMYxWjw;
typedef struct tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ;
typedef struct tyObject_IOError__FsM2LSiW5usgjecIvsloBA tyObject_IOError__FsM2LSiW5usgjecIvsloBA;
typedef struct tyObject_StringStreamObj__FCeo9aaO9bFFsI9aQbl29arbwg tyObject_StringStreamObj__FCeo9aaO9bFFsI9aQbl29arbwg;
typedef struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw;
typedef NU8 tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__UM2HJI1wUigOaSPzL6VC3A {
  NI len; tySequence__UM2HJI1wUigOaSPzL6VC3A_Content* p;
};
struct tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA {
	tySequence__UM2HJI1wUigOaSPzL6VC3A data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw {
  NI len; tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content* p;
};
struct tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA {
	NIM_BOOL isUnquoted;
	tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA kind;
union{
	struct {
	NimStringV2 str;
} _kind_1;
	struct {
	NI64 num;
} _kind_2;
	struct {
	NF fnum;
} _kind_3;
	struct {
	NIM_BOOL bval;
} _kind_4;
	struct {
	tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA fields;
} _kind_6;
	struct {
	tySequence__t6JKa4Kdxpc0RJiFEWRI9bw elems;
} _kind_7;
};
};
struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA {
	NI rc;
	NI rootIdx;
};
struct tyTuple__otFEYh4BBZ0y3q0WDtkCOw {
	NI Field0;
	NI Field1;
	NimStringV2 Field2;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* Field3;
};
struct tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ {
	NI len;
	void* p;
};
struct tySequence__SFipDZIkFtPcrLs0AGBBjQ {
  NI len; tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content* p;
};
struct tyObject_Table__ao79cQacnAZc5Mu0cN3jybg {
	tySequence__SFipDZIkFtPcrLs0AGBBjQ data;
	NI counter;
};
struct tyObject_JsonConfig__iFWwY7PHFPaSFEA74m0sTw {
	NimStringV2 deps;
	tyObject_Table__ao79cQacnAZc5Mu0cN3jybg nameOverrides;
	tyObject_Table__ao79cQacnAZc5Mu0cN3jybg urlOverrides;
	tyObject_Table__ao79cQacnAZc5Mu0cN3jybg pkgOverrides;
	NimStringV2 plugins;
	NimStringV2 resolver;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* graph;
};
struct tyTuple__8ZxhPt1NwfElsJs8zUSV9bg {
	NI Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
};
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_BaseLexer__uXaqyrqvlVgJisQ4nTlfBw {
	RootObj Sup;
	NI bufpos;
	NimStringV2 buf;
	tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* input;
	NI lineNumber;
	NI sentinel;
	NI lineStart;
	NI offsetBase;
	tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars;
};
typedef NU8 tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA;
typedef NU8 tyEnum_JsonEventKind__YIAu4LdwbaXASo0G5ZZpMg;
typedef NU8 tyEnum_JsonError__nbpBoeCdF9a80tMzQEhCoZQ;
struct tySequence__KnLzabZgqRI2nq1lKQIAhw {
  NI len; tySequence__KnLzabZgqRI2nq1lKQIAhw_Content* p;
};
struct tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw {
	tyObject_BaseLexer__uXaqyrqvlVgJisQ4nTlfBw Sup;
	NimStringV2 a;
	tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA tok;
	tyEnum_JsonEventKind__YIAu4LdwbaXASo0G5ZZpMg kind;
	tyEnum_JsonError__nbpBoeCdF9a80tMzQEhCoZQ err;
	tySequence__KnLzabZgqRI2nq1lKQIAhw state;
	NimStringV2 filename;
	NIM_BOOL rawStringLiterals;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ {
  NI len; tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__3EvzHGO0xyXGnJBUggwfKQ trace;
	Exception* up;
};
struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug {
	Exception Sup;
};
struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw {
	tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug Sup;
};
struct tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw {
	tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw Sup;
};
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
typedef NU8 tySet_tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA;
struct tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q {
	tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw Sup;
};
typedef N_NIMCALL_PTR(void, tyProc__E9aUxUbQfSfG9bDHtjp9bJx4Q) (tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DMp9aUCWnCo4HurK9bbMFmZw) (tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0);
typedef N_NIMCALL_PTR(void, tyProc__itHc4jZtTpxT9bZ9cqWxzfDA) (tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0, NI pos_p1);
typedef N_NIMCALL_PTR(NI, tyProc__n8ia0SZOWi9aLDiLsBb0yjw) (tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0);
typedef N_NIMCALL_PTR(NI, tyProc__0hYqEcBlB9bEANPIuHrMMfA) (tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0, NimStringV2* buffer_p1, tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ slice_p2);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__wUWG9arq0ePuG9awasbo69cSw) (tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0, NimStringV2* line_p1);
typedef N_NIMCALL_PTR(NI, tyProc__vPMGV5XMHXAc89bq9byt1r9ag) (tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0, void* buffer_p1, NI bufLen_p2);
typedef N_NIMCALL_PTR(void, tyProc__Xz9a8DVGoavze4NXIx9bBtkQ) (tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0, void* buffer_p1, NI bufLen_p2);
struct tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ {
	RootObj Sup;
	tyProc__E9aUxUbQfSfG9bDHtjp9bJx4Q closeImpl;
	tyProc__DMp9aUCWnCo4HurK9bbMFmZw atEndImpl;
	tyProc__itHc4jZtTpxT9bZ9cqWxzfDA setPositionImpl;
	tyProc__n8ia0SZOWi9aLDiLsBb0yjw getPositionImpl;
	tyProc__0hYqEcBlB9bEANPIuHrMMfA readDataStrImpl;
	tyProc__wUWG9arq0ePuG9awasbo69cSw readLineImpl;
	tyProc__vPMGV5XMHXAc89bq9byt1r9ag readDataImpl;
	tyProc__vPMGV5XMHXAc89bq9byt1r9ag peekDataImpl;
	tyProc__Xz9a8DVGoavze4NXIx9bBtkQ writeDataImpl;
	tyProc__E9aUxUbQfSfG9bDHtjp9bJx4Q flushImpl;
};
struct tyObject_FileStreamObj__55YZdAmhEXf1sGHQMYxWjw {
	tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ Sup;
	FILE* f;
};
typedef NU8 tyEnum_FileMode__wjF0STQGT1PBuQEl3p0tng;
struct tyObject_IOError__FsM2LSiW5usgjecIvsloBA {
	tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug Sup;
};
struct tyObject_StringStreamObj__FCeo9aaO9bFFsI9aQbl29arbwg {
	tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ Sup;
	NimStringV2 data;
	NI pos;
};
struct tySequence__UM2HJI1wUigOaSPzL6VC3A_Content { NI cap; tyTuple__otFEYh4BBZ0y3q0WDtkCOw data[SEQ_DECL_SIZE]; };
struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content { NI cap; tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* data[SEQ_DECL_SIZE]; };
struct tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content { NI cap; tyTuple__8ZxhPt1NwfElsJs8zUSV9bg data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_ParserState__BnbsvODK39aUHD9a1QDNM0Zg;
struct tySequence__KnLzabZgqRI2nq1lKQIAhw_Content { NI cap; tyEnum_ParserState__BnbsvODK39aUHD9a1QDNM0Zg data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content { NI cap; tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw data[SEQ_DECL_SIZE]; };
struct tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ {
	NI a;
	NI b;
};
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, toPretty__pureZjson_u4775)(NimStringV2* result_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p1, NI indent_p2, NIM_BOOL ml_p3, NIM_BOOL lstArr_p4, NI currIndent_p5);
N_LIB_PRIVATE N_NIMCALL(void, indent__pureZjson_u4715)(NimStringV2* s_p0, NI i_p1);
static N_INLINE(NimStringV2, spaces__pureZstrutils_u1144)(NI n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuRepeatChar)(NIM_CHAR c_p0, NI count_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
static N_INLINE(NI, len__pureZjson_u2571)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_u20)(tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA e_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseFieldErrorStr)(NimStringV2 f_p0, NimStringV2 discVal_p1);
N_LIB_PRIVATE N_NIMCALL(void, nl__pureZjson_u4723)(NimStringV2* s_p0, NIM_BOOL ml_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u486)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* dest_p0, tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u91)(tySequence__UM2HJI1wUigOaSPzL6VC3A dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u254)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3185)(tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u67)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_u31)(NI hcode_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u324)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** dest_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p1);
static N_INLINE(void, nimIncRef)(void* p_p0);
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NI, newIndent__pureZjson_u4718)(NI curr_p0, NI indent_p1, NIM_BOOL ml_p2);
N_LIB_PRIVATE N_NIMCALL(void, escapeJson__pureZjson_u4747)(NimStringV2 s_p0, NimStringV2* result_p1);
N_LIB_PRIVATE N_NIMCALL(void, escapeJsonUnquoted__pureZjson_u4726)(NimStringV2 s_p0, NimStringV2* result_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u14)(NI xX60gensym0__p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toHex__pureZstrutils_u2181)(NI x_p0, NI len_p1);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u483)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u321)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, toUgly__pureZjson_u4757)(NimStringV2* result_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u257)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw* dest_p0, tySequence__t6JKa4Kdxpc0RJiFEWRI9bw src_p1);
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__pureZjson_u276)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_u187)(NimStringV2* result_p0, NI64 x_p1);
static N_INLINE(void, addFloat__system_u4784)(NimStringV2* result_p0, NF x_p1);
N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_u4789)(NimStringV2* result_p0, NF x_p1);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJObject__pureZjson_u440)(void);
N_LIB_PRIVATE N_NIMCALL(void, initOrderedTable__pureZjson_u454)(NI initialSize_p0, tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* Result);
static N_INLINE(void, X5BX5Deq___pureZjson_u2311)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* obj_p0, NimStringV2 key_p1, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_p2);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_u740)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0, NimStringV2 key_p1, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, eqdup___pureZjson_u327)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___pureZjson_u2161)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___confighandler_u116)(tyObject_Table__ao79cQacnAZc5Mu0cN3jybg table_p0);
N_LIB_PRIVATE N_NIMCALL(NI, len__lockfiles_u2034)(tyObject_Table__ao79cQacnAZc5Mu0cN3jybg t_p0);
N_LIB_PRIVATE N_NIMCALL(void, open__pureZparsejson_u79)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* my_p0, tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* input_p1, NimStringV2 filename_p2, NIM_BOOL rawStringLiterals_p3);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA, getTok__pureZparsejson_u633)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* my_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, parseJson__pureZjson_u5575)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* p_p0, NIM_BOOL rawIntegers_p1, NIM_BOOL rawFloats_p2, NI depth_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJRawNumber__pureZjson_u426)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObjUninit)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJInt__pureZjson_u429)(NI64 n_p0);
N_LIB_PRIVATE N_NIMCALL(NI64, nsuParseBiggestInt)(NimStringV2 s_p0);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u3719)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJFloat__pureZjson_u432)(NF n_p0);
N_LIB_PRIVATE N_NIMCALL(NF, nsuParseFloat)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJBool__pureZjson_u435)(NIM_BOOL b_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJNull__pureZjson_u438)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseParseErr__pureZparsejson_u827)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* p_p0, NimStringV2 msg_p1);
N_LIB_PRIVATE N_NIMCALL(void, eat__pureZparsejson_u892)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* p_p0, tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA tok_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJArray__pureZjson_u503)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_u659)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* father_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* child_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_u671)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw* x_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* y_p1);
static N_INLINE(void, close__pureZparsejson_u310)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* my_p0);
N_LIB_PRIVATE N_NIMCALL(void, close__pureZlexbase_u14)(tyObject_BaseLexer__uXaqyrqvlVgJisQ4nTlfBw* L_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparsejson_u127)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* dest_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_u2455)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw x_p0, tySequence__t6JKa4Kdxpc0RJiFEWRI9bw y_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_u2981)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_u2438)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**, X5BX5D___pureZjson_u3055)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0, NimStringV2 key_p1);
N_NIMCALL(NimStringV2, rawNewString)(NI cap_p0);
N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_u3436)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_u5669)(NimStringV2* dst_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* jsonNode_p1, NimStringV2* jsonPath_p2);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_u5748)(tySet_tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA x_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_FileStreamObj__55YZdAmhEXf1sGHQMYxWjw*, newFileStream__pureZstreams_u1210)(NimStringV2 filename_p0, tyEnum_FileMode__wjF0STQGT1PBuQEl3p0tng mode_p1, NI bufSize_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, parseJson__pureZjson_u5621)(tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0, NimStringV2 filename_p1, NIM_BOOL rawIntegers_p2, NIM_BOOL rawFloats_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZstreams_u1093)(tyObject_FileStreamObj__55YZdAmhEXf1sGHQMYxWjw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJString__pureZjson_u42)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, copy__pureZjson_u4656)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, getOrDefault__pureZjson_u3830)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_StringStreamObj__FCeo9aaO9bFFsI9aQbl29arbwg*, newStringStream__pureZstreams_u942)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZstreams_u725)(tyObject_StringStreamObj__FCeo9aaO9bFFsI9aQbl29arbwg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_u5673)(NIM_BOOL* dst_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* jsonNode_p1, NimStringV2* jsonPath_p2);
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_2 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_3 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_2};
static const struct {
  NI cap; NIM_CHAR data[70+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_4 = { 70 | NIM_STRLIT_FLAG, "field \'fields\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_5 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_6 = { 5 | NIM_STRLIT_FLAG, "JNull" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_7 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_6};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_8 = { 5 | NIM_STRLIT_FLAG, "JBool" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_9 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_8};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_10 = { 4 | NIM_STRLIT_FLAG, "JInt" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_11 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_10};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_12 = { 6 | NIM_STRLIT_FLAG, "JFloat" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_13 = {6, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_12};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_14 = { 7 | NIM_STRLIT_FLAG, "JString" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_15 = {7, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_14};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_16 = { 7 | NIM_STRLIT_FLAG, "JObject" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_17 = {7, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_16};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_18 = { 6 | NIM_STRLIT_FLAG, "JArray" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_19 = {6, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_18};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_20 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_21 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_20};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_22 = { 1 | NIM_STRLIT_FLAG, "{" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_23 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_22};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_24 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_25 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_24};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_26 = { 1 | NIM_STRLIT_FLAG, " " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_27 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_26};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_28 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_29 = { 1 | NIM_STRLIT_FLAG, "," };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_30 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_29};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_33 = { 1 | NIM_STRLIT_FLAG, "\"" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_34 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_33};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_35 = { 2 | NIM_STRLIT_FLAG, "\\n" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_36 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_35};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_37 = { 2 | NIM_STRLIT_FLAG, "\\b" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_38 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_37};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_39 = { 2 | NIM_STRLIT_FLAG, "\\f" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_40 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_39};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_41 = { 2 | NIM_STRLIT_FLAG, "\\t" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_42 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_41};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_43 = { 6 | NIM_STRLIT_FLAG, "\\u000b" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_44 = {6, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_43};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_45 = { 2 | NIM_STRLIT_FLAG, "\\r" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_46 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_45};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_47 = { 2 | NIM_STRLIT_FLAG, "\\\"" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_48 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_47};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_49 = { 5 | NIM_STRLIT_FLAG, "\\u000" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_50 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_49};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_51 = { 4 | NIM_STRLIT_FLAG, "\\u00" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_52 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_51};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_53 = { 2 | NIM_STRLIT_FLAG, "\\\\" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_54 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_53};
static const struct {
  NI cap; NIM_CHAR data[93+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_55 = { 93 | NIM_STRLIT_FLAG, "iterators.nim(272, 11) `len(a) == L` the length of the string changed while iterating over it" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_56 = {93, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_55};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_57 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_33};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_58 = { 2 | NIM_STRLIT_FLAG, ": " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_59 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_58};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_60 = { 90 | NIM_STRLIT_FLAG, "tables.nim(1822, 11) `len(t) == L` the length of the table changed while iterating over it" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_61 = {90, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_60};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_62 = { 1 | NIM_STRLIT_FLAG, "}" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_63 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_62};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_64 = { 2 | NIM_STRLIT_FLAG, "{}" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_65 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_64};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_66 = { 1 | NIM_STRLIT_FLAG, "[" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_67 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_66};
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_68 = { 69 | NIM_STRLIT_FLAG, "field \'elems\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_69 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_70 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_29};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_71 = { 90 | NIM_STRLIT_FLAG, "iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_72 = {90, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_71};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_73 = { 1 | NIM_STRLIT_FLAG, "]" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_74 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_73};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_75 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_22};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_76 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_77 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_29};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_78 = { 1 | NIM_STRLIT_FLAG, ":" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_79 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_78};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_80 = {90, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_60};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_81 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_62};
static const struct {
  NI cap; NIM_CHAR data[67+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_82 = { 67 | NIM_STRLIT_FLAG, "field \'str\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_83 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_82};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_84 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_82};
static const struct {
  NI cap; NIM_CHAR data[67+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_85 = { 67 | NIM_STRLIT_FLAG, "field \'num\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_86 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_85};
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_87 = { 68 | NIM_STRLIT_FLAG, "field \'fnum\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_88 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_87};
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_89 = { 68 | NIM_STRLIT_FLAG, "field \'bval\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_90 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_89};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_91 = { 4 | NIM_STRLIT_FLAG, "true" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_92 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_91};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_93 = { 5 | NIM_STRLIT_FLAG, "false" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_94 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_93};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_95 = { 4 | NIM_STRLIT_FLAG, "null" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_96 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_95};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_97 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_85};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_98 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_87};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_99 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_89};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_100 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_91};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_101 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_93};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_102 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_103 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_66};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_104 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_106 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_29};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_107 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_109 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_73};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_110 = { 2 | NIM_STRLIT_FLAG, "[]" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_111 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_110};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_112 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_95};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_113 = { 39 | NIM_STRLIT_FLAG, "json.nim(396, 9) `obj.kind == JObject` " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_114 = {39, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_113};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_115 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_116 = { 4 | NIM_STRLIT_FLAG, "deps" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_117 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_116};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_118 = { 13 | NIM_STRLIT_FLAG, "nameOverrides" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_119 = {13, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_118};
static const struct {
  NI cap; NIM_CHAR data[89+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_120 = { 89 | NIM_STRLIT_FLAG, "tables.nim(771, 13) `len(t) == L` the length of the table changed while iterating over it" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_121 = {89, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_120};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_123 = { 12 | NIM_STRLIT_FLAG, "urlOverrides" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_124 = {12, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_123};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_125 = { 12 | NIM_STRLIT_FLAG, "pkgOverrides" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_126 = {12, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_125};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_127 = { 7 | NIM_STRLIT_FLAG, "plugins" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_128 = {7, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_127};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_129 = { 8 | NIM_STRLIT_FLAG, "resolver" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_130 = {8, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_129};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_131 = { 5 | NIM_STRLIT_FLAG, "graph" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_132 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_131};
extern TNimTypeV2 NTIv2__36wI9cyxoyt1Pvn8bP6kcpw_;
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_133 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_62};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_134 = { 21 | NIM_STRLIT_FLAG, "string literal as key" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_135 = {21, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_134};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_137 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_73};
static const struct {
  NI cap; NIM_CHAR data[41+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_138 = { 41 | NIM_STRLIT_FLAG, "json.nim(307, 3) `father.kind == JArray` " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_139 = {41, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_138};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_140 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_142 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_22};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_143 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_82};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_144 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_82};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_145 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_85};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_146 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_85};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_147 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_87};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_148 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_87};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_149 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_89};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_150 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_89};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_151 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_152 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_153 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_154 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_155 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_156 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_157 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_158 = {90, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_60};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_159 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_160 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_161 = { 40 | NIM_STRLIT_FLAG, "json.nim(568, 9) `node.kind == JObject` " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_162 = {40, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_161};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_163 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_164 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_2};
extern TNimTypeV2 NTIv2__qzHBUoNbmltDnZWA4mt9c9bw_;
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_165 = { 15 | NIM_STRLIT_FLAG, "key not found: " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_166 = {15, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_165};
static const struct {
  NI cap; NIM_CHAR data[54+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_167 = { 54 | NIM_STRLIT_FLAG, "Incorrect JSON kind. Wanted \'$1\' in \'$2\' but got \'$3\'." };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_168 = {54, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_167};
extern TNimTypeV2 NTIv2__2PC87p2TBc9apRjznv9cEE0Q_;
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_169 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_2};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_170 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_82};
extern TNimTypeV2 NTIv2__FsM2LSiW5usgjecIvsloBA_;
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_171 = { 23 | NIM_STRLIT_FLAG, "cannot read from file: " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_172 = {23, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_171};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_173 = { 40 | NIM_STRLIT_FLAG, "json.nim(573, 9) `node.kind == JObject` " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_174 = {40, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_173};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_175 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_176 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_82};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_177 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_85};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_178 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_87};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_179 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_89};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_180 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_181 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_182 = {90, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_60};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_183 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_184 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_185 = {90, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_71};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_186 = { 3 | NIM_STRLIT_FLAG, "nan" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_187 = {3, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_186};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_188 = { 3 | NIM_STRLIT_FLAG, "inf" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_189 = {3, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_188};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_190 = { 4 | NIM_STRLIT_FLAG, "-inf" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_191 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_190};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_192 = {70, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_193 = { 5 | NIM_STRLIT_FLAG, "input" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_194 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_193};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_195 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_82};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_196 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_85};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_197 = {67, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_85};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_198 = {69, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_68};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_199 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_2};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_200 = {15, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_165};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_201 = {54, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_167};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_202 = {68, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_89};
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
extern NIM_THREADVAR Exception* currException__system_u3686;
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJNull__pureZjson_u438)(void) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0);
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
static N_INLINE(NimStringV2, spaces__pureZstrutils_u1144)(NI n_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nsuRepeatChar(32, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1755(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, indent__pureZjson_u4715)(NimStringV2* s_p0, NI i_p1) {
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	if ((i_p1) < ((NI)0) || (i_p1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(i_p1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	colontmpD_ = spaces__pureZstrutils_u1144((i_p1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	prepareAdd((&(*s_p0)), colontmpD_.len + 0);
appendString((&(*s_p0)), colontmpD_);
	if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}BeforeRet_: ;
}
static N_INLINE(NI, len__pureZjson_u2571)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0) {
	NI result;
	result = (*t_p0).counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_u20)(tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA e_p0) {
	NimStringV2 result;
	switch (e_p0) {
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0):
	{
		result = TM__9b9bytt1stv9cZ8uqII7HFgew_7;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1):
	{
		result = TM__9b9bytt1stv9cZ8uqII7HFgew_9;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2):
	{
		result = TM__9b9bytt1stv9cZ8uqII7HFgew_11;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)3):
	{
		result = TM__9b9bytt1stv9cZ8uqII7HFgew_13;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4):
	{
		result = TM__9b9bytt1stv9cZ8uqII7HFgew_15;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5):
	{
		result = TM__9b9bytt1stv9cZ8uqII7HFgew_17;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6):
	{
		result = TM__9b9bytt1stv9cZ8uqII7HFgew_19;
	}
	break;
	default:
	{
		result = TM__9b9bytt1stv9cZ8uqII7HFgew_21;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, nl__pureZjson_u4723)(NimStringV2* s_p0, NIM_BOOL ml_p1) {
	NimStringV2 T1_;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		if (!ml_p1) goto LA4_;
		T1_ = TM__9b9bytt1stv9cZ8uqII7HFgew_25;
	}
	goto LA2_;
LA4_: ;
	{
		T1_ = TM__9b9bytt1stv9cZ8uqII7HFgew_27;
	}
LA2_: ;
	prepareAdd((&(*s_p0)), T1_.len + 0);
appendString((&(*s_p0)), T1_);
}
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2188(p_p0, ((int)0), size_p1);
}
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3185(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u254)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_]);
				if (!T6_) goto LA7_;
				eqdestroy___pureZjson_u67((&(*dest_p0.p->data[colontmp_])));
				nimRawDispose(dest_p0.p->data[colontmp_], ((NI)8));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u67)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* dest_p0) {
	switch ((*dest_p0).kind) {
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4):
	{
		if ((*dest_p0)._kind_1.str.p && !((*dest_p0)._kind_1.str.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_1.str.p);
}
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2):
	{
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)3):
	{
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1):
	{
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0):
	{
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5):
	{
		eqdestroy___pureZjson_u91((*dest_p0)._kind_6.fields.data);
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6):
	{
		eqdestroy___pureZjson_u254((*dest_p0)._kind_7.elems);
	}
	break;
	default: __builtin_unreachable();
	}
}
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_u31)(NI hcode_p0) {
	NIM_BOOL result;
	result = !((hcode_p0 == ((NI)0)));
	return result;
}
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) + (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(void, nimIncRef)(void* p_p0) {
	NI T1_;
	NI T2_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
	T2_ = (NI)0;
	T2_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
	(*((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T1_))).rc = pluspercent___system_u793((*((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T2_))).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u324)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** dest_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!src_p1) goto LA3_;
		nimIncRef(src_p1);
	}
LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = nimDecRefIsLastDyn((*dest_p0));
		if (!T7_) goto LA8_;
		eqdestroy___pureZjson_u67((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)8));
	}
LA8_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, newIndent__pureZjson_u4718)(NI curr_p0, NI indent_p1, NIM_BOOL ml_p2) {
	NI result;
{	result = (NI)0;
	{
		NI TM__9b9bytt1stv9cZ8uqII7HFgew_32;
		if (!ml_p2) goto LA3_;
		if (nimAddInt(curr_p0, indent_p1, &TM__9b9bytt1stv9cZ8uqII7HFgew_32)) { raiseOverflow(); goto BeforeRet_;
		};
		result = (NI)(TM__9b9bytt1stv9cZ8uqII7HFgew_32);
		goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = indent_p1;
		goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, escapeJsonUnquoted__pureZjson_u4726)(NimStringV2 s_p0, NimStringV2* result_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_CHAR c_1;
		NI i_1;
		NI L_1;
		c_1 = (NIM_CHAR)0;
		i_1 = ((NI)0);
		L_1 = s_p0.len;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA3;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				c_1 = s_p0.p->data[i_1];
				switch (((NU8)(c_1))) {
				case 10:
				{
					prepareAdd((&(*result_p1)), 2);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_36);
				}
				break;
				case 8:
				{
					prepareAdd((&(*result_p1)), 2);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_38);
				}
				break;
				case 12:
				{
					prepareAdd((&(*result_p1)), 2);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_40);
				}
				break;
				case 9:
				{
					prepareAdd((&(*result_p1)), 2);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_42);
				}
				break;
				case 11:
				{
					prepareAdd((&(*result_p1)), 6);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_44);
				}
				break;
				case 13:
				{
					prepareAdd((&(*result_p1)), 2);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_46);
				}
				break;
				case 34:
				{
					prepareAdd((&(*result_p1)), 2);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_48);
				}
				break;
				case 0 ... 7:
				{
					NimStringV2 colontmpD_;
					NimStringV2 colontmpD__2;
					NimStringV2 T12_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					T12_.len = 0; T12_.p = NIM_NIL;
					colontmpD_ = dollar___systemZdollars_u14(((NU8)(c_1)));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T12_ = rawNewString(colontmpD_.len + 5);
appendString((&T12_), TM__9b9bytt1stv9cZ8uqII7HFgew_50);
appendString((&T12_), colontmpD_);
					colontmpD__2 = T12_;
					prepareAdd((&(*result_p1)), colontmpD__2.len + 0);
appendString((&(*result_p1)), colontmpD__2);
					if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
					if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
				}
				break;
				case 14 ... 31:
				{
					NimStringV2 colontmpD__3;
					NimStringV2 colontmpD__4;
					NimStringV2 T14_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					T14_.len = 0; T14_.p = NIM_NIL;
					colontmpD__3 = toHex__pureZstrutils_u2181(((NU8)(c_1)), ((NI)2));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T14_ = rawNewString(colontmpD__3.len + 4);
appendString((&T14_), TM__9b9bytt1stv9cZ8uqII7HFgew_52);
appendString((&T14_), colontmpD__3);
					colontmpD__4 = T14_;
					prepareAdd((&(*result_p1)), colontmpD__4.len + 0);
appendString((&(*result_p1)), colontmpD__4);
					if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
					if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
				}
				break;
				case 92:
				{
					prepareAdd((&(*result_p1)), 2);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_54);
				}
				break;
				default:
				{
					nimAddCharV1((&(*result_p1)), c_1);
				}
				break;
				}
				i_1 += ((NI)1);
				{
					if (!!((s_p0.len == L_1))) goto LA19_;
					failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_56);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA19_: ;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, escapeJson__pureZjson_u4747)(NimStringV2 s_p0, NimStringV2* result_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	prepareAdd((&(*result_p1)), 1);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_34);
	escapeJsonUnquoted__pureZjson_u4726(s_p0, result_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	prepareAdd((&(*result_p1)), 1);
appendString((&(*result_p1)), TM__9b9bytt1stv9cZ8uqII7HFgew_57);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u321)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0);
		if (!T3_) goto LA4_;
		eqdestroy___pureZjson_u67((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)8));
	}
LA4_: ;
}
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1) {
	NIM_BOOL result;
	result = ((*((tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ*) (x_p0))).p == (*((tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ*) (y_p1))).p);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___pureZjson_u318)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** dest_p0) {
	(*dest_p0) = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u257)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw* dest_p0, tySequence__t6JKa4Kdxpc0RJiFEWRI9bw src_p1) {
	NI T6_;
	NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__pureZjson_u276((&(*dest_p0)), T6_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T9_;
			T9_ = (*dest_p0).len;
			if (!(colontmp_ < T9_)) goto LA8;
			{
				if (!src_p1.p->data[colontmp_]) goto LA12_;
				nimIncRef(src_p1.p->data[colontmp_]);
			}
LA12_: ;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = nimDecRefIsLastDyn((*dest_p0).p->data[colontmp_]);
				if (!T16_) goto LA17_;
				eqdestroy___pureZjson_u67((&(*(*dest_p0).p->data[colontmp_])));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				nimRawDispose((*dest_p0).p->data[colontmp_], ((NI)8));
			}
LA17_: ;
			(*dest_p0).p->data[colontmp_] = src_p1.p->data[colontmp_];
			colontmp_ += ((NI)1);
		} LA8: ;
	}
	}BeforeRet_: ;
}
static N_INLINE(void, addFloat__system_u4784)(NimStringV2* result_p0, NF x_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	addFloatRoundtrip__system_u4789(result_p0, x_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, toUgly__pureZjson_u4757)(NimStringV2* result_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p1) {
	NIM_BOOL comma_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	comma_1 = NIM_FALSE;
	switch ((*node_p1).kind) {
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6):
	{
		prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_67);
		{
			tySequence__t6JKa4Kdxpc0RJiFEWRI9bw colontmp_;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** child_1;
			NI i_1;
			NI L_1;
			NI T3_;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			child_1 = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
			if (!(((64 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_69, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
			}
			eqcopy___pureZjson_u257((&colontmp_), (*node_p1)._kind_7.elems);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_1 = ((NI)0);
			T3_ = colontmp_.len;
			L_1 = T3_;
			{
				while (1) {
					if (!(i_1 < L_1)) goto LA5;
					if (i_1 < 0 || i_1 >= colontmp_.len){ raiseIndexError2(i_1,colontmp_.len-1); goto BeforeRet_;
					}
					child_1 = &colontmp_.p->data[i_1];
					{
						if (!comma_1) goto LA8_;
						prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_70);
					}
					goto LA6_;
LA8_: ;
					{
						comma_1 = NIM_TRUE;
					}
LA6_: ;
					toUgly__pureZjson_u4757(result_p0, (*child_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_1 += ((NI)1);
					{
						NI T13_;
						T13_ = colontmp_.len;
						if (!!((T13_ == L_1))) goto LA14_;
						failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_72);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA14_: ;
				} LA5: ;
			}
			eqdestroy___pureZjson_u254(colontmp_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_74);
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5):
	{
		prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_75);
		{
			NimStringV2 key_1;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* value_1;
			tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA colontmp__2;
			NI L_2;
			key_1.len = 0; key_1.p = NIM_NIL;
			value_1 = NIM_NIL;
			nimZeroMem((void*)(&colontmp__2), sizeof(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA));
			if (!(((32 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_76, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
			}
			eqcopy___pureZjson_u486((&colontmp__2), (&(*node_p1)._kind_6.fields));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			L_2 = len__pureZjson_u2571((&colontmp__2));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI h_1;
				if (!(((NI)0) < colontmp__2.counter)) goto LA20_;
				h_1 = colontmp__2.first;
				{
					while (1) {
						NI nxt_1;
						if (!(((NI)0) <= h_1)) goto LA23;
						if (h_1 < 0 || h_1 >= colontmp__2.data.len){ raiseIndexError2(h_1,colontmp__2.data.len-1); goto BeforeRet_;
						}
						nxt_1 = colontmp__2.data.p->data[h_1].Field1;
						{
							NIM_BOOL T26_;
							if (h_1 < 0 || h_1 >= colontmp__2.data.len){ raiseIndexError2(h_1,colontmp__2.data.len-1); goto BeforeRet_;
							}
							T26_ = (NIM_BOOL)0;
							T26_ = isFilled__pureZcollectionsZtables_u31(colontmp__2.data.p->data[h_1].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T26_) goto LA27_;
							if (h_1 < 0 || h_1 >= colontmp__2.data.len){ raiseIndexError2(h_1,colontmp__2.data.len-1); goto BeforeRet_;
							}
							eqcopy___system_u2754((&key_1), colontmp__2.data.p->data[h_1].Field2);
							if (h_1 < 0 || h_1 >= colontmp__2.data.len){ raiseIndexError2(h_1,colontmp__2.data.len-1); goto BeforeRet_;
							}
							eqcopy___pureZjson_u324(&value_1, colontmp__2.data.p->data[h_1].Field3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							{
								if (!comma_1) goto LA31_;
								prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_77);
							}
							goto LA29_;
LA31_: ;
							{
								comma_1 = NIM_TRUE;
							}
LA29_: ;
							escapeJson__pureZjson_u4747(key_1, result_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_79);
							toUgly__pureZjson_u4757(result_p0, value_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							{
								NI T36_;
								T36_ = (NI)0;
								T36_ = len__pureZjson_u2571((&colontmp__2));
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								if (!!((T36_ == L_2))) goto LA37_;
								failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_80);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
LA37_: ;
						}
LA27_: ;
						h_1 = nxt_1;
					} LA23: ;
				}
			}
LA20_: ;
			eqdestroy___pureZjson_u483((&colontmp__2));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___pureZjson_u321(value_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
		}
		prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_81);
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4):
	{
		{
			if (!(*node_p1).isUnquoted) goto LA42_;
			if (!(((16 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_83, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
			}
			prepareAdd((&(*result_p0)), (*node_p1)._kind_1.str.len + 0);
appendString((&(*result_p0)), (*node_p1)._kind_1.str);
		}
		goto LA40_;
LA42_: ;
		{
			if (!(((16 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_84, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
			}
			escapeJson__pureZjson_u4747((*node_p1)._kind_1.str, result_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA40_: ;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2):
	{
		if (!(((4 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_86, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
		}
		addInt__stdZprivateZdigitsutils_u187(result_p0, (*node_p1)._kind_2.num);
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)3):
	{
		if (!(((8 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_88, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
		}
		addFloat__system_u4784(result_p0, (*node_p1)._kind_3.fnum);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1):
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T48_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T48_.len = 0; T48_.p = NIM_NIL;
		{
			if (!(((2 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_90, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
			}
			if (!(*node_p1)._kind_4.bval) goto LA51_;
			colontmpD_ = TM__9b9bytt1stv9cZ8uqII7HFgew_92;
			T48_ = colontmpD_;
		}
		goto LA49_;
LA51_: ;
		{
			colontmpD__2 = TM__9b9bytt1stv9cZ8uqII7HFgew_94;
			T48_ = colontmpD__2;
		}
LA49_: ;
		prepareAdd((&(*result_p0)), T48_.len + 0);
appendString((&(*result_p0)), T48_);
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0):
	{
		prepareAdd((&(*result_p0)), 4);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_96);
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) - (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ (NI)((NU64) ~(b_p1))));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, toPretty__pureZjson_u4775)(NimStringV2* result_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p1, NI indent_p2, NIM_BOOL ml_p3, NIM_BOOL lstArr_p4, NI currIndent_p5) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*node_p1).kind) {
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5):
	{
		{
			if (!lstArr_p4) goto LA4_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA4_: ;
		{
			NI T8_;
			NI i_1;
			if (!(((32 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_5, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
			}
			T8_ = (NI)0;
			T8_ = len__pureZjson_u2571((&(*node_p1)._kind_6.fields));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(((NI)0) < T8_)) goto LA9_;
			prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_23);
			nl__pureZjson_u4723(result_p0, ml_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_1 = ((NI)0);
			{
				NimStringV2 key_1;
				tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_1;
				tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA colontmp_;
				NI L_1;
				key_1.len = 0; key_1.p = NIM_NIL;
				val_1 = NIM_NIL;
				nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA));
				if (!(((32 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_28, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
				}
				eqcopy___pureZjson_u486((&colontmp_), (&(*node_p1)._kind_6.fields));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				L_1 = len__pureZjson_u2571((&colontmp_));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NI h_1;
					if (!(((NI)0) < colontmp_.counter)) goto LA14_;
					h_1 = colontmp_.first;
					{
						while (1) {
							NI nxt_1;
							if (!(((NI)0) <= h_1)) goto LA17;
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto BeforeRet_;
							}
							nxt_1 = colontmp_.data.p->data[h_1].Field1;
							{
								NIM_BOOL T20_;
								NI TM__9b9bytt1stv9cZ8uqII7HFgew_31;
								NI T27_;
								NI T28_;
								if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto BeforeRet_;
								}
								T20_ = (NIM_BOOL)0;
								T20_ = isFilled__pureZcollectionsZtables_u31(colontmp_.data.p->data[h_1].Field0);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								if (!T20_) goto LA21_;
								if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto BeforeRet_;
								}
								eqcopy___system_u2754((&key_1), colontmp_.data.p->data[h_1].Field2);
								if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto BeforeRet_;
								}
								eqcopy___pureZjson_u324(&val_1, colontmp_.data.p->data[h_1].Field3);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								{
									if (!(((NI)0) < i_1)) goto LA25_;
									prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_30);
									nl__pureZjson_u4723(result_p0, ml_p3);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								}
LA25_: ;
								if (nimAddInt(i_1, ((NI)1), &TM__9b9bytt1stv9cZ8uqII7HFgew_31)) { raiseOverflow(); goto BeforeRet_;
								};
								i_1 = (NI)(TM__9b9bytt1stv9cZ8uqII7HFgew_31);
								T27_ = (NI)0;
								T27_ = newIndent__pureZjson_u4718(currIndent_p5, indent_p2, ml_p3);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								indent__pureZjson_u4715(result_p0, T27_);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								escapeJson__pureZjson_u4747(key_1, result_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								prepareAdd((&(*result_p0)), 2);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_59);
								T28_ = (NI)0;
								T28_ = newIndent__pureZjson_u4718(currIndent_p5, indent_p2, ml_p3);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								toPretty__pureZjson_u4775(result_p0, val_1, indent_p2, ml_p3, NIM_FALSE, T28_);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								{
									NI T31_;
									T31_ = (NI)0;
									T31_ = len__pureZjson_u2571((&colontmp_));
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									if (!!((T31_ == L_1))) goto LA32_;
									failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_61);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								}
LA32_: ;
							}
LA21_: ;
							h_1 = nxt_1;
						} LA17: ;
					}
				}
LA14_: ;
				eqdestroy___pureZjson_u483((&colontmp_));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___pureZjson_u321(val_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
			}
			nl__pureZjson_u4723(result_p0, ml_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_63);
		}
		goto LA6_;
LA9_: ;
		{
			prepareAdd((&(*result_p0)), 2);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_65);
		}
LA6_: ;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4):
	{
		{
			if (!lstArr_p4) goto LA38_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA38_: ;
		toUgly__pureZjson_u4757(result_p0, node_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2):
	{
		{
			if (!lstArr_p4) goto LA43_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA43_: ;
		if (!(((4 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_97, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
		}
		addInt__stdZprivateZdigitsutils_u187(result_p0, (*node_p1)._kind_2.num);
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)3):
	{
		{
			if (!lstArr_p4) goto LA48_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA48_: ;
		if (!(((8 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_98, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
		}
		addFloat__system_u4784(result_p0, (*node_p1)._kind_3.fnum);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1):
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T55_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		{
			if (!lstArr_p4) goto LA53_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA53_: ;
		T55_.len = 0; T55_.p = NIM_NIL;
		{
			if (!(((2 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_99, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
			}
			if (!(*node_p1)._kind_4.bval) goto LA58_;
			colontmpD_ = TM__9b9bytt1stv9cZ8uqII7HFgew_100;
			T55_ = colontmpD_;
		}
		goto LA56_;
LA58_: ;
		{
			colontmpD__2 = TM__9b9bytt1stv9cZ8uqII7HFgew_101;
			T55_ = colontmpD__2;
		}
LA56_: ;
		prepareAdd((&(*result_p0)), T55_.len + 0);
appendString((&(*result_p0)), T55_);
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6):
	{
		{
			if (!lstArr_p4) goto LA64_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA64_: ;
		{
			NI T68_;
			if (!(((64 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_102, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
			}
			T68_ = (*node_p1)._kind_7.elems.len;
			if (!!((T68_ == ((NI)0)))) goto LA69_;
			prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_103);
			nl__pureZjson_u4723(result_p0, ml_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI i_2;
				NI colontmp__2;
				NI T72_;
				NI TM__9b9bytt1stv9cZ8uqII7HFgew_105;
				NI res_1;
				i_2 = (NI)0;
				colontmp__2 = (NI)0;
				if (!(((64 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_104, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
				}
				T72_ = (*node_p1)._kind_7.elems.len;
				if (nimSubInt(T72_, ((NI)1), &TM__9b9bytt1stv9cZ8uqII7HFgew_105)) { raiseOverflow(); goto BeforeRet_;
				};
				colontmp__2 = (NI)(TM__9b9bytt1stv9cZ8uqII7HFgew_105);
				res_1 = ((NI)0);
				{
					while (1) {
						NI T79_;
						NI TM__9b9bytt1stv9cZ8uqII7HFgew_108;
						if (!(res_1 <= colontmp__2)) goto LA74;
						i_2 = ((NI) (res_1));
						{
							if (!(((NI)0) < i_2)) goto LA77_;
							prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_106);
							nl__pureZjson_u4723(result_p0, ml_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA77_: ;
						if (!(((64 &((NU8)1<<((NU)(((*node_p1).kind))&7U)))!=0))) 						{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_107, dollar___pureZjson_u20((*node_p1).kind)); goto BeforeRet_;
						}
						if (i_2 < 0 || i_2 >= (*node_p1)._kind_7.elems.len){ raiseIndexError2(i_2,(*node_p1)._kind_7.elems.len-1); goto BeforeRet_;
						}
						T79_ = (NI)0;
						T79_ = newIndent__pureZjson_u4718(currIndent_p5, indent_p2, ml_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						toPretty__pureZjson_u4775(result_p0, (*node_p1)._kind_7.elems.p->data[i_2], indent_p2, ml_p3, NIM_TRUE, T79_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (nimAddInt(res_1, ((NI)1), &TM__9b9bytt1stv9cZ8uqII7HFgew_108)) { raiseOverflow(); goto BeforeRet_;
						};
						res_1 = (NI)(TM__9b9bytt1stv9cZ8uqII7HFgew_108);
					} LA74: ;
				}
			}
			nl__pureZjson_u4723(result_p0, ml_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			prepareAdd((&(*result_p0)), 1);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_109);
		}
		goto LA66_;
LA69_: ;
		{
			prepareAdd((&(*result_p0)), 2);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_111);
		}
LA66_: ;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0):
	{
		{
			if (!lstArr_p4) goto LA84_;
			indent__pureZjson_u4715(result_p0, currIndent_p5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA84_: ;
		prepareAdd((&(*result_p0)), 4);
appendString((&(*result_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_112);
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, pretty__pureZjson_u4853)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NI indent_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = TM__9b9bytt1stv9cZ8uqII7HFgew_3;
	toPretty__pureZjson_u4775((&result), node_p0, indent_p1, NIM_TRUE, NIM_FALSE, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJObject__pureZjson_u440)(void) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5);
	initOrderedTable__pureZjson_u454(((NI)2), (&(*T1_)._kind_6.fields));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZjson_u330)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** dest_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0));
		if (!T3_) goto LA4_;
		eqdestroy___pureZjson_u67((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)8));
	}
LA4_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, eqdup___pureZjson_u327)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRef(src_p0);
	}
LA3_: ;
	return result;
}
static N_INLINE(void, X5BX5Deq___pureZjson_u2311)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* obj_p0, NimStringV2 key_p1, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_p2) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!(((*obj_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_114);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	if (!(((32 &((NU8)1<<((NU)(((*obj_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_115, dollar___pureZjson_u20((*obj_p0).kind)); goto BeforeRet_;
	}
	colontmpD_ = eqdup___pureZjson_u327(val_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___pureZjson_u740((&(*obj_p0)._kind_6.fields), key_p1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___pureZjson_u2161)(NimStringV2 s_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	NimStringV2 colontmpD_;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4);
	colontmpD_ = eqdup___system_u2757(s_p0);
	(*T1_)._kind_1.str = colontmpD_;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___confighandler_u116)(tyObject_Table__ao79cQacnAZc5Mu0cN3jybg table_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newJObject__pureZjson_u440();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NimStringV2 k_1;
		NimStringV2 v_1;
		NI L_1;
		k_1.len = 0; k_1.p = NIM_NIL;
		v_1.len = 0; v_1.p = NIM_NIL;
		L_1 = len__lockfiles_u2034(table_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI h_1;
			NI colontmp_;
			NI T3_;
			NI res_1;
			h_1 = (NI)0;
			colontmp_ = (NI)0;
			T3_ = (table_p0.data.len-1);
			colontmp_ = T3_;
			res_1 = ((NI)0);
			{
				while (1) {
					NI TM__9b9bytt1stv9cZ8uqII7HFgew_122;
					if (!(res_1 <= colontmp_)) goto LA5;
					h_1 = ((NI) (res_1));
					{
						NIM_BOOL T8_;
						tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
						if (h_1 < 0 || h_1 >= table_p0.data.len){ raiseIndexError2(h_1,table_p0.data.len-1); goto BeforeRet_;
						}
						T8_ = (NIM_BOOL)0;
						T8_ = isFilled__pureZcollectionsZtables_u31(table_p0.data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T8_) goto LA9_;
						colontmpD_ = NIM_NIL;
						if (h_1 < 0 || h_1 >= table_p0.data.len){ raiseIndexError2(h_1,table_p0.data.len-1); goto BeforeRet_;
						}
						eqcopy___system_u2754((&k_1), table_p0.data.p->data[h_1].Field1);
						if (h_1 < 0 || h_1 >= table_p0.data.len){ raiseIndexError2(h_1,table_p0.data.len-1); goto BeforeRet_;
						}
						eqcopy___system_u2754((&v_1), table_p0.data.p->data[h_1].Field2);
						colontmpD_ = percent___pureZjson_u2161(v_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						X5BX5Deq___pureZjson_u2311(result, k_1, colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							NI T13_;
							T13_ = (NI)0;
							T13_ = len__lockfiles_u2034(table_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!((T13_ == L_1))) goto LA14_;
							failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_121);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA14_: ;
						eqdestroy___pureZjson_u321(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA9_: ;
					if (nimAddInt(res_1, ((NI)1), &TM__9b9bytt1stv9cZ8uqII7HFgew_122)) { raiseOverflow(); goto BeforeRet_;
					};
					res_1 = (NI)(TM__9b9bytt1stv9cZ8uqII7HFgew_122);
				} LA5: ;
			}
		}
		if (v_1.p && !(v_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(v_1.p);
}
		if (k_1.p && !(k_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(k_1.p);
}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___confighandler_u101)(tyObject_JsonConfig__iFWwY7PHFPaSFEA74m0sTw* o_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newJObject__pureZjson_u440();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
		if (!NIM_TRUE) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = percent___pureZjson_u2161((*o_p0).deps);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		X5BX5Deq___pureZjson_u2311(result, TM__9b9bytt1stv9cZ8uqII7HFgew_117, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZjson_u321(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__2;
		if (!NIM_TRUE) goto LA7_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = percent___confighandler_u116((*o_p0).nameOverrides);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		X5BX5Deq___pureZjson_u2311(result, TM__9b9bytt1stv9cZ8uqII7HFgew_119, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZjson_u321(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA7_: ;
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__3;
		if (!NIM_TRUE) goto LA11_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = percent___confighandler_u116((*o_p0).urlOverrides);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		X5BX5Deq___pureZjson_u2311(result, TM__9b9bytt1stv9cZ8uqII7HFgew_124, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZjson_u321(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA11_: ;
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__4;
		if (!NIM_TRUE) goto LA15_;
		colontmpD__4 = NIM_NIL;
		colontmpD__4 = percent___confighandler_u116((*o_p0).pkgOverrides);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		X5BX5Deq___pureZjson_u2311(result, TM__9b9bytt1stv9cZ8uqII7HFgew_126, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZjson_u321(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA15_: ;
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__5;
		if (!NIM_TRUE) goto LA19_;
		colontmpD__5 = NIM_NIL;
		colontmpD__5 = percent___pureZjson_u2161((*o_p0).plugins);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		X5BX5Deq___pureZjson_u2311(result, TM__9b9bytt1stv9cZ8uqII7HFgew_128, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZjson_u321(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA19_: ;
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__6;
		if (!NIM_TRUE) goto LA23_;
		colontmpD__6 = NIM_NIL;
		colontmpD__6 = percent___pureZjson_u2161((*o_p0).resolver);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		X5BX5Deq___pureZjson_u2311(result, TM__9b9bytt1stv9cZ8uqII7HFgew_130, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZjson_u321(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA23_: ;
	{
		if (!NIM_TRUE) goto LA27_;
		X5BX5Deq___pureZjson_u2311(result, TM__9b9bytt1stv9cZ8uqII7HFgew_132, (*o_p0).graph);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA27_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJRawNumber__pureZjson_u426)(NimStringV2 s_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	NimStringV2 colontmpD_;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObjUninit(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4);
	colontmpD_ = eqdup___system_u2757(s_p0);
	(*T1_)._kind_1.str = colontmpD_;
	(*T1_).isUnquoted = NIM_TRUE;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJInt__pureZjson_u429)(NI64 n_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2);
	(*T1_)._kind_2.num = n_p0;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (targetDepth_p1 <= (*source_p0).depth);
	if (!(T1_)) goto LA2_;
	T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = currException__system_u3686;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	eqcopy___system_u3719(&currException__system_u3686, (*currException__system_u3686).up, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJFloat__pureZjson_u432)(NF n_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)3);
	(*T1_)._kind_3.fnum = n_p0;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJBool__pureZjson_u435)(NIM_BOOL b_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1);
	(*T1_)._kind_4.bval = b_p0;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJArray__pureZjson_u503)(void) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6);
	(*T1_)._kind_7.elems.len = 0; (*T1_)._kind_7.elems.p = (tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content*) newSeqPayload(0, sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*));
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_u659)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* father_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* child_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!(((*father_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_139);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	if (!(((64 &((NU8)1<<((NU)(((*father_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_140, dollar___pureZjson_u20((*father_p0).kind)); goto BeforeRet_;
	}
	colontmpD_ = eqdup___pureZjson_u327(child_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__pureZjson_u671((&(*father_p0)._kind_7.elems), colontmpD_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, parseJson__pureZjson_u5575)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* p_p0, NIM_BOOL rawIntegers_p1, NIM_BOOL rawFloats_p2, NI depth_p3) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin74_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok) {
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)2):
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T2_;
		tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T3_;
		T2_ = NIM_NIL;
		T2_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
		(*T2_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4);
		(*T2_)._kind_1.str = (*p_p0).a;
		eqwasMoved___system_u2751((&(*p_p0).a));
		result = T2_;
		T3_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
		T3_ = getTok__pureZparsejson_u633(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T3_);
	}
	break;
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)3):
	{
		tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T17_;
		{
			if (!rawIntegers_p1) goto LA7_;
			result = newJRawNumber__pureZjson_u426((*p_p0).a);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			NI64 T11_;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T12_;
			T11_ = (NI64)0;
			T11_ = nsuParseBiggestInt((*p_p0).a);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = newJInt__pureZjson_u429(T11_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T12_); goto LA10_;}
			result = T12_;
			if (NIM_UNLIKELY(*nimErr_)) {
				LA10_:;
				if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1287918080)) {
					tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T16_;
					*nimErr_ = NIM_FALSE;
					T16_ = NIM_NIL;
					T16_ = newJRawNumber__pureZjson_u426((*p_p0).a);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T16_); goto LA14_;}
					result = T16_;
					popCurrentException();
					LA14_:;
				}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
		T17_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
		T17_ = getTok__pureZparsejson_u633(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T17_);
	}
	break;
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)4):
	{
		tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T32_;
		{
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T23_;
			if (!rawFloats_p2) goto LA21_;
			T23_ = NIM_NIL;
			T23_ = newJRawNumber__pureZjson_u426((*p_p0).a);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T23_); goto BeforeRet_;}
			result = T23_;
		}
		goto LA19_;
LA21_: ;
		{
			NF T26_;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T27_;
			T26_ = (NF)0;
			T26_ = nsuParseFloat((*p_p0).a);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			T27_ = NIM_NIL;
			T27_ = newJFloat__pureZjson_u432(T26_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T27_); goto LA25_;}
			result = T27_;
			if (NIM_UNLIKELY(*nimErr_)) {
				LA25_:;
				if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1287918080)) {
					tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T31_;
					*nimErr_ = NIM_FALSE;
					T31_ = NIM_NIL;
					T31_ = newJRawNumber__pureZjson_u426((*p_p0).a);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T31_); goto LA29_;}
					result = T31_;
					popCurrentException();
					LA29_:;
				}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA19_: ;
		T32_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
		T32_ = getTok__pureZparsejson_u633(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T32_);
	}
	break;
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)5):
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T34_;
		tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T35_;
		T34_ = NIM_NIL;
		T34_ = newJBool__pureZjson_u435(NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T34_); goto BeforeRet_;}
		result = T34_;
		T35_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
		T35_ = getTok__pureZparsejson_u633(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T35_);
	}
	break;
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)6):
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T37_;
		tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T38_;
		T37_ = NIM_NIL;
		T37_ = newJBool__pureZjson_u435(NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T37_); goto BeforeRet_;}
		result = T37_;
		T38_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
		T38_ = getTok__pureZparsejson_u633(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T38_);
	}
	break;
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)7):
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T40_;
		tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T41_;
		T40_ = NIM_NIL;
		T40_ = newJNull__pureZjson_u438();
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T40_); goto BeforeRet_;}
		result = T40_;
		T41_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
		T41_ = getTok__pureZparsejson_u633(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T41_);
	}
	break;
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)8):
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T47_;
		tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T48_;
		{
			if (!(((NI)1000) < depth_p3)) goto LA45_;
			raiseParseErr__pureZparsejson_u827((&(*p_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_133);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA45_: ;
		T47_ = NIM_NIL;
		T47_ = newJObject__pureZjson_u440();
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T47_); goto BeforeRet_;}
		result = T47_;
		T48_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
		T48_ = getTok__pureZparsejson_u633(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T48_);
		{
			while (1) {
				NimStringV2 key_1;
				tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_1;
				tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T56_;
				NI TM__9b9bytt1stv9cZ8uqII7HFgew_136;
				tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T57_;
				tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T62_;
				if (!!(((*p_p0).tok == ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)9)))) goto LA50;
				key_1.len = 0; key_1.p = NIM_NIL;
				val_1 = NIM_NIL;
				{
					if (!!(((*p_p0).tok == ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)2)))) goto LA54_;
					raiseParseErr__pureZparsejson_u827((&(*p_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_135);
					if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				}
LA54_: ;
				eqcopy___system_u2754((&key_1), (*p_p0).a);
				T56_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
				T56_ = getTok__pureZparsejson_u633(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				(void)(T56_);
				eat__pureZparsejson_u892(p_p0, ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)12));
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				if (nimAddInt(depth_p3, ((NI)1), &TM__9b9bytt1stv9cZ8uqII7HFgew_136)) { raiseOverflow(); goto LA51_;
				};
				T57_ = NIM_NIL;
				T57_ = parseJson__pureZjson_u5575(p_p0, rawIntegers_p1, rawFloats_p2, (NI)(TM__9b9bytt1stv9cZ8uqII7HFgew_136));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T57_); goto LA51_;}
				val_1 = T57_;
				X5BX5Deq___pureZjson_u2311(result, key_1, val_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				{
					if (!!(((*p_p0).tok == ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)13)))) goto LA60_;
					eqdestroy___pureZjson_u321(val_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
					goto LA49;
				}
LA60_: ;
				T62_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
				T62_ = getTok__pureZparsejson_u633(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
				(void)(T62_);
				{
					LA51_:;
				}
				{
					oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___pureZjson_u321(val_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
					*nimErr_ = oldNimErrFin51_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA50: ;
		} LA49: ;
		eat__pureZparsejson_u892(p_p0, ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)9));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)10):
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T70_;
		tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T71_;
		{
			if (!(((NI)1000) < depth_p3)) goto LA68_;
			raiseParseErr__pureZparsejson_u827((&(*p_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_137);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA68_: ;
		T70_ = NIM_NIL;
		T70_ = newJArray__pureZjson_u503();
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T70_); goto BeforeRet_;}
		result = T70_;
		T71_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
		T71_ = getTok__pureZparsejson_u633(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T71_);
		{
			while (1) {
				tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
				NI TM__9b9bytt1stv9cZ8uqII7HFgew_141;
				tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T75_;
				tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T80_;
				if (!!(((*p_p0).tok == ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)11)))) goto LA73;
				colontmpD_ = NIM_NIL;
				if (nimAddInt(depth_p3, ((NI)1), &TM__9b9bytt1stv9cZ8uqII7HFgew_141)) { raiseOverflow(); goto LA74_;
				};
				T75_ = NIM_NIL;
				T75_ = parseJson__pureZjson_u5575(p_p0, rawIntegers_p1, rawFloats_p2, (NI)(TM__9b9bytt1stv9cZ8uqII7HFgew_141));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T75_); goto LA74_;}
				colontmpD_ = T75_;
				add__pureZjson_u659(result, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
				{
					if (!!(((*p_p0).tok == ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)13)))) goto LA78_;
					eqdestroy___pureZjson_u321(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA72;
				}
LA78_: ;
				T80_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
				T80_ = getTok__pureZparsejson_u633(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
				(void)(T80_);
				{
					LA74_:;
				}
				{
					oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___pureZjson_u321(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin74_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA73: ;
		} LA72: ;
		eat__pureZparsejson_u892(p_p0, ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)11));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0):
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)9):
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)11):
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)12):
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)13):
	case ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)1):
	{
		raiseParseErr__pureZparsejson_u827((&(*p_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_142);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, close__pureZparsejson_u310)(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw* my_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	close__pureZlexbase_u14(&my_p0->Sup);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, parseJson__pureZjson_u5621)(tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* s_p0, NimStringV2 filename_p1, NIM_BOOL rawIntegers_p2, NIM_BOOL rawFloats_p3) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw p_1;
	tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA T3_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&p_1), sizeof(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw));
	p_1.Sup.Sup.m_type = (&NTIv2__36wI9cyxoyt1Pvn8bP6kcpw_);
	nimZeroMem((void*)(&p_1), sizeof(tyObject_JsonParser__36wI9cyxoyt1Pvn8bP6kcpw));
	p_1.Sup.Sup.m_type = (&NTIv2__36wI9cyxoyt1Pvn8bP6kcpw_);
	open__pureZparsejson_u79((&p_1), s_p0, filename_p1, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = (tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)0;
	T3_ = getTok__pureZparsejson_u633((&p_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
	(void)(T3_);
	result = parseJson__pureZjson_u5575((&p_1), rawIntegers_p2, rawFloats_p3, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
	eat__pureZparsejson_u892((&p_1), ((tyEnum_TokKind__P5IOiLAOhO6n9aY9b9ae0i5dA)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
	{
		LA2_:;
	}
	{
		oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
		close__pureZparsejson_u310((&p_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		*nimErr_ = oldNimErrFin2_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZparsejson_u127((&p_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1763(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_u2438)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!(a_p0 == 0)) goto LA3_;
		{
			if (!(b_p1 == 0)) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = (b_p1 == 0);
		if (T10_) goto LA11_;
		T10_ = !(((*a_p0).kind == (*b_p1).kind));
LA11_: ;
		if (!T10_) goto LA12_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	goto LA1_;
LA12_: ;
	{
		switch ((*a_p0).kind) {
		case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4):
		{
			if (!(((16 &((NU8)1<<((NU)(((*a_p0).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_143, dollar___pureZjson_u20((*a_p0).kind)); goto BeforeRet_;
			}
			if (!(((16 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_144, dollar___pureZjson_u20((*b_p1).kind)); goto BeforeRet_;
			}
			result = eqStrings((*a_p0)._kind_1.str, (*b_p1)._kind_1.str);
		}
		break;
		case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2):
		{
			if (!(((4 &((NU8)1<<((NU)(((*a_p0).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_145, dollar___pureZjson_u20((*a_p0).kind)); goto BeforeRet_;
			}
			if (!(((4 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_146, dollar___pureZjson_u20((*b_p1).kind)); goto BeforeRet_;
			}
			result = ((*a_p0)._kind_2.num == (*b_p1)._kind_2.num);
		}
		break;
		case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)3):
		{
			if (!(((8 &((NU8)1<<((NU)(((*a_p0).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_147, dollar___pureZjson_u20((*a_p0).kind)); goto BeforeRet_;
			}
			if (!(((8 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_148, dollar___pureZjson_u20((*b_p1).kind)); goto BeforeRet_;
			}
			result = ((*a_p0)._kind_3.fnum == (*b_p1)._kind_3.fnum);
		}
		break;
		case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1):
		{
			if (!(((2 &((NU8)1<<((NU)(((*a_p0).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_149, dollar___pureZjson_u20((*a_p0).kind)); goto BeforeRet_;
			}
			if (!(((2 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_150, dollar___pureZjson_u20((*b_p1).kind)); goto BeforeRet_;
			}
			result = ((*a_p0)._kind_4.bval == (*b_p1)._kind_4.bval);
		}
		break;
		case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0):
		{
			result = NIM_TRUE;
		}
		break;
		case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6):
		{
			if (!(((64 &((NU8)1<<((NU)(((*a_p0).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_151, dollar___pureZjson_u20((*a_p0).kind)); goto BeforeRet_;
			}
			if (!(((64 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_152, dollar___pureZjson_u20((*b_p1).kind)); goto BeforeRet_;
			}
			result = eqeq___pureZjson_u2455((*a_p0)._kind_7.elems, (*b_p1)._kind_7.elems);
		}
		break;
		case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5):
		{
			{
				NI T24_;
				NI T25_;
				if (!(((32 &((NU8)1<<((NU)(((*a_p0).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_153, dollar___pureZjson_u20((*a_p0).kind)); goto BeforeRet_;
				}
				T24_ = (NI)0;
				T24_ = len__pureZjson_u2571((&(*a_p0)._kind_6.fields));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(((32 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_154, dollar___pureZjson_u20((*b_p1).kind)); goto BeforeRet_;
				}
				T25_ = (NI)0;
				T25_ = len__pureZjson_u2571((&(*b_p1)._kind_6.fields));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!!((T24_ == T25_))) goto LA26_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
LA26_: ;
			{
				NimStringV2 key_1;
				tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_1;
				tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA colontmp_;
				NI L_1;
				key_1.len = 0; key_1.p = NIM_NIL;
				val_1 = NIM_NIL;
				nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA));
				if (!(((32 &((NU8)1<<((NU)(((*a_p0).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_155, dollar___pureZjson_u20((*a_p0).kind)); goto LA29_;
				}
				colontmp_ = (*a_p0)._kind_6.fields;
				L_1 = len__pureZjson_u2571((&colontmp_));
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				{
					NI h_1;
					if (!(((NI)0) < colontmp_.counter)) goto LA32_;
					h_1 = colontmp_.first;
					{
						while (1) {
							NI nxt_1;
							if (!(((NI)0) <= h_1)) goto LA35;
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA29_;
							}
							nxt_1 = colontmp_.data.p->data[h_1].Field1;
							{
								NIM_BOOL T38_;
								if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA29_;
								}
								T38_ = (NIM_BOOL)0;
								T38_ = isFilled__pureZcollectionsZtables_u31(colontmp_.data.p->data[h_1].Field0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
								if (!T38_) goto LA39_;
								if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA29_;
								}
								eqcopy___system_u2754((&key_1), colontmp_.data.p->data[h_1].Field2);
								if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA29_;
								}
								eqcopy___pureZjson_u324(&val_1, colontmp_.data.p->data[h_1].Field3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
								{
									NIM_BOOL T43_;
									if (!(((32 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 									{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_156, dollar___pureZjson_u20((*b_p1).kind)); goto LA29_;
									}
									T43_ = (NIM_BOOL)0;
									T43_ = hasKey__pureZjson_u2981((&(*b_p1)._kind_6.fields), key_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
									if (!!(T43_)) goto LA44_;
									result = NIM_FALSE;
									eqdestroy___pureZjson_u321(val_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
									goto BeforeRet_;
								}
LA44_: ;
								{
									tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** T48_;
									NIM_BOOL T49_;
									if (!(((32 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 									{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_157, dollar___pureZjson_u20((*b_p1).kind)); goto LA29_;
									}
									T48_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
									T48_ = X5BX5D___pureZjson_u3055((&(*b_p1)._kind_6.fields), key_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
									T49_ = (NIM_BOOL)0;
									T49_ = eqeq___pureZjson_u2438((*T48_), val_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
									if (!!(T49_)) goto LA50_;
									result = NIM_FALSE;
									eqdestroy___pureZjson_u321(val_1);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
									goto BeforeRet_;
								}
LA50_: ;
								{
									NI T54_;
									T54_ = (NI)0;
									T54_ = len__pureZjson_u2571((&colontmp_));
									if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
									if (!!((T54_ == L_1))) goto LA55_;
									failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_158);
									if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
								}
LA55_: ;
							}
LA39_: ;
							h_1 = nxt_1;
						} LA35: ;
					}
				}
LA32_: ;
				{
					LA29_:;
				}
				{
					oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___pureZjson_u321(val_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
					*nimErr_ = oldNimErrFin29_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			result = NIM_TRUE;
		}
		break;
		default: __builtin_unreachable();
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_u3436)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6):
	{
		NI T2_;
		if (!(((64 &((NU8)1<<((NU)(((*n_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_159, dollar___pureZjson_u20((*n_p0).kind)); goto BeforeRet_;
		}
		T2_ = (*n_p0)._kind_7.elems.len;
		result = T2_;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5):
	{
		if (!(((32 &((NU8)1<<((NU)(((*n_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_160, dollar___pureZjson_u20((*n_p0).kind)); goto BeforeRet_;
		}
		result = len__pureZjson_u2571((&(*n_p0)._kind_6.fields));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = ((NI)0);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_u4857)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0) {
	NimStringV2 result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_ = (NI)0;
	T1_ = len__pureZjson_u3436(node_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (((NI)((NU64)(T1_) << (NU64)(((NI)1) & (64 - 1)))) < ((NI)0) || ((NI)((NU64)(T1_) << (NU64)(((NI)1) & (64 - 1)))) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)((NU64)(T1_) << (NU64)(((NI)1) & (64 - 1))), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	result = rawNewString(((NI)((NU64)(T1_) << (NU64)(((NI)1) & (64 - 1)))));
	toUgly__pureZjson_u4757((&result), node_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_u3599)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 key_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!!(((*node_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_162);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	if (!(((32 &((NU8)1<<((NU)(((*node_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_163, dollar___pureZjson_u20((*node_p0).kind)); goto BeforeRet_;
	}
	result = hasKey__pureZjson_u2981((&(*node_p0)._kind_6.fields), key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_u5669)(NimStringV2* dst_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* jsonNode_p1, NimStringV2* jsonPath_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw* T6_;
		NimStringV2 T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = eqeq___pureZjson_u2438(jsonNode_p1, ((tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = (tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw*) nimNewObj(sizeof(tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw), NIM_ALIGNOF(tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__qzHBUoNbmltDnZWA4mt9c9bw_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = rawNewString((*jsonPath_p2).len + 15);
appendString((&T7_), TM__9b9bytt1stv9cZ8uqII7HFgew_166);
appendString((&T7_), (*jsonPath_p2));
		(*T6_).Sup.Sup.Sup.message = T7_;
		(*T6_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "initFromJson", "json.nim", 1065);
goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		NimStringV2 msgX60gensym97__1;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tyArray__dyW7vpmfeTYw8kX3EXuaJA T12_;
		tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q* T13_;
		NimStringV2 blitTmp_1;
		if (!!(((*jsonNode_p1).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4) || (*jsonNode_p1).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0)))) goto LA9_;
		msgX60gensym97__1.len = 0; msgX60gensym97__1.p = NIM_NIL;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = dollar___pureZjson_u5748(17);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T12_[0] = colontmpD_;
		T12_[1] = (*jsonPath_p2);
		colontmpD__2 = dollar___pureZjson_u20((*jsonNode_p1).kind);
		T12_[2] = colontmpD__2;
		msgX60gensym97__1 = nsuFormatOpenArray(TM__9b9bytt1stv9cZ8uqII7HFgew_168, T12_, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T13_ = NIM_NIL;
		T13_ = (tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q*) nimNewObj(sizeof(tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q), NIM_ALIGNOF(tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q));
		(*T13_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__2PC87p2TBc9apRjznv9cEE0Q_);
		(*T13_).Sup.Sup.Sup.name = "JsonKindError";
		blitTmp_1 = msgX60gensym97__1;
		eqwasMoved___system_u2751((&msgX60gensym97__1));
		(*T13_).Sup.Sup.Sup.message = blitTmp_1;
		(*T13_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T13_, "JsonKindError", "initFromJson", "json.nim", 1072);
goto LA11_;
		{
			LA11_:;
		}
		{
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			if (msgX60gensym97__1.p && !(msgX60gensym97__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(msgX60gensym97__1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA9_: ;
LA1_: ;
	{
		if (!((*jsonNode_p1).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0))) goto LA18_;
		eqsink___system_u2760((&(*dst_p0)), TM__9b9bytt1stv9cZ8uqII7HFgew_169);
	}
	goto LA16_;
LA18_: ;
	{
		if (!(((16 &((NU8)1<<((NU)(((*jsonNode_p1).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_170, dollar___pureZjson_u20((*jsonNode_p1).kind)); goto BeforeRet_;
		}
		eqcopy___system_u2754((&(*dst_p0)), (*jsonNode_p1)._kind_1.str);
	}
LA16_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, to__stdZjsonutils_u565)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0) {
	NimStringV2 result;
	NimStringV2 jsonPath_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	jsonPath_1.len = 0; jsonPath_1.p = NIM_NIL;
	jsonPath_1 = TM__9b9bytt1stv9cZ8uqII7HFgew_164;
	result.len = 0; result.p = NIM_NIL;
	initFromJson__pureZjson_u5669((&result), node_p0, (&jsonPath_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (jsonPath_1.p && !(jsonPath_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(jsonPath_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, parseFile__pureZjson_u5637)(NimStringV2 filename_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_FileStreamObj__55YZdAmhEXf1sGHQMYxWjw* stream_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	stream_1 = NIM_NIL;
	stream_1 = newFileStream__pureZstreams_u1210(filename_p0, ((tyEnum_FileMode__wjF0STQGT1PBuQEl3p0tng)0), ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_IOError__FsM2LSiW5usgjecIvsloBA* T6_;
		NimStringV2 T7_;
		if (!(stream_1 == ((tyObject_FileStreamObj__55YZdAmhEXf1sGHQMYxWjw*) NIM_NIL))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = (tyObject_IOError__FsM2LSiW5usgjecIvsloBA*) nimNewObj(sizeof(tyObject_IOError__FsM2LSiW5usgjecIvsloBA), NIM_ALIGNOF(tyObject_IOError__FsM2LSiW5usgjecIvsloBA));
		(*T6_).Sup.Sup.Sup.m_type = (&NTIv2__FsM2LSiW5usgjecIvsloBA_);
		(*T6_).Sup.Sup.name = "IOError";
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = rawNewString(filename_p0.len + 23);
appendString((&T7_), TM__9b9bytt1stv9cZ8uqII7HFgew_172);
appendString((&T7_), filename_p0);
		(*T6_).Sup.Sup.message = T7_;
		(*T6_).Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "IOError", "parseFile", "json.nim", 1057);
goto LA1_;
	}
LA4_: ;
	result = parseJson__pureZjson_u5621((*((tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ**) (&(stream_1)))), filename_p0, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZstreams_u1093(stream_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZjson_u3653)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 key_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!!(((*node_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_174);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	if (!(((32 &((NU8)1<<((NU)(((*node_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_175, dollar___pureZjson_u20((*node_p0).kind)); goto BeforeRet_;
	}
	result = hasKey__pureZjson_u2981((&(*node_p0)._kind_6.fields), key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___pureZjson_u2171)(NI n_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2);
	(*T1_)._kind_2.num = ((NI64) (n_p0));
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___pureZjson_u2187)(NIM_BOOL b_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1);
	(*T1_)._kind_4.bval = b_p0;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJString__pureZjson_u42)(NimStringV2 s_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	NimStringV2 colontmpD_;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4);
	colontmpD_ = eqdup___system_u2757(s_p0);
	(*T1_)._kind_1.str = colontmpD_;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, copy__pureZjson_u4656)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* p_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).kind) {
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4):
	{
		if (!(((16 &((NU8)1<<((NU)(((*p_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_176, dollar___pureZjson_u20((*p_p0).kind)); goto BeforeRet_;
		}
		result = newJString__pureZjson_u42((*p_p0)._kind_1.str);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result).isUnquoted = (*p_p0).isUnquoted;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2):
	{
		if (!(((4 &((NU8)1<<((NU)(((*p_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_177, dollar___pureZjson_u20((*p_p0).kind)); goto BeforeRet_;
		}
		result = newJInt__pureZjson_u429((*p_p0)._kind_2.num);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)3):
	{
		if (!(((8 &((NU8)1<<((NU)(((*p_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_178, dollar___pureZjson_u20((*p_p0).kind)); goto BeforeRet_;
		}
		result = newJFloat__pureZjson_u432((*p_p0)._kind_3.fnum);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1):
	{
		if (!(((2 &((NU8)1<<((NU)(((*p_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_179, dollar___pureZjson_u20((*p_p0).kind)); goto BeforeRet_;
		}
		result = newJBool__pureZjson_u435((*p_p0)._kind_4.bval);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)0):
	{
		result = newJNull__pureZjson_u438();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5):
	{
		result = newJObject__pureZjson_u440();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NimStringV2 key_1;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_1;
			tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA colontmp_;
			NI L_1;
			key_1.len = 0; key_1.p = NIM_NIL;
			val_1 = NIM_NIL;
			nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA));
			if (!(((32 &((NU8)1<<((NU)(((*p_p0).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_180, dollar___pureZjson_u20((*p_p0).kind)); goto BeforeRet_;
			}
			eqcopy___pureZjson_u486((&colontmp_), (&(*p_p0)._kind_6.fields));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			L_1 = len__pureZjson_u2571((&colontmp_));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI h_1;
				if (!(((NI)0) < colontmp_.counter)) goto LA10_;
				h_1 = colontmp_.first;
				{
					while (1) {
						NI nxt_1;
						if (!(((NI)0) <= h_1)) goto LA13;
						if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto BeforeRet_;
						}
						nxt_1 = colontmp_.data.p->data[h_1].Field1;
						{
							NIM_BOOL T16_;
							tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T19_;
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto BeforeRet_;
							}
							T16_ = (NIM_BOOL)0;
							T16_ = isFilled__pureZcollectionsZtables_u31(colontmp_.data.p->data[h_1].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T16_) goto LA17_;
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto BeforeRet_;
							}
							eqcopy___system_u2754((&key_1), colontmp_.data.p->data[h_1].Field2);
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto BeforeRet_;
							}
							eqcopy___pureZjson_u324(&val_1, colontmp_.data.p->data[h_1].Field3);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!(((32 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 							{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_181, dollar___pureZjson_u20((*result).kind)); goto BeforeRet_;
							}
							T19_ = NIM_NIL;
							T19_ = copy__pureZjson_u4656(val_1);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T19_); goto BeforeRet_;}
							X5BX5Deq___pureZjson_u740((&(*result)._kind_6.fields), key_1, T19_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							{
								NI T22_;
								T22_ = (NI)0;
								T22_ = len__pureZjson_u2571((&colontmp_));
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								if (!!((T22_ == L_1))) goto LA23_;
								failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_182);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
LA23_: ;
						}
LA17_: ;
						h_1 = nxt_1;
					} LA13: ;
				}
			}
LA10_: ;
			eqdestroy___pureZjson_u483((&colontmp_));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___pureZjson_u321(val_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
		}
	}
	break;
	case ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6):
	{
		result = newJArray__pureZjson_u503();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tySequence__t6JKa4Kdxpc0RJiFEWRI9bw colontmp__2;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** i_1;
			NI i_2;
			NI L_2;
			NI T27_;
			colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
			i_1 = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
			if (!(((64 &((NU8)1<<((NU)(((*p_p0).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_183, dollar___pureZjson_u20((*p_p0).kind)); goto BeforeRet_;
			}
			eqcopy___pureZjson_u257((&colontmp__2), (*p_p0)._kind_7.elems);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			T27_ = colontmp__2.len;
			L_2 = T27_;
			{
				while (1) {
					tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T30_;
					if (!(i_2 < L_2)) goto LA29;
					if (i_2 < 0 || i_2 >= colontmp__2.len){ raiseIndexError2(i_2,colontmp__2.len-1); goto BeforeRet_;
					}
					i_1 = &colontmp__2.p->data[i_2];
					if (!(((64 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 					{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_184, dollar___pureZjson_u20((*result).kind)); goto BeforeRet_;
					}
					T30_ = NIM_NIL;
					T30_ = copy__pureZjson_u4656((*i_1));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u321(T30_); goto BeforeRet_;}
					add__pureZjson_u671((&(*result)._kind_7.elems), T30_);
					i_2 += ((NI)1);
					{
						NI T33_;
						T33_ = colontmp__2.len;
						if (!!((T33_ == L_2))) goto LA34_;
						failedAssertImpl__stdZassertions_u95(TM__9b9bytt1stv9cZ8uqII7HFgew_185);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA34_: ;
				} LA29: ;
			}
			eqdestroy___pureZjson_u254(colontmp__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___pureZjson_u2181)(NI64 n_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
	(*T1_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2);
	(*T1_)._kind_2.num = n_p0;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___pureZjson_u2184)(NF n_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = NIM_NIL;
	{
		if (!!((n_p0 == n_p0))) goto LA4_;
		result = newJString__pureZjson_u42(TM__9b9bytt1stv9cZ8uqII7HFgew_187);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		if (!(n_p0 == INF)) goto LA7_;
		result = newJString__pureZjson_u42(TM__9b9bytt1stv9cZ8uqII7HFgew_189);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA7_: ;
	{
		if (!(n_p0 == -INF)) goto LA10_;
		result = newJString__pureZjson_u42(TM__9b9bytt1stv9cZ8uqII7HFgew_191);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA10_: ;
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* T13_;
		T13_ = NIM_NIL;
		T13_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) nimNewObj(sizeof(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA), NIM_ALIGNOF(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA));
		(*T13_).kind = ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)3);
		(*T13_)._kind_3.fnum = n_p0;
		result = T13_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, getOrDefault__pureZjson_u3914)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 key_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((node_p0 == 0));
		if (!(T3_)) goto LA4_;
		T3_ = ((*node_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5));
LA4_: ;
		if (!T3_) goto LA5_;
		if (!(((32 &((NU8)1<<((NU)(((*node_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_192, dollar___pureZjson_u20((*node_p0).kind)); goto BeforeRet_;
		}
		result = getOrDefault__pureZjson_u3830((&(*node_p0)._kind_6.fields), key_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		result = ((tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) NIM_NIL);
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, parseJson__pureZjson_u5632)(NimStringV2 buffer_p0, NIM_BOOL rawIntegers_p1, NIM_BOOL rawFloats_p2) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	NimStringV2 colontmpD_;
	tyObject_StringStreamObj__FCeo9aaO9bFFsI9aQbl29arbwg* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = eqdup___system_u2757(buffer_p0);
	colontmpD__2 = newStringStream__pureZstreams_u942(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = parseJson__pureZjson_u5621((*((tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ**) (&(colontmpD__2)))), TM__9b9bytt1stv9cZ8uqII7HFgew_194, rawIntegers_p1, rawFloats_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZstreams_u725(colontmpD__2);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getStr__pureZjson_u551)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0, NimStringV2 default_p1) {
	NimStringV2 result;
{	result.len = 0; result.p = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (n_p0 == 0);
		if (T3_) goto LA4_;
		T3_ = !(((*n_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4)));
LA4_: ;
		if (!T3_) goto LA5_;
		eqcopy___system_u2754((&result), default_p1);
		goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		if (!(((16 &((NU8)1<<((NU)(((*n_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_195, dollar___pureZjson_u20((*n_p0).kind)); goto BeforeRet_;
		}
		eqcopy___system_u2754((&result), (*n_p0)._kind_1.str);
		goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI64, getBiggestInt__pureZjson_u574)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0, NI64 default_p1) {
	NI64 result;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (n_p0 == 0);
		if (T3_) goto LA4_;
		T3_ = !(((*n_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2)));
LA4_: ;
		if (!T3_) goto LA5_;
		result = default_p1;
		goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		if (!(((4 &((NU8)1<<((NU)(((*n_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_196, dollar___pureZjson_u20((*n_p0).kind)); goto BeforeRet_;
		}
		result = (*n_p0)._kind_2.num;
		goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getInt__pureZjson_u563)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0, NI default_p1) {
	NI result;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (n_p0 == 0);
		if (T3_) goto LA4_;
		T3_ = !(((*n_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)2)));
LA4_: ;
		if (!T3_) goto LA5_;
		result = default_p1;
		goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		if (!(((4 &((NU8)1<<((NU)(((*n_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_197, dollar___pureZjson_u20((*n_p0).kind)); goto BeforeRet_;
		}
		result = ((NI) ((*n_p0)._kind_2.num));
		goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw, getElems__pureZjson_u644)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0, tySequence__t6JKa4Kdxpc0RJiFEWRI9bw default_p1) {
	tySequence__t6JKa4Kdxpc0RJiFEWRI9bw result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (n_p0 == 0);
		if (T3_) goto LA4_;
		T3_ = !(((*n_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6)));
LA4_: ;
		if (!T3_) goto LA5_;
		eqcopy___pureZjson_u257((&result), default_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		if (!(((64 &((NU8)1<<((NU)(((*n_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_198, dollar___pureZjson_u20((*n_p0).kind)); goto BeforeRet_;
		}
		eqcopy___pureZjson_u257((&result), (*n_p0)._kind_7.elems);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_u5673)(NIM_BOOL* dst_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* jsonNode_p1, NimStringV2* jsonPath_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw* T6_;
		NimStringV2 T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = eqeq___pureZjson_u2438(jsonNode_p1, ((tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = (tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw*) nimNewObj(sizeof(tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw), NIM_ALIGNOF(tyObject_KeyError__qzHBUoNbmltDnZWA4mt9c9bw));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__qzHBUoNbmltDnZWA4mt9c9bw_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = rawNewString((*jsonPath_p2).len + 15);
appendString((&T7_), TM__9b9bytt1stv9cZ8uqII7HFgew_200);
appendString((&T7_), (*jsonPath_p2));
		(*T6_).Sup.Sup.Sup.message = T7_;
		(*T6_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "initFromJson", "json.nim", 1065);
goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		NimStringV2 msgX60gensym101__1;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tyArray__dyW7vpmfeTYw8kX3EXuaJA T12_;
		tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q* T13_;
		NimStringV2 blitTmp_1;
		if (!!(((*jsonNode_p1).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)1)))) goto LA9_;
		msgX60gensym101__1.len = 0; msgX60gensym101__1.p = NIM_NIL;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = dollar___pureZjson_u5748(2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T12_[0] = colontmpD_;
		T12_[1] = (*jsonPath_p2);
		colontmpD__2 = dollar___pureZjson_u20((*jsonNode_p1).kind);
		T12_[2] = colontmpD__2;
		msgX60gensym101__1 = nsuFormatOpenArray(TM__9b9bytt1stv9cZ8uqII7HFgew_201, T12_, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T13_ = NIM_NIL;
		T13_ = (tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q*) nimNewObj(sizeof(tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q), NIM_ALIGNOF(tyObject_JsonKindError__2PC87p2TBc9apRjznv9cEE0Q));
		(*T13_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__2PC87p2TBc9apRjznv9cEE0Q_);
		(*T13_).Sup.Sup.Sup.name = "JsonKindError";
		blitTmp_1 = msgX60gensym101__1;
		eqwasMoved___system_u2751((&msgX60gensym101__1));
		(*T13_).Sup.Sup.Sup.message = blitTmp_1;
		(*T13_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T13_, "JsonKindError", "initFromJson", "json.nim", 1072);
goto LA11_;
		{
			LA11_:;
		}
		{
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			if (msgX60gensym101__1.p && !(msgX60gensym101__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(msgX60gensym101__1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA9_: ;
LA1_: ;
	if (!(((2 &((NU8)1<<((NU)(((*jsonNode_p1).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__9b9bytt1stv9cZ8uqII7HFgew_202, dollar___pureZjson_u20((*jsonNode_p1).kind)); goto BeforeRet_;
	}
	(*dst_p0) = (*jsonNode_p1)._kind_4.bval;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, to__basicZdeptypesjson_u4445)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0) {
	NIM_BOOL result;
	NimStringV2 jsonPath_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	jsonPath_1.len = 0; jsonPath_1.p = NIM_NIL;
	jsonPath_1 = TM__9b9bytt1stv9cZ8uqII7HFgew_199;
	result = 0;
	initFromJson__pureZjson_u5673((&result), node_p0, (&jsonPath_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (jsonPath_1.p && !(jsonPath_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(jsonPath_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
