/* 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/@pcompiler@sast.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pcompiler@sast.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.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_Gconfig__p4ClyfuxxDOXILxFWJzFaw tyObject_Gconfig__p4ClyfuxxDOXILxFWJzFaw;
typedef struct tyObject_Table__BrD3lKf4aBjUASPKv7csiA tyObject_Table__BrD3lKf4aBjUASPKv7csiA;
typedef struct tySequence__7s5HyddQ0f9bxMNILHrXwJQ tySequence__7s5HyddQ0f9bxMNILHrXwJQ;
typedef struct tySequence__7s5HyddQ0f9bxMNILHrXwJQ_Content tySequence__7s5HyddQ0f9bxMNILHrXwJQ_Content;
typedef struct tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ;
typedef struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA;
typedef struct tyObject_TType__Mr5OLuzzwXOlraK5ByalKg tyObject_TType__Mr5OLuzzwXOlraK5ByalKg;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg;
typedef struct tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg;
typedef struct tySequence__dLTPEqP7th9csUVoVHHIjNw tySequence__dLTPEqP7th9csUVoVHHIjNw;
typedef struct tySequence__dLTPEqP7th9csUVoVHHIjNw_Content tySequence__dLTPEqP7th9csUVoVHHIjNw_Content;
typedef struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA;
typedef struct tyObject_ItemId__OnnwywkYdp2BTE0bMUpKSw tyObject_ItemId__OnnwywkYdp2BTE0bMUpKSw;
typedef struct tyObject_TLoc__gpVBP0KM5RFN3ivnWraK0g tyObject_TLoc__gpVBP0KM5RFN3ivnWraK0g;
typedef struct tyObject_TLib__m9cHydnMKNeiHoiYcs2y7yQ tyObject_TLib__m9cHydnMKNeiHoiYcs2y7yQ;
typedef struct tySequence__XXg8bxrxFK9aERnS1wUYNHA tySequence__XXg8bxrxFK9aERnS1wUYNHA;
typedef struct tySequence__XXg8bxrxFK9aERnS1wUYNHA_Content tySequence__XXg8bxrxFK9aERnS1wUYNHA_Content;
typedef struct tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ;
typedef struct tySequence__q22m5h4tRGjHOr22omfttg tySequence__q22m5h4tRGjHOr22omfttg;
typedef struct tySequence__q22m5h4tRGjHOr22omfttg_Content tySequence__q22m5h4tRGjHOr22omfttg_Content;
typedef struct tyTuple__kuMQ1fbjJlHtwKTmBGAe6g tyTuple__kuMQ1fbjJlHtwKTmBGAe6g;
struct tySequence__7s5HyddQ0f9bxMNILHrXwJQ {
  NI len; tySequence__7s5HyddQ0f9bxMNILHrXwJQ_Content* p;
};
struct tyObject_Table__BrD3lKf4aBjUASPKv7csiA {
	tySequence__7s5HyddQ0f9bxMNILHrXwJQ data;
	NI counter;
};
struct tyObject_Gconfig__p4ClyfuxxDOXILxFWJzFaw {
	tyObject_Table__BrD3lKf4aBjUASPKv7csiA comments;
	NIM_BOOL useIc;
};
typedef NU64 tySet_tyEnum_TTypeFlag__Sdi559bR2ywMoUv5kacfskQ;
typedef NU8 tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ;
struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__dLTPEqP7th9csUVoVHHIjNw {
  NI len; tySequence__dLTPEqP7th9csUVoVHHIjNw_Content* p;
};
struct tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ {
	tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* typField;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info;
	tySet_tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA flags;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident;
} _kind_5;
	struct {
	tySequence__dLTPEqP7th9csUVoVHHIjNw sons;
} _kind_6;
};
};
struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA {
	NI rc;
	NI rootIdx;
};
struct tyObject_ItemId__OnnwywkYdp2BTE0bMUpKSw {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__yLjyfgLwQQoo3OXo5Y9cbUw;
typedef NU16 tyEnum_TMagic__qLqRe9bZyiEfsilxIbyDu0w;
typedef NU64 tySet_tyEnum_TSymFlag__63SQ9cotfAl9bN9bqToywQ9cmw;
typedef NU32 tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q;
typedef NU8 tyEnum_TLocKind__xVvYl3WUSAOaojH6nwOg7Q;
typedef NU8 tyEnum_TStorageLoc__09bXPVTIRG71nuTYJPH0lqA;
typedef NU16 tySet_tyEnum_TLocFlag__Hing3cNIRwcQtFArd3t3jg;
struct tyObject_TLoc__gpVBP0KM5RFN3ivnWraK0g {
	tyEnum_TLocKind__xVvYl3WUSAOaojH6nwOg7Q k;
	tyEnum_TStorageLoc__09bXPVTIRG71nuTYJPH0lqA storage;
	tySet_tyEnum_TLocFlag__Hing3cNIRwcQtFArd3t3jg flags;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg {
	tyObject_ItemId__OnnwywkYdp2BTE0bMUpKSw itemId;
	tyEnum_TSymKind__yLjyfgLwQQoo3OXo5Y9cbUw kind;
union{
	struct {
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* gcUnsafetyReason;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* transformedBody;
} _kind_1;
	struct {
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* guard;
	NI bitsize;
	NI alignment;
} _kind_2;
};
	tyEnum_TMagic__qLqRe9bZyiEfsilxIbyDu0w magic;
	tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* typ;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* name;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info;
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* ownerField;
	tySet_tyEnum_TSymFlag__63SQ9cotfAl9bN9bqToywQ9cmw flags;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* ast;
	tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q options;
	NI position;
	NI32 offset;
	NI32 disamb;
	tyObject_TLoc__gpVBP0KM5RFN3ivnWraK0g loc;
	tyObject_TLib__m9cHydnMKNeiHoiYcs2y7yQ* annex;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* constraint;
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* instantiatedFrom;
};
typedef NU8 tyEnum_TLibKind__zUSLcgIxV8NYl88lKYHlHw;
struct tyObject_TLib__m9cHydnMKNeiHoiYcs2y7yQ {
	tyEnum_TLibKind__zUSLcgIxV8NYl88lKYHlHw kind;
	NIM_BOOL generated;
	NIM_BOOL isOverridden;
	NimStringV2 name;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* path;
};
struct tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* next;
	NI h;
};
typedef NU8 tyEnum_TTypeKind__Fo1V9bZTbrrlaAJKy9at9aX2w;
typedef NU8 tyEnum_TCallingConvention__XbZ7z3bWUa9cjzU9abEA1efg;
struct tySequence__XXg8bxrxFK9aERnS1wUYNHA {
  NI len; tySequence__XXg8bxrxFK9aERnS1wUYNHA_Content* p;
};
struct tyObject_TType__Mr5OLuzzwXOlraK5ByalKg {
	tyObject_ItemId__OnnwywkYdp2BTE0bMUpKSw itemId;
	tyEnum_TTypeKind__Fo1V9bZTbrrlaAJKy9at9aX2w kind;
	tyEnum_TCallingConvention__XbZ7z3bWUa9cjzU9abEA1efg callConv;
	tySet_tyEnum_TTypeFlag__Sdi559bR2ywMoUv5kacfskQ flags;
	tySequence__XXg8bxrxFK9aERnS1wUYNHA sons;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n;
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* ownerField;
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__gpVBP0KM5RFN3ivnWraK0g loc;
	tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* typeInst;
	tyObject_ItemId__OnnwywkYdp2BTE0bMUpKSw uniqueId;
};
typedef NU8 tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA;
typedef NU8 tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ[21];
typedef NU8 tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA;
struct tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ {
	NI len;
	void* p;
};
struct tySequence__q22m5h4tRGjHOr22omfttg {
  NI len; tySequence__q22m5h4tRGjHOr22omfttg_Content* p;
};
struct tyTuple__kuMQ1fbjJlHtwKTmBGAe6g {
	NI Field0;
	NI Field1;
	NimStringV2 Field2;
};
struct tySequence__7s5HyddQ0f9bxMNILHrXwJQ_Content { NI cap; tyTuple__kuMQ1fbjJlHtwKTmBGAe6g data[SEQ_DECL_SIZE]; };
struct tySequence__dLTPEqP7th9csUVoVHHIjNw_Content { NI cap; tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* data[SEQ_DECL_SIZE]; };
struct tySequence__XXg8bxrxFK9aERnS1wUYNHA_Content { NI cap; tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* data[SEQ_DECL_SIZE]; };
struct tySequence__q22m5h4tRGjHOr22omfttg_Content { NI cap; tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, eqdup___OOZOOZOOZcompilerZlineinfos_u2038)(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA src_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___OOZOOZOOZcompilerZast_u3288)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3487)(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3539)(tyObject_TLib__m9cHydnMKNeiHoiYcs2y7yQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZidents_u174)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3306)(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3329)(tySequence__XXg8bxrxFK9aERnS1wUYNHA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3714)(tySequence__dLTPEqP7th9csUVoVHHIjNw dest_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(void, nimIncRef)(void* p_p0);
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2*, X5BX5D___OOZOOZOOZcompilerZast_u892)(tyObject_Table__BrD3lKf4aBjUASPKv7csiA* t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___OOZOOZOOZcompilerZast_u1377)(tyObject_Table__BrD3lKf4aBjUASPKv7csiA* t_p0, NI key_p1, NimStringV2 val_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(void, del__OOZOOZOOZcompilerZast_u2400)(tyObject_Table__BrD3lKf4aBjUASPKv7csiA* t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__OOZOOZOOZcompilerZast_u3243)(tySequence__dLTPEqP7th9csUVoVHHIjNw* x_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZnodekinds_u168)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ e_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseFieldErrorStr)(NimStringV2 f_p0, NimStringV2 discVal_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, eqdup___OOZOOZOOZcompilerZast_u3276)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNode__OOZOOZOOZcompilerZast_u4141)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZidents_u159)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg** dest_p0, tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* src_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___OOZOOZOOZcompilerZast_u3291)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZast_u3717)(tySequence__dLTPEqP7th9csUVoVHHIjNw* dest_p0, tySequence__dLTPEqP7th9csUVoVHHIjNw src_p1);
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__OOZOOZOOZcompilerZast_u3736)(tySequence__dLTPEqP7th9csUVoVHHIjNw* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZast_u3297)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg*, eqdup___OOZOOZOOZcompilerZast_u3402)(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZast_u3723)(tySequence__dLTPEqP7th9csUVoVHHIjNw* dest_p0, tySequence__dLTPEqP7th9csUVoVHHIjNw src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___OOZOOZOOZcompilerZast_u3711)(tySequence__dLTPEqP7th9csUVoVHHIjNw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNodeI__OOZOOZOOZcompilerZast_u4115)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__dLTPEqP7th9csUVoVHHIjNw, at___OOZOOZOOZcompilerZast_u4173)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** a_p0, NI a_p0Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNode__OOZOOZOOZcompilerZast_u4112)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZast_u4607)(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg** dest_p0, tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZast_u3399)(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg** dest_p0, tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* src_p1);
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__EnH1I9cGkGYbf9a1NwhuXDPg_2 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_3 = {0, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_2};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__EnH1I9cGkGYbf9a1NwhuXDPg_4 = { 30 | NIM_STRLIT_FLAG, "ast.nim(1023, 3) `son != nil` " };
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_5 = {30, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_4};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__EnH1I9cGkGYbf9a1NwhuXDPg_6 = {
0xec, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[62+1];
} TM__EnH1I9cGkGYbf9a1NwhuXDPg_7 = { 62 | NIM_STRLIT_FLAG, "field \'sons\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_8 = {62, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_7};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__EnH1I9cGkGYbf9a1NwhuXDPg_9 = {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__EnH1I9cGkGYbf9a1NwhuXDPg_10 = { 63 | NIM_STRLIT_FLAG, "field \'ident\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_11 = {63, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_10};
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_12 = {62, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_7};
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_13 = {62, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_7};
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_14 = {62, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_7};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__EnH1I9cGkGYbf9a1NwhuXDPg_15 = {
0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__EnH1I9cGkGYbf9a1NwhuXDPg_16 = { 64 | NIM_STRLIT_FLAG, "field \'strVal\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_17 = {64, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_16};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__EnH1I9cGkGYbf9a1NwhuXDPg_18 = {
0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__EnH1I9cGkGYbf9a1NwhuXDPg_19 = { 64 | NIM_STRLIT_FLAG, "field \'intVal\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_20 = {64, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_19};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__EnH1I9cGkGYbf9a1NwhuXDPg_21 = {
0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[66+1];
} TM__EnH1I9cGkGYbf9a1NwhuXDPg_22 = { 66 | NIM_STRLIT_FLAG, "field \'floatVal\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_23 = {66, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_22};
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_24 = {62, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_7};
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_25 = {62, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_7};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__EnH1I9cGkGYbf9a1NwhuXDPg_26 = {
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[61+1];
} TM__EnH1I9cGkGYbf9a1NwhuXDPg_27 = { 61 | NIM_STRLIT_FLAG, "field \'sym\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__EnH1I9cGkGYbf9a1NwhuXDPg_28 = {61, (NimStrPayload*)&TM__EnH1I9cGkGYbf9a1NwhuXDPg_27};
extern NIM_CONST tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA unknownLineInfo__OOZOOZOOZcompilerZlineinfos_u364;
N_LIB_PRIVATE NIM_THREADVAR tyObject_Gconfig__p4ClyfuxxDOXILxFWJzFaw gconfig__OOZOOZOOZcompilerZast_u832;
N_LIB_PRIVATE tySet_tyEnum_TTypeFlag__Sdi559bR2ywMoUv5kacfskQ eqTypeFlags__OOZOOZOOZcompilerZast_u325 = IL64(35184373301378);
N_LIB_PRIVATE NIM_BOOL ggDebug__OOZOOZOOZcompilerZast_u3195;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNode__OOZOOZOOZcompilerZast_u4112)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*) nimNewObj(sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ), NIM_ALIGNOF(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ));
	(*T1_).kind = kind_p0;
	colontmpD_ = eqdup___OOZOOZOOZcompilerZlineinfos_u2038(unknownLineInfo__OOZOOZOOZcompilerZlineinfos_u364);
	(*T1_).info = colontmpD_;
	result = T1_;
	return result;
}
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;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(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)((NI64)((*cell_1).rc) >> (NU64)(((NI)4) & (64 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3539)(tyObject_TLib__m9cHydnMKNeiHoiYcs2y7yQ* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).path);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0).path)));
		nimRawDispose((*dest_p0).path, ((NI)8));
	}
LA4_: ;
	if ((*dest_p0).name.p && !((*dest_p0).name.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).name.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3329)(tySequence__XXg8bxrxFK9aERnS1wUYNHA 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___OOZOOZOOZcompilerZast_u3306((&(*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_TType__Mr5OLuzzwXOlraK5ByalKg*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3306)(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).typeInst);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3306((&(*(*dest_p0).typeInst)));
		nimRawDispose((*dest_p0).typeInst, ((NI)8));
	}
LA4_: ;
	if ((*dest_p0).loc.snippet.p && !((*dest_p0).loc.snippet.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).loc.snippet.p);
}
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).loc.lode);
		if (!T8_) goto LA9_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0).loc.lode)));
		nimRawDispose((*dest_p0).loc.lode, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).sym);
		if (!T13_) goto LA14_;
		eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0).sym)));
		nimRawDispose((*dest_p0).sym, ((NI)8));
	}
LA14_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastDyn((*dest_p0).ownerField);
		if (!T18_) goto LA19_;
		eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0).ownerField)));
		nimRawDispose((*dest_p0).ownerField, ((NI)8));
	}
LA19_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = nimDecRefIsLastDyn((*dest_p0).n);
		if (!T23_) goto LA24_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0).n)));
		nimRawDispose((*dest_p0).n, ((NI)8));
	}
LA24_: ;
	eqdestroy___OOZOOZOOZcompilerZast_u3329((*dest_p0).sons);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3487)(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).instantiatedFrom);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0).instantiatedFrom)));
		nimRawDispose((*dest_p0).instantiatedFrom, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).constraint);
		if (!T8_) goto LA9_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0).constraint)));
		nimRawDispose((*dest_p0).constraint, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLast((*dest_p0).annex);
		if (!T13_) goto LA14_;
		eqdestroy___OOZOOZOOZcompilerZast_u3539((&(*(*dest_p0).annex)));
		nimRawDispose((*dest_p0).annex, ((NI)8));
	}
LA14_: ;
	if ((*dest_p0).loc.snippet.p && !((*dest_p0).loc.snippet.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).loc.snippet.p);
}
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastDyn((*dest_p0).loc.lode);
		if (!T18_) goto LA19_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0).loc.lode)));
		nimRawDispose((*dest_p0).loc.lode, ((NI)8));
	}
LA19_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = nimDecRefIsLastDyn((*dest_p0).ast);
		if (!T23_) goto LA24_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0).ast)));
		nimRawDispose((*dest_p0).ast, ((NI)8));
	}
LA24_: ;
	{
		NIM_BOOL T28_;
		T28_ = (NIM_BOOL)0;
		T28_ = nimDecRefIsLastDyn((*dest_p0).ownerField);
		if (!T28_) goto LA29_;
		eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0).ownerField)));
		nimRawDispose((*dest_p0).ownerField, ((NI)8));
	}
LA29_: ;
	{
		NIM_BOOL T33_;
		T33_ = (NIM_BOOL)0;
		T33_ = nimDecRefIsLastDyn((*dest_p0).name);
		if (!T33_) goto LA34_;
		eqdestroy___OOZOOZOOZcompilerZidents_u174((&(*(*dest_p0).name)));
		nimRawDispose((*dest_p0).name, ((NI)8));
	}
LA34_: ;
	{
		NIM_BOOL T38_;
		T38_ = (NIM_BOOL)0;
		T38_ = nimDecRefIsLastDyn((*dest_p0).typ);
		if (!T38_) goto LA39_;
		eqdestroy___OOZOOZOOZcompilerZast_u3306((&(*(*dest_p0).typ)));
		nimRawDispose((*dest_p0).typ, ((NI)8));
	}
LA39_: ;
	switch ((*dest_p0).kind) {
	case ((tyEnum_TSymKind__yLjyfgLwQQoo3OXo5Y9cbUw)12) ... ((tyEnum_TSymKind__yLjyfgLwQQoo3OXo5Y9cbUw)18):
	{
		{
			NIM_BOOL T44_;
			T44_ = (NIM_BOOL)0;
			T44_ = nimDecRefIsLastDyn((*dest_p0)._kind_1.transformedBody);
			if (!T44_) goto LA45_;
			eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0)._kind_1.transformedBody)));
			nimRawDispose((*dest_p0)._kind_1.transformedBody, ((NI)8));
		}
LA45_: ;
		{
			NIM_BOOL T49_;
			T49_ = (NIM_BOOL)0;
			T49_ = nimDecRefIsLastDyn((*dest_p0)._kind_1.gcUnsafetyReason);
			if (!T49_) goto LA50_;
			eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0)._kind_1.gcUnsafetyReason)));
			nimRawDispose((*dest_p0)._kind_1.gcUnsafetyReason, ((NI)8));
		}
LA50_: ;
	}
	break;
	case ((tyEnum_TSymKind__yLjyfgLwQQoo3OXo5Y9cbUw)9):
	case ((tyEnum_TSymKind__yLjyfgLwQQoo3OXo5Y9cbUw)8):
	case ((tyEnum_TSymKind__yLjyfgLwQQoo3OXo5Y9cbUw)19):
	case ((tyEnum_TSymKind__yLjyfgLwQQoo3OXo5Y9cbUw)21):
	{
		{
			NIM_BOOL T55_;
			T55_ = (NIM_BOOL)0;
			T55_ = nimDecRefIsLastDyn((*dest_p0)._kind_2.guard);
			if (!T55_) goto LA56_;
			eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0)._kind_2.guard)));
			nimRawDispose((*dest_p0)._kind_2.guard, ((NI)8));
		}
LA56_: ;
	}
	break;
	default:
	{
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3714)(tySequence__dLTPEqP7th9csUVoVHHIjNw 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___OOZOOZOOZcompilerZast_u3288((&(*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_TNode__Ti48YnpfFPqIlDllc6ehaQ*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3288)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0) {
	switch ((*dest_p0).kind) {
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)5) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)15):
	{
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)16) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)19):
	{
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22):
	{
		if ((*dest_p0)._kind_3.strVal.p && !((*dest_p0)._kind_3.strVal.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_3.strVal.p);
}
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)3):
	{
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = nimDecRefIsLastDyn((*dest_p0)._kind_4.sym);
			if (!T7_) goto LA8_;
			eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0)._kind_4.sym)));
			nimRawDispose((*dest_p0)._kind_4.sym, ((NI)8));
		}
LA8_: ;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2):
	{
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = nimDecRefIsLastDyn((*dest_p0)._kind_5.ident);
			if (!T13_) goto LA14_;
			eqdestroy___OOZOOZOOZcompilerZidents_u174((&(*(*dest_p0)._kind_5.ident)));
			nimRawDispose((*dest_p0)._kind_5.ident, ((NI)8));
		}
LA14_: ;
	}
	break;
	default:
	{
		eqdestroy___OOZOOZOOZcompilerZast_u3714((*dest_p0)._kind_6.sons);
	}
	break;
	}
	{
		NIM_BOOL T19_;
		T19_ = (NIM_BOOL)0;
		T19_ = nimDecRefIsLastDyn((*dest_p0).typField);
		if (!T19_) goto LA20_;
		eqdestroy___OOZOOZOOZcompilerZast_u3306((&(*(*dest_p0).typField)));
		nimRawDispose((*dest_p0).typField, ((NI)8));
	}
LA20_: ;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZast_u3279)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0));
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)8));
	}
LA4_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3270)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNode__OOZOOZOOZcompilerZast_u4141)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*) nimNewObj(sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ), NIM_ALIGNOF(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ));
	(*T1_).kind = kind_p0;
	colontmpD_ = eqdup___OOZOOZOOZcompilerZlineinfos_u2038(info_p1);
	(*T1_).info = colontmpD_;
	result = T1_;
	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___OOZOOZOOZcompilerZast_u3273)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* 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___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)8));
	}
LA8_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, comment__OOZOOZOOZcompilerZast_u835)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NIM_BOOL T3_;
		NimStringV2* T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*n_p0).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)23)))&31U)))!=0);
		if (!(T3_)) goto LA4_;
		T3_ = !(gconfig__OOZOOZOOZcompilerZast_u832.useIc);
LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = (NimStringV2*)0;
		T7_ = X5BX5D___OOZOOZOOZcompilerZast_u892((&gconfig__OOZOOZOOZcompilerZast_u832.comments), ((NI) (n_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___system_u2754((&result), (*T7_));
	}
	goto LA1_;
LA5_: ;
	{
		result = TM__EnH1I9cGkGYbf9a1NwhuXDPg_3;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, commenteq___OOZOOZOOZcompilerZast_u1333)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, NimStringV2 a_p1) {
	NI id_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	id_1 = ((NI) (n_p0));
	{
		NimStringV2 colontmpD_;
		if (!(((NI)0) < a_p1.len)) goto LA3_;
		(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)23))) & 31);
		colontmpD_ = eqdup___system_u2757(a_p1);
		X5BX5Deq___OOZOOZOOZcompilerZast_u1377((&gconfig__OOZOOZOOZcompilerZast_u832.comments), id_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!(((*n_p0).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)23)))&31U)))!=0)) goto LA6_;
		(*n_p0).flags &= ~(((NU32)1) << (((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)23))) & 31));
		del__OOZOOZOOZcompilerZast_u2400((&gconfig__OOZOOZOOZcompilerZast_u832.comments), id_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA6_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, eqdup___OOZOOZOOZcompilerZast_u3276)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRef(src_p0);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, add__OOZOOZOOZcompilerZast_u3231)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* father_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* son_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!(!((son_p1 == ((tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*) NIM_NIL))))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__EnH1I9cGkGYbf9a1NwhuXDPg_5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	if (((TM__EnH1I9cGkGYbf9a1NwhuXDPg_6[(NU)(((*father_p0).kind))>>3] &(1U<<((NU)(((*father_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_8, dollar___OOZOOZOOZcompilerZnodekinds_u168((*father_p0).kind)); goto BeforeRet_;
	}
	colontmpD_ = eqdup___OOZOOZOOZcompilerZast_u3276(son_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__OOZOOZOOZcompilerZast_u3243((&(*father_p0)._kind_6.sons), colontmpD_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newAtom__OOZOOZOOZcompilerZast_u4145)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNode__OOZOOZOOZcompilerZast_u4141(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2), info_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(((TM__EnH1I9cGkGYbf9a1NwhuXDPg_9[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_11, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto BeforeRet_;
	}
	eqcopy___OOZOOZOOZcompilerZidents_u159(&(*result)._kind_5.ident, ident_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
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(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___OOZOOZOOZcompilerZast_u3267)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** dest_p0) {
	(*dest_p0) = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZast_u3717)(tySequence__dLTPEqP7th9csUVoVHHIjNw* dest_p0, tySequence__dLTPEqP7th9csUVoVHHIjNw 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__OOZOOZOOZcompilerZast_u3736((&(*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___OOZOOZOOZcompilerZast_u3288((&(*(*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_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZast_u3291)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(dest_p0 == src_p1)) goto LA3_;
		goto BeforeRet_;
	}
LA3_: ;
	nimZeroMem((void*)(&colontmp_), sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ));
	colontmp_ = (*dest_p0);
	nimZeroMem((void*)(&(*dest_p0)), sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ));
	{
		if (!(*src_p1).typField) goto LA7_;
		nimIncRef((*src_p1).typField);
	}
LA7_: ;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = nimDecRefIsLastDyn((*dest_p0).typField);
		if (!T11_) goto LA12_;
		eqdestroy___OOZOOZOOZcompilerZast_u3306((&(*(*dest_p0).typField)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0).typField, ((NI)8));
	}
LA12_: ;
	(*dest_p0).typField = (*src_p1).typField;
	(*dest_p0).info.line = (*src_p1).info.line;
	(*dest_p0).info.col = (*src_p1).info.col;
	(*dest_p0).info.fileIndex = (*src_p1).info.fileIndex;
	(*dest_p0).flags = (*src_p1).flags;
	(*dest_p0).kind = (*src_p1).kind;
	switch ((*dest_p0).kind) {
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)5) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)15):
	{
		(*dest_p0)._kind_1.intVal = 0;
		(*dest_p0)._kind_1.intVal = (*src_p1)._kind_1.intVal;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)16) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)19):
	{
		(*dest_p0)._kind_2.floatVal = 0;
		(*dest_p0)._kind_2.floatVal = (*src_p1)._kind_2.floatVal;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22):
	{
		(*dest_p0)._kind_3.strVal.len = 0; (*dest_p0)._kind_3.strVal.p = NIM_NIL;
		eqcopy___system_u2754((&(*dest_p0)._kind_3.strVal), (*src_p1)._kind_3.strVal);
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)3):
	{
		(*dest_p0)._kind_4.sym = 0;
		{
			if (!(*src_p1)._kind_4.sym) goto LA20_;
			nimIncRef((*src_p1)._kind_4.sym);
		}
LA20_: ;
		{
			NIM_BOOL T24_;
			T24_ = (NIM_BOOL)0;
			T24_ = nimDecRefIsLastDyn((*dest_p0)._kind_4.sym);
			if (!T24_) goto LA25_;
			eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0)._kind_4.sym)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimRawDispose((*dest_p0)._kind_4.sym, ((NI)8));
		}
LA25_: ;
		(*dest_p0)._kind_4.sym = (*src_p1)._kind_4.sym;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2):
	{
		(*dest_p0)._kind_5.ident = 0;
		{
			if (!(*src_p1)._kind_5.ident) goto LA30_;
			nimIncRef((*src_p1)._kind_5.ident);
		}
LA30_: ;
		{
			NIM_BOOL T34_;
			T34_ = (NIM_BOOL)0;
			T34_ = nimDecRefIsLastDyn((*dest_p0)._kind_5.ident);
			if (!T34_) goto LA35_;
			eqdestroy___OOZOOZOOZcompilerZidents_u174((&(*(*dest_p0)._kind_5.ident)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimRawDispose((*dest_p0)._kind_5.ident, ((NI)8));
		}
LA35_: ;
		(*dest_p0)._kind_5.ident = (*src_p1)._kind_5.ident;
	}
	break;
	default:
	{
		(*dest_p0)._kind_6.sons.len = 0; (*dest_p0)._kind_6.sons.p = NIM_NIL;
		eqcopy___OOZOOZOOZcompilerZast_u3717((&(*dest_p0)._kind_6.sons), (*src_p1)._kind_6.sons);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	switch (colontmp_.kind) {
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)5) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)15):
	{
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)16) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)19):
	{
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22):
	{
		if (colontmp_._kind_3.strVal.p && !(colontmp_._kind_3.strVal.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmp_._kind_3.strVal.p);
}
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)3):
	{
		{
			NIM_BOOL T44_;
			T44_ = (NIM_BOOL)0;
			T44_ = nimDecRefIsLastDyn(colontmp_._kind_4.sym);
			if (!T44_) goto LA45_;
			eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*colontmp_._kind_4.sym)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimRawDispose(colontmp_._kind_4.sym, ((NI)8));
		}
LA45_: ;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2):
	{
		{
			NIM_BOOL T50_;
			T50_ = (NIM_BOOL)0;
			T50_ = nimDecRefIsLastDyn(colontmp_._kind_5.ident);
			if (!T50_) goto LA51_;
			eqdestroy___OOZOOZOOZcompilerZidents_u174((&(*colontmp_._kind_5.ident)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimRawDispose(colontmp_._kind_5.ident, ((NI)8));
		}
LA51_: ;
	}
	break;
	default:
	{
		eqdestroy___OOZOOZOOZcompilerZast_u3714(colontmp_._kind_6.sons);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	{
		NIM_BOOL T56_;
		T56_ = (NIM_BOOL)0;
		T56_ = nimDecRefIsLastDyn(colontmp_.typField);
		if (!T56_) goto LA57_;
		eqdestroy___OOZOOZOOZcompilerZast_u3306((&(*colontmp_.typField)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose(colontmp_.typField, ((NI)8));
	}
LA57_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZast_u3297)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).typField);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3306((&(*(*dest_p0).typField)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0).typField, ((NI)8));
	}
LA4_: ;
	(*dest_p0).typField = (*src_p1).typField;
	(*dest_p0).info.line = (*src_p1).info.line;
	(*dest_p0).info.col = (*src_p1).info.col;
	(*dest_p0).info.fileIndex = (*src_p1).info.fileIndex;
	(*dest_p0).flags = (*src_p1).flags;
	switch ((*dest_p0).kind) {
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)5) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)15):
	{
		(*dest_p0)._kind_1.intVal = 0;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)16) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)19):
	{
		(*dest_p0)._kind_2.floatVal = 0;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22):
	{
		if ((*dest_p0)._kind_3.strVal.p && !((*dest_p0)._kind_3.strVal.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_3.strVal.p);
}
		(*dest_p0)._kind_3.strVal.len = 0; (*dest_p0)._kind_3.strVal.p = NIM_NIL;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)3):
	{
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = nimDecRefIsLastDyn((*dest_p0)._kind_4.sym);
			if (!T12_) goto LA13_;
			eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0)._kind_4.sym)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&(*(*dest_p0)._kind_4.sym)), sizeof(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg));
			nimRawDispose((*dest_p0)._kind_4.sym, ((NI)8));
		}
LA13_: ;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2):
	{
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = nimDecRefIsLastDyn((*dest_p0)._kind_5.ident);
			if (!T18_) goto LA19_;
			eqdestroy___OOZOOZOOZcompilerZidents_u174((&(*(*dest_p0)._kind_5.ident)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&(*(*dest_p0)._kind_5.ident)), sizeof(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg));
			nimRawDispose((*dest_p0)._kind_5.ident, ((NI)8));
		}
LA19_: ;
	}
	break;
	default:
	{
		eqdestroy___OOZOOZOOZcompilerZast_u3714((*dest_p0)._kind_6.sons);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*dest_p0)._kind_6.sons.len = 0; (*dest_p0)._kind_6.sons.p = NIM_NIL;
	}
	break;
	}
	(*dest_p0).kind = 0;
	(*dest_p0).kind = (*src_p1).kind;
	switch ((*dest_p0).kind) {
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)5) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)15):
	{
		(*dest_p0)._kind_1.intVal = (*src_p1)._kind_1.intVal;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)16) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)19):
	{
		(*dest_p0)._kind_2.floatVal = (*src_p1)._kind_2.floatVal;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22):
	{
		(*dest_p0)._kind_3.strVal = (*src_p1)._kind_3.strVal;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)3):
	{
		(*dest_p0)._kind_4.sym = (*src_p1)._kind_4.sym;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2):
	{
		(*dest_p0)._kind_5.ident = (*src_p1)._kind_5.ident;
	}
	break;
	default:
	{
		(*dest_p0)._kind_6.sons = (*src_p1)._kind_6.sons;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg*, eqdup___OOZOOZOOZcompilerZast_u3402)(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* src_p0) {
	tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRef(src_p0);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZast_u3723)(tySequence__dLTPEqP7th9csUVoVHHIjNw* dest_p0, tySequence__dLTPEqP7th9csUVoVHHIjNw src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((*dest_p0).p != src_p1.p) {	eqdestroy___OOZOOZOOZcompilerZast_u3714((*dest_p0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
(*dest_p0).len = src_p1.len; (*dest_p0).p = src_p1.p;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___OOZOOZOOZcompilerZast_u3711)(tySequence__dLTPEqP7th9csUVoVHHIjNw* dest_p0) {
	(*dest_p0).len = 0; (*dest_p0).p = NIM_NIL;
}
N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__OOZOOZOOZcompilerZast_u6807)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA kind_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ obj_1;
	tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&obj_1), sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ));
	eqcopy___OOZOOZOOZcompilerZast_u3291((&obj_1), (&(*n_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ));
	T1_.kind = kind_p1;
	colontmpD_ = eqdup___OOZOOZOOZcompilerZast_u3402((*n_p0).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.typField = colontmpD_;
	T1_.info = obj_1.info;
	T1_.flags = obj_1.flags;
	eqsink___OOZOOZOOZcompilerZast_u3297((&(*n_p0)), (&T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (((TM__EnH1I9cGkGYbf9a1NwhuXDPg_6[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_12, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
	}
	if (((TM__EnH1I9cGkGYbf9a1NwhuXDPg_6[(NU)((obj_1.kind))>>3] &(1U<<((NU)((obj_1.kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_13, dollar___OOZOOZOOZcompilerZnodekinds_u168(obj_1.kind)); goto BeforeRet_;
	}
	eqsink___OOZOOZOOZcompilerZast_u3723((&(*n_p0)._kind_6.sons), obj_1._kind_6.sons);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (((TM__EnH1I9cGkGYbf9a1NwhuXDPg_6[(NU)((obj_1.kind))>>3] &(1U<<((NU)((obj_1.kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_14, dollar___OOZOOZOOZcompilerZnodekinds_u168(obj_1.kind)); goto BeforeRet_;
	}
	eqwasMoved___OOZOOZOOZcompilerZast_u3711((&obj_1._kind_6.sons));
	eqdestroy___OOZOOZOOZcompilerZast_u3288((&obj_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newAtom__OOZOOZOOZcompilerZast_u4159)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NimStringV2 strVal_p1, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNode__OOZOOZOOZcompilerZast_u4141(kind_p0, info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(((TM__EnH1I9cGkGYbf9a1NwhuXDPg_15[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_17, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto BeforeRet_;
	}
	eqsink___system_u2760((&(*result)._kind_3.strVal), strVal_p1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newAtom__OOZOOZOOZcompilerZast_u4149)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NI64 intVal_p1, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNode__OOZOOZOOZcompilerZast_u4141(kind_p0, info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(((TM__EnH1I9cGkGYbf9a1NwhuXDPg_18[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_20, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto BeforeRet_;
	}
	(*result)._kind_1.intVal = intVal_p1;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newAtom__OOZOOZOOZcompilerZast_u4154)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NF floatVal_p1, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNode__OOZOOZOOZcompilerZast_u4141(kind_p0, info_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(((TM__EnH1I9cGkGYbf9a1NwhuXDPg_21[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_23, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto BeforeRet_;
	}
	(*result)._kind_2.floatVal = floatVal_p1;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNodeI__OOZOOZOOZcompilerZast_u4115)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T1_;
	T1_ = NIM_NIL;
	T1_ = (tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*) nimNewObj(sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ), NIM_ALIGNOF(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ));
	(*T1_).kind = kind_p0;
	colontmpD_ = eqdup___OOZOOZOOZcompilerZlineinfos_u2038(info_p1);
	(*T1_).info = colontmpD_;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newProcNode__OOZOOZOOZcompilerZast_u5462)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* body_p2, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* params_p3, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* name_p4, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pattern_p5, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* genericParams_p6, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pragmas_p7, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* exceptions_p8) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__4;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__5;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__6;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__7;
	tySequence__dLTPEqP7th9csUVoVHHIjNw T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__OOZOOZOOZcompilerZast_u4115(kind_p0, info_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (((TM__EnH1I9cGkGYbf9a1NwhuXDPg_6[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_24, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto BeforeRet_;
	}
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_.len = 7; T1_.p = (tySequence__dLTPEqP7th9csUVoVHHIjNw_Content*) newSeqPayload(7, sizeof(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*), NIM_ALIGNOF(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*));
	colontmpD_ = eqdup___OOZOOZOOZcompilerZast_u3276(name_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.p->data[0] = colontmpD_;
	colontmpD__2 = eqdup___OOZOOZOOZcompilerZast_u3276(pattern_p5);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.p->data[1] = colontmpD__2;
	colontmpD__3 = eqdup___OOZOOZOOZcompilerZast_u3276(genericParams_p6);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.p->data[2] = colontmpD__3;
	colontmpD__4 = eqdup___OOZOOZOOZcompilerZast_u3276(params_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.p->data[3] = colontmpD__4;
	colontmpD__5 = eqdup___OOZOOZOOZcompilerZast_u3276(pragmas_p7);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.p->data[4] = colontmpD__5;
	colontmpD__6 = eqdup___OOZOOZOOZcompilerZast_u3276(exceptions_p8);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.p->data[5] = colontmpD__6;
	colontmpD__7 = eqdup___OOZOOZOOZcompilerZast_u3276(body_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.p->data[6] = colontmpD__7;
	eqsink___OOZOOZOOZcompilerZast_u3723((&(*result)._kind_6.sons), T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newTree__OOZOOZOOZcompilerZast_u4164)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** children_p2, NI children_p2Len_0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tySequence__dLTPEqP7th9csUVoVHHIjNw T5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__OOZOOZOOZcompilerZast_u4115(kind_p0, info_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) < children_p2Len_0)) goto LA3_;
		if (((NI)0) < 0 || ((NI)0) >= children_p2Len_0){ raiseIndexError2(((NI)0),children_p2Len_0-1); goto BeforeRet_;
		}
		(*result).info = (*children_p2[((NI)0)]).info;
	}
LA3_: ;
	if (((TM__EnH1I9cGkGYbf9a1NwhuXDPg_6[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_25, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto BeforeRet_;
	}
	T5_.len = 0; T5_.p = NIM_NIL;
	T5_ = at___OOZOOZOOZcompilerZast_u4173(children_p2, children_p2Len_0);
	eqsink___OOZOOZOOZcompilerZast_u3723((&(*result)._kind_6.sons), T5_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u4880)(tySequence__q22m5h4tRGjHOr22omfttg 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___OOZOOZOOZcompilerZast_u3487((&(*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_TSym__JSAgsmM1rxuWFgHM7Nlxdg*));
}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg*, eqdup___OOZOOZOOZcompilerZast_u4610)(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* src_p0) {
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRef(src_p0);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZast_u3399)(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg** dest_p0, tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* 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___OOZOOZOOZcompilerZast_u3306((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)8));
	}
LA8_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZast_u3405)(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg** dest_p0, tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0));
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3306((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)8));
	}
LA4_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3396)(tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3306((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u4604)(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3487((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZast_u4607)(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg** dest_p0, tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* 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___OOZOOZOOZcompilerZast_u3487((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)8));
	}
LA8_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newSymNode__OOZOOZOOZcompilerZast_u5200)(tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* sym_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNode__OOZOOZOOZcompilerZast_u4112(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)3));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(((TM__EnH1I9cGkGYbf9a1NwhuXDPg_26[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__EnH1I9cGkGYbf9a1NwhuXDPg_28, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto BeforeRet_;
	}
	eqcopy___OOZOOZOOZcompilerZast_u4607(&(*result)._kind_4.sym, sym_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___OOZOOZOOZcompilerZast_u3399(&(*result).typField, (*sym_p0).typ);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*result).info = (*sym_p0).info;
	}BeforeRet_: ;
	return result;
}
