/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 32

#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_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA;
typedef struct tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw {
	tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ k;
	tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg storage;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
struct tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA {
	NI index;
	NI remaining;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constr;
	NIM_BOOL delete_0;
};
struct tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NIM_BOOL delete_0;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
union{
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* gcUnsafetyReason;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* transformedBody;
} _kind_1;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard;
	NI bitsize;
	NI alignment;
} _kind_2;
};
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ast;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* annex;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* instantiatedFrom;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef NU8 tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, eqdup___ast_u3258)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*, ithField__semmacrosanity_u122)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA* field_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___semmacrosanity_u83)(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg** dest_p0, tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* src_p1);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semmacrosanity_u92)(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3127)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3469)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*, ithField__semmacrosanity_u29)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA* field_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semmacrosanity_u74)(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__semmacrosanity_u16)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matched_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, overlap__nimsets_u32)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_u63)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, NIM_BOOL strictSymEquality_p2);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObjUninit)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, eqdup___ast_u4580)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3387)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(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(NimStringV2, dollar___systemZdollars_u9)(NI xX60gensym0__p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
static N_INLINE(NimStringV2, toFileLineCol__msgs_u701)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info_p0);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_u187)(NimStringV2* result_p0, NI64 x_p1);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_u1598)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 errMsg_p2, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p3);
N_LIB_PRIVATE N_NIMCALL(void, annotateType__semmacrosanity_u136)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, NIM_BOOL* producedClosure_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semmacrosanity_u248)(tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3270)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
static N_INLINE(NI, kidsLen__ast_u5648)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4091)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNode__ast_u5200)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NI64 intVal_p1);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3273)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elemType__types_u254)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0);
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__gkmEeaIyT0wHpJzs9ciIEJg_2 = {
0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__gkmEeaIyT0wHpJzs9ciIEJg_3 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__gkmEeaIyT0wHpJzs9ciIEJg_4 = {
0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_5 = { 23 | NIM_STRLIT_FLAG, "invalid field at index " };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_6 = {23, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_5};
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_8 = { 69 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/semmacrosanity.nim" };
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_9 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_10 = {0, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_9};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_11 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_12 = {1, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_11};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_13 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_14 = {2, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_13};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_15 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_16 = {1, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_15};
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_18 = {23, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_5};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_20 = { 34 | NIM_STRLIT_FLAG, "Incorrectly generated tuple constr" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_21 = {34, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_20};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_23 = { 25 | NIM_STRLIT_FLAG, "() must have a tuple type" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_24 = {25, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_23};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_26 = { 36 | NIM_STRLIT_FLAG, "[] must have some form of array type" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_27 = {36, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_26};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_29 = { 25 | NIM_STRLIT_FLAG, "{} must have the set type" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_30 = {25, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_29};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_32 = { 39 | NIM_STRLIT_FLAG, "float literal must have some float type" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_33 = {39, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_32};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_35 = { 39 | NIM_STRLIT_FLAG, "integer literal must have some int type" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_36 = {39, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_35};
static const struct {
  NI cap; NIM_CHAR data[42+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_38 = { 42 | NIM_STRLIT_FLAG, "string literal must be of some string type" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_39 = {42, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_38};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__gkmEeaIyT0wHpJzs9ciIEJg_41 = { 40 | NIM_STRLIT_FLAG, "nil literal must be of some pointer type" };
static const NimStringV2 TM__gkmEeaIyT0wHpJzs9ciIEJg_42 = {40, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_41};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_7 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)102),
((NI)8)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_17 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)104),
((NI)22)}
;
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u364;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_19 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)113),
((NI)27)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_22 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)136),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_25 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)141),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_28 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)147),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_31 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)158),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_34 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)163),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_37 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)168),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_40 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)173),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_43 = {{69, (NimStrPayload*)&TM__gkmEeaIyT0wHpJzs9ciIEJg_8},
((NI)178),
((NI)17)}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(void, nimSetMem__system_u2172)(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_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((NI32)((*cell_1).rc) >> (NU32)(((NI)4) & (32 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3127(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semmacrosanity_u92)(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.sym);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3469((&(*dest_p0.sym)));
		nimRawDispose(dest_p0.sym, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___semmacrosanity_u83)(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg** dest_p0, tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLast((*dest_p0));
		if (!T3_) goto LA4_;
		eqdestroy___semmacrosanity_u92((*(*dest_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)4));
	}
LA4_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semmacrosanity_u74)(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLast(dest_p0);
		if (!T3_) goto LA4_;
		eqdestroy___semmacrosanity_u92((*dest_p0));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__semmacrosanity_u16)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* matched_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_u3190(branch_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T2_ - ((NI)1));
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					if (!((*(*branch_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA7_;
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = overlap__nimsets_u32((*branch_p0)._kind_6.sons.p->data[i_1], matched_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T11_) goto LA12_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA12_: ;
				}
				goto LA5_;
LA7_: ;
				{
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = exprStructuralEquivalent__trees_u63((*branch_p0)._kind_6.sons.p->data[i_1], matched_p1, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T15_) goto LA16_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				goto LA5_;
LA16_: ;
LA5_: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*, ithField__semmacrosanity_u29)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA* field_p1) {
	tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* result;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*) NIM_NIL);
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* T5_;
					if (!(i_2 < colontmp_)) goto LA4;
					i_1 = i_2;
					T5_ = NIM_NIL;
					T5_ = ithField__semmacrosanity_u29((*n_p0)._kind_6.sons.p->data[i_1], field_p1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___semmacrosanity_u74(T5_); goto BeforeRet_;}
					eqsink___semmacrosanity_u83(&result, T5_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!((result == ((tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*) NIM_NIL)))) goto LA8_;
						goto BeforeRet_;
					}
LA8_: ;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_1;
		tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* T16_;
		NIM_BOOL branchFound_1;
		val_1 = NIM_NIL;
		{
			if (!!(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA14_;
			eqdestroy___ast_u3252(val_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA14_: ;
		T16_ = NIM_NIL;
		T16_ = ithField__semmacrosanity_u29((*n_p0)._kind_6.sons.p->data[((NI)0)], field_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___semmacrosanity_u74(T16_); goto LA11_;}
		eqsink___semmacrosanity_u83(&result, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			if (!!((result == ((tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*) NIM_NIL)))) goto LA19_;
			eqdestroy___ast_u3252(val_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA19_: ;
		eqcopy___ast_u3255(&val_1, (*(*(*field_p1).constr)._kind_6.sons.p->data[(NI)((*field_p1).index - (*field_p1).remaining)])._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		branchFound_1 = NIM_FALSE;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			i_4 = ((NI)1);
			{
				while (1) {
					NIM_BOOL previousDelete_1;
					if (!(i_4 < colontmp__2)) goto LA23;
					i_3 = i_4;
					previousDelete_1 = (*field_p1).delete_0;
					switch ((*(*n_p0)._kind_6.sons.p->data[i_3]).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* T36_;
						colontmpD_ = NIM_NIL;
						{
							NIM_BOOL T28_;
							NIM_BOOL T29_;
							NIM_BOOL T32_;
							T28_ = (NIM_BOOL)0;
							T29_ = (NIM_BOOL)0;
							T29_ = branchFound_1;
							if (T29_) goto LA30_;
							T29_ = previousDelete_1;
LA30_: ;
							T28_ = T29_;
							if (T28_) goto LA31_;
							T32_ = (NIM_BOOL)0;
							T32_ = caseBranchMatchesExpr__semmacrosanity_u16((*n_p0)._kind_6.sons.p->data[i_3], val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							T28_ = !(T32_);
LA31_: ;
							if (!T28_) goto LA33_;
							(*field_p1).delete_0 = NIM_TRUE;
						}
						goto LA26_;
LA33_: ;
						{
							branchFound_1 = NIM_TRUE;
						}
LA26_: ;
						colontmpD_ = lastSon__ast_u5208((*n_p0)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						T36_ = NIM_NIL;
						T36_ = ithField__semmacrosanity_u29(colontmpD_, field_p1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___semmacrosanity_u74(T36_); goto LA25_;}
						eqsink___semmacrosanity_u83(&result, T36_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						{
							if (!!((result == ((tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*) NIM_NIL)))) goto LA39_;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							eqdestroy___ast_u3252(val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA39_: ;
						(*field_p1).delete_0 = previousDelete_1;
						{
							LA25_:;
						}
						{
							oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							*nimErr_ = oldNimErrFin25_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					}
					break;
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
						tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* T49_;
						colontmpD__2 = NIM_NIL;
						{
							if (!branchFound_1) goto LA47_;
							(*field_p1).delete_0 = NIM_TRUE;
						}
LA47_: ;
						colontmpD__2 = lastSon__ast_u5208((*n_p0)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						T49_ = NIM_NIL;
						T49_ = ithField__semmacrosanity_u29(colontmpD__2, field_p1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___semmacrosanity_u74(T49_); goto LA44_;}
						eqsink___semmacrosanity_u83(&result, T49_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						{
							if (!!((result == ((tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*) NIM_NIL)))) goto LA52_;
							eqdestroy___ast_u3252(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							eqdestroy___ast_u3252(val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA52_: ;
						(*field_p1).delete_0 = previousDelete_1;
						{
							LA44_:;
						}
						{
							oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
							*nimErr_ = oldNimErrFin44_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
					}
					break;
					default:
					{
					}
					break;
					}
					i_4 += ((NI)1);
				} LA23: ;
			}
		}
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(val_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD__3;
			tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* T64_;
			if (!((*field_p1).remaining == ((NI)0))) goto LA62_;
			T64_ = NIM_NIL;
			T64_ = (tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*) nimNewObjUninit(sizeof(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg), NIM_ALIGNOF(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg));
			colontmpD__3 = eqdup___ast_u4580((*n_p0)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*T64_).sym = colontmpD__3;
			(*T64_).delete_0 = (*field_p1).delete_0;
			eqsink___semmacrosanity_u83(&result, T64_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA60_;
LA62_: ;
		{
			(*field_p1).remaining -= ((NI)1);
		}
LA60_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*, ithField__semmacrosanity_u122)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA* field_p1) {
	tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* base_1;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	base_1 = NIM_NIL;
	base_1 = baseClass__ast_u5348(t_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* b_1;
			tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* T5_;
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T10_;
			if (!!((base_1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA3;
			b_1 = NIM_NIL;
			b_1 = skipTypes__ast_u5379(base_1, TM__gkmEeaIyT0wHpJzs9ciIEJg_4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			T5_ = NIM_NIL;
			T5_ = ithField__semmacrosanity_u29((*b_1).n, field_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___semmacrosanity_u74(T5_); goto LA4_;}
			eqsink___semmacrosanity_u83(&result, T5_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			{
				if (!!((result == ((tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg*) NIM_NIL)))) goto LA8_;
				eqdestroy___ast_u3378(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3378(base_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA8_: ;
			T10_ = NIM_NIL;
			T10_ = baseClass__ast_u5348(b_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T10_); goto LA4_;}
			eqsink___ast_u3387(&base_1, T10_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			{
				LA4_:;
			}
			{
				oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin4_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	}
	result = ithField__semmacrosanity_u29((*t_p0).n, field_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(base_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	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_u1742)(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_u1742(((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_: ;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1) {
	addInt__stdZprivateZdigitsutils_u187(result_p0, ((NI64) (x_p1)));
}
static N_INLINE(NimStringV2, toFileLineCol__msgs_u701)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info_p0) {
	NimStringV2 result;
	result = TM__gkmEeaIyT0wHpJzs9ciIEJg_10;
	prepareAdd((&result), info_p0.Field0.len + 0);
appendString((&result), info_p0.Field0);
	{
		if (!(((NI)0) < info_p0.Field1)) goto LA3_;
		prepareAdd((&result), 1);
appendString((&result), TM__gkmEeaIyT0wHpJzs9ciIEJg_12);
		addInt__stdZprivateZdigitsutils_u204((&result), info_p0.Field1);
		{
			if (!(((NI)0) < (NI)(info_p0.Field2 + ((NI)1)))) goto LA7_;
			prepareAdd((&result), 2);
appendString((&result), TM__gkmEeaIyT0wHpJzs9ciIEJg_14);
			addInt__stdZprivateZdigitsutils_u204((&result), (NI)(info_p0.Field2 + ((NI)1)));
		}
LA7_: ;
		prepareAdd((&result), 1);
appendString((&result), TM__gkmEeaIyT0wHpJzs9ciIEJg_16);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semmacrosanity_u248)(tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.constr);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*dest_p0.constr)));
		nimRawDispose(dest_p0.constr, ((NI)8));
	}
LA4_: ;
}
static N_INLINE(NI, kidsLen__ast_u5648)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0) {
	NI result;
	NI T1_;
	T1_ = (*t_p0).sons.len;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**, X5BX5D___ast_u5281)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, elementType__ast_u5331)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg**)0;
	T1_ = X5BX5D___ast_u5281((((*n_p0).sons).p) ? ((*n_p0).sons.p->data) : NIM_NIL, (*n_p0).sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3381(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, annotateType__semmacrosanity_u136)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, NIM_BOOL* producedClosure_p3) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_1;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin74_;
NIM_BOOL oldNimErrFin82_;
NIM_BOOL oldNimErrFin69_;
NIM_BOOL oldNimErrFin100_;
NIM_BOOL oldNimErrFin96_;
NIM_BOOL oldNimErrFin120_;
NIM_BOOL oldNimErrFin124_;
NIM_BOOL oldNimErrFin112_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	x_1 = NIM_NIL;
	x_1 = skipTypes__ast_u5379(t_p1, TM__gkmEeaIyT0wHpJzs9ciIEJg_2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* x_2;
		x_2 = NIM_NIL;
		x_2 = skipTypes__ast_u5379(t_p1, TM__gkmEeaIyT0wHpJzs9ciIEJg_3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		eqcopy___ast_u3381(&(*(*n_p0)._kind_6.sons.p->data[((NI)0)]).typField, t_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			i_2 = ((NI)1);
			{
				while (1) {
					tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA tracker_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
					tyObject_FieldInfocolonObjectType___SI9cpRpryW7Yk9biYDgTuSqg* field_1;
					if (!(i_2 < colontmp_)) goto LA6;
					nimZeroMem((void*)(&tracker_1), sizeof(tyObject_FieldTracker__19arhVz1pMDD2jSTE3agtyA));
					field_1 = NIM_NIL;
					i_1 = i_2;
					tracker_1.index = (NI)(i_1 - ((NI)1));
					tracker_1.remaining = (NI)(i_1 - ((NI)1));
					colontmpD_ = eqdup___ast_u3258(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					tracker_1.constr = colontmpD_;
					tracker_1.delete_0 = NIM_FALSE;
					field_1 = ithField__semmacrosanity_u122(x_2, (&tracker_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					{
						NimStringV2 colontmpD__2;
						NimStringV2 colontmpD__3;
						NimStringV2 T13_;
						if (!(field_1 == 0)) goto LA10_;
						colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
						colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
						T13_.len = 0; T13_.p = NIM_NIL;
						colontmpD__2 = dollar___systemZdollars_u9(i_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						T13_ = rawNewString(colontmpD__2.len + 23);
appendString((&T13_), TM__gkmEeaIyT0wHpJzs9ciIEJg_6);
appendString((&T13_), colontmpD__2);
						colontmpD__3 = T13_;
						liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_7, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						{
							LA12_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__3);
							eqdestroy___system_u2691(colontmpD__2);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					}
					goto LA8_;
LA10_: ;
					{
						{
							NimStringV2 argX60gensym25__1;
							if (!!(((*(*n_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34)))) goto LA19_;
							argX60gensym25__1.len = 0; argX60gensym25__1.p = NIM_NIL;
							argX60gensym25__1 = toFileLineCol__msgs_u701(TM__gkmEeaIyT0wHpJzs9ciIEJg_17);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							internalErrorImpl__msgs_u1598(conf_p2, unknownLineInfo__lineinfos_u364, argX60gensym25__1, TM__gkmEeaIyT0wHpJzs9ciIEJg_17);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							{
								LA21_:;
							}
							{
								eqdestroy___system_u2691(argX60gensym25__1);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						}
LA19_: ;
						annotateType__semmacrosanity_u136((*(*n_p0)._kind_6.sons.p->data[i_1])._kind_6.sons.p->data[((NI)1)], (*(*field_1).sym).typ, conf_p2, producedClosure_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
						{
							if (!(*field_1).delete_0) goto LA26_;
							(*(*n_p0)._kind_6.sons.p->data[i_1]).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)15))) & 31);
						}
LA26_: ;
					}
LA8_: ;
					i_2 += ((NI)1);
					{
						LA7_:;
					}
					{
						oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___semmacrosanity_u74(field_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						eqdestroy___semmacrosanity_u248(tracker_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						*nimErr_ = oldNimErrFin7_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				} LA6: ;
			}
		}
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	{
		{
			if (!((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)18))) goto LA35_;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_4 = ((NI)0);
				{
					while (1) {
						if (!(i_4 < colontmp__2)) goto LA39;
						i_3 = i_4;
						{
							NI T42_;
							NimStringV2 colontmpD__4;
							NimStringV2 colontmpD__5;
							NimStringV2 T46_;
							T42_ = (NI)0;
							T42_ = kidsLen__ast_u5648(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!(T42_ <= i_3)) goto LA43_;
							colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
							colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
							T46_.len = 0; T46_.p = NIM_NIL;
							colontmpD__4 = dollar___systemZdollars_u9(i_3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							T46_ = rawNewString(colontmpD__4.len + 23);
appendString((&T46_), TM__gkmEeaIyT0wHpJzs9ciIEJg_18);
appendString((&T46_), colontmpD__4);
							colontmpD__5 = T46_;
							liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_19, NIM_FALSE, NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
							{
								LA45_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__5);
								eqdestroy___system_u2691(colontmpD__4);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
						goto LA40_;
LA43_: ;
						{
							annotateType__semmacrosanity_u136((*n_p0)._kind_6.sons.p->data[i_3], (*x_1).sons.p->data[i_3], conf_p2, producedClosure_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
LA40_: ;
						i_4 += ((NI)1);
					} LA39: ;
				}
			}
		}
		goto LA33_;
LA35_: ;
		{
			NIM_BOOL T51_;
			T51_ = (NIM_BOOL)0;
			T51_ = ((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)25));
			if (!(T51_)) goto LA52_;
			T51_ = ((*x_1).callConv == ((tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ)9));
LA52_: ;
			if (!T51_) goto LA53_;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NIM_BOOL T57_;
				NI T58_;
				T57_ = (NIM_BOOL)0;
				T58_ = (NI)0;
				T58_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				T57_ = (((NI)1) < T58_);
				if (!(T57_)) goto LA59_;
				T57_ = !(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) || (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)));
LA59_: ;
				if (!T57_) goto LA60_;
				(*producedClosure_p3) = NIM_TRUE;
			}
LA60_: ;
		}
		goto LA33_;
LA53_: ;
		{
			if (!((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27))) goto LA63_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bracketExpr_1;
				NI left_1;
				NI right_1;
				if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160))) goto LA67_;
				bracketExpr_1 = NIM_NIL;
				bracketExpr_1 = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41), (*n_p0).info);
				if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
				left_1 = ((NI) ((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal));
				right_1 = ((NI) ((*(*n_p0)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal));
				(*bracketExpr_1).flags = (*n_p0).flags;
				switch ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind) {
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
				{
					{
						NI i_5;
						NI res_1;
						i_5 = (NI)0;
						res_1 = left_1;
						{
							while (1) {
								tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__7;
								NI T75_;
								if (!(res_1 <= right_1)) goto LA73;
								colontmpD__6 = NIM_NIL;
								colontmpD__7 = NIM_NIL;
								i_5 = ((NI) (res_1));
								colontmpD__6 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5), ((NI64) (((NU8)((*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_3.strVal.p->data[i_5])))));
								if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								add__ast_u3215(bracketExpr_1, colontmpD__6);
								if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								T75_ = (NI)0;
								T75_ = len__ast_u3190(bracketExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								colontmpD__7 = elementType__ast_u5331(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								annotateType__semmacrosanity_u136((*bracketExpr_1)._kind_6.sons.p->data[(NI)(T75_ - ((NI)1))], colontmpD__7, conf_p2, producedClosure_p3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
								res_1 += ((NI)1);
								{
									LA74_:;
								}
								{
									oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__7);
									if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
									eqdestroy___ast_u3252(colontmpD__6);
									if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
									*nimErr_ = oldNimErrFin74_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
							} LA73: ;
						}
					}
				}
				break;
				case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
				{
					{
						NI i_6;
						NI res_2;
						i_6 = (NI)0;
						res_2 = left_1;
						{
							while (1) {
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__8;
								NI T83_;
								if (!(res_2 <= right_1)) goto LA81;
								colontmpD__8 = NIM_NIL;
								i_6 = ((NI) (res_2));
								add__ast_u3215(bracketExpr_1, (*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[i_6]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
								T83_ = (NI)0;
								T83_ = len__ast_u3190(bracketExpr_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
								colontmpD__8 = elementType__ast_u5331(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
								annotateType__semmacrosanity_u136((*bracketExpr_1)._kind_6.sons.p->data[(NI)(T83_ - ((NI)1))], colontmpD__8, conf_p2, producedClosure_p3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
								res_2 += ((NI)1);
								{
									LA82_:;
								}
								{
									oldNimErrFin82_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__8);
									if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
									*nimErr_ = oldNimErrFin82_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
							} LA81: ;
						}
					}
				}
				break;
				default:
				{
					liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__gkmEeaIyT0wHpJzs9ciIEJg_21, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_22, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
				}
				break;
				}
				eqcopy___ast_u3273((&(*n_p0)), (&(*bracketExpr_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
				{
					LA69_:;
				}
				{
					oldNimErrFin69_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(bracketExpr_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin69_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA67_: ;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA33_;
LA63_: ;
		{
			liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__gkmEeaIyT0wHpJzs9ciIEJg_24, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_25, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA33_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	{
		{
			if (!((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16) || (*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) || (*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)27))) goto LA93_;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_1;
				m_1 = NIM_NIL;
				{
					NI i_7;
					NI colontmp__3;
					NI i_8;
					i_7 = (NI)0;
					colontmp__3 = (NI)0;
					colontmp__3 = safeLen__ast_u3197(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
					i_8 = ((NI)0);
					{
						while (1) {
							tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__9;
							if (!(i_8 < colontmp__3)) goto LA99;
							colontmpD__9 = NIM_NIL;
							i_7 = i_8;
							eqcopy___ast_u3255(&m_1, (*n_p0)._kind_6.sons.p->data[i_7]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
							colontmpD__9 = elemType__types_u254(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
							annotateType__semmacrosanity_u136(m_1, colontmpD__9, conf_p2, producedClosure_p3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
							i_8 += ((NI)1);
							{
								LA100_:;
							}
							{
								oldNimErrFin100_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3378(colontmpD__9);
								if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
								*nimErr_ = oldNimErrFin100_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
						} LA99: ;
					}
				}
				{
					LA96_:;
				}
				{
					oldNimErrFin96_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(m_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin96_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
		}
		goto LA91_;
LA93_: ;
		{
			liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__gkmEeaIyT0wHpJzs9ciIEJg_27, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_28, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA91_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	{
		{
			if (!((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19))) goto LA109_;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_2;
				m_2 = NIM_NIL;
				{
					NI i_9;
					NI colontmp__4;
					NI i_10;
					i_9 = (NI)0;
					colontmp__4 = (NI)0;
					colontmp__4 = safeLen__ast_u3197(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
					i_10 = ((NI)0);
					{
						while (1) {
							if (!(i_10 < colontmp__4)) goto LA115;
							i_9 = i_10;
							eqcopy___ast_u3255(&m_2, (*n_p0)._kind_6.sons.p->data[i_9]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__10;
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__11;
								if (!((*m_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44))) goto LA118_;
								colontmpD__10 = NIM_NIL;
								colontmpD__11 = NIM_NIL;
								colontmpD__10 = elemType__types_u254(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
								annotateType__semmacrosanity_u136((*m_2)._kind_6.sons.p->data[((NI)0)], colontmpD__10, conf_p2, producedClosure_p3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
								colontmpD__11 = elemType__types_u254(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
								annotateType__semmacrosanity_u136((*m_2)._kind_6.sons.p->data[((NI)1)], colontmpD__11, conf_p2, producedClosure_p3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA120_;
								{
									LA120_:;
								}
								{
									oldNimErrFin120_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__11);
									if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
									eqdestroy___ast_u3378(colontmpD__10);
									if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
									*nimErr_ = oldNimErrFin120_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
							}
							goto LA116_;
LA118_: ;
							{
								tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD__12;
								colontmpD__12 = NIM_NIL;
								colontmpD__12 = elemType__types_u254(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
								annotateType__semmacrosanity_u136(m_2, colontmpD__12, conf_p2, producedClosure_p3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
								{
									LA124_:;
								}
								{
									oldNimErrFin124_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___ast_u3378(colontmpD__12);
									if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
									*nimErr_ = oldNimErrFin124_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
							}
LA116_: ;
							i_10 += ((NI)1);
						} LA115: ;
					}
				}
				{
					LA112_:;
				}
				{
					oldNimErrFin112_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(m_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin112_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
		}
		goto LA107_;
LA109_: ;
		{
			liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__gkmEeaIyT0wHpJzs9ciIEJg_30, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_31, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA107_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)19):
	{
		{
			if (!((*x_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*x_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39))) goto LA133_;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA131_;
LA133_: ;
		{
			liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__gkmEeaIyT0wHpJzs9ciIEJg_33, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_34, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA131_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
	{
		{
			if (!((*x_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*x_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44) || (*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14))) goto LA139_;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA137_;
LA139_: ;
		{
			liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__gkmEeaIyT0wHpJzs9ciIEJg_36, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_37, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA137_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
	{
		{
			if (!((*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28) || (*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29))) goto LA145_;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA143_;
LA145_: ;
		{
			liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__gkmEeaIyT0wHpJzs9ciIEJg_39, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_40, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA143_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
		{
			if (!((*x_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21) && (*x_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*x_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24) && (*x_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)26) || (*x_1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)28) && (*x_1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)29) || (*x_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)50))) goto LA151_;
			eqcopy___ast_u3381(&(*n_p0).typField, t_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA149_;
LA151_: ;
		{
			liMessage__msgs_u1227(conf_p2, (*n_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__gkmEeaIyT0wHpJzs9ciIEJg_42, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__gkmEeaIyT0wHpJzs9ciIEJg_43, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA149_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
