/* Generated by Nim Compiler v2.2.4 */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_Content;
typedef struct tyObject_Table__JArSTGkZV9bC6esVaXtV5AQ tyObject_Table__JArSTGkZV9bC6esVaXtV5AQ;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA tySequence__hTEiKNj3evQAjIXUI21elA;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA_Content tySequence__hTEiKNj3evQAjIXUI21elA_Content;
typedef struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw;
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__xOJ2kx2lq9bBfIm3IXnde3Q tySequence__xOJ2kx2lq9bBfIm3IXnde3Q;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ;
typedef struct tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw;
typedef struct tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg;
typedef struct tyObject_Token__pst9a89bCqNyggpo6gRF7jhA tyObject_Token__pst9a89bCqNyggpo6gRF7jhA;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tySequence__shxop0zPIs5Ec3k71aCLuQ tySequence__shxop0zPIs5Ec3k71aCLuQ;
typedef struct tySequence__shxop0zPIs5Ec3k71aCLuQ_Content tySequence__shxop0zPIs5Ec3k71aCLuQ_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw;
typedef NU8 tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw;
struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA {
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw targetCPU;
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw hostCPU;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw targetOS;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw;
struct tySequence__E0kio2ZnplNTuln9bsnljSA {
  NI len; tySequence__E0kio2ZnplNTuln9bsnljSA_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__JArSTGkZV9bC6esVaXtV5AQ {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA {
  NI len; tySequence__hTEiKNj3evQAjIXUI21elA_Content* p;
};
struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw errorOutputs;
	tySequence__E0kio2ZnplNTuln9bsnljSA msgContext;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastError;
	tyObject_Table__JArSTGkZV9bC6esVaXtV5AQ filenameToIndexTbl;
	tySequence__hTEiKNj3evQAjIXUI21elA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ;
typedef NU8 tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw;
typedef NU8 tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
typedef NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU8 tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw;
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q {
  NI len; tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__QQyR5yGA47tr5TwLxcC4Gw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 msg_p2, tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__DA9aR62IikoxFqfC5rIT9cuw;
struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* macrosToExpand;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* arcToExpand;
	tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw m;
	tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng ideCmd;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w modifiedyNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w cmdlineNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w foreignPackageNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w notes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w warningAsErrors;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* configVars;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* dllOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* moduleOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw 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__xOJ2kx2lq9bBfIm3IXnde3Q toCompile;
	tyProc__QQyR5yGA47tr5TwLxcC4Gw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__DA9aR62IikoxFqfC5rIT9cuw structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
typedef NU8 tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
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__bW0Cb4KmUu6wcIZW6Cp0nw {
	RootObj Sup;
	NI bufpos;
	NCSTRING buf;
	NimStringV2 bufStorage;
	NI bufLen;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stream;
	NI lineNumber;
	NI sentinel;
	NI lineStart;
	NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, void* ClE_0);
void* ClE_0;
} tyProc__urLEtt9bmeGdJpEukhLR9a1A;
struct tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw {
	tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw Sup;
	NI32 fileIdx;
	NI indentAhead;
	NI currLineIndent;
	tyProc__urLEtt9bmeGdJpEukhLR9a1A errorHandler;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
typedef NU8 tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA;
typedef NU8 tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ;
typedef NU8 tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg;
struct tyObject_Token__pst9a89bCqNyggpo6gRF7jhA {
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA tokType;
	tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ base;
	tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg spacing;
	NI indent;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
	NI64 iNumber;
	NF fNumber;
	NimStringV2 literal;
	NI line;
	NI col;
};
typedef NU8 tyEnum_TLLStreamKind__zJDOAevuyfVWFMJ82eilbQ;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0, void* buf_p1, NI bufLen_p2, void* ClE_0);
void* ClE_0;
} tyProc__WBr0JFZ9bbIGwzgqNYcBJtQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__HzVCwACFYM9cx9aV62PdjtuA;
struct tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg {
	RootObj Sup;
	tyEnum_TLLStreamKind__zJDOAevuyfVWFMJ82eilbQ kind;
	FILE* f;
	NimStringV2 s;
	NI rd;
	NI wr;
	NI lineOffset;
	tyProc__WBr0JFZ9bbIGwzgqNYcBJtQ repl;
	tyProc__HzVCwACFYM9cx9aV62PdjtuA onPrompt;
};
typedef NU8 tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg;
struct tySequence__shxop0zPIs5Ec3k71aCLuQ {
  NI len; tySequence__shxop0zPIs5Ec3k71aCLuQ_Content* p;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU16 tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw;
typedef NU8 tyEnum_TJumpDest__Ix1taLXc9cU9aD4WSI9bisA5w;
typedef NU8 tySet_tyEnum_MsgFlag__uOe9ahJyFezfCR4dA8VRyQw;
typedef NU8 tySet_tyEnum_FormatFlag__17DsQb3s9cHqWk1PCCl6uFQ;
typedef NU8 tyEnum_TCmdLinePass__luEYfGx27esHXDqgmAF8Vw;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	NimStringV2 Field1;
};
struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content { NI cap; tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ 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__xPdjmgevOVG8T0Aq8BK7jw {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA_Content { NI cap; tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw 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__qhMBL5cBz484papsb5WgFQ;
struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ flags;
	NimStringV2 customArgs;
};
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content { NI cap; tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg data[SEQ_DECL_SIZE]; };
struct tySequence__shxop0zPIs5Ec3k71aCLuQ_Content { NI cap; NIM_BOOL data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, setDefaultLibpath__options_u3661)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getSystemConfigPath__nimconf_u288)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getPrefixDir__options_u3645)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, slash___pathutils_u135)(NimStringV2 base_p0, NimStringV2 f_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, slash___pathutils_u166)(NimStringV2 base_p0, NimStringV2 f_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2636)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2627)(NimStringV2 dest_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readConfigFile__nimconf_u238)(NimStringV2 filename_p0, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, llStreamOpen__llstream_u136)(NimStringV2 filename_p0, tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg mode_p1);
N_LIB_PRIVATE N_NIMCALL(void, openLexer__lexer_u371)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* lex_p0, NimStringV2 filename_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputstream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, confTok__nimconf_u196)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p3);
N_LIB_PRIVATE N_NIMCALL(void, ppGetTok__nimconf_u16)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__lexer_u1896)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
static N_INLINE(NIM_BOOL, eqeq___idents_u366)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* a_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* b_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1726)(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, parseDirective__nimconf_u177)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p3);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw, whichKeyword__idents_u360)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* id_p0);
N_LIB_PRIVATE N_NIMCALL(void, setLen__cgen_u14452)(tySequence__shxop0zPIs5Ec3k71aCLuQ* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, evalppIf__nimconf_u64)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseExpr__nimconf_u23)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseAndExpr__nimconf_u44)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseAtom__nimconf_u27)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2);
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__lexer_u401)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, NimStringV2 arg_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_u958)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 symbol_p1);
N_LIB_PRIVATE N_NIMCALL(void, jumpToDirective__nimconf_u111)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyEnum_TJumpDest__Ix1taLXc9cU9aD4WSI9bisA5w dest_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p3, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p4);
N_LIB_PRIVATE N_NIMCALL(void, doElse__nimconf_u117)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p3);
N_LIB_PRIVATE N_NIMCALL(void, doElif__nimconf_u132)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p3);
N_LIB_PRIVATE N_NIMCALL(void, doEnd__nimconf_u73)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p2);
N_LIB_PRIVATE N_NIMCALL(void, msgWriteln__msgs_u733)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 s_p1, tySet_tyEnum_MsgFlag__uOe9ahJyFezfCR4dA8VRyQw flags_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nstFormat)(NimStringV2 f_p0, tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* t_p1, tySet_tyEnum_FormatFlag__17DsQb3s9cHqWk1PCCl6uFQ flags_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___lexer_u239)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuNormalize)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(void, putEnv__stdZenvvars_u24)(NimStringV2 key_p0, NimStringV2 val_p1);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1718)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getEnv__stdZenvvars_u16)(NimStringV2 key_p0, NimStringV2 default_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(void, parseAssignment__nimconf_u208)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, NimStringV2 filename_p3, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p4);
static N_INLINE(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getLineInfo__lexer_u199)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, newLineInfo__msgs_u419)(NI32 fileInfoIdx_p0, NI line_p1, NI col_p2);
N_LIB_PRIVATE N_NIMCALL(void, checkSymbol__nimconf_u201)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosparentDir)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(void, processSwitch__commands_u1359)(NimStringV2 switch_p0, NimStringV2 arg_p1, tyEnum_TCmdLinePass__luEYfGx27esHXDqgmAF8Vw pass_p2, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p4);
N_LIB_PRIVATE N_NIMCALL(void, closeLexer__lexer_u377)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* lex_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___cgen_u14523)(tySequence__shxop0zPIs5Ec3k71aCLuQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___llstream_u112)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lexer_u526)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lexer_u308)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__nimconf_u312)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2624)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nimconf_u332)(NimStringV2 x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___llstream_u123)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg** dest_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, llStreamOpen__llstream_u133)(FILE* f_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, llStreamOpen__llstream_u32)(NimStringV2 data_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2633)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(void, runNimScript__scriptconfig_u189)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p0, NimStringV2 scriptName_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2, NIM_BOOL freshDefines_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p4, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stream_p5);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getUserConfigPath__nimconf_u285)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetConfigDir)(void);
static N_INLINE(NIM_BOOL, isEmpty__pathutils_u139)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2630)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetCurrentDir)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisRootDir)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u8400)(NimStringV2 s_p0, NI first_p1, NI last_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, noschangeFileExt)(NimStringV2 filename_p0, NimStringV2 ext_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nimconf_u472)(NimStringV2 x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1223)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
N_LIB_PRIVATE N_NIMCALL(void, setLen__options_u1888)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* s_p0, NI newlen_p1);
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__6P25SLSLz0kOcUlvm51BiA_2 = { 6 | NIM_STRLIT_FLAG, "config" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_3 = {6, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_2};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__6P25SLSLz0kOcUlvm51BiA_4 = { 7 | NIM_STRLIT_FLAG, "etc/nim" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_5 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_4};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__6P25SLSLz0kOcUlvm51BiA_6 = { 8 | NIM_STRLIT_FLAG, "/etc/nim" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_7 = {8, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_6};
extern TNimTypeV2 NTIv2__vtOgGjZ65sMaH6Mnf64SNw_;
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__6P25SLSLz0kOcUlvm51BiA_8 = { 1 | NIM_STRLIT_FLAG, "@" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_9 = {1, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_8};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__6P25SLSLz0kOcUlvm51BiA_10 = { 20 | NIM_STRLIT_FLAG, "expected closing \')\'" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_11 = {20, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_10};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__6P25SLSLz0kOcUlvm51BiA_12 = { 12 | NIM_STRLIT_FLAG, "expected \':\'" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_13 = {12, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_12};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_14 = {1, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_8};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__6P25SLSLz0kOcUlvm51BiA_15 = { 12 | NIM_STRLIT_FLAG, "expected @if" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_16 = {12, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_15};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_17 = {12, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_15};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_18 = {12, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_15};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__6P25SLSLz0kOcUlvm51BiA_19 = { 13 | NIM_STRLIT_FLAG, "expected @end" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_20 = {13, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_19};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__6P25SLSLz0kOcUlvm51BiA_21 = { 6 | NIM_STRLIT_FLAG, "putenv" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_22 = {6, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_21};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__6P25SLSLz0kOcUlvm51BiA_23 = { 10 | NIM_STRLIT_FLAG, "prependenv" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_24 = {10, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_23};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__6P25SLSLz0kOcUlvm51BiA_25 = { 9 | NIM_STRLIT_FLAG, "appendenv" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_26 = {9, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_25};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__6P25SLSLz0kOcUlvm51BiA_27 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_28 = {0, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_27};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_29 = {0, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_27};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__6P25SLSLz0kOcUlvm51BiA_30 = { 23 | NIM_STRLIT_FLAG, "invalid directive: \'$1\'" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_31 = {23, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_30};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__6P25SLSLz0kOcUlvm51BiA_32 = { 1 | NIM_STRLIT_FLAG, "-" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_33 = {1, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_32};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__6P25SLSLz0kOcUlvm51BiA_34 = { 2 | NIM_STRLIT_FLAG, "--" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_35 = {2, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_34};
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__6P25SLSLz0kOcUlvm51BiA_36 = { 30 | NIM_STRLIT_FLAG, "expected identifier, but got: " };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_37 = {30, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_36};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_38 = {0, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_27};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__6P25SLSLz0kOcUlvm51BiA_39 = { 20 | NIM_STRLIT_FLAG, "expected closing \']\'" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_40 = {20, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_39};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__6P25SLSLz0kOcUlvm51BiA_41 = { 2 | NIM_STRLIT_FLAG, "%=" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_42 = {2, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_41};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__6P25SLSLz0kOcUlvm51BiA_43 = { 1 | NIM_STRLIT_FLAG, "&" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_44 = {1, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_43};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_45 = {13, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_19};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__6P25SLSLz0kOcUlvm51BiA_46 = { 7 | NIM_STRLIT_FLAG, "nim.cfg" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_47 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_46};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__6P25SLSLz0kOcUlvm51BiA_48 = { 11 | NIM_STRLIT_FLAG, "config.nims" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_49 = {11, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_48};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__6P25SLSLz0kOcUlvm51BiA_50 = { 3 | NIM_STRLIT_FLAG, "nim" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_51 = {3, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_50};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_52 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_46};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_53 = {11, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_48};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_54 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_46};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_55 = {11, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_48};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_56 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_46};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_57 = {11, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_48};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_58 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_46};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_59 = {11, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_48};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_60 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_46};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_61 = {11, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_48};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_62 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_46};
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_63 = {11, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_48};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__6P25SLSLz0kOcUlvm51BiA_64 = { 6 | NIM_STRLIT_FLAG, "nimcfg" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_65 = {6, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_64};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__6P25SLSLz0kOcUlvm51BiA_66 = { 7 | NIM_STRLIT_FLAG, "nim.cfg" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_67 = {7, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_66};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__6P25SLSLz0kOcUlvm51BiA_68 = { 4 | NIM_STRLIT_FLAG, "nims" };
static const NimStringV2 TM__6P25SLSLz0kOcUlvm51BiA_69 = {4, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_68};
static const struct {
  NI cap; NIM_CHAR data[62+1];
} TM__6P25SLSLz0kOcUlvm51BiA_71 = { 62 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/nimconf.nim" };
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u361;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6P25SLSLz0kOcUlvm51BiA_70 = {{62, (NimStrPayload*)&TM__6P25SLSLz0kOcUlvm51BiA_71},
((NI)304),
((NI)16)}
;
extern NIM_BOOL nimInErrorMode__system_u4306;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4306);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getSystemConfigPath__nimconf_u288)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1) {
	NimStringV2 result;
	NimStringV2 p_1;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	p_1.len = 0; p_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	p_1 = getPrefixDir__options_u3645(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = slash___pathutils_u166(p_1, TM__6P25SLSLz0kOcUlvm51BiA_3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = slash___pathutils_u135(colontmpD_, filename_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NimStringV2 colontmpD__2;
		NimStringV2 T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = nosfileExists(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T4_)) goto LA5_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__2 = slash___pathutils_u166(p_1, TM__6P25SLSLz0kOcUlvm51BiA_5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T8_.len = 0; T8_.p = NIM_NIL;
		T8_ = slash___pathutils_u135(colontmpD__2, filename_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2627(T8_); goto LA7_;}
		eqsink___system_u2636((&result), T8_);
		{
			LA7_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	{
		NIM_BOOL T13_;
		NimStringV2 T16_;
		T13_ = (NIM_BOOL)0;
		T13_ = nosfileExists(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T13_)) goto LA14_;
		T16_.len = 0; T16_.p = NIM_NIL;
		T16_ = slash___pathutils_u135(TM__6P25SLSLz0kOcUlvm51BiA_7, filename_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2627(T16_); goto LA1_;}
		eqsink___system_u2636((&result), T16_);
	}
LA14_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2627(colontmpD_);
		eqdestroy___system_u2627(p_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(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) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, ppGetTok__nimconf_u16)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	rawGetTok__lexer_u1896(L_p0, tok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111))) goto LA2;
			rawGetTok__lexer_u1896(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, eqeq___idents_u366)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* a_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* b_p1) {
	NIM_BOOL result;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a_p0 == 0);
		if (T3_) goto LA4_;
		T3_ = (b_p1 == 0);
LA4_: ;
		if (!T3_) goto LA5_;
		result = (a_p0 == b_p1);
	}
	goto LA1_;
LA5_: ;
	{
		result = ((*a_p0).id == (*b_p1).id);
	}
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_u1726)(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_u1726(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseAtom__nimconf_u27)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA3_;
		ppGetTok__nimconf_u16(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = parseExpr__nimconf_u23(L_p0, tok_p1, config_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91))) goto LA7_;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__6P25SLSLz0kOcUlvm51BiA_11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T13_;
		if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)45))) goto LA11_;
		ppGetTok__nimconf_u16(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T13_ = (NIM_BOOL)0;
		T13_ = parseAtom__nimconf_u27(L_p0, tok_p1, config_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = !(T13_);
	}
	goto LA1_;
LA11_: ;
	{
		result = isDefined__options_u958(config_p2, (*(*tok_p1).ident).s);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		ppGetTok__nimconf_u16(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseAndExpr__nimconf_u44)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = parseAtom__nimconf_u27(L_p0, tok_p1, config_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL b_1;
			NIM_BOOL T3_;
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)4))) goto LA2;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			b_1 = parseAtom__nimconf_u27(L_p0, tok_p1, config_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T3_ = (NIM_BOOL)0;
			T3_ = result;
			if (!(T3_)) goto LA4_;
			T3_ = b_1;
LA4_: ;
			result = T3_;
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseExpr__nimconf_u23)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = parseAndExpr__nimconf_u44(L_p0, tok_p1, config_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL b_1;
			NIM_BOOL T3_;
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)49))) goto LA2;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			b_1 = parseAndExpr__nimconf_u44(L_p0, tok_p1, config_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T3_ = (NIM_BOOL)0;
			T3_ = result;
			if (T3_) goto LA4_;
			T3_ = b_1;
LA4_: ;
			result = T3_;
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, evalppIf__nimconf_u64)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	ppGetTok__nimconf_u16(L_p0, tok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = parseExpr__nimconf_u23(L_p0, tok_p1, config_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA3_;
		ppGetTok__nimconf_u16(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__6P25SLSLz0kOcUlvm51BiA_13);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, doElse__nimconf_u117)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		T3_ = ((*condStack_p3).len-1);
		if (!(T3_ < ((NI)0))) goto LA4_;
		lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__6P25SLSLz0kOcUlvm51BiA_16);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	ppGetTok__nimconf_u16(L_p0, tok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA8_;
		ppGetTok__nimconf_u16(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	{
		NI T12_;
		T12_ = ((*condStack_p3).len-1);
		if (!(*condStack_p3).p->data[T12_]) goto LA13_;
		jumpToDirective__nimconf_u111(L_p0, tok_p1, ((tyEnum_TJumpDest__Ix1taLXc9cU9aD4WSI9bisA5w)0), config_p2, condStack_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, doElif__nimconf_u132)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p3) {
	NIM_BOOL res_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		T3_ = ((*condStack_p3).len-1);
		if (!(T3_ < ((NI)0))) goto LA4_;
		lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__6P25SLSLz0kOcUlvm51BiA_17);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	res_1 = evalppIf__nimconf_u64(L_p0, tok_p1, config_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T8_;
		NI T9_;
		T8_ = (NIM_BOOL)0;
		T9_ = ((*condStack_p3).len-1);
		T8_ = (*condStack_p3).p->data[T9_];
		if (T8_) goto LA10_;
		T8_ = !(res_1);
LA10_: ;
		if (!T8_) goto LA11_;
		jumpToDirective__nimconf_u111(L_p0, tok_p1, ((tyEnum_TJumpDest__Ix1taLXc9cU9aD4WSI9bisA5w)1), config_p2, condStack_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA6_;
LA11_: ;
	{
		NI T14_;
		T14_ = ((*condStack_p3).len-1);
		(*condStack_p3).p->data[T14_] = NIM_TRUE;
	}
LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, doEnd__nimconf_u73)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p2) {
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		T3_ = ((*condStack_p2).len-1);
		if (!(T3_ < ((NI)0))) goto LA4_;
		lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__6P25SLSLz0kOcUlvm51BiA_18);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	ppGetTok__nimconf_u16(L_p0, tok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = ((*condStack_p2).len-1);
	setLen__cgen_u14452((&(*condStack_p2)), (T6_));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, jumpToDirective__nimconf_u111)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyEnum_TJumpDest__Ix1taLXc9cU9aD4WSI9bisA5w dest_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p3, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p4) {
	NI nestedIfs_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nestedIfs_1 = ((NI)0);
	{
		while (1) {
			{
				NIM_BOOL T5_;
				NIM_BOOL T6_;
				tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T10_;
				T5_ = (NIM_BOOL)0;
				T6_ = (NIM_BOOL)0;
				T6_ = eqeq___idents_u366((*tok_p1).ident, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T5_ = !(T6_);
				if (!(T5_)) goto LA7_;
				T5_ = eqStrings((*(*tok_p1).ident).s, TM__6P25SLSLz0kOcUlvm51BiA_14);
LA7_: ;
				if (!T5_) goto LA8_;
				ppGetTok__nimconf_u16(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T10_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
				T10_ = whichKeyword__idents_u360((*tok_p1).ident);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				switch (T10_) {
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)29):
				{
					nestedIfs_1 += ((NI)1);
				}
				break;
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)20):
				{
					{
						NIM_BOOL T15_;
						T15_ = (NIM_BOOL)0;
						T15_ = (dest_p2 == ((tyEnum_TJumpDest__Ix1taLXc9cU9aD4WSI9bisA5w)1));
						if (!(T15_)) goto LA16_;
						T15_ = (nestedIfs_1 == ((NI)0));
LA16_: ;
						if (!T15_) goto LA17_;
						doElse__nimconf_u117(L_p0, tok_p1, config_p3, condStack_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA1;
					}
LA17_: ;
				}
				break;
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)19):
				{
					{
						NIM_BOOL T22_;
						T22_ = (NIM_BOOL)0;
						T22_ = (dest_p2 == ((tyEnum_TJumpDest__Ix1taLXc9cU9aD4WSI9bisA5w)1));
						if (!(T22_)) goto LA23_;
						T22_ = (nestedIfs_1 == ((NI)0));
LA23_: ;
						if (!T22_) goto LA24_;
						doElif__nimconf_u132(L_p0, tok_p1, config_p3, condStack_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA1;
					}
LA24_: ;
				}
				break;
				case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)21):
				{
					{
						if (!(nestedIfs_1 == ((NI)0))) goto LA29_;
						doEnd__nimconf_u73(L_p0, tok_p1, condStack_p4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA1;
					}
LA29_: ;
					{
						if (!(((NI)0) < nestedIfs_1)) goto LA33_;
						nestedIfs_1 -= ((NI)1);
					}
LA33_: ;
				}
				break;
				default:
				{
				}
				break;
				}
				ppGetTok__nimconf_u16(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA3_;
LA8_: ;
			{
				if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1))) goto LA37_;
				lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__6P25SLSLz0kOcUlvm51BiA_20);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA3_;
LA37_: ;
			{
				ppGetTok__nimconf_u16(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA3_: ;
		}
	} LA1: ;
	}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_u1718)(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_u1718(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseDirective__nimconf_u177)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p3) {
	tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	ppGetTok__nimconf_u16(L_p0, tok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
	T1_ = whichKeyword__idents_u360((*tok_p1).ident);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (T1_) {
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)29):
	{
		NI T3_;
		NIM_BOOL res_1;
		NI T4_;
		T3_ = (*condStack_p3).len;
		setLen__cgen_u14452((&(*condStack_p3)), ((NI)(T3_ + ((NI)1))));
		res_1 = evalppIf__nimconf_u64(L_p0, tok_p1, config_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T4_ = ((*condStack_p3).len-1);
		(*condStack_p3).p->data[T4_] = res_1;
		{
			if (!!(res_1)) goto LA7_;
			jumpToDirective__nimconf_u111(L_p0, tok_p1, ((tyEnum_TJumpDest__Ix1taLXc9cU9aD4WSI9bisA5w)1), config_p2, condStack_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)19):
	{
		doElif__nimconf_u132(L_p0, tok_p1, config_p2, condStack_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)20):
	{
		doElse__nimconf_u117(L_p0, tok_p1, config_p2, condStack_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)21):
	{
		doEnd__nimconf_u73(L_p0, tok_p1, condStack_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)211):
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tySet_tyEnum_MsgFlag__uOe9ahJyFezfCR4dA8VRyQw T14_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		ppGetTok__nimconf_u16(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD_ = dollar___lexer_u239((&(*tok_p1)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		colontmpD__2 = nstFormat(colontmpD_, (*config_p2).configVars, 5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		T14_ = 0;
		msgWriteln__msgs_u733(config_p2, colontmpD__2, T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		ppGetTok__nimconf_u16(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			LA13_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__2);
			eqdestroy___system_u2627(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		NimStringV2 colontmpD__3;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__3 = nsuNormalize((*(*tok_p1).ident).s);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		if (eqStrings(colontmpD__3, TM__6P25SLSLz0kOcUlvm51BiA_22)) goto LA19_;
		if (eqStrings(colontmpD__3, TM__6P25SLSLz0kOcUlvm51BiA_24)) goto LA20_;
		if (eqStrings(colontmpD__3, TM__6P25SLSLz0kOcUlvm51BiA_26)) goto LA21_;
		goto LA22_;
		LA19_: ;
		{
			NimStringV2 key_1;
			NimStringV2 colontmpD__4;
			key_1.len = 0; key_1.p = NIM_NIL;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			key_1 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			colontmpD__4 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			putEnv__stdZenvvars_u24(key_1, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			{
				LA25_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__4);
				eqdestroy___system_u2627(key_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA23_;
		LA20_: ;
		{
			NimStringV2 key_2;
			NimStringV2 colontmpD__5;
			NimStringV2 colontmpD__6;
			NimStringV2 colontmpD__7;
			NimStringV2 T30_;
			key_2.len = 0; key_2.p = NIM_NIL;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			key_2 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			T30_.len = 0; T30_.p = NIM_NIL;
			colontmpD__5 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			colontmpD__6 = getEnv__stdZenvvars_u16(key_2, TM__6P25SLSLz0kOcUlvm51BiA_28);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			T30_ = rawNewString(colontmpD__5.len + colontmpD__6.len + 0);
appendString((&T30_), colontmpD__5);
appendString((&T30_), colontmpD__6);
			colontmpD__7 = T30_;
			putEnv__stdZenvvars_u24(key_2, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			{
				LA29_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__7);
				eqdestroy___system_u2627(colontmpD__6);
				eqdestroy___system_u2627(colontmpD__5);
				eqdestroy___system_u2627(key_2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA23_;
		LA21_: ;
		{
			NimStringV2 key_3;
			NimStringV2 colontmpD__8;
			NimStringV2 colontmpD__9;
			NimStringV2 colontmpD__10;
			NimStringV2 T35_;
			key_3.len = 0; key_3.p = NIM_NIL;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
			colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			key_3 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			T35_.len = 0; T35_.p = NIM_NIL;
			colontmpD__8 = getEnv__stdZenvvars_u16(key_3, TM__6P25SLSLz0kOcUlvm51BiA_29);
			if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			colontmpD__9 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			T35_ = rawNewString(colontmpD__8.len + colontmpD__9.len + 0);
appendString((&T35_), colontmpD__8);
appendString((&T35_), colontmpD__9);
			colontmpD__10 = T35_;
			putEnv__stdZenvvars_u24(key_3, colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			ppGetTok__nimconf_u16(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			{
				LA34_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__10);
				eqdestroy___system_u2627(colontmpD__9);
				eqdestroy___system_u2627(colontmpD__8);
				eqdestroy___system_u2627(key_3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA23_;
		LA22_: ;
		{
			NimStringV2 colontmpD__11;
			NimStringV2 colontmpD__12;
			colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
			colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
			colontmpD__11 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			colontmpD__12 = nsuFormatSingleElem(TM__6P25SLSLz0kOcUlvm51BiA_31, colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__12);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			{
				LA39_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__12);
				eqdestroy___system_u2627(colontmpD__11);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
LA23_: ;
		{
			LA18_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, confTok__nimconf_u196)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	ppGetTok__nimconf_u16(L_p0, tok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL T3_;
			NIM_BOOL T4_;
			T3_ = (NIM_BOOL)0;
			T4_ = (NIM_BOOL)0;
			T4_ = eqeq___idents_u366((*tok_p1).ident, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T3_ = !(T4_);
			if (!(T3_)) goto LA5_;
			T3_ = eqStrings((*(*tok_p1).ident).s, TM__6P25SLSLz0kOcUlvm51BiA_9);
LA5_: ;
			if (!T3_) goto LA2;
			parseDirective__nimconf_u177(L_p0, tok_p1, config_p2, condStack_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getLineInfo__lexer_u199)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	result = newLineInfo__msgs_u419((*L_p0).fileIdx, (*tok_p1).line, (*tok_p1).col);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkSymbol__nimconf_u201)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T6_;
		if (!!(((*tok_p1).tokType >= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2) && (*tok_p1).tokType <= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)73) || (*tok_p1).tokType >= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)83) && (*tok_p1).tokType <= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)85)))) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T6_.len = 0; T6_.p = NIM_NIL;
		colontmpD_ = dollar___lexer_u239(tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		T6_ = rawNewString(colontmpD_.len + 30);
appendString((&T6_), TM__6P25SLSLz0kOcUlvm51BiA_37);
appendString((&T6_), colontmpD_);
		colontmpD__2 = T6_;
		lexMessage__lexer_u401(L_p0, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__2);
			eqdestroy___system_u2627(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, parseAssignment__nimconf_u208)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, NimStringV2 filename_p3, tySequence__shxop0zPIs5Ec3k71aCLuQ* condStack_p4) {
	NimStringV2 s_1;
	NimStringV2 val_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
	NIM_BOOL percent_1;
	NIM_BOOL T30_;
	NIM_BOOL T31_;
	NimStringV2 T61_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	s_1.len = 0; s_1.p = NIM_NIL;
	val_1.len = 0; val_1.p = NIM_NIL;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = eqeq___idents_u366((*tok_p1).ident, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T4_)) goto LA5_;
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = eqStrings((*(*tok_p1).ident).s, TM__6P25SLSLz0kOcUlvm51BiA_33);
			if (T9_) goto LA10_;
			T9_ = eqStrings((*(*tok_p1).ident).s, TM__6P25SLSLz0kOcUlvm51BiA_35);
LA10_: ;
			if (!T9_) goto LA11_;
			confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA11_: ;
	}
LA5_: ;
	info_1 = getLineInfo__lexer_u199((&(*L_p0)), (&(*tok_p1)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	checkSymbol__nimconf_u201((&(*L_p0)), (&(*tok_p1)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_1 = dollar___lexer_u239((&(*tok_p1)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	val_1 = TM__6P25SLSLz0kOcUlvm51BiA_38;
	{
		while (1) {
			NimStringV2 colontmpD_;
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)107))) goto LA14;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			nimAddCharV1((&s_1), 46);
			confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			checkSymbol__nimconf_u201((&(*L_p0)), (&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			colontmpD_ = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			prepareAdd((&s_1), colontmpD_.len + 0);
appendString((&s_1), colontmpD_);
			confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			{
				LA15_:;
			}
			{
				eqdestroy___system_u2627(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA14: ;
	}
	{
		NimStringV2 colontmpD__2;
		if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92))) goto LA20_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		checkSymbol__nimconf_u201((&(*L_p0)), (&(*tok_p1)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		nimAddCharV1((&val_1), 91);
		colontmpD__2 = dollar___lexer_u239((&(*tok_p1)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		prepareAdd((&val_1), colontmpD__2.len + 0);
appendString((&val_1), colontmpD__2);
		confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		{
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93))) goto LA25_;
			confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		}
		goto LA23_;
LA25_: ;
		{
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__6P25SLSLz0kOcUlvm51BiA_40);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		}
LA23_: ;
		nimAddCharV1((&val_1), 93);
		{
			LA22_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA20_: ;
	T30_ = (NIM_BOOL)0;
	T31_ = (NIM_BOOL)0;
	T31_ = eqeq___idents_u366((*tok_p1).ident, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T30_ = !(T31_);
	if (!(T30_)) goto LA32_;
	T30_ = eqStrings((*(*tok_p1).ident).s, TM__6P25SLSLz0kOcUlvm51BiA_42);
LA32_: ;
	percent_1 = T30_;
	{
		NIM_BOOL T35_;
		NimStringV2 colontmpD__3;
		T35_ = (NIM_BOOL)0;
		T35_ = ((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104) || (*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106));
		if (T35_) goto LA36_;
		T35_ = percent_1;
LA36_: ;
		if (!T35_) goto LA37_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		{
			if (!(((NI)0) < val_1.len)) goto LA42_;
			nimAddCharV1((&val_1), 58);
		}
LA42_: ;
		confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		checkSymbol__nimconf_u201((&(*L_p0)), (&(*tok_p1)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		colontmpD__3 = dollar___lexer_u239((&(*tok_p1)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		prepareAdd((&val_1), colontmpD__3.len + 0);
appendString((&val_1), colontmpD__3);
		confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		{
			NimStringV2 colontmpD__4;
			NimStringV2 colontmpD__5;
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104) || (*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106))) goto LA46_;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__4 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			prepareAdd((&val_1), colontmpD__4.len + 0);
appendString((&val_1), colontmpD__4);
			confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			checkSymbol__nimconf_u201((&(*L_p0)), (&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			colontmpD__5 = dollar___lexer_u239((&(*tok_p1)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			prepareAdd((&val_1), colontmpD__5.len + 0);
appendString((&val_1), colontmpD__5);
			confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			{
				LA48_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__5);
				eqdestroy___system_u2627(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		}
LA46_: ;
		{
			while (1) {
				NIM_BOOL T53_;
				NIM_BOOL T54_;
				NimStringV2 colontmpD__6;
				T53_ = (NIM_BOOL)0;
				T54_ = (NIM_BOOL)0;
				T54_ = eqeq___idents_u366((*tok_p1).ident, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
				T53_ = !(T54_);
				if (!(T53_)) goto LA55_;
				T53_ = eqStrings((*(*tok_p1).ident).s, TM__6P25SLSLz0kOcUlvm51BiA_44);
LA55_: ;
				if (!T53_) goto LA52;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				checkSymbol__nimconf_u201((&(*L_p0)), (&(*tok_p1)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				colontmpD__6 = dollar___lexer_u239((&(*tok_p1)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				prepareAdd((&val_1), colontmpD__6.len + 0);
appendString((&val_1), colontmpD__6);
				confTok__nimconf_u196(L_p0, tok_p1, config_p2, condStack_p4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				{
					LA56_:;
				}
				{
					eqdestroy___system_u2627(colontmpD__6);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			} LA52: ;
		}
		{
			LA39_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA37_: ;
	T61_.len = 0; T61_.p = NIM_NIL;
	T61_ = nosparentDir(filename_p3);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2627(T61_); goto LA1_;}
	eqsink___system_u2636((&(*config_p2).currentConfigDir), T61_);
	{
		NimStringV2 colontmpD__7;
		if (!percent_1) goto LA64_;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		colontmpD__7 = nstFormat(val_1, (*config_p2).configVars, 3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		processSwitch__commands_u1359(s_1, colontmpD__7, ((tyEnum_TCmdLinePass__luEYfGx27esHXDqgmAF8Vw)2), info_1, config_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		{
			LA66_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__7);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA62_;
LA64_: ;
	{
		processSwitch__commands_u1359(s_1, val_1, ((tyEnum_TCmdLinePass__luEYfGx27esHXDqgmAF8Vw)2), info_1, config_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA62_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2627(val_1);
		eqdestroy___system_u2627(s_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readConfigFile__nimconf_u238)(NimStringV2 filename_p0, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2) {
	NIM_BOOL result;
	tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw L_1;
	tyObject_Token__pst9a89bCqNyggpo6gRF7jhA tok_1;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stream_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&L_1), sizeof(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw));
	L_1.Sup.Sup.m_type = (&NTIv2__vtOgGjZ65sMaH6Mnf64SNw_);
	nimZeroMem((void*)(&tok_1), sizeof(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA));
	stream_1 = NIM_NIL;
	nimZeroMem((void*)(&L_1), sizeof(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw));
	L_1.Sup.Sup.m_type = (&NTIv2__vtOgGjZ65sMaH6Mnf64SNw_);
	stream_1 = llStreamOpen__llstream_u136(filename_p0, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tySequence__shxop0zPIs5Ec3k71aCLuQ condStack_1;
		if (!!((stream_1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA4_;
		condStack_1.len = 0; condStack_1.p = NIM_NIL;
		openLexer__lexer_u371((&L_1), filename_p0, stream_1, cache_p1, config_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		nimZeroMem((void*)(&tok_1), sizeof(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA));
		tok_1.tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1);
		condStack_1.len = 0; condStack_1.p = (tySequence__shxop0zPIs5Ec3k71aCLuQ_Content*) newSeqPayload(0, sizeof(NIM_BOOL), NIM_ALIGNOF(NIM_BOOL));
		confTok__nimconf_u196((&L_1), (&tok_1), config_p2, (&condStack_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			while (1) {
				if (!!((tok_1.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1)))) goto LA8;
				parseAssignment__nimconf_u208((&L_1), (&tok_1), config_p2, filename_p0, (&condStack_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			} LA8: ;
		}
		{
			NI T11_;
			T11_ = condStack_1.len;
			if (!(((NI)0) < T11_)) goto LA12_;
			lexMessage__lexer_u401((&L_1), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__6P25SLSLz0kOcUlvm51BiA_45);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA12_: ;
		closeLexer__lexer_u377((&L_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = NIM_TRUE;
		eqdestroy___cgen_u14523(condStack_1);
		eqdestroy___llstream_u112(stream_1);
		eqdestroy___lexer_u526((&tok_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lexer_u308((&L_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA6_:;
		}
		{
			eqdestroy___cgen_u14523(condStack_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = NIM_FALSE;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___llstream_u112(stream_1);
		eqdestroy___lexer_u526((&tok_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___lexer_u308((&L_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getUserConfigPath__nimconf_u285)(NimStringV2 filename_p0) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD_ = nosgetConfigDir();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = slash___pathutils_u166(colontmpD_, TM__6P25SLSLz0kOcUlvm51BiA_51);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = slash___pathutils_u135(colontmpD__2, filename_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2627(colontmpD__2);
		eqdestroy___system_u2627(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isEmpty__pathutils_u139)(NimStringV2 x_p0) {
	NIM_BOOL result;
	result = (x_p0.len == ((NI)0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, loadConfigs__nimconf_u293)(NimStringV2 cfg_p0, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p3) {
	NimStringV2 pd_1;
	NimStringV2 scriptFile_1;
	NimStringV2 T94_;
	NIM_BOOL scriptIsProj_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pd_1.len = 0; pd_1.p = NIM_NIL;
	scriptFile_1.len = 0; scriptFile_1.p = NIM_NIL;
	setDefaultLibpath__options_u3661(conf_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 configPathX60gensym15__1;
		if (!!((((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)18)))&63U)))!=0))) goto LA4_;
		configPathX60gensym15__1.len = 0; configPathX60gensym15__1.p = NIM_NIL;
		configPathX60gensym15__1 = getSystemConfigPath__nimconf_u288(conf_p2, cfg_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NIM_BOOL T9_;
			NimStringV2 blitTmp_1;
			T9_ = (NIM_BOOL)0;
			T9_ = readConfigFile__nimconf_u238(configPathX60gensym15__1, cache_p1, conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			if (!T9_) goto LA10_;
			blitTmp_1 = configPathX60gensym15__1;
			eqwasMoved___system_u2624((&configPathX60gensym15__1));
			add__nimconf_u312((&(*conf_p2).configFiles), blitTmp_1);
		}
LA10_: ;
		{
			NIM_BOOL T14_;
			NimStringV2 pX60gensym16__1;
			tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym16__1;
			T14_ = (NIM_BOOL)0;
			T14_ = eqeq___nimconf_u332(cfg_p0, TM__6P25SLSLz0kOcUlvm51BiA_47);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			if (!T14_) goto LA15_;
			pX60gensym16__1.len = 0; pX60gensym16__1.p = NIM_NIL;
			sX60gensym16__1 = NIM_NIL;
			pX60gensym16__1 = getSystemConfigPath__nimconf_u288(conf_p2, TM__6P25SLSLz0kOcUlvm51BiA_49);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			sX60gensym16__1 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
			{
				NIM_BOOL T20_;
				T20_ = (NIM_BOOL)0;
				T20_ = NIM_FALSE;
				if (!(T20_)) goto LA21_;
				T20_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA21_: ;
				if (!T20_) goto LA22_;
				{
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T28_;
					if (!(*conf_p2).projectIsStdin) goto LA26_;
					T28_ = NIM_NIL;
					T28_ = llStreamOpen__llstream_u133(__stdinp);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T28_); goto LA17_;}
					eqsink___llstream_u123(&sX60gensym16__1, T28_);
				}
				goto LA24_;
LA26_: ;
				{
					NimStringV2 colontmpD_;
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T32_;
					if (!(*conf_p2).projectIsCmd) goto LA30_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					colontmpD_ = eqdup___system_u2633((*conf_p2).cmdInput);
					T32_ = NIM_NIL;
					T32_ = llStreamOpen__llstream_u32(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T32_); goto LA17_;}
					eqsink___llstream_u123(&sX60gensym16__1, T32_);
				}
				goto LA24_;
LA30_: ;
LA24_: ;
			}
LA22_: ;
			{
				NIM_BOOL T35_;
				tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T39_;
				T35_ = (NIM_BOOL)0;
				T35_ = (sX60gensym16__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
				if (!(T35_)) goto LA36_;
				T35_ = nosfileExists(pX60gensym16__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
LA36_: ;
				if (!T35_) goto LA37_;
				T39_ = NIM_NIL;
				T39_ = llStreamOpen__llstream_u136(pX60gensym16__1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T39_); goto LA17_;}
				eqsink___llstream_u123(&sX60gensym16__1, T39_);
			}
LA37_: ;
			{
				NimStringV2 colontmpD__2;
				if (!!((sX60gensym16__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA42_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__2 = eqdup___system_u2633(pX60gensym16__1);
				add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__2);
				runNimScript__scriptconfig_u189(cache_p1, pX60gensym16__1, idgen_p3, NIM_FALSE, conf_p2, sX60gensym16__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			}
LA42_: ;
			{
				LA17_:;
			}
			{
				eqdestroy___llstream_u112(sX60gensym16__1);
				eqdestroy___system_u2627(pX60gensym16__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA15_: ;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2627(configPathX60gensym15__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		NimStringV2 configPathX60gensym20__1;
		if (!!((((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)20)))&63U)))!=0))) goto LA50_;
		configPathX60gensym20__1.len = 0; configPathX60gensym20__1.p = NIM_NIL;
		configPathX60gensym20__1 = getUserConfigPath__nimconf_u285(cfg_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
		{
			NIM_BOOL T55_;
			NimStringV2 blitTmp_2;
			T55_ = (NIM_BOOL)0;
			T55_ = readConfigFile__nimconf_u238(configPathX60gensym20__1, cache_p1, conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			if (!T55_) goto LA56_;
			blitTmp_2 = configPathX60gensym20__1;
			eqwasMoved___system_u2624((&configPathX60gensym20__1));
			add__nimconf_u312((&(*conf_p2).configFiles), blitTmp_2);
		}
LA56_: ;
		{
			NIM_BOOL T60_;
			NimStringV2 pX60gensym21__1;
			tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym21__1;
			T60_ = (NIM_BOOL)0;
			T60_ = eqeq___nimconf_u332(cfg_p0, TM__6P25SLSLz0kOcUlvm51BiA_52);
			if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			if (!T60_) goto LA61_;
			pX60gensym21__1.len = 0; pX60gensym21__1.p = NIM_NIL;
			sX60gensym21__1 = NIM_NIL;
			pX60gensym21__1 = getUserConfigPath__nimconf_u285(TM__6P25SLSLz0kOcUlvm51BiA_53);
			if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
			sX60gensym21__1 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
			{
				NIM_BOOL T66_;
				T66_ = (NIM_BOOL)0;
				T66_ = NIM_FALSE;
				if (!(T66_)) goto LA67_;
				T66_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA67_: ;
				if (!T66_) goto LA68_;
				{
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T74_;
					if (!(*conf_p2).projectIsStdin) goto LA72_;
					T74_ = NIM_NIL;
					T74_ = llStreamOpen__llstream_u133(__stdinp);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T74_); goto LA63_;}
					eqsink___llstream_u123(&sX60gensym21__1, T74_);
				}
				goto LA70_;
LA72_: ;
				{
					NimStringV2 colontmpD__3;
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T78_;
					if (!(*conf_p2).projectIsCmd) goto LA76_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__3 = eqdup___system_u2633((*conf_p2).cmdInput);
					T78_ = NIM_NIL;
					T78_ = llStreamOpen__llstream_u32(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T78_); goto LA63_;}
					eqsink___llstream_u123(&sX60gensym21__1, T78_);
				}
				goto LA70_;
LA76_: ;
LA70_: ;
			}
LA68_: ;
			{
				NIM_BOOL T81_;
				tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T85_;
				T81_ = (NIM_BOOL)0;
				T81_ = (sX60gensym21__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
				if (!(T81_)) goto LA82_;
				T81_ = nosfileExists(pX60gensym21__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
LA82_: ;
				if (!T81_) goto LA83_;
				T85_ = NIM_NIL;
				T85_ = llStreamOpen__llstream_u136(pX60gensym21__1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T85_); goto LA63_;}
				eqsink___llstream_u123(&sX60gensym21__1, T85_);
			}
LA83_: ;
			{
				NimStringV2 colontmpD__4;
				if (!!((sX60gensym21__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA88_;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				colontmpD__4 = eqdup___system_u2633(pX60gensym21__1);
				add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__4);
				runNimScript__scriptconfig_u189(cache_p1, pX60gensym21__1, idgen_p3, NIM_FALSE, conf_p2, sX60gensym21__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
			}
LA88_: ;
			{
				LA63_:;
			}
			{
				eqdestroy___llstream_u112(sX60gensym21__1);
				eqdestroy___system_u2627(pX60gensym21__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
		}
LA61_: ;
		{
			LA52_:;
		}
		{
			eqdestroy___system_u2627(configPathX60gensym20__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA50_: ;
	T94_.len = 0; T94_.p = NIM_NIL;
	{
		NIM_BOOL T97_;
		T97_ = (NIM_BOOL)0;
		T97_ = isEmpty__pathutils_u139((*conf_p2).projectPath);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T97_)) goto LA98_;
		eqcopy___system_u2630((&pd_1), (*conf_p2).projectPath);
	}
	goto LA95_;
LA98_: ;
	{
		pd_1 = nosgetCurrentDir();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA95_: ;
	{
		if (!!((((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)21)))&63U)))!=0))) goto LA103_;
		{
			NimStringV2 dir_1;
			NimStringV2 colontmp_;
			NimStringV2 colontmpD__5;
			dir_1.len = 0; dir_1.p = NIM_NIL;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__5 = eqdup___system_u2633(pd_1);
			colontmp_ = colontmpD__5;
			{
				NimStringV2 current_1;
				if (!NIM_FALSE) goto LA109_;
				current_1.len = 0; current_1.p = NIM_NIL;
				eqcopy___system_u2630((&current_1), colontmp_);
				{
					NimStringV2 configPathX60gensym25__1;
					if (!NIM_FALSE) goto LA114_;
					configPathX60gensym25__1.len = 0; configPathX60gensym25__1.p = NIM_NIL;
					eqsink___system_u2636((&dir_1), colontmp_);
					eqwasMoved___system_u2624((&colontmp_));
					configPathX60gensym25__1 = slash___pathutils_u135(dir_1, cfg_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
					{
						NIM_BOOL T119_;
						NimStringV2 blitTmp_3;
						T119_ = (NIM_BOOL)0;
						T119_ = readConfigFile__nimconf_u238(configPathX60gensym25__1, cache_p1, conf_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
						if (!T119_) goto LA120_;
						blitTmp_3 = configPathX60gensym25__1;
						eqwasMoved___system_u2624((&configPathX60gensym25__1));
						add__nimconf_u312((&(*conf_p2).configFiles), blitTmp_3);
					}
LA120_: ;
					{
						NIM_BOOL T124_;
						NimStringV2 pX60gensym26__1;
						tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym26__1;
						T124_ = (NIM_BOOL)0;
						T124_ = eqeq___nimconf_u332(cfg_p0, TM__6P25SLSLz0kOcUlvm51BiA_54);
						if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
						if (!T124_) goto LA125_;
						pX60gensym26__1.len = 0; pX60gensym26__1.p = NIM_NIL;
						sX60gensym26__1 = NIM_NIL;
						pX60gensym26__1 = slash___pathutils_u135(dir_1, TM__6P25SLSLz0kOcUlvm51BiA_55);
						if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
						sX60gensym26__1 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
						{
							NIM_BOOL T130_;
							T130_ = (NIM_BOOL)0;
							T130_ = NIM_FALSE;
							if (!(T130_)) goto LA131_;
							T130_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA131_: ;
							if (!T130_) goto LA132_;
							{
								tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T138_;
								if (!(*conf_p2).projectIsStdin) goto LA136_;
								T138_ = NIM_NIL;
								T138_ = llStreamOpen__llstream_u133(__stdinp);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T138_); goto LA127_;}
								eqsink___llstream_u123(&sX60gensym26__1, T138_);
							}
							goto LA134_;
LA136_: ;
							{
								NimStringV2 colontmpD__6;
								tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T142_;
								if (!(*conf_p2).projectIsCmd) goto LA140_;
								colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
								colontmpD__6 = eqdup___system_u2633((*conf_p2).cmdInput);
								T142_ = NIM_NIL;
								T142_ = llStreamOpen__llstream_u32(colontmpD__6);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T142_); goto LA127_;}
								eqsink___llstream_u123(&sX60gensym26__1, T142_);
							}
							goto LA134_;
LA140_: ;
LA134_: ;
						}
LA132_: ;
						{
							NIM_BOOL T145_;
							tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T149_;
							T145_ = (NIM_BOOL)0;
							T145_ = (sX60gensym26__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
							if (!(T145_)) goto LA146_;
							T145_ = nosfileExists(pX60gensym26__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
LA146_: ;
							if (!T145_) goto LA147_;
							T149_ = NIM_NIL;
							T149_ = llStreamOpen__llstream_u136(pX60gensym26__1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T149_); goto LA127_;}
							eqsink___llstream_u123(&sX60gensym26__1, T149_);
						}
LA147_: ;
						{
							NimStringV2 colontmpD__7;
							if (!!((sX60gensym26__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA152_;
							colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
							colontmpD__7 = eqdup___system_u2633(pX60gensym26__1);
							add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__7);
							runNimScript__scriptconfig_u189(cache_p1, pX60gensym26__1, idgen_p3, NIM_FALSE, conf_p2, sX60gensym26__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
						}
LA152_: ;
						{
							LA127_:;
						}
						{
							eqdestroy___llstream_u112(sX60gensym26__1);
							eqdestroy___system_u2627(pX60gensym26__1);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA116_;
					}
LA125_: ;
					{
						LA116_:;
					}
					{
						eqdestroy___system_u2627(configPathX60gensym25__1);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
				}
LA114_: ;
				{
					while (1) {
						NimStringV2 configPathX60gensym25__2;
						NimStringV2 T166_;
						configPathX60gensym25__2.len = 0; configPathX60gensym25__2.p = NIM_NIL;
						{
							NIM_BOOL T163_;
							T163_ = (NIM_BOOL)0;
							T163_ = nosisRootDir(current_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
							if (!T163_) goto LA164_;
							eqdestroy___system_u2627(configPathX60gensym25__2);
							goto LA158;
						}
LA164_: ;
						T166_.len = 0; T166_.p = NIM_NIL;
						T166_ = nosparentDir(current_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2627(T166_); goto LA160_;}
						eqsink___system_u2636((&current_1), T166_);
						eqcopy___system_u2630((&dir_1), current_1);
						configPathX60gensym25__2 = slash___pathutils_u135(dir_1, cfg_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
						{
							NIM_BOOL T169_;
							NimStringV2 blitTmp_4;
							T169_ = (NIM_BOOL)0;
							T169_ = readConfigFile__nimconf_u238(configPathX60gensym25__2, cache_p1, conf_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
							if (!T169_) goto LA170_;
							blitTmp_4 = configPathX60gensym25__2;
							eqwasMoved___system_u2624((&configPathX60gensym25__2));
							add__nimconf_u312((&(*conf_p2).configFiles), blitTmp_4);
						}
LA170_: ;
						{
							NIM_BOOL T174_;
							NimStringV2 pX60gensym26__2;
							tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym26__2;
							T174_ = (NIM_BOOL)0;
							T174_ = eqeq___nimconf_u332(cfg_p0, TM__6P25SLSLz0kOcUlvm51BiA_56);
							if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
							if (!T174_) goto LA175_;
							pX60gensym26__2.len = 0; pX60gensym26__2.p = NIM_NIL;
							sX60gensym26__2 = NIM_NIL;
							pX60gensym26__2 = slash___pathutils_u135(dir_1, TM__6P25SLSLz0kOcUlvm51BiA_57);
							if (NIM_UNLIKELY(*nimErr_)) goto LA177_;
							sX60gensym26__2 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
							{
								NIM_BOOL T180_;
								T180_ = (NIM_BOOL)0;
								T180_ = NIM_FALSE;
								if (!(T180_)) goto LA181_;
								T180_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA181_: ;
								if (!T180_) goto LA182_;
								{
									tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T188_;
									if (!(*conf_p2).projectIsStdin) goto LA186_;
									T188_ = NIM_NIL;
									T188_ = llStreamOpen__llstream_u133(__stdinp);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T188_); goto LA177_;}
									eqsink___llstream_u123(&sX60gensym26__2, T188_);
								}
								goto LA184_;
LA186_: ;
								{
									NimStringV2 colontmpD__8;
									tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T192_;
									if (!(*conf_p2).projectIsCmd) goto LA190_;
									colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
									colontmpD__8 = eqdup___system_u2633((*conf_p2).cmdInput);
									T192_ = NIM_NIL;
									T192_ = llStreamOpen__llstream_u32(colontmpD__8);
									if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T192_); goto LA177_;}
									eqsink___llstream_u123(&sX60gensym26__2, T192_);
								}
								goto LA184_;
LA190_: ;
LA184_: ;
							}
LA182_: ;
							{
								NIM_BOOL T195_;
								tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T199_;
								T195_ = (NIM_BOOL)0;
								T195_ = (sX60gensym26__2 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
								if (!(T195_)) goto LA196_;
								T195_ = nosfileExists(pX60gensym26__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA177_;
LA196_: ;
								if (!T195_) goto LA197_;
								T199_ = NIM_NIL;
								T199_ = llStreamOpen__llstream_u136(pX60gensym26__2, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T199_); goto LA177_;}
								eqsink___llstream_u123(&sX60gensym26__2, T199_);
							}
LA197_: ;
							{
								NimStringV2 colontmpD__9;
								if (!!((sX60gensym26__2 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA202_;
								colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
								colontmpD__9 = eqdup___system_u2633(pX60gensym26__2);
								add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__9);
								runNimScript__scriptconfig_u189(cache_p1, pX60gensym26__2, idgen_p3, NIM_FALSE, conf_p2, sX60gensym26__2);
								if (NIM_UNLIKELY(*nimErr_)) goto LA177_;
							}
LA202_: ;
							{
								LA177_:;
							}
							{
								eqdestroy___llstream_u112(sX60gensym26__2);
								eqdestroy___system_u2627(pX60gensym26__2);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
						}
LA175_: ;
						{
							LA160_:;
						}
						{
							eqdestroy___system_u2627(configPathX60gensym25__2);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
					}
				} LA158: ;
				{
					LA111_:;
				}
				{
					eqdestroy___system_u2627(current_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
			}
			goto LA107_;
LA109_: ;
			{
				{
					NI i_1;
					NI colontmp__2;
					NI res_1;
					i_1 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = (NI)(colontmp_.len - ((NI)2));
					res_1 = ((NI)0);
					{
						while (1) {
							if (!(res_1 <= colontmp__2)) goto LA213;
							i_1 = ((NI) (res_1));
							{
								NIM_BOOL T216_;
								NIM_BOOL T218_;
								NimStringV2 configPathX60gensym25__3;
								NimStringV2 T223_;
								T216_ = (NIM_BOOL)0;
								T216_ = (((NU8)(colontmp_.p->data[i_1])) == ((NU8)(47)) || ((NU8)(colontmp_.p->data[i_1])) == ((NU8)(47)));
								if (!(T216_)) goto LA217_;
								T218_ = (NIM_BOOL)0;
								T218_ = (i_1 == ((NI)0));
								if (T218_) goto LA219_;
								T218_ = !((((NU8)(colontmp_.p->data[(NI)(i_1 - ((NI)1))])) == ((NU8)(47)) || ((NU8)(colontmp_.p->data[(NI)(i_1 - ((NI)1))])) == ((NU8)(47))));
LA219_: ;
								T216_ = T218_;
LA217_: ;
								if (!T216_) goto LA220_;
								configPathX60gensym25__3.len = 0; configPathX60gensym25__3.p = NIM_NIL;
								T223_.len = 0; T223_.p = NIM_NIL;
								T223_ = substr__system_u8400(colontmp_, ((NI)0), i_1);
								eqsink___system_u2636((&dir_1), T223_);
								configPathX60gensym25__3 = slash___pathutils_u135(dir_1, cfg_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA222_;
								{
									NIM_BOOL T226_;
									NimStringV2 blitTmp_5;
									T226_ = (NIM_BOOL)0;
									T226_ = readConfigFile__nimconf_u238(configPathX60gensym25__3, cache_p1, conf_p2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA222_;
									if (!T226_) goto LA227_;
									blitTmp_5 = configPathX60gensym25__3;
									eqwasMoved___system_u2624((&configPathX60gensym25__3));
									add__nimconf_u312((&(*conf_p2).configFiles), blitTmp_5);
								}
LA227_: ;
								{
									NIM_BOOL T231_;
									NimStringV2 pX60gensym26__3;
									tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym26__3;
									T231_ = (NIM_BOOL)0;
									T231_ = eqeq___nimconf_u332(cfg_p0, TM__6P25SLSLz0kOcUlvm51BiA_58);
									if (NIM_UNLIKELY(*nimErr_)) goto LA222_;
									if (!T231_) goto LA232_;
									pX60gensym26__3.len = 0; pX60gensym26__3.p = NIM_NIL;
									sX60gensym26__3 = NIM_NIL;
									pX60gensym26__3 = slash___pathutils_u135(dir_1, TM__6P25SLSLz0kOcUlvm51BiA_59);
									if (NIM_UNLIKELY(*nimErr_)) goto LA234_;
									sX60gensym26__3 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
									{
										NIM_BOOL T237_;
										T237_ = (NIM_BOOL)0;
										T237_ = NIM_FALSE;
										if (!(T237_)) goto LA238_;
										T237_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA238_: ;
										if (!T237_) goto LA239_;
										{
											tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T245_;
											if (!(*conf_p2).projectIsStdin) goto LA243_;
											T245_ = NIM_NIL;
											T245_ = llStreamOpen__llstream_u133(__stdinp);
											if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T245_); goto LA234_;}
											eqsink___llstream_u123(&sX60gensym26__3, T245_);
										}
										goto LA241_;
LA243_: ;
										{
											NimStringV2 colontmpD__10;
											tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T249_;
											if (!(*conf_p2).projectIsCmd) goto LA247_;
											colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
											colontmpD__10 = eqdup___system_u2633((*conf_p2).cmdInput);
											T249_ = NIM_NIL;
											T249_ = llStreamOpen__llstream_u32(colontmpD__10);
											if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T249_); goto LA234_;}
											eqsink___llstream_u123(&sX60gensym26__3, T249_);
										}
										goto LA241_;
LA247_: ;
LA241_: ;
									}
LA239_: ;
									{
										NIM_BOOL T252_;
										tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T256_;
										T252_ = (NIM_BOOL)0;
										T252_ = (sX60gensym26__3 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
										if (!(T252_)) goto LA253_;
										T252_ = nosfileExists(pX60gensym26__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA234_;
LA253_: ;
										if (!T252_) goto LA254_;
										T256_ = NIM_NIL;
										T256_ = llStreamOpen__llstream_u136(pX60gensym26__3, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T256_); goto LA234_;}
										eqsink___llstream_u123(&sX60gensym26__3, T256_);
									}
LA254_: ;
									{
										NimStringV2 colontmpD__11;
										if (!!((sX60gensym26__3 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA259_;
										colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
										colontmpD__11 = eqdup___system_u2633(pX60gensym26__3);
										add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__11);
										runNimScript__scriptconfig_u189(cache_p1, pX60gensym26__3, idgen_p3, NIM_FALSE, conf_p2, sX60gensym26__3);
										if (NIM_UNLIKELY(*nimErr_)) goto LA234_;
									}
LA259_: ;
									{
										LA234_:;
									}
									{
										eqdestroy___llstream_u112(sX60gensym26__3);
										eqdestroy___system_u2627(pX60gensym26__3);
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA222_;
								}
LA232_: ;
								{
									LA222_:;
								}
								{
									eqdestroy___system_u2627(configPathX60gensym25__3);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
							}
LA220_: ;
							res_1 += ((NI)1);
						} LA213: ;
					}
				}
				{
					NimStringV2 configPathX60gensym25__4;
					if (!NIM_FALSE) goto LA267_;
					configPathX60gensym25__4.len = 0; configPathX60gensym25__4.p = NIM_NIL;
					eqsink___system_u2636((&dir_1), colontmp_);
					eqwasMoved___system_u2624((&colontmp_));
					configPathX60gensym25__4 = slash___pathutils_u135(dir_1, cfg_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
					{
						NIM_BOOL T272_;
						NimStringV2 blitTmp_6;
						T272_ = (NIM_BOOL)0;
						T272_ = readConfigFile__nimconf_u238(configPathX60gensym25__4, cache_p1, conf_p2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
						if (!T272_) goto LA273_;
						blitTmp_6 = configPathX60gensym25__4;
						eqwasMoved___system_u2624((&configPathX60gensym25__4));
						add__nimconf_u312((&(*conf_p2).configFiles), blitTmp_6);
					}
LA273_: ;
					{
						NIM_BOOL T277_;
						NimStringV2 pX60gensym26__4;
						tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym26__4;
						T277_ = (NIM_BOOL)0;
						T277_ = eqeq___nimconf_u332(cfg_p0, TM__6P25SLSLz0kOcUlvm51BiA_60);
						if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
						if (!T277_) goto LA278_;
						pX60gensym26__4.len = 0; pX60gensym26__4.p = NIM_NIL;
						sX60gensym26__4 = NIM_NIL;
						pX60gensym26__4 = slash___pathutils_u135(dir_1, TM__6P25SLSLz0kOcUlvm51BiA_61);
						if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
						sX60gensym26__4 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
						{
							NIM_BOOL T283_;
							T283_ = (NIM_BOOL)0;
							T283_ = NIM_FALSE;
							if (!(T283_)) goto LA284_;
							T283_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA284_: ;
							if (!T283_) goto LA285_;
							{
								tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T291_;
								if (!(*conf_p2).projectIsStdin) goto LA289_;
								T291_ = NIM_NIL;
								T291_ = llStreamOpen__llstream_u133(__stdinp);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T291_); goto LA280_;}
								eqsink___llstream_u123(&sX60gensym26__4, T291_);
							}
							goto LA287_;
LA289_: ;
							{
								NimStringV2 colontmpD__12;
								tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T295_;
								if (!(*conf_p2).projectIsCmd) goto LA293_;
								colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
								colontmpD__12 = eqdup___system_u2633((*conf_p2).cmdInput);
								T295_ = NIM_NIL;
								T295_ = llStreamOpen__llstream_u32(colontmpD__12);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T295_); goto LA280_;}
								eqsink___llstream_u123(&sX60gensym26__4, T295_);
							}
							goto LA287_;
LA293_: ;
LA287_: ;
						}
LA285_: ;
						{
							NIM_BOOL T298_;
							tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T302_;
							T298_ = (NIM_BOOL)0;
							T298_ = (sX60gensym26__4 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
							if (!(T298_)) goto LA299_;
							T298_ = nosfileExists(pX60gensym26__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
LA299_: ;
							if (!T298_) goto LA300_;
							T302_ = NIM_NIL;
							T302_ = llStreamOpen__llstream_u136(pX60gensym26__4, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T302_); goto LA280_;}
							eqsink___llstream_u123(&sX60gensym26__4, T302_);
						}
LA300_: ;
						{
							NimStringV2 colontmpD__13;
							if (!!((sX60gensym26__4 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA305_;
							colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
							colontmpD__13 = eqdup___system_u2633(pX60gensym26__4);
							add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__13);
							runNimScript__scriptconfig_u189(cache_p1, pX60gensym26__4, idgen_p3, NIM_FALSE, conf_p2, sX60gensym26__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
						}
LA305_: ;
						{
							LA280_:;
						}
						{
							eqdestroy___llstream_u112(sX60gensym26__4);
							eqdestroy___system_u2627(pX60gensym26__4);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA269_;
					}
LA278_: ;
					{
						LA269_:;
					}
					{
						eqdestroy___system_u2627(configPathX60gensym25__4);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				}
LA267_: ;
			}
LA107_: ;
			{
				LA106_:;
			}
			{
				eqdestroy___system_u2627(colontmp_);
				eqdestroy___system_u2627(dir_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	}
LA103_: ;
	{
		NimStringV2 configPathX60gensym30__1;
		if (!!((((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)19)))&63U)))!=0))) goto LA315_;
		configPathX60gensym30__1.len = 0; configPathX60gensym30__1.p = NIM_NIL;
		configPathX60gensym30__1 = slash___pathutils_u135(pd_1, cfg_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
		{
			NIM_BOOL T320_;
			NimStringV2 blitTmp_7;
			T320_ = (NIM_BOOL)0;
			T320_ = readConfigFile__nimconf_u238(configPathX60gensym30__1, cache_p1, conf_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
			if (!T320_) goto LA321_;
			blitTmp_7 = configPathX60gensym30__1;
			eqwasMoved___system_u2624((&configPathX60gensym30__1));
			add__nimconf_u312((&(*conf_p2).configFiles), blitTmp_7);
		}
LA321_: ;
		{
			NIM_BOOL T325_;
			NimStringV2 pX60gensym31__1;
			tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym31__1;
			T325_ = (NIM_BOOL)0;
			T325_ = eqeq___nimconf_u332(cfg_p0, TM__6P25SLSLz0kOcUlvm51BiA_62);
			if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
			if (!T325_) goto LA326_;
			pX60gensym31__1.len = 0; pX60gensym31__1.p = NIM_NIL;
			sX60gensym31__1 = NIM_NIL;
			pX60gensym31__1 = slash___pathutils_u135(pd_1, TM__6P25SLSLz0kOcUlvm51BiA_63);
			if (NIM_UNLIKELY(*nimErr_)) goto LA328_;
			sX60gensym31__1 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
			{
				NIM_BOOL T331_;
				T331_ = (NIM_BOOL)0;
				T331_ = NIM_FALSE;
				if (!(T331_)) goto LA332_;
				T331_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA332_: ;
				if (!T331_) goto LA333_;
				{
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T339_;
					if (!(*conf_p2).projectIsStdin) goto LA337_;
					T339_ = NIM_NIL;
					T339_ = llStreamOpen__llstream_u133(__stdinp);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T339_); goto LA328_;}
					eqsink___llstream_u123(&sX60gensym31__1, T339_);
				}
				goto LA335_;
LA337_: ;
				{
					NimStringV2 colontmpD__14;
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T343_;
					if (!(*conf_p2).projectIsCmd) goto LA341_;
					colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
					colontmpD__14 = eqdup___system_u2633((*conf_p2).cmdInput);
					T343_ = NIM_NIL;
					T343_ = llStreamOpen__llstream_u32(colontmpD__14);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T343_); goto LA328_;}
					eqsink___llstream_u123(&sX60gensym31__1, T343_);
				}
				goto LA335_;
LA341_: ;
LA335_: ;
			}
LA333_: ;
			{
				NIM_BOOL T346_;
				tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T350_;
				T346_ = (NIM_BOOL)0;
				T346_ = (sX60gensym31__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
				if (!(T346_)) goto LA347_;
				T346_ = nosfileExists(pX60gensym31__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA328_;
LA347_: ;
				if (!T346_) goto LA348_;
				T350_ = NIM_NIL;
				T350_ = llStreamOpen__llstream_u136(pX60gensym31__1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T350_); goto LA328_;}
				eqsink___llstream_u123(&sX60gensym31__1, T350_);
			}
LA348_: ;
			{
				NimStringV2 colontmpD__15;
				if (!!((sX60gensym31__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA353_;
				colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
				colontmpD__15 = eqdup___system_u2633(pX60gensym31__1);
				add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__15);
				runNimScript__scriptconfig_u189(cache_p1, pX60gensym31__1, idgen_p3, NIM_FALSE, conf_p2, sX60gensym31__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA328_;
			}
LA353_: ;
			{
				LA328_:;
			}
			{
				eqdestroy___llstream_u112(sX60gensym31__1);
				eqdestroy___system_u2627(pX60gensym31__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
		}
LA326_: ;
		{
			NimStringV2 projectConfig_1;
			NimStringV2 configPathX60gensym35__1;
			if (!!(((*conf_p2).projectName.len == ((NI)0)))) goto LA359_;
			projectConfig_1.len = 0; projectConfig_1.p = NIM_NIL;
			configPathX60gensym35__1.len = 0; configPathX60gensym35__1.p = NIM_NIL;
			projectConfig_1 = noschangeFileExt((*conf_p2).projectFull, TM__6P25SLSLz0kOcUlvm51BiA_65);
			if (NIM_UNLIKELY(*nimErr_)) goto LA361_;
			{
				NIM_BOOL T364_;
				NimStringV2 T367_;
				T364_ = (NIM_BOOL)0;
				T364_ = nosfileExists(projectConfig_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA361_;
				if (!!(T364_)) goto LA365_;
				T367_.len = 0; T367_.p = NIM_NIL;
				T367_ = noschangeFileExt((*conf_p2).projectFull, TM__6P25SLSLz0kOcUlvm51BiA_67);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2627(T367_); goto LA361_;}
				eqsink___system_u2636((&projectConfig_1), T367_);
			}
LA365_: ;
			configPathX60gensym35__1 = projectConfig_1;
			eqwasMoved___system_u2624((&projectConfig_1));
			{
				NIM_BOOL T370_;
				NimStringV2 blitTmp_8;
				T370_ = (NIM_BOOL)0;
				T370_ = readConfigFile__nimconf_u238(configPathX60gensym35__1, cache_p1, conf_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA361_;
				if (!T370_) goto LA371_;
				blitTmp_8 = configPathX60gensym35__1;
				eqwasMoved___system_u2624((&configPathX60gensym35__1));
				add__nimconf_u312((&(*conf_p2).configFiles), blitTmp_8);
			}
LA371_: ;
			{
				LA361_:;
			}
			{
				eqdestroy___system_u2627(configPathX60gensym35__1);
				eqdestroy___system_u2627(projectConfig_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
		}
LA359_: ;
		{
			LA317_:;
		}
		{
			eqdestroy___system_u2627(configPathX60gensym30__1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA315_: ;
	scriptFile_1 = noschangeFileExt((*conf_p2).projectFull, TM__6P25SLSLz0kOcUlvm51BiA_69);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	scriptIsProj_1 = eqeq___nimconf_u472(scriptFile_1, (*conf_p2).projectFull);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*conf_p2).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)13))) goto LA379_;
		{
			NimStringV2* filenameX60gensym36__1;
			NI i_2;
			NI L_1;
			NI T382_;
			filenameX60gensym36__1 = (NimStringV2*)0;
			i_2 = ((NI)0);
			T382_ = (*conf_p2).configFiles.len;
			L_1 = T382_;
			{
				while (1) {
					if (!(i_2 < L_1)) goto LA384;
					filenameX60gensym36__1 = (&(*conf_p2).configFiles.p->data[i_2]);
					liMessage__msgs_u1223(conf_p2, unknownLineInfo__lineinfos_u361, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)100), (*filenameX60gensym36__1), ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), (&TM__6P25SLSLz0kOcUlvm51BiA_70), NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					i_2 += ((NI)1);
				} LA384: ;
			}
		}
		setLen__options_u1888((&(*conf_p2).configFiles), ((NI)0));
	}
LA379_: ;
	{
		if (!!(((*conf_p2).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)12) || (*conf_p2).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)8) || (*conf_p2).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)26)))) goto LA387_;
		{
			NimStringV2 pX60gensym40__1;
			tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym40__1;
			if (!((*conf_p2).cmd == ((tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ)13))) goto LA391_;
			pX60gensym40__1.len = 0; pX60gensym40__1.p = NIM_NIL;
			sX60gensym40__1 = NIM_NIL;
			eqcopy___system_u2630((&pX60gensym40__1), (*conf_p2).projectFull);
			sX60gensym40__1 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
			{
				NIM_BOOL T396_;
				T396_ = (NIM_BOOL)0;
				T396_ = NIM_TRUE;
				if (!(T396_)) goto LA397_;
				T396_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA397_: ;
				if (!T396_) goto LA398_;
				{
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T404_;
					if (!(*conf_p2).projectIsStdin) goto LA402_;
					T404_ = NIM_NIL;
					T404_ = llStreamOpen__llstream_u133(__stdinp);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T404_); goto LA393_;}
					eqsink___llstream_u123(&sX60gensym40__1, T404_);
				}
				goto LA400_;
LA402_: ;
				{
					NimStringV2 colontmpD__16;
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T408_;
					if (!(*conf_p2).projectIsCmd) goto LA406_;
					colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
					colontmpD__16 = eqdup___system_u2633((*conf_p2).cmdInput);
					T408_ = NIM_NIL;
					T408_ = llStreamOpen__llstream_u32(colontmpD__16);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T408_); goto LA393_;}
					eqsink___llstream_u123(&sX60gensym40__1, T408_);
				}
				goto LA400_;
LA406_: ;
LA400_: ;
			}
LA398_: ;
			{
				NIM_BOOL T411_;
				tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T415_;
				T411_ = (NIM_BOOL)0;
				T411_ = (sX60gensym40__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
				if (!(T411_)) goto LA412_;
				T411_ = nosfileExists(pX60gensym40__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
LA412_: ;
				if (!T411_) goto LA413_;
				T415_ = NIM_NIL;
				T415_ = llStreamOpen__llstream_u136(pX60gensym40__1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T415_); goto LA393_;}
				eqsink___llstream_u123(&sX60gensym40__1, T415_);
			}
LA413_: ;
			{
				NimStringV2 colontmpD__17;
				if (!!((sX60gensym40__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA418_;
				colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
				colontmpD__17 = eqdup___system_u2633(pX60gensym40__1);
				add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__17);
				runNimScript__scriptconfig_u189(cache_p1, pX60gensym40__1, idgen_p3, NIM_FALSE, conf_p2, sX60gensym40__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA393_;
			}
LA418_: ;
			{
				LA393_:;
			}
			{
				eqdestroy___llstream_u112(sX60gensym40__1);
				eqdestroy___system_u2627(pX60gensym40__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA389_;
LA391_: ;
		{
			NimStringV2 pX60gensym43__1;
			tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym43__1;
			pX60gensym43__1.len = 0; pX60gensym43__1.p = NIM_NIL;
			sX60gensym43__1 = NIM_NIL;
			pX60gensym43__1 = scriptFile_1;
			eqwasMoved___system_u2624((&scriptFile_1));
			sX60gensym43__1 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
			{
				NIM_BOOL T426_;
				T426_ = (NIM_BOOL)0;
				T426_ = NIM_TRUE;
				if (!(T426_)) goto LA427_;
				T426_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA427_: ;
				if (!T426_) goto LA428_;
				{
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T434_;
					if (!(*conf_p2).projectIsStdin) goto LA432_;
					T434_ = NIM_NIL;
					T434_ = llStreamOpen__llstream_u133(__stdinp);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T434_); goto LA423_;}
					eqsink___llstream_u123(&sX60gensym43__1, T434_);
				}
				goto LA430_;
LA432_: ;
				{
					NimStringV2 colontmpD__18;
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T438_;
					if (!(*conf_p2).projectIsCmd) goto LA436_;
					colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
					colontmpD__18 = eqdup___system_u2633((*conf_p2).cmdInput);
					T438_ = NIM_NIL;
					T438_ = llStreamOpen__llstream_u32(colontmpD__18);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T438_); goto LA423_;}
					eqsink___llstream_u123(&sX60gensym43__1, T438_);
				}
				goto LA430_;
LA436_: ;
LA430_: ;
			}
LA428_: ;
			{
				NIM_BOOL T441_;
				tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T445_;
				T441_ = (NIM_BOOL)0;
				T441_ = (sX60gensym43__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
				if (!(T441_)) goto LA442_;
				T441_ = nosfileExists(pX60gensym43__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA423_;
LA442_: ;
				if (!T441_) goto LA443_;
				T445_ = NIM_NIL;
				T445_ = llStreamOpen__llstream_u136(pX60gensym43__1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T445_); goto LA423_;}
				eqsink___llstream_u123(&sX60gensym43__1, T445_);
			}
LA443_: ;
			{
				NimStringV2 colontmpD__19;
				if (!!((sX60gensym43__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA448_;
				colontmpD__19.len = 0; colontmpD__19.p = NIM_NIL;
				colontmpD__19 = eqdup___system_u2633(pX60gensym43__1);
				add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__19);
				runNimScript__scriptconfig_u189(cache_p1, pX60gensym43__1, idgen_p3, NIM_FALSE, conf_p2, sX60gensym43__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA423_;
			}
LA448_: ;
			{
				LA423_:;
			}
			{
				eqdestroy___llstream_u112(sX60gensym43__1);
				eqdestroy___system_u2627(pX60gensym43__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA389_: ;
	}
	goto LA385_;
LA387_: ;
	{
		{
			NimStringV2 pX60gensym46__1;
			tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* sX60gensym46__1;
			if (!!(scriptIsProj_1)) goto LA455_;
			pX60gensym46__1.len = 0; pX60gensym46__1.p = NIM_NIL;
			sX60gensym46__1 = NIM_NIL;
			pX60gensym46__1 = scriptFile_1;
			eqwasMoved___system_u2624((&scriptFile_1));
			sX60gensym46__1 = ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL);
			{
				NIM_BOOL T460_;
				T460_ = (NIM_BOOL)0;
				T460_ = NIM_TRUE;
				if (!(T460_)) goto LA461_;
				T460_ = (((*conf_p2).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)2)))&63U)))!=0);
LA461_: ;
				if (!T460_) goto LA462_;
				{
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T468_;
					if (!(*conf_p2).projectIsStdin) goto LA466_;
					T468_ = NIM_NIL;
					T468_ = llStreamOpen__llstream_u133(__stdinp);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T468_); goto LA457_;}
					eqsink___llstream_u123(&sX60gensym46__1, T468_);
				}
				goto LA464_;
LA466_: ;
				{
					NimStringV2 colontmpD__20;
					tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T472_;
					if (!(*conf_p2).projectIsCmd) goto LA470_;
					colontmpD__20.len = 0; colontmpD__20.p = NIM_NIL;
					colontmpD__20 = eqdup___system_u2633((*conf_p2).cmdInput);
					T472_ = NIM_NIL;
					T472_ = llStreamOpen__llstream_u32(colontmpD__20);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T472_); goto LA457_;}
					eqsink___llstream_u123(&sX60gensym46__1, T472_);
				}
				goto LA464_;
LA470_: ;
LA464_: ;
			}
LA462_: ;
			{
				NIM_BOOL T475_;
				tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T479_;
				T475_ = (NIM_BOOL)0;
				T475_ = (sX60gensym46__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL));
				if (!(T475_)) goto LA476_;
				T475_ = nosfileExists(pX60gensym46__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA457_;
LA476_: ;
				if (!T475_) goto LA477_;
				T479_ = NIM_NIL;
				T479_ = llStreamOpen__llstream_u136(pX60gensym46__1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T479_); goto LA457_;}
				eqsink___llstream_u123(&sX60gensym46__1, T479_);
			}
LA477_: ;
			{
				NimStringV2 colontmpD__21;
				if (!!((sX60gensym46__1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA482_;
				colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
				colontmpD__21 = eqdup___system_u2633(pX60gensym46__1);
				add__nimconf_u312((&(*conf_p2).configFiles), colontmpD__21);
				runNimScript__scriptconfig_u189(cache_p1, pX60gensym46__1, idgen_p3, NIM_FALSE, conf_p2, sX60gensym46__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA457_;
			}
LA482_: ;
			{
				LA457_:;
			}
			{
				eqdestroy___llstream_u112(sX60gensym46__1);
				eqdestroy___system_u2627(pX60gensym46__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA453_;
LA455_: ;
		{
		}
LA453_: ;
	}
LA385_: ;
	{
		NimStringV2* filenameX60gensym49__1;
		NI i_3;
		NI L_2;
		NI T488_;
		filenameX60gensym49__1 = (NimStringV2*)0;
		i_3 = ((NI)0);
		T488_ = (*conf_p2).configFiles.len;
		L_2 = T488_;
		{
			while (1) {
				if (!(i_3 < L_2)) goto LA490;
				filenameX60gensym49__1 = (&(*conf_p2).configFiles.p->data[i_3]);
				liMessage__msgs_u1223(conf_p2, unknownLineInfo__lineinfos_u361, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)100), (*filenameX60gensym49__1), ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), (&TM__6P25SLSLz0kOcUlvm51BiA_70), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_3 += ((NI)1);
			} LA490: ;
		}
	}
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2627(scriptFile_1);
		eqdestroy___system_u2627(pd_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
