/* 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/@mbasic@sparse_requires.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@sparse_requires.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_Table__gNT2fhwFuDp4sR9cF1721wA tyObject_Table__gNT2fhwFuDp4sR9cF1721wA;
typedef struct tySequence__4ts8nFxrU5bE9cG4GGgcevw tySequence__4ts8nFxrU5bE9cG4GGgcevw;
typedef struct tySequence__4ts8nFxrU5bE9cG4GGgcevw_Content tySequence__4ts8nFxrU5bE9cG4GGgcevw_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg;
typedef struct tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw;
typedef struct tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg;
typedef struct tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA;
typedef struct tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ;
typedef struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA;
typedef struct tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg;
typedef struct tyObject_Token__0RfaoeiXz87H212JyhBKLA tyObject_Token__0RfaoeiXz87H212JyhBKLA;
typedef struct tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg;
typedef struct tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ;
typedef struct tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA;
typedef struct tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg;
typedef struct tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw;
typedef struct tySequence__JPKFgJSOQCieXDyG0VaX6A tySequence__JPKFgJSOQCieXDyG0VaX6A;
typedef struct tySequence__JPKFgJSOQCieXDyG0VaX6A_Content tySequence__JPKFgJSOQCieXDyG0VaX6A_Content;
typedef struct tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__82a9cBsTuMsIGy3wIt0j2GA tySequence__82a9cBsTuMsIGy3wIt0j2GA;
typedef struct tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__qQfLCgyHOp6hJAe9b61dSlg tySequence__qQfLCgyHOp6hJAe9b61dSlg;
typedef struct tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content;
typedef struct tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ;
typedef struct tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA;
typedef struct tyObject_TType__Mr5OLuzzwXOlraK5ByalKg tyObject_TType__Mr5OLuzzwXOlraK5ByalKg;
typedef struct tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg;
typedef struct tySequence__dLTPEqP7th9csUVoVHHIjNw tySequence__dLTPEqP7th9csUVoVHHIjNw;
typedef struct tySequence__dLTPEqP7th9csUVoVHHIjNw_Content tySequence__dLTPEqP7th9csUVoVHHIjNw_Content;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q tySequence__4eQHGndY6XBYpFOH09apV8Q;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content tySequence__4eQHGndY6XBYpFOH09apV8Q_Content;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw;
typedef struct tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w;
typedef struct tySequence__JiteSJxrvz63iP2o9bcn2Sg tySequence__JiteSJxrvz63iP2o9bcn2Sg;
typedef struct tySequence__JiteSJxrvz63iP2o9bcn2Sg_Content tySequence__JiteSJxrvz63iP2o9bcn2Sg_Content;
typedef struct tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct tyObject_Option__kstEkJLp40W6WNuYyunr8Q tyObject_Option__kstEkJLp40W6WNuYyunr8Q;
typedef struct tyObject_UnpackDefect__xK9aqHM18TKDzJ53FdCNa1g tyObject_UnpackDefect__xK9aqHM18TKDzJ53FdCNa1g;
typedef struct tyObject_Defect__OrUtYvY9ahZHkSCkuIUgLvA tyObject_Defect__OrUtYvY9ahZHkSCkuIUgLvA;
typedef struct Exception Exception;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ tySequence__3EvzHGO0xyXGnJBUggwfKQ;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content;
typedef struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA;
typedef struct tyTuple__WCNgFXclUWABgcGlO9bAvVw tyTuple__WCNgFXclUWABgcGlO9bAvVw;
typedef struct tyTuple__QV1TF4CGWRyoNF80eigmtg tyTuple__QV1TF4CGWRyoNF80eigmtg;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA;
typedef struct tyTuple__g1w83cyyBYiVU9c8WEJWnjQ tyTuple__g1w83cyyBYiVU9c8WEJWnjQ;
typedef struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw;
struct tySequence__4ts8nFxrU5bE9cG4GGgcevw {
  NI len; tySequence__4ts8nFxrU5bE9cG4GGgcevw_Content* p;
};
struct tyObject_Table__gNT2fhwFuDp4sR9cF1721wA {
	tySequence__4ts8nFxrU5bE9cG4GGgcevw data;
	NI counter;
};
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA {
	RootObj Sup;
	NI bufpos;
	NCSTRING buf;
	NimStringV2 bufStorage;
	NI bufLen;
	tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* stream;
	NI lineNumber;
	NI sentinel;
	NI lineStart;
	NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3, void* ClE_0);
void* ClE_0;
} tyProc__pZyCb85IttgsT24JoT50Ow;
struct tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA {
	tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA Sup;
	NI32 fileIdx;
	NI indentAhead;
	NI currLineIndent;
	tyProc__pZyCb85IttgsT24JoT50Ow errorHandler;
	tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache;
	tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config;
};
typedef NU8 tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g;
typedef NU8 tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q;
typedef NU8 tySet_tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg;
struct tyObject_Token__0RfaoeiXz87H212JyhBKLA {
	tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g tokType;
	tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q base;
	tySet_tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg spacing;
	NI indent;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident;
	NI64 iNumber;
	NF fNumber;
	NimStringV2 literal;
	NI line;
	NI col;
};
struct tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg {
	NI currInd;
	NIM_BOOL firstTok;
	NIM_BOOL hasProgress;
	tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA lex;
	tyObject_Token__0RfaoeiXz87H212JyhBKLA tok;
	NI lineStartPrevious;
	NI lineNumberPrevious;
	NI bufposPrevious;
	NI inPragma;
	NI inSemiStmtList;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* emptyNode;
};
typedef NU8 tyEnum_TBackend__Xu30yu1pJJNl5dArQPqGow;
typedef NU8 tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw;
typedef NU8 tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw;
struct tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA {
	tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw targetCPU;
	tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw hostCPU;
	tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw targetOS;
	tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q;
typedef NU64 tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg;
struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg;
struct tySequence__JPKFgJSOQCieXDyG0VaX6A {
  NI len; tySequence__JPKFgJSOQCieXDyG0VaX6A_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tySequence__82a9cBsTuMsIGy3wIt0j2GA {
  NI len; tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content* p;
};
struct tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg errorOutputs;
	tySequence__JPKFgJSOQCieXDyG0VaX6A msgContext;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastError;
	tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g filenameToIndexTbl;
	tySequence__82a9cBsTuMsIGy3wIt0j2GA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w;
typedef NU8 tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA;
typedef NU8 tyEnum_TGCMode__pRk7Y2G9bpIo9bLxbZlHNngg;
typedef NU8 tyEnum_ExceptionSystem__IYbEksEAKSIlWJbOfBD09cg;
typedef NU8 tyEnum_SymbolFilesOption__8PMCSpTPQgWdVNloobF5ww;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__E4xi5r0p9cLn3DNy3T5qUng;
typedef NU8 tySet_tyEnum_LegacyFeature__kQ72lke4a216EagCYqVkVQ;
typedef NU8 tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA;
typedef NU8 tyEnum_TSystemCC__x9cDM4gkFLLvOAjtG1vDBbw;
typedef NU8 tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA;
struct tySequence__qQfLCgyHOp6hJAe9b61dSlg {
  NI len; tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__ZKxN2vtYtpm0ZAjNb4J8aw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__JiHYsLjIe9cOjP539bvP3aaA;
struct tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw {
	tyEnum_TBackend__Xu30yu1pJJNl5dArQPqGow backend;
	tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q options;
	tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg globalOptions;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* macrosToExpand;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* arcToExpand;
	tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw m;
	tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__pRk7Y2G9bpIo9bLxbZlHNngg selectedGC;
	tyEnum_ExceptionSystem__IYbEksEAKSIlWJbOfBD09cg exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__8PMCSpTPQgWdVNloobF5ww symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__E4xi5r0p9cLn3DNy3T5qUng features;
	tySet_tyEnum_LegacyFeature__kQ72lke4a216EagCYqVkVQ legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA ideCmd;
	tyEnum_TSystemCC__x9cDM4gkFLLvOAjtG1vDBbw cCompiler;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ modifiedyNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ cmdlineNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ foreignPackageNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ notes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ warningAsErrors;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* configVars;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* symbols;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* dllOverrides;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* moduleOverrides;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__qQfLCgyHOp6hJAe9b61dSlg toCompile;
	tyProc__ZKxN2vtYtpm0ZAjNb4J8aw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__JiHYsLjIe9cOjP539bvP3aaA structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
typedef tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* tyArray__vT2s1OOU4oat4glWHm9bw9cg[8192];
struct tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg {
	tyArray__vT2s1OOU4oat4glWHm9bw9cg buckets;
	NI wordCounter;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* idAnon;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* idDelegator;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* emptyIdent;
};
typedef NU32 tySet_tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA;
typedef NU8 tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ;
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;
};
};
typedef NU8 tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ[21];
struct tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* next;
	NI h;
};
struct tySequence__4eQHGndY6XBYpFOH09apV8Q {
  NI len; tySequence__4eQHGndY6XBYpFOH09apV8Q_Content* p;
};
struct tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg {
	tySequence__4eQHGndY6XBYpFOH09apV8Q builderPatterns;
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
	NimStringV2 Field0;
	NimStringV2 Field1;
};
struct tySequence__JiteSJxrvz63iP2o9bcn2Sg {
  NI len; tySequence__JiteSJxrvz63iP2o9bcn2Sg_Content* p;
};
struct tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w {
	tySequence__JiteSJxrvz63iP2o9bcn2Sg data;
	NI counter;
};
struct tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ requires;
	tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w features;
	NimStringV2 srcDir;
	NimStringV2 version;
	tySequence__4eQHGndY6XBYpFOH09apV8Q tasks;
	NIM_BOOL hasInstallHooks;
	NIM_BOOL hasErrors;
};
struct tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg {
	RootObj Sup;
};
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
typedef N_CLOSURE_PTR(void, TM__VlN08vFgd0x9bl8EcqkI9baQ_79) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3, void* ClE_0);
struct tyObject_Option__kstEkJLp40W6WNuYyunr8Q {
	NIM_BOOL val;
	NIM_BOOL has;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ {
  NI len; tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__3EvzHGO0xyXGnJBUggwfKQ trace;
	Exception* up;
};
struct tyObject_Defect__OrUtYvY9ahZHkSCkuIUgLvA {
	Exception Sup;
};
struct tyObject_UnpackDefect__xK9aqHM18TKDzJ53FdCNa1g {
	tyObject_Defect__OrUtYvY9ahZHkSCkuIUgLvA Sup;
};
struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA {
	NI rc;
	NI rootIdx;
};
struct tyTuple__WCNgFXclUWABgcGlO9bAvVw {
	NI Field0;
	NimStringV2 Field1;
	NIM_BOOL Field2;
};
struct tySequence__4ts8nFxrU5bE9cG4GGgcevw_Content { NI cap; tyTuple__WCNgFXclUWABgcGlO9bAvVw data[SEQ_DECL_SIZE]; };
struct tyTuple__QV1TF4CGWRyoNF80eigmtg {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA Field0;
	NimStringV2 Field1;
};
struct tySequence__JPKFgJSOQCieXDyG0VaX6A_Content { NI cap; tyTuple__QV1TF4CGWRyoNF80eigmtg data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content { NI cap; tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tySet_tyEnum_CfileFlag__EkRY1EIMbklfJaNFiHJKAQ;
struct tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__EkRY1EIMbklfJaNFiHJKAQ flags;
	NimStringV2 customArgs;
};
struct tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content { NI cap; tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA data[SEQ_DECL_SIZE]; };
struct tySequence__dLTPEqP7th9csUVoVHHIjNw_Content { NI cap; tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* data[SEQ_DECL_SIZE]; };
struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content { NI cap; tyTuple__UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE]; };
struct tyTuple__g1w83cyyBYiVU9c8WEJWnjQ {
	NI Field0;
	NimStringV2 Field1;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ Field2;
};
struct tySequence__JiteSJxrvz63iP2o9bcn2Sg_Content { NI cap; tyTuple__g1w83cyyBYiVU9c8WEJWnjQ data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content { NI cap; tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA, compileDefines__basicZparse95requires_u56)(void);
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(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA, initTable__basicZparse95requires_u77)(NI initialSize_p0);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___basicZparse95requires_u309)(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA* t_p0, NimStringV2 key_p1, NIM_BOOL val_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZparse95requires_u215)(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw*, newConfigRef__OOZOOZOOZcompilerZoptions_u1034)(void);
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__OOZOOZOOZcompilerZmsgs_u401)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 filename_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, setupParser__OOZOOZOOZcompilerZsyntaxes_u227)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NI32 fileIdx_p1, tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache_p2, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg*, newIdentCache__OOZOOZOOZcompilerZidents_u216)(void);
N_LIB_PRIVATE N_NIMCALL(void, extractPlugin__basicZparse95requires_u4739)(NimStringV2 nimscriptFile_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p1, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p2, tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg* result_p3);
static N_INLINE(NI, safeLen__OOZOOZOOZcompilerZast_u3213)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0);
static N_INLINE(NI, len__OOZOOZOOZcompilerZast_u3206)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0);
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(void, eqcopy___OOZOOZOOZcompilerZast_u3273)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3270)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__basicZparse95requires_u3513)(tySequence__4eQHGndY6XBYpFOH09apV8Q* x_p0, tyTuple__UV3llMMYFckfui8YMBuUZA* y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseAll__OOZOOZOOZcompilerZparser_u1768)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeParser__OOZOOZOOZcompilerZparser_u134)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZidents_u339)(tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZparser_u1789)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZoptions_u1940)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZparse95requires_u4700)(tyProc__JiHYsLjIe9cOjP539bvP3aaA* dest_p0, tyProc__JiHYsLjIe9cOjP539bvP3aaA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___basicZparse95requires_u4674)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3);
N_LIB_PRIVATE N_NIMCALL(void, handleError__basicZparse95requires_u32)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* cfg_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA li_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g mk_p2, NimStringV2 msg_p3);
N_LIB_PRIVATE N_NIMCALL(void, info__basicZparse95requires_u40)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
static N_INLINE(NimStringV2, toFileLineCol__OOZOOZOOZcompilerZmsgs_u710)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toMsgFilename__OOZOOZOOZcompilerZmsgs_u691)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
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_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZlineinfos_u134)(tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g e_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZparser_u1892)(tyProc__pZyCb85IttgsT24JoT50Ow* dest_p0, tyProc__pZyCb85IttgsT24JoT50Ow src_p1);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___basicZparse95requires_u4681)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g mk_p2, NimStringV2 msg_p3, void* ClE_0);
static N_INLINE(void, nimMarkCyclic)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZparse95requires_u4876)(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, extract__basicZparse95requires_u2967)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p1, NimStringV2 currFeature_p2, tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw* result_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZast_u3279)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1);
static N_INLINE(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, lastSon__OOZOOZOOZcompilerZast_u5240)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0);
static N_INLINE(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ**, X5BX5D___OOZOOZOOZcompilerZast_u5243)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** s_p0, NI s_p0Len_0, NI i_p1);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_u70)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, X5BX5D___basicZparse95requires_u3040)(tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, handleError__basicZparse95requires_u52)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* cfg_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA li_p1, NimStringV2 msg_p2);
N_LIB_PRIVATE N_NIMCALL(void, handleError__basicZparse95requires_u47)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* cfg_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g mk_p1, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA li_p2, NimStringV2 msg_p3);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, newSeq__stdZsyncio_u578)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___basicZparse95requires_u3637)(tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w* t_p0, NimStringV2 key_p1, tySequence__sM4lkSb7zS6F7OVMvW9cffQ val_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5582)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
static N_INLINE(NIM_BOOL, eqIdent__basicZparse95requires_u28)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Option__kstEkJLp40W6WNuYyunr8Q, evalBooleanCondition__basicZparse95requires_u2707)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Option__kstEkJLp40W6WNuYyunr8Q, evalBasicDefines__basicZparse95requires_u2455)(NimStringV2 sym_p0, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__basicZparse95requires_u2503)(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA t_p0, NimStringV2 key_p1);
static N_INLINE(tyObject_Option__kstEkJLp40W6WNuYyunr8Q, some__basicZparse95requires_u2671)(NIM_BOOL val_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL*, X5BX5D___basicZparse95requires_u2586)(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
static N_INLINE(tyObject_Option__kstEkJLp40W6WNuYyunr8Q, none__basicZparse95requires_u2697)(void);
static N_INLINE(NIM_BOOL, isSome__basicZparse95requires_u2736)(tyObject_Option__kstEkJLp40W6WNuYyunr8Q self_p0);
static N_INLINE(NIM_BOOL*, get__basicZparse95requires_u2756)(tyObject_Option__kstEkJLp40W6WNuYyunr8Q* self_p0);
static N_INLINE(NIM_BOOL, isNone__basicZparse95requires_u2763)(tyObject_Option__kstEkJLp40W6WNuYyunr8Q self_p0);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZparse95requires_u4879)(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p_p0, TNimTypeV2* desc_p1);
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3555)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* s_p1, TNimTypeV2* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZparse95requires_u4855)(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZenvvars_u103)(tySequence__4eQHGndY6XBYpFOH09apV8Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZparse95requires_u3279)(tySequence__JiteSJxrvz63iP2o9bcn2Sg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_2 = { 7 | NIM_STRLIT_FLAG, "windows" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_3 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_2};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_4 = { 5 | NIM_STRLIT_FLAG, "posix" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_5 = {5, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_4};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_6 = { 5 | NIM_STRLIT_FLAG, "linux" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_7 = {5, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_6};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_8 = { 7 | NIM_STRLIT_FLAG, "android" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_9 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_8};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_10 = { 6 | NIM_STRLIT_FLAG, "macosx" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_11 = {6, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_10};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_12 = { 7 | NIM_STRLIT_FLAG, "freebsd" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_13 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_12};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_14 = { 7 | NIM_STRLIT_FLAG, "openbsd" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_15 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_14};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_16 = { 6 | NIM_STRLIT_FLAG, "netbsd" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_17 = {6, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_16};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_18 = { 7 | NIM_STRLIT_FLAG, "solaris" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_19 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_18};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_20 = { 3 | NIM_STRLIT_FLAG, "bsd" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_21 = {3, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_20};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_22 = { 4 | NIM_STRLIT_FLAG, "unix" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_23 = {4, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_22};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_24 = { 5 | NIM_STRLIT_FLAG, "amd64" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_25 = {5, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_24};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_26 = { 6 | NIM_STRLIT_FLAG, "x86_64" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_27 = {6, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_26};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_28 = { 4 | NIM_STRLIT_FLAG, "i386" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_29 = {4, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_28};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_30 = { 3 | NIM_STRLIT_FLAG, "arm" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_31 = {3, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_30};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_32 = { 5 | NIM_STRLIT_FLAG, "arm64" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_33 = {5, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_32};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_34 = { 4 | NIM_STRLIT_FLAG, "mips" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_35 = {4, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_34};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_36 = { 7 | NIM_STRLIT_FLAG, "powerpc" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_37 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_36};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_38 = { 2 | NIM_STRLIT_FLAG, "js" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_39 = {2, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_38};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_40 = { 10 | NIM_STRLIT_FLAG, "emscripten" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_41 = {10, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_40};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_42 = { 6 | NIM_STRLIT_FLAG, "wasm32" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_43 = {6, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_42};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_44 = { 5 | NIM_STRLIT_FLAG, "mingw" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_45 = {5, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_44};
extern TNimTypeV2 NTIv2__pr0lUFd9b8B8UI5LygxHiDA_;
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__VlN08vFgd0x9bl8EcqkI9baQ_47 = {
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__VlN08vFgd0x9bl8EcqkI9baQ_48 = { 62 | NIM_STRLIT_FLAG, "field \'sons\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_49 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_50 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_52 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_53 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__VlN08vFgd0x9bl8EcqkI9baQ_54 = {
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__VlN08vFgd0x9bl8EcqkI9baQ_55 = { 63 | NIM_STRLIT_FLAG, "field \'ident\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_56 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_57 = { 7 | NIM_STRLIT_FLAG, "builder" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_58 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_57};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_59 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_60 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__VlN08vFgd0x9bl8EcqkI9baQ_61 = {
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__VlN08vFgd0x9bl8EcqkI9baQ_62 = { 64 | NIM_STRLIT_FLAG, "field \'strVal\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_63 = {64, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_62};
N_LIB_PRIVATE TNimTypeV2 NTIv2__diB2NTuAIWY0FO9c5IUJRGg_;
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_65 = { 18 | NIM_STRLIT_FLAG, "atlas:nimbleparser" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_66 = {18, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_65};
static const struct {
  NI cap; NIM_CHAR data[24+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_67 = { 24 | NIM_STRLIT_FLAG, "error parsing \"$1\" at $2" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_68 = {24, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_67};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_69 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_70 = {0, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_69};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_71 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_72 = {1, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_71};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_74 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_75 = {2, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_74};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_77 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_78 = {1, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_77};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_80 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_82 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_83 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_84 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_85 = { 8 | NIM_STRLIT_FLAG, "requires" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_86 = {8, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_85};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_87 = { 4 | NIM_STRLIT_FLAG, "task" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_88 = {4, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_87};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_89 = { 6 | NIM_STRLIT_FLAG, "before" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_90 = {6, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_89};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_91 = { 5 | NIM_STRLIT_FLAG, "after" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_92 = {5, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_91};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_93 = { 7 | NIM_STRLIT_FLAG, "feature" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_94 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_93};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_95 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_97 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_98 = {64, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_62};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_99 = {64, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_62};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_100 = { 32 | NIM_STRLIT_FLAG, "\'requires\' takes string literals" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_101 = {32, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_100};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_103 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_104 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_105 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_106 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_107 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_108 = {64, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_62};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_109 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_110 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_111 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_112 = { 7 | NIM_STRLIT_FLAG, "install" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_113 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_112};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_115 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_116 = {64, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_62};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_117 = { 32 | NIM_STRLIT_FLAG, "feature requires string literals" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_118 = {32, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_117};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_120 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_122 = { 90 | NIM_STRLIT_FLAG, "iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_123 = {90, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_122};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_124 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_125 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_126 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_127 = { 6 | NIM_STRLIT_FLAG, "srcDir" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_128 = {6, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_127};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_129 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_130 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_131 = {64, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_62};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_132 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const struct {
  NI cap; NIM_CHAR data[47+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_133 = { 47 | NIM_STRLIT_FLAG, "assignments to \'srcDir\' must be string literals" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_134 = {47, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_133};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_135 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_136 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_137 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_138 = { 7 | NIM_STRLIT_FLAG, "version" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_139 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_138};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_140 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_141 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_142 = {64, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_62};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_143 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_144 = { 48 | NIM_STRLIT_FLAG, "assignments to \'version\' must be string literals" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_145 = {48, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_144};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_146 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_147 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_148 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_149 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_150 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_151 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_152 = { 7 | NIM_STRLIT_FLAG, "defined" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_153 = {7, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_152};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_154 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_155 = { 18 | NIM_STRLIT_FLAG, "undefined symbol: " };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_156 = {18, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_155};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_157 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_158 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_159 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_160 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_161 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_162 = { 3 | NIM_STRLIT_FLAG, "and" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_163 = {3, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_162};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_164 = { 2 | NIM_STRLIT_FLAG, "or" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_165 = {2, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_164};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_166 = { 3 | NIM_STRLIT_FLAG, "xor" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_167 = {3, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_166};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_168 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_169 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
extern TNimTypeV2 NTIv2__xK9aqHM18TKDzJ53FdCNa1g_;
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_170 = { 34 | NIM_STRLIT_FLAG, "Can\'t obtain a value from a `none`" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_171 = {34, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_170};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_172 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_173 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_174 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_175 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_176 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_177 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_178 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_179 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_180 = {3, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_179};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_181 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_182 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_183 = {63, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_55};
static const struct {
  NI cap; NIM_CHAR data[55+1];
} TM__VlN08vFgd0x9bl8EcqkI9baQ_184 = { 55 | NIM_STRLIT_FLAG, "when condition is not boolean or uses undefined symbols" };
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_185 = {55, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_184};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_187 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_189 = {62, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_48};
static const NimStringV2 TM__VlN08vFgd0x9bl8EcqkI9baQ_190 = {0, (NimStrPayload*)&TM__VlN08vFgd0x9bl8EcqkI9baQ_69};
static NIM_CONST tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg TM__VlN08vFgd0x9bl8EcqkI9baQ_46 = {0, NIM_FALSE, NIM_FALSE, {{{(&NTIv2__pr0lUFd9b8B8UI5LygxHiDA_)}, 0, NIM_NIL, {0, NIM_NIL}, 0, NIM_NIL, 0, 0, 0, 0}, 0, 0, 0, {NIM_NIL, NIM_NIL}, NIM_NIL, NIM_NIL}, {0, 0, 0, 0, NIM_NIL, 0, 0.0, {0, NIM_NIL}, 0, 0}, 0, 0, 0, 0, 0, NIM_NIL}
;
N_LIB_PRIVATE tyObject_Table__gNT2fhwFuDp4sR9cF1721wA definedSymbols__basicZparse95requires_u2405;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
static NIM_CONST NU32 TM__VlN08vFgd0x9bl8EcqkI9baQ_64[2] = {3701606400, 544617728};
N_LIB_PRIVATE TNimTypeV2 NTIv2__diB2NTuAIWY0FO9c5IUJRGg_ = {.destructor = (void*)NIM_NIL, .size = sizeof(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg), .align = (NI16) NIM_ALIGNOF(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg), .depth = 1, .display = TM__VlN08vFgd0x9bl8EcqkI9baQ_64, .traceImpl = (void*)NIM_NIL, .flags = 0};
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*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA, compileDefines__basicZparse95requires_u56)(void) {
	tyObject_Table__gNT2fhwFuDp4sR9cF1721wA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA));
	result = initTable__basicZparse95requires_u77(((NI)32));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_3, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_5, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_7, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_9, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_11, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_13, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_15, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_17, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_19, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_21, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_23, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_25, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_27, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_29, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_31, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_33, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_35, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_37, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_39, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_41, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_43, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___basicZparse95requires_u309((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_45, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, len__OOZOOZOOZcompilerZast_u3206)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0) {
	NI result;
	NI T1_;
{	if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_49, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
	}
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, safeLen__OOZOOZOOZcompilerZast_u3213)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__OOZOOZOOZcompilerZast_u3206(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1763(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, extractPlugin__basicZparse95requires_u4739)(NimStringV2 nimscriptFile_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p1, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p2, tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg* result_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p1).kind) {
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115):
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)126):
	{
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* child_1;
			child_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__OOZOOZOOZcompilerZast_u3213(n_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 = ((NI)0);
				{
					while (1) {
						NI TM__VlN08vFgd0x9bl8EcqkI9baQ_51;
						if (!(i_2 < colontmp_)) goto LA5;
						i_1 = i_2;
						if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p1).kind))>>3] &(1U<<((NU)(((*n_p1).kind))&7U)))!=0)) 						{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_50, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p1).kind)); goto BeforeRet_;
						}
						if (i_1 < 0 || i_1 >= (*n_p1)._kind_6.sons.len){ raiseIndexError2(i_1,(*n_p1)._kind_6.sons.len-1); goto BeforeRet_;
						}
						eqcopy___OOZOOZOOZcompilerZast_u3273(&child_1, (*n_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						extractPlugin__basicZparse95requires_u4739(nimscriptFile_p0, child_1, conf_p2, result_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (nimAddInt(i_2, ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_51)) { raiseOverflow(); goto BeforeRet_;
						};
						i_2 = (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_51);
					} LA5: ;
				}
			}
			eqdestroy___OOZOOZOOZcompilerZast_u3270(child_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)26) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)32):
	{
		{
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p1).kind))>>3] &(1U<<((NU)(((*n_p1).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_52, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p1).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p1)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2))) goto LA9_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p1).kind))>>3] &(1U<<((NU)(((*n_p1).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_53, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p1).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p1)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_56, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind)); goto BeforeRet_;
			}
			if (eqStrings((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_58)) goto LA11_;
			goto LA12_;
			LA11_: ;
			{
				{
					NIM_BOOL T17_;
					NI T18_;
					NimStringV2 colontmpD_;
					NimStringV2 colontmpD__2;
					tyTuple__UV3llMMYFckfui8YMBuUZA T22_;
					T17_ = (NIM_BOOL)0;
					T18_ = (NI)0;
					T18_ = len__OOZOOZOOZcompilerZast_u3206(n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T17_ = (((NI)3) <= T18_);
					if (!(T17_)) goto LA19_;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p1).kind))>>3] &(1U<<((NU)(((*n_p1).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_59, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p1).kind)); goto BeforeRet_;
					}
					if (((NI)1) < 0 || ((NI)1) >= (*n_p1)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p1)._kind_6.sons.len-1); goto BeforeRet_;
					}
					T17_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) && (*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22));
LA19_: ;
					if (!T17_) goto LA20_;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p1).kind))>>3] &(1U<<((NU)(((*n_p1).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_60, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p1).kind)); goto BeforeRet_;
					}
					if (((NI)1) < 0 || ((NI)1) >= (*n_p1)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p1)._kind_6.sons.len-1); goto BeforeRet_;
					}
					if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_61[(NU)(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind))>>3] &(1U<<((NU)(((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind))&7U)))!=0))) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_63, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p1)._kind_6.sons.p->data[((NI)1)]).kind)); goto BeforeRet_;
					}
					colontmpD_ = eqdup___system_u2757((*(*n_p1)._kind_6.sons.p->data[((NI)1)])._kind_3.strVal);
					T22_.Field0 = colontmpD_;
					colontmpD__2 = eqdup___system_u2757(nimscriptFile_p0);
					T22_.Field1 = colontmpD__2;
					add__basicZparse95requires_u3513((&(*result_p3).builderPatterns), (&T22_));
				}
LA20_: ;
			}
			goto LA13_;
			LA12_: ;
			{
			}
LA13_: ;
		}
LA9_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, extractPluginInfo__basicZparse95requires_u4757)(NimStringV2 nimscriptFile_p0, tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg* info_p1) {
	tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_1;
	tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg parser_1;
	tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* colontmpD_;
	NI32 fileIdx_1;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	conf_1 = NIM_NIL;
	nimZeroMem((void*)(&parser_1), sizeof(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg));
	parser_1 = TM__VlN08vFgd0x9bl8EcqkI9baQ_46;
	colontmpD_ = NIM_NIL;
	conf_1 = newConfigRef__OOZOOZOOZcompilerZoptions_u1034();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((*conf_1).foreignPackageNotes, sizeof(tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ));
	nimZeroMem((*conf_1).notes, sizeof(tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ));
	nimZeroMem((*conf_1).mainPackageNotes, sizeof(tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ));
	fileIdx_1 = fileInfoIdx__OOZOOZOOZcompilerZmsgs_u401(conf_1, nimscriptFile_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
		colontmpD_ = newIdentCache__OOZOOZOOZcompilerZidents_u216();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (NIM_BOOL)0;
		T4_ = setupParser__OOZOOZOOZcompilerZsyntaxes_u227((&parser_1), fileIdx_1, colontmpD_, conf_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = parseAll__OOZOOZOOZcompilerZparser_u1768((&parser_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		extractPlugin__basicZparse95requires_u4739(nimscriptFile_p0, colontmpD__2, conf_1, info_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		closeParser__OOZOOZOOZcompilerZparser_u134((&parser_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZidents_u339(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZparser_u1789((&parser_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZoptions_u1940(conf_1);
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1755(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
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__OOZOOZOOZcompilerZmsgs_u710)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	result = TM__VlN08vFgd0x9bl8EcqkI9baQ_70;
	colontmpD_ = toMsgFilename__OOZOOZOOZcompilerZmsgs_u691(conf_p0, info_p1.fileIndex);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	prepareAdd((&result), colontmpD_.len + 0);
appendString((&result), colontmpD_);
	{
		if (!(((NI)0) < ((NI) (info_p1.line)))) goto LA4_;
		prepareAdd((&result), 1);
appendString((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_72);
		addInt__stdZprivateZdigitsutils_u204((&result), ((NI) (info_p1.line)));
		{
			NI TM__VlN08vFgd0x9bl8EcqkI9baQ_73;
			NI TM__VlN08vFgd0x9bl8EcqkI9baQ_76;
			if (nimAddInt(((NI) (info_p1.col)), ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_73)) { raiseOverflow(); goto LA1_;
			};
			if (!(((NI)0) < (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_73))) goto LA8_;
			prepareAdd((&result), 2);
appendString((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_75);
			if (nimAddInt(((NI) (info_p1.col)), ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_76)) { raiseOverflow(); goto LA1_;
			};
			addInt__stdZprivateZdigitsutils_u204((&result), (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_76));
		}
LA8_: ;
		prepareAdd((&result), 1);
appendString((&result), TM__VlN08vFgd0x9bl8EcqkI9baQ_78);
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, handleError__basicZparse95requires_u32)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* cfg_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA li_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g mk_p2, NimStringV2 msg_p3) {
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	tyArray__YgExxhfgKcesA5EOUj1MOA T2_;
	tyArray__dyW7vpmfeTYw8kX3EXuaJA T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	T3_[0] = msg_p3;
	colontmpD_ = toFileLineCol__OOZOOZOOZcompilerZmsgs_u710(cfg_p0, li_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_[1] = colontmpD_;
	colontmpD__2 = dollar___OOZOOZOOZcompilerZlineinfos_u134(mk_p2);
	T3_[2] = colontmpD__2;
	colontmpD__3 = nsuFormatOpenArray(TM__VlN08vFgd0x9bl8EcqkI9baQ_68, T3_, 3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_[0] = colontmpD__3;
	info__basicZparse95requires_u40(TM__VlN08vFgd0x9bl8EcqkI9baQ_66, T2_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___basicZparse95requires_u4674)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	handleError__basicZparse95requires_u32(config_p0, info_p1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)85), msg_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___basicZparse95requires_u4681)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g mk_p2, NimStringV2 msg_p3, void* ClE_0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	handleError__basicZparse95requires_u32(config_p0, info_p1, mk_p2, msg_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimMarkCyclic)(void* p_p0) {
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZparse95requires_u4876)(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg** dest_p0) {
	(*dest_p0) = 0;
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) - (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ (NI)((NU64) ~(b_p1))));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ**, X5BX5D___OOZOOZOOZcompilerZast_u5243)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** result;
	NI TM__VlN08vFgd0x9bl8EcqkI9baQ_96;
{	result = (tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ**)0;
	if (nimSubInt(s_p0Len_0, i_p1, &TM__VlN08vFgd0x9bl8EcqkI9baQ_96)) { raiseOverflow(); goto BeforeRet_;
	};
	if ((NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_96) < 0 || (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_96) >= s_p0Len_0){ raiseIndexError2((NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_96),s_p0Len_0-1); goto BeforeRet_;
	}
	result = &s_p0[(NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_96)];
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, lastSon__OOZOOZOOZcompilerZast_u5240)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_97, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
	}
	T1_ = (tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ**)0;
	T1_ = X5BX5D___OOZOOZOOZcompilerZast_u5243((((*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___OOZOOZOOZcompilerZast_u3273(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, handleError__basicZparse95requires_u47)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* cfg_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g mk_p1, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA li_p2, NimStringV2 msg_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	handleError__basicZparse95requires_u32(cfg_p0, li_p2, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)85), msg_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, handleError__basicZparse95requires_u52)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* cfg_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA li_p1, NimStringV2 msg_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	handleError__basicZparse95requires_u47(cfg_p0, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)85), li_p1, msg_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, eqIdent__basicZparse95requires_u28)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NI)0;
	T2_ = nsuCmpIgnoreCase(a_p0, b_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (T2_ == ((NI)0));
	if (!(T1_)) goto LA3_;
	if (((NI)0) < 0 || ((NI)0) >= a_p0.len){ raiseIndexError2(((NI)0),a_p0.len-1); goto BeforeRet_;
	}
	if (((NI)0) < 0 || ((NI)0) >= b_p1.len){ raiseIndexError2(((NI)0),b_p1.len-1); goto BeforeRet_;
	}
	T1_ = ((NU8)(a_p0.p->data[((NI)0)]) == (NU8)(b_p1.p->data[((NI)0)]));
LA3_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_Option__kstEkJLp40W6WNuYyunr8Q, some__basicZparse95requires_u2671)(NIM_BOOL val_p0) {
	tyObject_Option__kstEkJLp40W6WNuYyunr8Q result;
	nimZeroMem((void*)(&result), sizeof(tyObject_Option__kstEkJLp40W6WNuYyunr8Q));
	result.has = NIM_TRUE;
	result.val = val_p0;
	return result;
}
static N_INLINE(tyObject_Option__kstEkJLp40W6WNuYyunr8Q, none__basicZparse95requires_u2697)(void) {
	tyObject_Option__kstEkJLp40W6WNuYyunr8Q result;
	nimZeroMem((void*)(&result), sizeof(tyObject_Option__kstEkJLp40W6WNuYyunr8Q));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Option__kstEkJLp40W6WNuYyunr8Q, evalBasicDefines__basicZparse95requires_u2455)(NimStringV2 sym_p0, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p2) {
	tyObject_Option__kstEkJLp40W6WNuYyunr8Q result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Option__kstEkJLp40W6WNuYyunr8Q));
	{
		NIM_BOOL T3_;
		NIM_BOOL* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = contains__basicZparse95requires_u2503(definedSymbols__basicZparse95requires_u2405, sym_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		T6_ = (NIM_BOOL*)0;
		T6_ = X5BX5D___basicZparse95requires_u2586((&definedSymbols__basicZparse95requires_u2405), sym_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = some__basicZparse95requires_u2671((*T6_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		NimStringV2 colontmpD_;
		NimStringV2 T9_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		T9_.len = 0; T9_.p = NIM_NIL;
		T9_ = rawNewString(sym_p0.len + 18);
appendString((&T9_), TM__VlN08vFgd0x9bl8EcqkI9baQ_156);
appendString((&T9_), sym_p0);
		colontmpD_ = T9_;
		handleError__basicZparse95requires_u52(conf_p1, (*n_p2).info, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		result = none__basicZparse95requires_u2697();
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		goto BeforeRet_;
		{
			LA8_:;
		}
		{
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isSome__basicZparse95requires_u2736)(tyObject_Option__kstEkJLp40W6WNuYyunr8Q self_p0) {
	NIM_BOOL result;
	result = self_p0.has;
	return result;
}
static N_INLINE(NIM_BOOL, isNone__basicZparse95requires_u2763)(tyObject_Option__kstEkJLp40W6WNuYyunr8Q self_p0) {
	NIM_BOOL result;
	result = !(self_p0.has);
	return result;
}
static N_INLINE(NIM_BOOL*, get__basicZparse95requires_u2756)(tyObject_Option__kstEkJLp40W6WNuYyunr8Q* self_p0) {
	NIM_BOOL* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL*)0;
	{
		NIM_BOOL T3_;
		tyObject_UnpackDefect__xK9aqHM18TKDzJ53FdCNa1g* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isNone__basicZparse95requires_u2763((*self_p0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = (tyObject_UnpackDefect__xK9aqHM18TKDzJ53FdCNa1g*) nimNewObj(sizeof(tyObject_UnpackDefect__xK9aqHM18TKDzJ53FdCNa1g), NIM_ALIGNOF(tyObject_UnpackDefect__xK9aqHM18TKDzJ53FdCNa1g));
		(*T6_).Sup.Sup.Sup.m_type = (&NTIv2__xK9aqHM18TKDzJ53FdCNa1g_);
		(*T6_).Sup.Sup.name = "UnpackDefect";
		(*T6_).Sup.Sup.message = TM__VlN08vFgd0x9bl8EcqkI9baQ_171;
		(*T6_).Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "UnpackDefect", "get", "options.nim", 203);
goto BeforeRet_;
	}
LA4_: ;
	result = (&(*self_p0).val);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Option__kstEkJLp40W6WNuYyunr8Q, evalBooleanCondition__basicZparse95requires_u2707)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p1) {
	tyObject_Option__kstEkJLp40W6WNuYyunr8Q result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Option__kstEkJLp40W6WNuYyunr8Q));
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)27):
	{
		{
			NIM_BOOL T4_;
			NIM_BOOL T5_;
			NI T8_;
			T4_ = (NIM_BOOL)0;
			T5_ = (NIM_BOOL)0;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_149, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			T5_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2));
			if (!(T5_)) goto LA6_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_150, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_151, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind)); goto BeforeRet_;
			}
			T5_ = eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_153);
LA6_: ;
			T4_ = T5_;
			if (!(T4_)) goto LA7_;
			T8_ = (NI)0;
			T8_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T4_ = (T8_ == ((NI)2));
LA7_: ;
			if (!T4_) goto LA9_;
			{
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_154, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				if (!((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2))) goto LA13_;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_157, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_158, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind)); goto BeforeRet_;
				}
				result = evalBasicDefines__basicZparse95requires_u2455((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_5.ident).s, conf_p1, n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA13_: ;
		}
LA9_: ;
		result = none__basicZparse95requires_u2697();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)29):
	{
		{
			NIM_BOOL T18_;
			NI T20_;
			T18_ = (NIM_BOOL)0;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_159, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			T18_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2));
			if (!(T18_)) goto LA19_;
			T20_ = (NI)0;
			T20_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T18_ = (T20_ == ((NI)3));
LA19_: ;
			if (!T18_) goto LA21_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_160, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_161, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind)); goto BeforeRet_;
			}
			if (eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_163)) goto LA23_;
			if (eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_165)) goto LA24_;
			if (eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_167)) goto LA25_;
			goto LA26_;
			LA23_: ;
			{
				tyObject_Option__kstEkJLp40W6WNuYyunr8Q left_1;
				tyObject_Option__kstEkJLp40W6WNuYyunr8Q right_1;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_168, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				left_1 = evalBooleanCondition__basicZparse95requires_u2707((*n_p0)._kind_6.sons.p->data[((NI)1)], conf_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_169, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)2) < 0 || ((NI)2) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)2),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				right_1 = evalBooleanCondition__basicZparse95requires_u2707((*n_p0)._kind_6.sons.p->data[((NI)2)], conf_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T31_;
					NIM_BOOL T35_;
					NIM_BOOL* T36_;
					NIM_BOOL* T38_;
					T31_ = (NIM_BOOL)0;
					T31_ = isSome__basicZparse95requires_u2736(left_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(T31_)) goto LA32_;
					T31_ = isSome__basicZparse95requires_u2736(right_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA32_: ;
					if (!T31_) goto LA33_;
					T35_ = (NIM_BOOL)0;
					T36_ = (NIM_BOOL*)0;
					T36_ = get__basicZparse95requires_u2756((&left_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T35_ = (*T36_);
					if (!(T35_)) goto LA37_;
					T38_ = (NIM_BOOL*)0;
					T38_ = get__basicZparse95requires_u2756((&right_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T35_ = (*T38_);
LA37_: ;
					result = some__basicZparse95requires_u2671(T35_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
				goto LA29_;
LA33_: ;
				{
					result = none__basicZparse95requires_u2697();
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA29_: ;
			}
			goto LA27_;
			LA24_: ;
			{
				tyObject_Option__kstEkJLp40W6WNuYyunr8Q left_2;
				tyObject_Option__kstEkJLp40W6WNuYyunr8Q right_2;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_172, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				left_2 = evalBooleanCondition__basicZparse95requires_u2707((*n_p0)._kind_6.sons.p->data[((NI)1)], conf_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_173, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)2) < 0 || ((NI)2) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)2),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				right_2 = evalBooleanCondition__basicZparse95requires_u2707((*n_p0)._kind_6.sons.p->data[((NI)2)], conf_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T43_;
					NIM_BOOL T47_;
					NIM_BOOL* T48_;
					NIM_BOOL* T50_;
					T43_ = (NIM_BOOL)0;
					T43_ = isSome__basicZparse95requires_u2736(left_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(T43_)) goto LA44_;
					T43_ = isSome__basicZparse95requires_u2736(right_2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA44_: ;
					if (!T43_) goto LA45_;
					T47_ = (NIM_BOOL)0;
					T48_ = (NIM_BOOL*)0;
					T48_ = get__basicZparse95requires_u2756((&left_2));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T47_ = (*T48_);
					if (T47_) goto LA49_;
					T50_ = (NIM_BOOL*)0;
					T50_ = get__basicZparse95requires_u2756((&right_2));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T47_ = (*T50_);
LA49_: ;
					result = some__basicZparse95requires_u2671(T47_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
				goto LA41_;
LA45_: ;
				{
					result = none__basicZparse95requires_u2697();
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA41_: ;
			}
			goto LA27_;
			LA25_: ;
			{
				tyObject_Option__kstEkJLp40W6WNuYyunr8Q left_3;
				tyObject_Option__kstEkJLp40W6WNuYyunr8Q right_3;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_174, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				left_3 = evalBooleanCondition__basicZparse95requires_u2707((*n_p0)._kind_6.sons.p->data[((NI)1)], conf_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_175, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)2) < 0 || ((NI)2) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)2),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				right_3 = evalBooleanCondition__basicZparse95requires_u2707((*n_p0)._kind_6.sons.p->data[((NI)2)], conf_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T55_;
					NIM_BOOL* T59_;
					NIM_BOOL* T60_;
					T55_ = (NIM_BOOL)0;
					T55_ = isSome__basicZparse95requires_u2736(left_3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(T55_)) goto LA56_;
					T55_ = isSome__basicZparse95requires_u2736(right_3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA56_: ;
					if (!T55_) goto LA57_;
					T59_ = (NIM_BOOL*)0;
					T59_ = get__basicZparse95requires_u2756((&left_3));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T60_ = (NIM_BOOL*)0;
					T60_ = get__basicZparse95requires_u2756((&right_3));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					result = some__basicZparse95requires_u2671(((*T59_) != (*T60_)));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
				goto LA53_;
LA57_: ;
				{
					result = none__basicZparse95requires_u2697();
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA53_: ;
			}
			goto LA27_;
			LA26_: ;
			{
			}
LA27_: ;
		}
LA21_: ;
		result = none__basicZparse95requires_u2697();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)30):
	{
		{
			NIM_BOOL T66_;
			NIM_BOOL T67_;
			NI T70_;
			tyObject_Option__kstEkJLp40W6WNuYyunr8Q inner_1;
			T66_ = (NIM_BOOL)0;
			T67_ = (NIM_BOOL)0;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_176, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			T67_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2));
			if (!(T67_)) goto LA68_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_177, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_178, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind)); goto BeforeRet_;
			}
			T67_ = eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_180);
LA68_: ;
			T66_ = T67_;
			if (!(T66_)) goto LA69_;
			T70_ = (NI)0;
			T70_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T66_ = (T70_ == ((NI)2));
LA69_: ;
			if (!T66_) goto LA71_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_181, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			inner_1 = evalBooleanCondition__basicZparse95requires_u2707((*n_p0)._kind_6.sons.p->data[((NI)1)], conf_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T75_;
				NIM_BOOL* T78_;
				T75_ = (NIM_BOOL)0;
				T75_ = isSome__basicZparse95requires_u2736(inner_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T75_) goto LA76_;
				T78_ = (NIM_BOOL*)0;
				T78_ = get__basicZparse95requires_u2756((&inner_1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				result = some__basicZparse95requires_u2671(!((*T78_)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
			goto LA73_;
LA76_: ;
			{
				result = none__basicZparse95requires_u2697();
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA73_: ;
		}
LA71_: ;
		result = none__basicZparse95requires_u2697();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)37):
	{
		{
			NI T83_;
			T83_ = (NI)0;
			T83_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T83_ == ((NI)1))) goto LA84_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_182, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			result = evalBooleanCondition__basicZparse95requires_u2707((*n_p0)._kind_6.sons.p->data[((NI)0)], conf_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA84_: ;
		result = none__basicZparse95requires_u2697();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2):
	{
		if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_183, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
		}
		result = evalBasicDefines__basicZparse95requires_u2455((*(*n_p0)._kind_5.ident).s, conf_p1, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	default:
	{
		result = none__basicZparse95requires_u2697();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, extract__basicZparse95requires_u2967)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p1, NimStringV2 currFeature_p2, tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw* result_p3) {
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin76_;
NIM_BOOL oldNimErrFin131_;
NIM_BOOL oldNimErrFin124_;
NIM_BOOL oldNimErrFin157_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115):
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)126):
	{
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* child_1;
			child_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__OOZOOZOOZcompilerZast_u3213(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				i_2 = ((NI)0);
				{
					while (1) {
						NI TM__VlN08vFgd0x9bl8EcqkI9baQ_81;
						if (!(i_2 < colontmp_)) goto LA6;
						i_1 = i_2;
						if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 						{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_80, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto LA3_;
						}
						if (i_1 < 0 || i_1 >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(i_1,(*n_p0)._kind_6.sons.len-1); goto LA3_;
						}
						eqcopy___OOZOOZOOZcompilerZast_u3273(&child_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						extract__basicZparse95requires_u2967(child_1, conf_p1, currFeature_p2, result_p3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
						if (nimAddInt(i_2, ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_81)) { raiseOverflow(); goto LA3_;
						};
						i_2 = (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_81);
					} LA6: ;
				}
			}
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(child_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)26) ... ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)32):
	{
		{
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_82, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2))) goto LA12_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_83, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_84, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind)); goto BeforeRet_;
			}
			if (eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_86)) goto LA14_;
			if (eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_88)) goto LA15_;
			if (eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_90)) goto LA16_;
			if (eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_92)) goto LA16_;
			if (eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_94)) goto LA17_;
			goto LA18_;
			LA14_: ;
			{
				{
					NI i_3;
					NI colontmp__2;
					NI i_4;
					i_3 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = len__OOZOOZOOZcompilerZast_u3206(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 = ((NI)1);
					{
						while (1) {
							tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* ch_1;
							NI TM__VlN08vFgd0x9bl8EcqkI9baQ_102;
							if (!(i_4 < colontmp__2)) goto LA23;
							ch_1 = NIM_NIL;
							i_3 = i_4;
							if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 							{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_95, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto LA24_;
							}
							if (i_3 < 0 || i_3 >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(i_3,(*n_p0)._kind_6.sons.len-1); goto LA24_;
							}
							eqcopy___OOZOOZOOZcompilerZast_u3273(&ch_1, (*n_p0)._kind_6.sons.p->data[i_3]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							{
								while (1) {
									NIM_BOOL T27_;
									NI T29_;
									tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T30_;
									T27_ = (NIM_BOOL)0;
									T27_ = ((*ch_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)126) || (*ch_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115));
									if (!(T27_)) goto LA28_;
									T29_ = (NI)0;
									T29_ = len__OOZOOZOOZcompilerZast_u3206(ch_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
									T27_ = (((NI)0) < T29_);
LA28_: ;
									if (!T27_) goto LA26;
									T30_ = NIM_NIL;
									T30_ = lastSon__OOZOOZOOZcompilerZast_u5240(ch_1);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T30_); goto LA24_;}
									eqsink___OOZOOZOOZcompilerZast_u3279(&ch_1, T30_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
								} LA26: ;
							}
							{
								if (!((*ch_1).kind >= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) && (*ch_1).kind <= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22))) goto LA33_;
								{
									NimStringV2 colontmpD_;
									tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T39_;
									if (!(((NI)0) < currFeature_p2.len)) goto LA37_;
									T39_ = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
									T39_ = X5BX5D___basicZparse95requires_u3040((&(*result_p3).features), currFeature_p2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
									if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_61[(NU)(((*ch_1).kind))>>3] &(1U<<((NU)(((*ch_1).kind))&7U)))!=0))) 									{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_98, dollar___OOZOOZOOZcompilerZnodekinds_u168((*ch_1).kind)); goto LA24_;
									}
									colontmpD_ = eqdup___system_u2757((*ch_1)._kind_3.strVal);
									add__stdZenumutils_u70((&(*T39_)), colontmpD_);
								}
								goto LA35_;
LA37_: ;
								{
									NimStringV2 colontmpD__2;
									if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_61[(NU)(((*ch_1).kind))>>3] &(1U<<((NU)(((*ch_1).kind))&7U)))!=0))) 									{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_99, dollar___OOZOOZOOZcompilerZnodekinds_u168((*ch_1).kind)); goto LA24_;
									}
									colontmpD__2 = eqdup___system_u2757((*ch_1)._kind_3.strVal);
									add__stdZenumutils_u70((&(*result_p3).requires), colontmpD__2);
								}
LA35_: ;
							}
							goto LA31_;
LA33_: ;
							{
								handleError__basicZparse95requires_u52(conf_p1, (*ch_1).info, TM__VlN08vFgd0x9bl8EcqkI9baQ_101);
								if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
							}
LA31_: ;
							if (nimAddInt(i_4, ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_102)) { raiseOverflow(); goto LA24_;
							};
							i_4 = (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_102);
							{
								LA24_:;
							}
							{
								oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___OOZOOZOOZcompilerZast_u3270(ch_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								*nimErr_ = oldNimErrFin24_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA23: ;
					}
				}
			}
			goto LA19_;
			LA15_: ;
			{
				{
					NIM_BOOL T47_;
					NIM_BOOL T48_;
					NI T49_;
					NimStringV2 colontmpD__3;
					NimStringV2 colontmpD__4;
					tyTuple__UV3llMMYFckfui8YMBuUZA T54_;
					T47_ = (NIM_BOOL)0;
					T48_ = (NIM_BOOL)0;
					T49_ = (NI)0;
					T49_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T48_ = (((NI)3) <= T49_);
					if (!(T48_)) goto LA50_;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_103, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
					}
					if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
					}
					T48_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2));
LA50_: ;
					T47_ = T48_;
					if (!(T47_)) goto LA51_;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_104, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
					}
					if (((NI)2) < 0 || ((NI)2) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)2),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
					}
					T47_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) && (*(*n_p0)._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22));
LA51_: ;
					if (!T47_) goto LA52_;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_105, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
					}
					if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
					}
					if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))&7U)))!=0))) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_106, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind)); goto BeforeRet_;
					}
					colontmpD__3 = eqdup___system_u2757((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_5.ident).s);
					T54_.Field0 = colontmpD__3;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_107, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
					}
					if (((NI)2) < 0 || ((NI)2) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)2),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
					}
					if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_61[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)2)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)2)]).kind))&7U)))!=0))) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_108, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)2)]).kind)); goto BeforeRet_;
					}
					colontmpD__4 = eqdup___system_u2757((*(*n_p0)._kind_6.sons.p->data[((NI)2)])._kind_3.strVal);
					T54_.Field1 = colontmpD__4;
					add__basicZparse95requires_u3513((&(*result_p3).tasks), (&T54_));
				}
LA52_: ;
			}
			goto LA19_;
			LA16_: ;
			{
				{
					NIM_BOOL T58_;
					NIM_BOOL T59_;
					NI T60_;
					T58_ = (NIM_BOOL)0;
					T59_ = (NIM_BOOL)0;
					T60_ = (NI)0;
					T60_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T59_ = (((NI)3) <= T60_);
					if (!(T59_)) goto LA61_;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_109, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
					}
					if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
					}
					T59_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2));
LA61_: ;
					T58_ = T59_;
					if (!(T58_)) goto LA62_;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_110, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
					}
					if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
					}
					if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))&7U)))!=0))) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_111, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind)); goto BeforeRet_;
					}
					T58_ = eqStrings((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_113);
LA62_: ;
					if (!T58_) goto LA63_;
					(*result_p3).hasInstallHooks = NIM_TRUE;
				}
LA63_: ;
			}
			goto LA19_;
			LA17_: ;
			{
				{
					NI T68_;
					tySequence__sM4lkSb7zS6F7OVMvW9cffQ features_1;
					T68_ = (NI)0;
					T68_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(((NI)3) <= T68_)) goto LA69_;
					features_1.len = 0; features_1.p = NIM_NIL;
					features_1 = newSeq__stdZsyncio_u578(((NI)0));
					{
						NI i_5;
						NI colontmp__3;
						NI T73_;
						NI TM__VlN08vFgd0x9bl8EcqkI9baQ_114;
						NI i_6;
						i_5 = (NI)0;
						colontmp__3 = (NI)0;
						T73_ = (NI)0;
						T73_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
						if (nimSubInt(T73_, ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_114)) { raiseOverflow(); goto LA71_;
						};
						colontmp__3 = (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_114);
						i_6 = ((NI)1);
						{
							while (1) {
								tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* c_1;
								NI TM__VlN08vFgd0x9bl8EcqkI9baQ_119;
								if (!(i_6 < colontmp__3)) goto LA75;
								c_1 = NIM_NIL;
								i_5 = i_6;
								if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 								{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_115, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto LA76_;
								}
								if (i_5 < 0 || i_5 >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(i_5,(*n_p0)._kind_6.sons.len-1); goto LA76_;
								}
								eqcopy___OOZOOZOOZcompilerZast_u3273(&c_1, (*n_p0)._kind_6.sons.p->data[i_5]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
								{
									NimStringV2 colontmpD__5;
									if (!((*c_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20))) goto LA79_;
									if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_61[(NU)(((*c_1).kind))>>3] &(1U<<((NU)(((*c_1).kind))&7U)))!=0))) 									{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_116, dollar___OOZOOZOOZcompilerZnodekinds_u168((*c_1).kind)); goto LA76_;
									}
									colontmpD__5 = eqdup___system_u2757((*c_1)._kind_3.strVal);
									add__stdZenumutils_u70((&features_1), colontmpD__5);
								}
								goto LA77_;
LA79_: ;
								{
									handleError__basicZparse95requires_u52(conf_p1, (*n_p0).info, TM__VlN08vFgd0x9bl8EcqkI9baQ_118);
									if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
								}
LA77_: ;
								if (nimAddInt(i_6, ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_119)) { raiseOverflow(); goto LA76_;
								};
								i_6 = (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_119);
								{
									LA76_:;
								}
								{
									oldNimErrFin76_ = *nimErr_; *nimErr_ = NIM_FALSE;
									eqdestroy___OOZOOZOOZcompilerZast_u3270(c_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
									*nimErr_ = oldNimErrFin76_;
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
							} LA75: ;
						}
					}
					{
						NimStringV2* f_1;
						NI i_7;
						NI L_1;
						NI T85_;
						f_1 = (NimStringV2*)0;
						i_7 = ((NI)0);
						T85_ = features_1.len;
						L_1 = T85_;
						{
							while (1) {
								tySequence__sM4lkSb7zS6F7OVMvW9cffQ T88_;
								NI T89_;
								NI TM__VlN08vFgd0x9bl8EcqkI9baQ_121;
								if (!(i_7 < L_1)) goto LA87;
								if (i_7 < 0 || i_7 >= features_1.len){ raiseIndexError2(i_7,features_1.len-1); goto LA71_;
								}
								f_1 = (&features_1.p->data[i_7]);
								T88_.len = 0; T88_.p = NIM_NIL;
								T88_ = newSeq__stdZsyncio_u578(((NI)0));
								X5BX5Deq___basicZparse95requires_u3637((&(*result_p3).features), (*f_1), T88_);
								if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
								if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 								{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_120, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto LA71_;
								}
								T89_ = (NI)0;
								T89_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
								if (nimSubInt(T89_, ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_121)) { raiseOverflow(); goto LA71_;
								};
								if ((NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_121) < 0 || (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_121) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2((NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_121),(*n_p0)._kind_6.sons.len-1); goto LA71_;
								}
								extract__basicZparse95requires_u2967((*n_p0)._kind_6.sons.p->data[(NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_121)], conf_p1, (*f_1), result_p3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
								i_7 += ((NI)1);
								{
									NI T92_;
									T92_ = features_1.len;
									if (!!((T92_ == L_1))) goto LA93_;
									failedAssertImpl__stdZassertions_u95(TM__VlN08vFgd0x9bl8EcqkI9baQ_123);
									if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
								}
LA93_: ;
							} LA87: ;
						}
					}
					{
						LA71_:;
					}
					{
						eqdestroy___system_u5582(features_1);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA69_: ;
			}
			goto LA19_;
			LA18_: ;
			{
			}
LA19_: ;
		}
LA12_: ;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)73):
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)74):
	{
		{
			NIM_BOOL T101_;
			T101_ = (NIM_BOOL)0;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_124, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			T101_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2));
			if (!(T101_)) goto LA102_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_125, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_126, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind)); goto BeforeRet_;
			}
			T101_ = eqIdent__basicZparse95requires_u28((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_128);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA102_: ;
			if (!T101_) goto LA103_;
			{
				NimStringV2 colontmpD__6;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_129, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				if (!((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) && (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22))) goto LA107_;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_130, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_61[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_131, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind)); goto BeforeRet_;
				}
				colontmpD__6 = eqdup___system_u2757((*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_3.strVal);
				eqsink___system_u2760((&(*result_p3).srcDir), colontmpD__6);
			}
			goto LA105_;
LA107_: ;
			{
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_132, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				handleError__basicZparse95requires_u52(conf_p1, (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).info, TM__VlN08vFgd0x9bl8EcqkI9baQ_134);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA105_: ;
		}
		goto LA99_;
LA103_: ;
		{
			NIM_BOOL T111_;
			T111_ = (NIM_BOOL)0;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_135, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			T111_ = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)2));
			if (!(T111_)) goto LA112_;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_136, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
			}
			if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_54[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_137, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind)); goto BeforeRet_;
			}
			T111_ = eqIdent__basicZparse95requires_u28((*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__VlN08vFgd0x9bl8EcqkI9baQ_139);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA112_: ;
			if (!T111_) goto LA113_;
			{
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_140, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				if (!((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20) && (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22))) goto LA117_;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_141, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				if (!(((TM__VlN08vFgd0x9bl8EcqkI9baQ_61[(NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))>>3] &(1U<<((NU)(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_142, dollar___OOZOOZOOZcompilerZnodekinds_u168((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind)); goto BeforeRet_;
				}
				eqcopy___system_u2754((&(*result_p3).version), (*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_3.strVal);
			}
			goto LA115_;
LA117_: ;
			{
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_143, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
				}
				if (((NI)1) < 0 || ((NI)1) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
				}
				handleError__basicZparse95requires_u52(conf_p1, (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).info, TM__VlN08vFgd0x9bl8EcqkI9baQ_145);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA115_: ;
		}
		goto LA99_;
LA113_: ;
LA99_: ;
	}
	break;
	case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)93):
	{
		NIM_BOOL taken_1;
		NIM_BOOL hasElse_1;
		taken_1 = NIM_FALSE;
		hasElse_1 = NIM_FALSE;
		{
			NI i_8;
			NI colontmp__4;
			NI i_9;
			i_8 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = len__OOZOOZOOZcompilerZast_u3206(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_9 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* br_1;
					NI TM__VlN08vFgd0x9bl8EcqkI9baQ_186;
					if (!(i_9 < colontmp__4)) goto LA123;
					br_1 = NIM_NIL;
					i_8 = i_9;
					if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_146, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto LA124_;
					}
					if (i_8 < 0 || i_8 >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(i_8,(*n_p0)._kind_6.sons.len-1); goto LA124_;
					}
					eqcopy___OOZOOZOOZcompilerZast_u3273(&br_1, (*n_p0)._kind_6.sons.p->data[i_8]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
					switch ((*br_1).kind) {
					case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)86):
					{
						{
							NI T128_;
							tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* cond_1;
							tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* body_1;
							tyObject_Option__kstEkJLp40W6WNuYyunr8Q condResult_1;
							T128_ = (NI)0;
							T128_ = len__OOZOOZOOZcompilerZast_u3206(br_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
							if (!(((NI)2) <= T128_)) goto LA129_;
							cond_1 = NIM_NIL;
							body_1 = NIM_NIL;
							if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*br_1).kind))>>3] &(1U<<((NU)(((*br_1).kind))&7U)))!=0)) 							{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_147, dollar___OOZOOZOOZcompilerZnodekinds_u168((*br_1).kind)); goto LA131_;
							}
							if (((NI)0) < 0 || ((NI)0) >= (*br_1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*br_1)._kind_6.sons.len-1); goto LA131_;
							}
							eqcopy___OOZOOZOOZcompilerZast_u3273(&cond_1, (*br_1)._kind_6.sons.p->data[((NI)0)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
							if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*br_1).kind))>>3] &(1U<<((NU)(((*br_1).kind))&7U)))!=0)) 							{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_148, dollar___OOZOOZOOZcompilerZnodekinds_u168((*br_1).kind)); goto LA131_;
							}
							if (((NI)1) < 0 || ((NI)1) >= (*br_1)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*br_1)._kind_6.sons.len-1); goto LA131_;
							}
							eqcopy___OOZOOZOOZcompilerZast_u3273(&body_1, (*br_1)._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
							condResult_1 = evalBooleanCondition__basicZparse95requires_u2707(cond_1, conf_p1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
							{
								NIM_BOOL T134_;
								T134_ = (NIM_BOOL)0;
								T134_ = isSome__basicZparse95requires_u2736(condResult_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
								if (!T134_) goto LA135_;
								{
									NIM_BOOL T139_;
									NIM_BOOL* T140_;
									T139_ = (NIM_BOOL)0;
									T140_ = (NIM_BOOL*)0;
									T140_ = get__basicZparse95requires_u2756((&condResult_1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
									T139_ = (*T140_);
									if (!(T139_)) goto LA141_;
									T139_ = !(taken_1);
LA141_: ;
									if (!T139_) goto LA142_;
									extract__basicZparse95requires_u2967(body_1, conf_p1, currFeature_p2, result_p3);
									if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
									taken_1 = NIM_TRUE;
								}
LA142_: ;
							}
							goto LA132_;
LA135_: ;
							{
								handleError__basicZparse95requires_u52(conf_p1, (*br_1).info, TM__VlN08vFgd0x9bl8EcqkI9baQ_185);
								if (NIM_UNLIKELY(*nimErr_)) goto LA131_;
							}
LA132_: ;
							{
								LA131_:;
							}
							{
								oldNimErrFin131_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___OOZOOZOOZcompilerZast_u3270(body_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
								eqdestroy___OOZOOZOOZcompilerZast_u3270(cond_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
								*nimErr_ = oldNimErrFin131_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
						}
LA129_: ;
					}
					break;
					case ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88):
					{
						hasElse_1 = NIM_TRUE;
					}
					break;
					default:
					{
					}
					break;
					}
					if (nimAddInt(i_9, ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_186)) { raiseOverflow(); goto LA124_;
					};
					i_9 = (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_186);
					{
						LA124_:;
					}
					{
						oldNimErrFin124_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(br_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin124_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA123: ;
			}
		}
		{
			NIM_BOOL T153_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* elseBr_1;
			NI T158_;
			NI TM__VlN08vFgd0x9bl8EcqkI9baQ_188;
			T153_ = (NIM_BOOL)0;
			T153_ = !(taken_1);
			if (!(T153_)) goto LA154_;
			T153_ = hasElse_1;
LA154_: ;
			if (!T153_) goto LA155_;
			elseBr_1 = NIM_NIL;
			if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_187, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto LA157_;
			}
			T158_ = (NI)0;
			T158_ = len__OOZOOZOOZcompilerZast_u3206(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
			if (nimSubInt(T158_, ((NI)1), &TM__VlN08vFgd0x9bl8EcqkI9baQ_188)) { raiseOverflow(); goto LA157_;
			};
			if ((NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_188) < 0 || (NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_188) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2((NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_188),(*n_p0)._kind_6.sons.len-1); goto LA157_;
			}
			eqcopy___OOZOOZOOZcompilerZast_u3273(&elseBr_1, (*n_p0)._kind_6.sons.p->data[(NI)(TM__VlN08vFgd0x9bl8EcqkI9baQ_188)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
			{
				NIM_BOOL T161_;
				NI T163_;
				T161_ = (NIM_BOOL)0;
				T161_ = ((*elseBr_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88));
				if (!(T161_)) goto LA162_;
				T163_ = (NI)0;
				T163_ = len__OOZOOZOOZcompilerZast_u3206(elseBr_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
				T161_ = (((NI)1) <= T163_);
LA162_: ;
				if (!T161_) goto LA164_;
				if (((TM__VlN08vFgd0x9bl8EcqkI9baQ_47[(NU)(((*elseBr_1).kind))>>3] &(1U<<((NU)(((*elseBr_1).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__VlN08vFgd0x9bl8EcqkI9baQ_189, dollar___OOZOOZOOZcompilerZnodekinds_u168((*elseBr_1).kind)); goto LA157_;
				}
				if (((NI)0) < 0 || ((NI)0) >= (*elseBr_1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*elseBr_1)._kind_6.sons.len-1); goto LA157_;
				}
				extract__basicZparse95requires_u2967((*elseBr_1)._kind_6.sons.p->data[((NI)0)], conf_p1, currFeature_p2, result_p3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
			}
LA164_: ;
			{
				LA157_:;
			}
			{
				oldNimErrFin157_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(elseBr_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin157_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA155_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
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, nimDecRefIsLastCyclicStatic)(void* p_p0, TNimTypeV2* desc_p1) {
	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_: ;
		rememberCycle__system_u3555(result, cell_1, desc_p1);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZparse95requires_u4855)(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg* dest_p0) {
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZparse95requires_u4879)(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(dest_p0, ((TNimTypeV2*) ((&NTIv2__diB2NTuAIWY0FO9c5IUJRGg_))));
		if (!T3_) goto LA4_;
		eqdestroy___basicZparse95requires_u4855((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, extractRequiresInfo__basicZparse95requires_u4666)(NimStringV2 nimbleFile_p0, tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw* Result) {
	tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg* colonenv__1;
	tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_1;
	tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg parser_1;
	tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* colontmpD_;
	tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg* T2_;
	tyProc__JiHYsLjIe9cOjP539bvP3aaA T3_;
	NI32 fileIdx_1;
	tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg* blitTmp_1;
	tyProc__pZyCb85IttgsT24JoT50Ow T4_;
NIM_BOOL oldNimErrFin10_;
	NIM_BOOL T13_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw));
	colonenv__1 = NIM_NIL;
	conf_1 = NIM_NIL;
	nimZeroMem((void*)(&parser_1), sizeof(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg));
	parser_1 = TM__VlN08vFgd0x9bl8EcqkI9baQ_46;
	colontmpD_ = NIM_NIL;
	T2_ = NIM_NIL;
	T2_ = (tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg*) nimNewObj(sizeof(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg), NIM_ALIGNOF(tyObject_Env_parse_requiresdotnim_extractRequiresInfo___diB2NTuAIWY0FO9c5IUJRGg));
	(*T2_).Sup.m_type = (&NTIv2__diB2NTuAIWY0FO9c5IUJRGg_);
	colonenv__1 = T2_;
	conf_1 = newConfigRef__OOZOOZOOZcompilerZoptions_u1034();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((*conf_1).foreignPackageNotes, sizeof(tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ));
	nimZeroMem((*conf_1).notes, sizeof(tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ));
	nimZeroMem((*conf_1).mainPackageNotes, sizeof(tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ));
	(*conf_1).errorMax = ((NI)IL64(9223372036854775807));
	nimZeroMem((void*)(&T3_), sizeof(tyProc__JiHYsLjIe9cOjP539bvP3aaA));
	T3_.ClP_0 = ((TM__VlN08vFgd0x9bl8EcqkI9baQ_79) (colonanonymous___basicZparse95requires_u4674)); T3_.ClE_0 = NIM_NIL;
	eqsink___basicZparse95requires_u4700((&(*conf_1).structuredErrorHook), T3_);
	fileIdx_1 = fileInfoIdx__OOZOOZOOZcompilerZmsgs_u401(conf_1, nimbleFile_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	blitTmp_1 = colonenv__1;
	nimMarkCyclic(colonenv__1);
	eqwasMoved___basicZparse95requires_u4876(&colonenv__1);
	nimZeroMem((void*)(&T4_), sizeof(tyProc__pZyCb85IttgsT24JoT50Ow));
	T4_.ClP_0 = colonanonymous___basicZparse95requires_u4681; T4_.ClE_0 = blitTmp_1;
	eqsink___OOZOOZOOZcompilerZparser_u1892((&parser_1.lex.errorHandler), T4_);
	{
		NIM_BOOL T7_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
		colontmpD_ = newIdentCache__OOZOOZOOZcompilerZidents_u216();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T7_ = (NIM_BOOL)0;
		T7_ = setupParser__OOZOOZOOZcompilerZsyntaxes_u227((&parser_1), fileIdx_1, colontmpD_, conf_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T7_) goto LA8_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = parseAll__OOZOOZOOZcompilerZparser_u1768((&parser_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		extract__basicZparse95requires_u2967(colontmpD__2, conf_1, TM__VlN08vFgd0x9bl8EcqkI9baQ_190, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		closeParser__OOZOOZOOZcompilerZparser_u134((&parser_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	T13_ = (NIM_BOOL)0;
	T13_ = (*Result).hasErrors;
	if (T13_) goto LA14_;
	T13_ = (((NI)0) < (*conf_1).errorCounter);
LA14_: ;
	(*Result).hasErrors = T13_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZidents_u339(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZparser_u1789((&parser_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZoptions_u1940(conf_1);
		eqdestroy___basicZparse95requires_u4879(colonenv__1);
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZconfigutils_u18)(tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw* dest_p0) {
	eqdestroy___stdZenvvars_u103((*dest_p0).tasks);
	if ((*dest_p0).version.p && !((*dest_p0).version.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).version.p);
}
	if ((*dest_p0).srcDir.p && !((*dest_p0).srcDir.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).srcDir.p);
}
	eqdestroy___basicZparse95requires_u3279((*dest_p0).features.data);
	eqdestroy___system_u5582((*dest_p0).requires);
}
N_LIB_PRIVATE N_NIMCALL(void, atmbasicatsparse_requiresdotnim_Init000)(void) {
{
	tyObject_Table__gNT2fhwFuDp4sR9cF1721wA T1_;
NIM_BOOL* nimErr_;
nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Table__gNT2fhwFuDp4sR9cF1721wA));
	T1_ = compileDefines__basicZparse95requires_u56();
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___basicZparse95requires_u215(&T1_); goto BeforeRet_;}
	definedSymbols__basicZparse95requires_u2405 = T1_;
	BeforeRet_: ;
	nimTestErrorFlag();
}
}

