/* Generated by Nim Compiler v1.0.3 */
/*   (c) 2019 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

#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
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NimStringDesc* tyArray__c2QNJmc34bMEk131Zq7ttQ[32];
typedef NimStringDesc* tyArray__7FY9bMaNgkhhh2bW3M2S9cSw[30];
N_LIB_PRIVATE N_NIMCALL(void, nstPut)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key, NimStringDesc* val);
N_LIB_PRIVATE N_NIMCALL(void, del__EUHa9bsfDUl6q3GrReV9cQaw)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, defineSymbol__znuJizGq3isbcihOOtUY0A)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols, NimStringDesc* symbol, NimStringDesc* value);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
extern TNimType NTI__01UoAKYz1MxZiuG1X2VhNQ_;
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_2, "nimhygiene", 10);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_3, "true", 4);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_4, "niminheritable", 14);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_5, "nimmixin", 8);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_6, "nimeffects", 10);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_7, "nimbabel", 8);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_8, "nimcomputedgoto", 15);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_9, "nimunion", 8);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_10, "nimnewshared", 12);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_11, "nimNewTypedesc", 14);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_12, "nimrequiresnimframe", 19);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_13, "nimparsebiggestfloatmagic", 25);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_14, "nimalias", 8);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_15, "nimlocks", 8);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_16, "nimnode", 7);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_17, "nimnomagic64", 12);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_18, "nimvarargstyped", 15);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_19, "nimtypedescfixed", 16);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_20, "nimKnowsNimvm", 13);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_21, "nimArrIdx", 9);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_22, "nimHasalignOf", 13);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_23, "nimNewShiftOps", 14);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_24, "nimDistros", 10);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_25, "nimHasCppDefine", 15);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_26, "nimGenericInOutFlags", 20);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_27, "nimNoArrayToCstringConversion", 29);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_28, "nimNewRoof", 10);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_29, "nimHasRunnableExamples", 22);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_30, "nimNewDot", 9);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_31, "nimHasNilChecks", 15);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_32, "nimSymKind", 10);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_33, "nimVmEqIdent", 12);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_34, "nimNoNil", 8);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_35, "nimNoZeroTerminator", 19);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_36, "nimNotNil", 9);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_37, "nimVmExportFixed", 16);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_38, "nimHasSymOwnerInMacro", 21);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_39, "nimNewRuntime", 13);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_40, "nimIncrSeqV3", 12);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_41, "nimAshr", 7);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_42, "nimNoNilSeqs", 12);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_43, "nimNoNilSeqs2", 13);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_44, "nimHasUserErrors", 16);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_45, "nimUncheckedArrayTyp", 20);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_46, "nimHasTypeof", 12);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_47, "nimErrorProcCanHaveBody", 23);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_48, "nimHasInstantiationOfInMacro", 28);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_49, "nimHasHotCodeReloading", 22);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_50, "nimHasNilSeqs", 13);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_51, "nimHasSignatureHashInMacro", 26);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_52, "nimHasDefault", 13);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_53, "nimMacrosSizealignof", 20);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_54, "nimNoZeroExtendMagic", 20);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_55, "nimMacrosGetNodeId", 18);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_56, "nimHas", 6);
extern NIM_CONST tyArray__c2QNJmc34bMEk131Zq7ttQ WarningsToStr__YMpLgyi9aCfNf9a1BIs9aRGXQ;
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_58, "nimHasWarning", 13);
extern NIM_CONST tyArray__7FY9bMaNgkhhh2bW3M2S9cSw HintsToStr__Ztwykhn01OkbTo5TdXFJUw;
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_60, "nimHasHint", 10);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_62, "nimFixedOwned", 13);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_63, "nimHasStyleChecks", 17);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_64, "nimToOpenArrayCString", 21);
STRING_LITERAL(TM__UpH3CWy69aOHB2xkQBDirlg_65, "nimHasUsed", 10);
N_LIB_PRIVATE N_NIMCALL(void, defineSymbol__znuJizGq3isbcihOOtUY0A)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols, NimStringDesc* symbol, NimStringDesc* value) {	nstPut(symbols, symbol, value);
}
N_LIB_PRIVATE N_NIMCALL(void, undefSymbol__7r39cyzHGkKGsFt9bPVES2hQ)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols, NimStringDesc* symbol) {	del__EUHa9bsfDUl6q3GrReV9cQaw(symbols, symbol);
}
static N_INLINE(NI, chckRange)(NI i, NI a, NI b) {	NI result;
{	result = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a <= i);
		if (!(T3_)) goto LA4_;
		T3_ = (i <= b);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = i;
		goto BeforeRet_;
	}
	goto LA1_;
	LA5_: ;
	{
		raiseRangeError(((NI64) (i)));
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_INLINE(NI, addInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) + (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initDefines__hODM2As3BZvC4AAFuVvWwQ)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols) {	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_2), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_4), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_5), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_6), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_7), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_8), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_9), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_10), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_11), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_12), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_13), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_14), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_15), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_16), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_17), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_18), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_19), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_20), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_21), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_22), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_23), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_24), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_25), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_26), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_27), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_28), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_29), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_30), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_31), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_32), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_33), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_34), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_35), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_36), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_37), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_38), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_39), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_40), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_41), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_42), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_43), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_44), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_45), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_46), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_47), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_48), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_49), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_50), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_51), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_52), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_53), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_54), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_55), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	{
		tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ f;
		NI res;
		f = (tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ)0;
		res = ((NI) 0);
		{
			while (1) {
				NimStringDesc* T4_;
				NI TM__UpH3CWy69aOHB2xkQBDirlg_57;
				if (!(res <= ((NI) 10))) goto LA3;
				f = ((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ)chckRange(res, ((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 0), ((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 10)));
				T4_ = (NimStringDesc*)0;
				T4_ = rawNewString((reprEnum((NI)f, (&NTI__01UoAKYz1MxZiuG1X2VhNQ_)) ? reprEnum((NI)f, (&NTI__01UoAKYz1MxZiuG1X2VhNQ_))->Sup.len : 0) + 6);
appendString(T4_, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_56));
appendString(T4_, reprEnum((NI)f, (&NTI__01UoAKYz1MxZiuG1X2VhNQ_)));
				defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, T4_, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
				TM__UpH3CWy69aOHB2xkQBDirlg_57 = addInt(res, ((NI) 1));
				res = (NI)(TM__UpH3CWy69aOHB2xkQBDirlg_57);
			} LA3: ;
		}
	}
	{
		NimStringDesc* s;
		NI i;
		s = (NimStringDesc*)0;
		i = ((NI) 0);
		{
			if (!(((NI) (i)) <= ((NI) 31))) goto LA8_;
			{
				while (1) {
					NimStringDesc* T12_;
					NI TM__UpH3CWy69aOHB2xkQBDirlg_59;
					s = copyString(WarningsToStr__YMpLgyi9aCfNf9a1BIs9aRGXQ[(i)- 0]);
					T12_ = (NimStringDesc*)0;
					T12_ = rawNewString((s ? s->Sup.len : 0) + 13);
appendString(T12_, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_58));
appendString(T12_, s);
					defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, T12_, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
					{
						if (!(((NI) 31) <= ((NI) (i)))) goto LA15_;
						goto LA10;
					}
					LA15_: ;
					TM__UpH3CWy69aOHB2xkQBDirlg_59 = addInt(i, ((NI) 1));
					if (TM__UpH3CWy69aOHB2xkQBDirlg_59 < 0 || TM__UpH3CWy69aOHB2xkQBDirlg_59 > 31) raiseOverflow();
					i = (NI)(TM__UpH3CWy69aOHB2xkQBDirlg_59);
				}
			} LA10: ;
		}
		LA8_: ;
	}
	{
		NimStringDesc* s_2;
		NI i_2;
		s_2 = (NimStringDesc*)0;
		i_2 = ((NI) 0);
		{
			if (!(((NI) (i_2)) <= ((NI) 29))) goto LA20_;
			{
				while (1) {
					NimStringDesc* T24_;
					NI TM__UpH3CWy69aOHB2xkQBDirlg_61;
					s_2 = copyString(HintsToStr__Ztwykhn01OkbTo5TdXFJUw[(i_2)- 0]);
					T24_ = (NimStringDesc*)0;
					T24_ = rawNewString((s_2 ? s_2->Sup.len : 0) + 10);
appendString(T24_, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_60));
appendString(T24_, s_2);
					defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, T24_, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
					{
						if (!(((NI) 29) <= ((NI) (i_2)))) goto LA27_;
						goto LA22;
					}
					LA27_: ;
					TM__UpH3CWy69aOHB2xkQBDirlg_61 = addInt(i_2, ((NI) 1));
					if (TM__UpH3CWy69aOHB2xkQBDirlg_61 < 0 || TM__UpH3CWy69aOHB2xkQBDirlg_61 > 29) raiseOverflow();
					i_2 = (NI)(TM__UpH3CWy69aOHB2xkQBDirlg_61);
				}
			} LA22: ;
		}
		LA20_: ;
	}
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_62), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_63), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_64), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
	defineSymbol__znuJizGq3isbcihOOtUY0A(symbols, ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_65), ((NimStringDesc*) &TM__UpH3CWy69aOHB2xkQBDirlg_3));
}
