/* Generated by Nim Compiler v2.2.10 */
/* Compiled for: MacOSX, arm64, clang */
/* Command for C compiler:
   clang -c  -w -ferror-limit=3 -fno-strict-aliasing -pthread -isysroot /Applications/Xcode_16.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -target arm64-apple-darwin24.2.0 -O3   -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/lib -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/src -o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pcompiler@smsgs.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pcompiler@smsgs.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ tySequence__3EvzHGO0xyXGnJBUggwfKQ;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content;
typedef struct tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA;
typedef struct tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg;
typedef struct tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw;
typedef struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA;
typedef struct tySequence__JPKFgJSOQCieXDyG0VaX6A tySequence__JPKFgJSOQCieXDyG0VaX6A;
typedef struct tySequence__JPKFgJSOQCieXDyG0VaX6A_Content tySequence__JPKFgJSOQCieXDyG0VaX6A_Content;
typedef struct tySequence__82a9cBsTuMsIGy3wIt0j2GA tySequence__82a9cBsTuMsIGy3wIt0j2GA;
typedef struct tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__qQfLCgyHOp6hJAe9b61dSlg tySequence__qQfLCgyHOp6hJAe9b61dSlg;
typedef struct tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content;
typedef struct tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ;
typedef struct tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA;
typedef struct tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA;
typedef struct tyTuple__QV1TF4CGWRyoNF80eigmtg tyTuple__QV1TF4CGWRyoNF80eigmtg;
typedef struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ {
  NI len; tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__3EvzHGO0xyXGnJBUggwfKQ trace;
	Exception* up;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
typedef NU8 tyEnum_TBackend__Xu30yu1pJJNl5dArQPqGow;
typedef NU8 tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw;
typedef NU8 tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw;
struct tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA {
	tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw targetCPU;
	tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw hostCPU;
	tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw targetOS;
	tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q;
typedef NU64 tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg;
struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg;
struct tySequence__JPKFgJSOQCieXDyG0VaX6A {
  NI len; tySequence__JPKFgJSOQCieXDyG0VaX6A_Content* p;
};
struct tySequence__82a9cBsTuMsIGy3wIt0j2GA {
  NI len; tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content* p;
};
struct tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg errorOutputs;
	tySequence__JPKFgJSOQCieXDyG0VaX6A msgContext;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastError;
	tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g filenameToIndexTbl;
	tySequence__82a9cBsTuMsIGy3wIt0j2GA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w;
typedef NU8 tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA;
typedef NU8 tyEnum_TGCMode__pRk7Y2G9bpIo9bLxbZlHNngg;
typedef NU8 tyEnum_ExceptionSystem__IYbEksEAKSIlWJbOfBD09cg;
typedef NU8 tyEnum_SymbolFilesOption__8PMCSpTPQgWdVNloobF5ww;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__E4xi5r0p9cLn3DNy3T5qUng;
typedef NU8 tySet_tyEnum_LegacyFeature__kQ72lke4a216EagCYqVkVQ;
typedef NU8 tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA;
typedef NU8 tyEnum_TSystemCC__x9cDM4gkFLLvOAjtG1vDBbw;
typedef NU8 tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA;
struct tySequence__qQfLCgyHOp6hJAe9b61dSlg {
  NI len; tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__ZKxN2vtYtpm0ZAjNb4J8aw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__JiHYsLjIe9cOjP539bvP3aaA;
struct tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw {
	tyEnum_TBackend__Xu30yu1pJJNl5dArQPqGow backend;
	tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q options;
	tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg globalOptions;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* macrosToExpand;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* arcToExpand;
	tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw m;
	tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__pRk7Y2G9bpIo9bLxbZlHNngg selectedGC;
	tyEnum_ExceptionSystem__IYbEksEAKSIlWJbOfBD09cg exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__8PMCSpTPQgWdVNloobF5ww symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__E4xi5r0p9cLn3DNy3T5qUng features;
	tySet_tyEnum_LegacyFeature__kQ72lke4a216EagCYqVkVQ legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA ideCmd;
	tyEnum_TSystemCC__x9cDM4gkFLLvOAjtG1vDBbw cCompiler;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ modifiedyNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ cmdlineNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ foreignPackageNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ notes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ warningAsErrors;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* configVars;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* symbols;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* dllOverrides;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* moduleOverrides;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__qQfLCgyHOp6hJAe9b61dSlg toCompile;
	tyProc__ZKxN2vtYtpm0ZAjNb4J8aw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__JiHYsLjIe9cOjP539bvP3aaA structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
struct tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
typedef NU8 tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g;
typedef NU8 tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ;
typedef NU8 tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg;
struct tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA {
	tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g a;
	tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g b;
};
struct tyTuple__QV1TF4CGWRyoNF80eigmtg {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA Field0;
	NimStringV2 Field1;
};
typedef N_CLOSURE_PTR(void, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_17) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3);
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
typedef NU8 tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg;
typedef N_CLOSURE_PTR(void, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_39) (NimStringV2 output_p0);
typedef NU8 tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg;
typedef NU8 tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA;
typedef NU16 tySet_tyEnum_Style__NVzGhXKu9bTv2XNbUEnVW3A;
typedef NU8 tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ;
typedef NU8 tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q;
typedef NimStringV2 tyArray__cSU0S1Ud75vlUhM7lKl1GQ[124];
typedef N_CLOSURE_PTR(void, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_63) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3);
typedef NimStringV2 tyArray__A2YC0h9cZydgH7zGAndH9bLg[6];
typedef NU8 tyEnum_FileMode__wjF0STQGT1PBuQEl3p0tng;
typedef N_CLOSURE_PTR(void, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_73) (NimStringV2 output_p0);
typedef NimStringV2 tyArray__Seu7uK9aaOSN0BK3EAjjSHw[4];
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef N_CLOSURE_PTR(void, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_86) (NimStringV2 output_p0);
typedef NimStringV2 tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ[2];
typedef N_CLOSURE_PTR(void, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_106) (NimStringV2 output_p0);
typedef NU8 tySet_tyEnum_MsgFlag__R3GNIVpuNONyqBrVwryP9cw;
typedef NU8 tyEnum_MsgFlag__R3GNIVpuNONyqBrVwryP9cw;
typedef N_CLOSURE_PTR(void, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_116) (NimStringV2 output_p0);
struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content { NI cap; tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw 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 tySequence__JPKFgJSOQCieXDyG0VaX6A_Content { NI cap; tyTuple__QV1TF4CGWRyoNF80eigmtg data[SEQ_DECL_SIZE]; };
struct tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content { NI cap; tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tySet_tyEnum_CfileFlag__EkRY1EIMbklfJaNFiHJKAQ;
struct tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__EkRY1EIMbklfJaNFiHJKAQ flags;
	NimStringV2 customArgs;
};
struct tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content { NI cap; tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__OOZOOZOOZcompilerZmsgs_u153)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 filename_p1, NIM_BOOL* isKnownFile_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, canonicalizePath__OOZOOZOOZcompilerZoptions_u2179)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 path_p1);
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u3719)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
static N_INLINE(void, canonicalCase__OOZOOZOOZcompilerZmsgs_u97)(NimStringV2* path_p0);
static N_INLINE(void, toLowerAscii__OOZOOZOOZcompilerZmsgs_u16)(NimStringV2* a_p0);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2493)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuIsUpperAsciiChar)(NIM_CHAR c_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__OOZOOZOOZcompilerZmsgs_u140)(tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NI32*, X5BX5D___OOZOOZOOZcompilerZmsgs_u251)(tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__OOZOOZOOZcompilerZmsgs_u339)(tySequence__82a9cBsTuMsIGy3wIt0j2GA* x_p0, tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, newFileInfo__OOZOOZOOZcompilerZmsgs_u89)(NimStringV2 fullPath_p0, NimStringV2 projPath_p1, tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA* Result);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosextractFilename)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, makeCString__OOZOOZOOZcompilerZmsgs_u81)(NimStringV2 s_p0);
N_NIMCALL(NimStringV2, rawNewString)(NI cap_p0);
static N_INLINE(NF, toFloat__system_u1705)(NI i_p0);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
static N_INLINE(void, toCChar__OOZOOZOOZcompilerZmsgs_u78)(NIM_CHAR c_p0, NimStringV2* result_p1);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuToOctal)(NIM_CHAR c_p0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, relativeTo__OOZOOZOOZcompilerZpathutils_u197)(NimStringV2 fullPath_p0, NimStringV2 baseFilename_p1, NIM_CHAR sep_p2);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___OOZOOZOOZcompilerZlineinfos_u646)(tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g* t_p0, NimStringV2 key_p1, NI32 val_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
static N_INLINE(NIM_BOOL, isEmpty__OOZOOZOOZcompilerZoptions_u2599)(NimStringV2 x_p0);
static N_INLINE(NIM_BOOL, contains__OOZOOZOOZcompilerZmsgs_u1065)(tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA s_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g value_p1);
static N_INLINE(tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA, dotdot___OOZOOZOOZcompilerZmsgs_u997)(tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g a_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZlineinfos_u134)(tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g e_p0);
N_LIB_PRIVATE N_NIMCALL(void, writeContext__OOZOOZOOZcompilerZmsgs_u1114)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastinfo_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZlineinfos_u1911)(tyTuple__QV1TF4CGWRyoNF80eigmtg* dest_p0, tyTuple__QV1TF4CGWRyoNF80eigmtg src_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___OOZOOZOOZcompilerZmsgs_u1106)(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA a_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatVarargs)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, concat__OOZOOZOOZcompilerZmsgs_u440)(NimStringV2* strings_p0, NI strings_p0Len_0);
static N_INLINE(NimStringV2, toFileLineCol__OOZOOZOOZcompilerZmsgs_u710)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toMsgFilename__OOZOOZOOZcompilerZmsgs_u691)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFilenameOption__OOZOOZOOZcompilerZmsgs_u679)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1, tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w opt_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPath__OOZOOZOOZcompilerZmsgs_u621)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toProjPath__OOZOOZOOZcompilerZmsgs_u613)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, canonicalImportAux__OOZOOZOOZcompilerZoptions_u2746)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 file_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, noslastPathPart)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCountString)(NimStringV2 s_p0, NimStringV2 sub_p1, NIM_BOOL overlapping_p2);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_u187)(NimStringV2* result_p0, NI64 x_p1);
N_LIB_PRIVATE N_NIMCALL(void, flushDot__OOZOOZOOZcompilerZmsgs_u38)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0);
N_LIB_PRIVATE N_NIMCALL(void, write__stdZsyncio_u254)(FILE* f_p0, NimStringV2 s_p1);
static N_INLINE(void, writeLine__OOZOOZOOZcompilerZmsgs_u467)(FILE* f_p0, NimStringV2* x_p1, NI x_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, flushFile__stdZsyncio_u278)(FILE* f_p0);
N_LIB_PRIVATE N_NIMCALL(void, setStyle__pureZterminal_u413)(FILE* f_p0, tySet_tyEnum_Style__NVzGhXKu9bTv2XNbUEnVW3A style_p1);
N_LIB_PRIVATE N_NIMCALL(void, resetAttributes__pureZterminal_u374)(FILE* f_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZlineinfos_u1908)(tyTuple__QV1TF4CGWRyoNF80eigmtg* dest_p0);
static N_INLINE(NIM_BOOL, hasWarn__OOZOOZOOZcompilerZoptions_u611)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ note_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__OOZOOZOOZcompilerZoptions_u551)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ note_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getMessageStr__OOZOOZOOZcompilerZmsgs_u873)(tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p0, NimStringV2 arg_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, msgKindToString__OOZOOZOOZcompilerZmsgs_u870)(tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g kind_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ignoreMsgBecauseOfIdeTools__OOZOOZOOZcompilerZmsgs_u1178)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1);
N_LIB_PRIVATE N_NIMCALL(void, msgWrite__OOZOOZOOZcompilerZmsgs_u847)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 s_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getSurroundingSrc__OOZOOZOOZcompilerZmsgs_u1218)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, sourceLine__OOZOOZOOZcompilerZmsgs_u1213)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA i_p1);
N_LIB_PRIVATE N_NIMCALL(NI, numLines__OOZOOZOOZcompilerZmsgs_u1202)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPathConsiderDirty__OOZOOZOOZcompilerZmsgs_u660)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(FILE*, open__stdZsyncio_u492)(NimStringV2 filename_p0, tyEnum_FileMode__wjF0STQGT1PBuQEl3p0tng mode_p1, NI bufSize_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__stdZsyncio_u291)(FILE* f_p0, NimStringV2* line_p1);
N_LIB_PRIVATE N_NIMCALL(void, addSourceLine__OOZOOZOOZcompilerZmsgs_u1194)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1, NimStringV2 line_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_u70)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(void, close__stdZsyncio_u269)(FILE* f_p0);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
static N_INLINE(NimStringV2, spaces__pureZstrutils_u1144)(NI n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuRepeatChar)(NIM_CHAR c_p0, NI count_p1);
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, setForegroundColor__pureZterminal_u509)(FILE* f_p0, tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg fg_p1, NIM_BOOL bright_p2);
static N_INLINE(NimStringV2, toFileLineCol__OOZOOZOOZcompilerZmsgs_u704)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info_p0);
N_LIB_PRIVATE N_NIMCALL(void, handleError__OOZOOZOOZcompilerZmsgs_u967)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ eh_p2, NimStringV2 s_p3, NIM_BOOL ignoreMsg_p4);
N_LIB_PRIVATE N_NIMCALL(void, log__OOZOOZOOZcompilerZmsgs_u884)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__stdZsyncio_u413)(FILE** f_p0, NimStringV2 filename_p1, tyEnum_FileMode__wjF0STQGT1PBuQEl3p0tng mode_p2, NI bufSize_p3);
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosjoinPath)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetHomeDir)(void);
N_LIB_PRIVATE N_NIMCALL(void, quit__OOZOOZOOZcompilerZmsgs_u895)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__OOZOOZOOZcompilerZoptions_u953)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 symbol_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseAssert__stdZassertions_u28)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, quit__system_u8447)(NimStringV2 errormsg_p0, NI errorcode_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stackTraceAvailable__system_u4093)(void);
N_LIB_PRIVATE N_NIMCALL(void, writeStackTrace__system_u2767)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, createDocLink__OOZOOZOOZcompilerZlineinfos_u6)(NimStringV2 urlSuffix_p0);
static N_INLINE(void, quit__system_u8428)(NI errorcode_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRecoverableError__OOZOOZOOZcompilerZlineinfos_u299)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__OOZOOZOOZcompilerZmsgs_u1230)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
static const struct {
  NI cap; NIM_CHAR data[93+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_2 = { 93 | NIM_STRLIT_FLAG, "iterators.nim(281, 11) `len(a) == L` the length of the string changed while iterating over it" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_3 = {93, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_2};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_5 = { 1 | NIM_STRLIT_FLAG, "\"" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_6 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_5};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_8 = { 12 | NIM_STRLIT_FLAG, "command line" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_9 = {12, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_8};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_10 = { 3 | NIM_STRLIT_FLAG, "\?\?\?" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_11 = {3, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_10};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_13 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
static NIM_CONST tyProc__JiHYsLjIe9cOjP539bvP3aaA TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_14 = {NIM_NIL,NIM_NIL};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_15 = { 40 | NIM_STRLIT_FLAG, "template/generic instantiation from here" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_16 = {40, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_15};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_18 = {40, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_15};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_19 = { 48 | NIM_STRLIT_FLAG, "template/generic instantiation of `$1` from here" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_20 = {48, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_19};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_22 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_23 = {12, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_8};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_24 = {3, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_10};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_25 = {12, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_8};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_26 = {3, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_10};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_27 = { 2 | NIM_STRLIT_FLAG, ".." };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_28 = {2, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_27};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_29 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_30 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_29};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_32 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_33 = {2, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_32};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_35 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_36 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_35};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_37 = { 1 | NIM_STRLIT_FLAG, " " };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_38 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_37};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_40 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_41 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_40};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_42 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_40};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_43 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_37};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_44 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_37};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_45 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_40};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_46 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_37};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_48 = { 7 | NIM_STRLIT_FLAG, "Error: " };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_49 = {7, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_48};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_50 = {7, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_48};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_51 = { 9 | NIM_STRLIT_FLAG, "Warning: " };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_52 = {9, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_51};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_54 = {7, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_48};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_55 = { 6 | NIM_STRLIT_FLAG, "Hint: " };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_56 = {6, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_55};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_58 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_37};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_59 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_60 = { 5 | NIM_STRLIT_FLAG, " [$1]" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_61 = {5, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_60};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_62 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_64 = { 1 | NIM_STRLIT_FLAG, "." };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_65 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_64};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_66 = { 3 | NIM_STRLIT_FLAG, "\012  " };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_67 = {3, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_66};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_68 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_69 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_71 = {3, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_66};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_72 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_74 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_40};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_75 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_76 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_29};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_78 = {2, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_32};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_80 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_35};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_81 = { 28 | NIM_STRLIT_FLAG, " compiler msg initiated here" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_82 = {28, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_81};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_83 = {5, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_60};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_84 = { 9 | NIM_STRLIT_FLAG, "MsgOrigin" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_85 = {9, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_84};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_87 = {28, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_81};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_88 = {5, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_60};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_89 = {9, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_84};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_90 = {28, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_81};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_91 = {5, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_60};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_92 = {9, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_84};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_93 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_40};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_94 = {28, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_81};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_95 = {5, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_60};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_96 = {9, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_84};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_97 = { 14 | NIM_STRLIT_FLAG, "nimsuggest.log" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_98 = {14, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_97};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_99 = { 8 | NIM_STRLIT_FLAG, "nimDebug" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_100 = {8, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_99};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_101 = {8, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_99};
static const struct {
  NI cap; NIM_CHAR data[119+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_102 = { 119 | NIM_STRLIT_FLAG, "No stack traceback available\012To create a stacktrace, rerun compilation with \'./koch temp $1 <file>\', see $2 for details" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_103 = {119, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_102};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_104 = { 34 | NIM_STRLIT_FLAG, "intern.html#debugging-the-compiler" };
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_105 = {34, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_104};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_107 = {119, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_102};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_108 = {34, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_104};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_109 = {119, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_102};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_110 = {34, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_104};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_111 = {1, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_40};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_112 = {119, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_102};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_113 = {34, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_104};
static const NimStringV2 TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_115 = {0, (NimStrPayload*)&TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_12};
extern NIM_CONST tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA unknownLineInfo__OOZOOZOOZcompilerZlineinfos_u364;
extern NIM_CONST tyArray__cSU0S1Ud75vlUhM7lKl1GQ MsgKindToStr__OOZOOZOOZcompilerZlineinfos_u137;
extern NIM_THREADVAR Exception* currException__system_u3686;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0) {
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (targetDepth_p1 <= (*source_p0).depth);
	if (!(T1_)) goto LA2_;
	T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = currException__system_u3686;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	eqcopy___system_u3719(&currException__system_u3686, (*currException__system_u3686).up, NIM_FALSE);
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((NI)((*(*s_p0).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2493(s_p0);
	}
LA5_: ;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
static N_INLINE(void, toLowerAscii__OOZOOZOOZcompilerZmsgs_u16)(NimStringV2* a_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_CHAR* c_1;
		NI i_1;
		NI L_1;
		c_1 = (NIM_CHAR*)0;
		i_1 = ((NI)0);
		L_1 = (*a_p0).len;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA3;
				nimPrepareStrMutationV2((&(*a_p0)));
				if (i_1 < 0 || i_1 >= (*a_p0).len){ raiseIndexError2(i_1,(*a_p0).len-1); goto BeforeRet_;
				}
				c_1 = (&(*a_p0).p->data[i_1]);
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = nsuIsUpperAsciiChar((*c_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T6_) goto LA7_;
					(*c_1) = ((NIM_CHAR) ((NU8)(((NU8) (((NU8)((*c_1))))) ^ ((NU8)32))));
				}
LA7_: ;
				i_1 += ((NI)1);
				{
					if (!!(((*a_p0).len == L_1))) goto LA11_;
					failedAssertImpl__stdZassertions_u95(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_3);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA11_: ;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(void, canonicalCase__OOZOOZOOZcompilerZmsgs_u97)(NimStringV2* path_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	toLowerAscii__OOZOOZOOZcompilerZmsgs_u16(path_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2188(p_p0, ((int)0), size_p1);
}
static N_INLINE(NF, toFloat__system_u1705)(NI i_p0) {
	NF result;
	result = ((NF) (i_p0));
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1755(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(void, 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;
}
static N_INLINE(void, toCChar__OOZOOZOOZcompilerZmsgs_u78)(NIM_CHAR c_p0, NimStringV2* result_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch (((NU8)(c_p0))) {
	case 0 ... 31:
	case 127 ... 255:
	{
		NimStringV2 colontmpD_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		nimAddCharV1((&(*result_p1)), 92);
		colontmpD_ = nsuToOctal(c_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		prepareAdd((&(*result_p1)), colontmpD_.len + 0);
appendString((&(*result_p1)), colontmpD_);
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	break;
	case 39:
	case 34:
	case 92:
	case 63:
	{
		nimAddCharV1((&(*result_p1)), 92);
		nimAddCharV1((&(*result_p1)), c_p0);
	}
	break;
	default:
	{
		nimAddCharV1((&(*result_p1)), c_p0);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, makeCString__OOZOOZOOZcompilerZmsgs_u81)(NimStringV2 s_p0) {
	NimStringV2 result;
	NF T1_;
	NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_4;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_ = (NF)0;
	T1_ = toFloat__system_u1705(s_p0.len);
	if ((((NI) (((NF)(T1_) * (NF)(1.1))))) < ((NI)(IL64(-9223372036854775807) - IL64(1))) || (((NI) (((NF)(T1_) * (NF)(1.1))))) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(((NI) (((NF)(T1_) * (NF)(1.1)))), ((NI)(IL64(-9223372036854775807) - IL64(1))), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	if (nimAddInt((((NI) (((NF)(T1_) * (NF)(1.1))))), ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_4)) { raiseOverflow(); goto BeforeRet_;
	};
	if (((NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_4)) < ((NI)0) || ((NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_4)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_4), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	result = rawNewString(((NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_4)));
	prepareAdd((&result), 1);
appendString((&result), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_6);
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = s_p0.len;
		i_2 = ((NI)0);
		{
			while (1) {
				NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_7;
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				toCChar__OOZOOZOOZcompilerZmsgs_u78(s_p0.p->data[i_1], (&result));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (nimAddInt(i_2, ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_7)) { raiseOverflow(); goto BeforeRet_;
				};
				i_2 = (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_7);
			} LA4: ;
		}
	}
	nimAddCharV1((&result), 34);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, newFileInfo__OOZOOZOOZcompilerZmsgs_u89)(NimStringV2 fullPath_p0, NimStringV2 projPath_p1, tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA* Result) {
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 T1_;
	NimStringV2 T2_;
	NimStringV2 T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA));
	nimZeroMem((void*)Result, sizeof(tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA));
	colontmpD_ = eqdup___system_u2757(fullPath_p0);
	(*Result).fullPath = colontmpD_;
	colontmpD__2 = eqdup___system_u2757(projPath_p1);
	(*Result).projPath = colontmpD__2;
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_ = nosextractFilename(fullPath_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T1_); goto BeforeRet_;}
	(*Result).shortName = T1_;
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = makeCString__OOZOOZOOZcompilerZmsgs_u81(fullPath_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T2_); goto BeforeRet_;}
	(*Result).quotedFullName = T2_;
	(*Result).lines.len = 0; (*Result).lines.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
	T3_.len = 0; T3_.p = NIM_NIL;
	T3_ = makeCString__OOZOOZOOZcompilerZmsgs_u81((*Result).shortName);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T3_); goto BeforeRet_;}
	eqsink___system_u2760((&(*Result).quotedName), T3_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__OOZOOZOOZcompilerZmsgs_u153)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 filename_p1, NIM_BOOL* isKnownFile_p2) {
	NI32 result;
	NimStringV2 canon_1;
	NimStringV2 canon2_1;
	NimStringV2 colontmpD_;
	NIM_BOOL pseudoPath_1;
	NimStringV2 T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI32)0;
	canon_1.len = 0; canon_1.p = NIM_NIL;
	canon2_1.len = 0; canon2_1.p = NIM_NIL;
	pseudoPath_1 = NIM_FALSE;
	T3_.len = 0; T3_.p = NIM_NIL;
	T3_ = canonicalizePath__OOZOOZOOZcompilerZoptions_u2179(conf_p0, filename_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T3_); goto LA2_;}
	canon_1 = T3_;
	if (NIM_UNLIKELY(*nimErr_)) {
		LA2_:;
		if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1079566592)) {
			*nimErr_ = NIM_FALSE;
			eqcopy___system_u2754((&canon_1), filename_p1);
			pseudoPath_1 = NIM_TRUE;
			popCurrentException();
			LA5_:;
		}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = eqdup___system_u2757(canon_1);
	canon2_1 = colontmpD_;
	canonicalCase__OOZOOZOOZcompilerZmsgs_u97((&canon2_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T9_;
		NI32* T12_;
		T9_ = (NIM_BOOL)0;
		T9_ = hasKey__OOZOOZOOZcompilerZmsgs_u140((*conf_p0).m.filenameToIndexTbl, canon2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T9_) goto LA10_;
		(*isKnownFile_p2) = NIM_TRUE;
		T12_ = (NI32*)0;
		T12_ = X5BX5D___OOZOOZOOZcompilerZmsgs_u251((&(*conf_p0).m.filenameToIndexTbl), canon2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = (*T12_);
	}
	goto LA7_;
LA10_: ;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NI T15_;
		NimStringV2 T16_;
		tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA T26_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		(*isKnownFile_p2) = NIM_FALSE;
		T15_ = (*conf_p0).m.fileInfos.len;
		if ((T15_) < ((NI32)(-2147483647 -1)) || (T15_) > ((NI32)2147483647)){ raiseRangeErrorI(T15_, ((NI32)(-2147483647 -1)), ((NI32)2147483647)); goto LA14_;
		}
		result = ((NI32) (T15_));
		T16_.len = 0; T16_.p = NIM_NIL;
		{
			NimStringV2 colontmpD__4;
			if (!pseudoPath_1) goto LA19_;
			colontmpD__4 = eqdup___system_u2757(filename_p1);
			colontmpD__2 = colontmpD__4;
			T16_ = colontmpD__2;
		}
		goto LA17_;
LA19_: ;
		{
			NimStringV2 T23_;
			T23_.len = 0; T23_.p = NIM_NIL;
			T23_ = relativeTo__OOZOOZOOZcompilerZpathutils_u197(canon_1, (*conf_p0).projectPath, 47);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T23_); goto LA22_;}
			colontmpD__3 = T23_;
			T16_ = colontmpD__3;
			{
				LA22_:;
			}
			{
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA17_: ;
		nimZeroMem((void*)(&T26_), sizeof(tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA));
		newFileInfo__OOZOOZOOZcompilerZmsgs_u89(canon_1, T16_, (&T26_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__OOZOOZOOZcompilerZmsgs_u339((&(*conf_p0).m.fileInfos), (&T26_));
		X5BX5Deq___OOZOOZOOZcompilerZlineinfos_u646((&(*conf_p0).m.filenameToIndexTbl), canon2_1, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		LA1_:;
	}
	{
		if (canon2_1.p && !(canon2_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(canon2_1.p);
}
		if (canon_1.p && !(canon_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(canon_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__OOZOOZOOZcompilerZmsgs_u401)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 filename_p1) {
	NI32 result;
	NIM_BOOL dummy_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI32)0;
	dummy_1 = NIM_FALSE;
	result = fileInfoIdx__OOZOOZOOZcompilerZmsgs_u153(conf_p0, filename_p1, (&dummy_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isEmpty__OOZOOZOOZcompilerZoptions_u2599)(NimStringV2 x_p0) {
	NIM_BOOL result;
	result = (x_p0.len == ((NI)0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPathConsiderDirty__OOZOOZOOZcompilerZmsgs_u660)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		if (!(fileIdx_p1 < ((NI32)0))) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		{
			NimStringV2 blitTmp_1;
			if (!(fileIdx_p1 == ((NI32)-3))) goto LA7_;
			colontmpD_ = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_9;
			blitTmp_1 = colontmpD_;
			eqwasMoved___system_u2751((&colontmpD_));
			result = blitTmp_1;
		}
		goto LA5_;
LA7_: ;
		{
			NimStringV2 blitTmp_2;
			colontmpD__2 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_11;
			blitTmp_2 = colontmpD__2;
			eqwasMoved___system_u2751((&colontmpD__2));
			result = blitTmp_2;
		}
LA5_: ;
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T11_;
		if (fileIdx_p1 < 0 || fileIdx_p1 >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(fileIdx_p1,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
		}
		T11_ = (NIM_BOOL)0;
		T11_ = isEmpty__OOZOOZOOZcompilerZoptions_u2599((*conf_p0).m.fileInfos.p->data[fileIdx_p1].dirtyFile);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T11_)) goto LA12_;
		if (fileIdx_p1 < 0 || fileIdx_p1 >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(fileIdx_p1,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
		}
		eqcopy___system_u2754((&result), (*conf_p0).m.fileInfos.p->data[fileIdx_p1].dirtyFile);
	}
	goto LA1_;
LA12_: ;
	{
		if (fileIdx_p1 < 0 || fileIdx_p1 >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(fileIdx_p1,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
		}
		eqcopy___system_u2754((&result), (*conf_p0).m.fileInfos.p->data[fileIdx_p1].fullPath);
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__OOZOOZOOZcompilerZmsgs_u1065)(tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA s_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA, dotdot___OOZOOZOOZcompilerZmsgs_u997)(tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g a_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g b_p1) {
	tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___OOZOOZOOZcompilerZmsgs_u1106)(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA a_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA b_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (a_p0.line == b_p1.line);
	if (!(T1_)) goto LA2_;
	T1_ = (a_p0.fileIndex == b_p1.fileIndex);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, concat__OOZOOZOOZcompilerZmsgs_u440)(NimStringV2* strings_p0, NI strings_p0Len_0) {
	NimStringV2 result;
	NI totalLen_1;
{	result.len = 0; result.p = NIM_NIL;
	totalLen_1 = ((NI)0);
	{
		NimStringV2* s_1;
		NI i_1;
		s_1 = (NimStringV2*)0;
		i_1 = ((NI)0);
		{
			while (1) {
				NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_21;
				if (!(i_1 < strings_p0Len_0)) goto LA3;
				if (i_1 < 0 || i_1 >= strings_p0Len_0){ raiseIndexError2(i_1,strings_p0Len_0-1); goto BeforeRet_;
				}
				s_1 = (&strings_p0[i_1]);
				if (nimAddInt(totalLen_1, (*s_1).len, &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_21)) { raiseOverflow(); goto BeforeRet_;
				};
				totalLen_1 = (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_21);
				i_1 += ((NI)1);
			} LA3: ;
		}
	}
	if ((totalLen_1) < ((NI)0) || (totalLen_1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(totalLen_1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	result = rawNewString((totalLen_1));
	{
		NimStringV2* s_2;
		NI i_2;
		s_2 = (NimStringV2*)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < strings_p0Len_0)) goto LA6;
				if (i_2 < 0 || i_2 >= strings_p0Len_0){ raiseIndexError2(i_2,strings_p0Len_0-1); goto BeforeRet_;
				}
				s_2 = (&strings_p0[i_2]);
				prepareAdd((&result), (*s_2).len + 0);
appendString((&result), (*s_2));
				i_2 += ((NI)1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPath__OOZOOZOOZcompilerZmsgs_u621)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1) {
	NimStringV2 result;
{	{
		NIM_BOOL T3_;
		NimStringV2 T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = (fileIdx_p1 < ((NI32)0));
		if (T3_) goto LA4_;
		T3_ = (conf_p0 == ((tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw*) NIM_NIL));
LA4_: ;
		if (!T3_) goto LA5_;
		T7_.len = 0; T7_.p = NIM_NIL;
		{
			if (!(fileIdx_p1 == ((NI32)-3))) goto LA10_;
			result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_23;
		}
		goto LA8_;
LA10_: ;
		{
			result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_24;
		}
LA8_: ;
	}
	goto LA1_;
LA5_: ;
	{
		NimStringV2 colontmpD_;
		if (fileIdx_p1 < 0 || fileIdx_p1 >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(fileIdx_p1,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
		}
		colontmpD_ = eqdup___system_u2757((*conf_p0).m.fileInfos.p->data[fileIdx_p1].fullPath);
		result = colontmpD_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toProjPath__OOZOOZOOZcompilerZmsgs_u613)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1) {
	NimStringV2 result;
	NimStringV2 T1_;
{	T1_.len = 0; T1_.p = NIM_NIL;
	{
		NIM_BOOL T4_;
		NimStringV2 T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = (fileIdx_p1 < ((NI32)0));
		if (T4_) goto LA5_;
		T4_ = (conf_p0 == ((tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw*) NIM_NIL));
LA5_: ;
		if (!T4_) goto LA6_;
		T8_.len = 0; T8_.p = NIM_NIL;
		{
			if (!(fileIdx_p1 == ((NI32)-3))) goto LA11_;
			result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_25;
		}
		goto LA9_;
LA11_: ;
		{
			result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_26;
		}
LA9_: ;
	}
	goto LA2_;
LA6_: ;
	{
		NimStringV2 colontmpD_;
		if (fileIdx_p1 < 0 || fileIdx_p1 >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(fileIdx_p1,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
		}
		colontmpD_ = eqdup___system_u2757((*conf_p0).m.fileInfos.p->data[fileIdx_p1].projPath);
		result = colontmpD_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFilenameOption__OOZOOZOOZcompilerZmsgs_u679)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1, tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w opt_p2) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	switch (opt_p2) {
	case ((tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w)0):
	{
		result = toFullPath__OOZOOZOOZcompilerZmsgs_u621(conf_p0, fileIdx_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w)1):
	{
		result = toProjPath__OOZOOZOOZcompilerZmsgs_u613(conf_p0, fileIdx_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w)2):
	{
		NimStringV2 absPath_1;
		absPath_1.len = 0; absPath_1.p = NIM_NIL;
		absPath_1 = toFullPath__OOZOOZOOZcompilerZmsgs_u621(conf_p0, fileIdx_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		result = canonicalImportAux__OOZOOZOOZcompilerZoptions_u2746(conf_p0, absPath_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		{
			LA4_:;
		}
		{
			if (absPath_1.p && !(absPath_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(absPath_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w)4):
	{
		NimStringV2 colontmpD_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = toProjPath__OOZOOZOOZcompilerZmsgs_u613(conf_p0, fileIdx_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = noslastPathPart(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	break;
	case ((tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w)3):
	{
		NimStringV2 absPath_2;
		NimStringV2 relPath_1;
		NimStringV2 T9_;
		absPath_2.len = 0; absPath_2.p = NIM_NIL;
		relPath_1.len = 0; relPath_1.p = NIM_NIL;
		absPath_2 = toFullPath__OOZOOZOOZcompilerZmsgs_u621(conf_p0, fileIdx_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		relPath_1 = toProjPath__OOZOOZOOZcompilerZmsgs_u613(conf_p0, fileIdx_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T9_.len = 0; T9_.p = NIM_NIL;
		{
			NIM_BOOL T12_;
			NI T14_;
			T12_ = (NIM_BOOL)0;
			T12_ = (absPath_2.len < relPath_1.len);
			if (T12_) goto LA13_;
			T14_ = (NI)0;
			T14_ = nsuCountString(relPath_1, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_28, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T12_ = (((NI)2) < T14_);
LA13_: ;
			if (!T12_) goto LA15_;
			result = absPath_2;
			eqwasMoved___system_u2751((&absPath_2));
		}
		goto LA10_;
LA15_: ;
		{
			result = relPath_1;
			eqwasMoved___system_u2751((&relPath_1));
		}
LA10_: ;
		if (relPath_1.p && !(relPath_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(relPath_1.p);
}
		if (absPath_2.p && !(absPath_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(absPath_2.p);
}
	}
	break;
	case ((tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w)5):
	{
		{
			if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)36)))&63U)))!=0)) goto LA21_;
			result = toFilenameOption__OOZOOZOOZcompilerZmsgs_u679(conf_p0, fileIdx_p1, ((tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w)0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA19_;
LA21_: ;
		{
			result = toFilenameOption__OOZOOZOOZcompilerZmsgs_u679(conf_p0, fileIdx_p1, ((tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w)4));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA19_: ;
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toMsgFilename__OOZOOZOOZcompilerZmsgs_u691)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = toFilenameOption__OOZOOZOOZcompilerZmsgs_u679(conf_p0, fileIdx_p1, (*conf_p0).filenameOption);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1) {
	addInt__stdZprivateZdigitsutils_u187(result_p0, ((NI64) (x_p1)));
}
static N_INLINE(NimStringV2, toFileLineCol__OOZOOZOOZcompilerZmsgs_u710)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_22;
	colontmpD_ = toMsgFilename__OOZOOZOOZcompilerZmsgs_u691(conf_p0, info_p1.fileIndex);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	prepareAdd((&result), colontmpD_.len + 0);
appendString((&result), colontmpD_);
	{
		if (!(((NI)0) < ((NI) (info_p1.line)))) goto LA4_;
		prepareAdd((&result), 1);
appendString((&result), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_30);
		addInt__stdZprivateZdigitsutils_u204((&result), ((NI) (info_p1.line)));
		{
			NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_31;
			NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_34;
			if (nimAddInt(((NI) (info_p1.col)), ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_31)) { raiseOverflow(); goto LA1_;
			};
			if (!(((NI)0) < (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_31))) goto LA8_;
			prepareAdd((&result), 2);
appendString((&result), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_33);
			if (nimAddInt(((NI) (info_p1.col)), ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_34)) { raiseOverflow(); goto LA1_;
			};
			addInt__stdZprivateZdigitsutils_u204((&result), (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_34));
		}
LA8_: ;
		prepareAdd((&result), 1);
appendString((&result), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_36);
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, flushDot__OOZOOZOOZcompilerZmsgs_u38)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0) {
	FILE* colontmpD_;
	FILE* colontmpD__2;
	tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA colontmpD__3;
	tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA colontmpD__4;
	FILE* stdOrr_1;
	tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA stdOrrKind_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = (FILE*)0;
	colontmpD__2 = (FILE*)0;
	colontmpD__3 = (tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)0;
	colontmpD__4 = (tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)0;
	{
		if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)26)))&63U)))!=0)) goto LA3_;
		colontmpD_ = __stdoutp;
		stdOrr_1 = colontmpD_;
	}
	goto LA1_;
LA3_: ;
	{
		colontmpD__2 = __stderrp;
		stdOrr_1 = colontmpD__2;
	}
LA1_: ;
	{
		if (!(stdOrr_1 == __stdoutp)) goto LA8_;
		colontmpD__3 = ((tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)0);
		stdOrrKind_1 = colontmpD__3;
	}
	goto LA6_;
LA8_: ;
	{
		colontmpD__4 = ((tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)1);
		stdOrrKind_1 = colontmpD__4;
	}
LA6_: ;
	{
		if (!(((*conf_p0).lastMsgWasDot &((NU8)1<<((NU)((stdOrrKind_1))&7U)))!=0)) goto LA13_;
		(*conf_p0).lastMsgWasDot &= ~(((NU8)1) << (((stdOrrKind_1)) & 7));
		write__stdZsyncio_u254(stdOrr_1, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_41);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	}BeforeRet_: ;
}
static N_INLINE(void, writeLine__OOZOOZOOZcompilerZmsgs_u467)(FILE* f_p0, NimStringV2* x_p1, NI x_p1Len_0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2* i_1;
		NI i_2;
		i_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < x_p1Len_0)) goto LA3;
				if (i_2 < 0 || i_2 >= x_p1Len_0){ raiseIndexError2(i_2,x_p1Len_0-1); goto BeforeRet_;
				}
				i_1 = (&x_p1[i_2]);
				write__stdZsyncio_u254(f_p0, (*i_1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	write__stdZsyncio_u254(f_p0, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_42);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, writeContext__OOZOOZOOZcompilerZmsgs_u1114)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastinfo_p1) {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	info_1 = lastinfo_p1;
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (*conf_p0).m.msgContext.len;
		colontmp_ = T2_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyTuple__QV1TF4CGWRyoNF80eigmtg context_1;
				NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_47;
				if (!(i_2 < colontmp_)) goto LA4;
				nimZeroMem((void*)(&context_1), sizeof(tyTuple__QV1TF4CGWRyoNF80eigmtg));
				i_1 = i_2;
				if (i_1 < 0 || i_1 >= (*conf_p0).m.msgContext.len){ raiseIndexError2(i_1,(*conf_p0).m.msgContext.len-1); goto LA5_;
				}
				eqcopy___OOZOOZOOZcompilerZlineinfos_u1911((&context_1), (*conf_p0).m.msgContext.p->data[i_1]);
				{
					NIM_BOOL T8_;
					NIM_BOOL T9_;
					NIM_BOOL T11_;
					T8_ = (NIM_BOOL)0;
					T9_ = (NIM_BOOL)0;
					T9_ = eqeq___OOZOOZOOZcompilerZmsgs_u1106(context_1.Field0, lastinfo_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = !(T9_);
					if (!(T8_)) goto LA10_;
					T11_ = (NIM_BOOL)0;
					T11_ = eqeq___OOZOOZOOZcompilerZmsgs_u1106(context_1.Field0, info_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = !(T11_);
LA10_: ;
					if (!T8_) goto LA12_;
					{
						if (!!(((*conf_p0).structuredErrorHook.ClP_0 == TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_14.ClP_0 && (*conf_p0).structuredErrorHook.ClE_0 == TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_14.ClE_0))) goto LA16_;
						(*conf_p0).structuredErrorHook.ClE_0? (*conf_p0).structuredErrorHook.ClP_0(conf_p0, context_1.Field0, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_16, ((tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg)0), (*conf_p0).structuredErrorHook.ClE_0):((TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_17)((*conf_p0).structuredErrorHook.ClP_0))(conf_p0, context_1.Field0, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_16, ((tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg)0));
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
					goto LA14_;
LA16_: ;
					{
						NimStringV2 message_1;
						NimStringV2 T20_;
						message_1.len = 0; message_1.p = NIM_NIL;
						T20_.len = 0; T20_.p = NIM_NIL;
						{
							if (!(context_1.Field1.len == 0)) goto LA23_;
							message_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_18;
						}
						goto LA21_;
LA23_: ;
						{
							tyArray__YgExxhfgKcesA5EOUj1MOA T26_;
							T26_[0] = context_1.Field1;
							message_1 = nsuFormatVarargs(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_20, T26_, 1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						}
LA21_: ;
						{
							NimStringV2 colontmpD_;
							NimStringV2 colontmpD__2;
							tyArray__dyW7vpmfeTYw8kX3EXuaJA T32_;
							if (!!(((*conf_p0).writelnHook.ClP_0 == 0))) goto LA29_;
							colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							colontmpD_ = toFileLineCol__OOZOOZOOZcompilerZmsgs_u710(conf_p0, context_1.Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							T32_[0] = colontmpD_;
							T32_[1] = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_38;
							T32_[2] = message_1;
							colontmpD__2 = concat__OOZOOZOOZcompilerZmsgs_u440(T32_, 3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							(*conf_p0).writelnHook.ClE_0? (*conf_p0).writelnHook.ClP_0(colontmpD__2, (*conf_p0).writelnHook.ClE_0):((TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_39)((*conf_p0).writelnHook.ClP_0))(colontmpD__2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							{
								LA31_:;
							}
							{
								if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
								if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						}
						goto LA27_;
LA29_: ;
						{
							if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)26)))&63U)))!=0)) goto LA36_;
							{
								NimStringV2 colontmpD__3;
								tyArray__dyW7vpmfeTYw8kX3EXuaJA T43_;
								if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)0)))&7U)))!=0)) goto LA40_;
								colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
								flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								colontmpD__3 = toFileLineCol__OOZOOZOOZcompilerZmsgs_u710(conf_p0, context_1.Field0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								T43_[0] = colontmpD__3;
								T43_[1] = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_43;
								T43_[2] = message_1;
								writeLine__OOZOOZOOZcompilerZmsgs_u467(__stdoutp, T43_, 3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								flushFile__stdZsyncio_u278(__stdoutp);
								if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
								{
									LA42_:;
								}
								{
									if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
							}
LA40_: ;
						}
						goto LA27_;
LA36_: ;
						{
							if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)1)))&7U)))!=0)) goto LA47_;
							flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
							{
								NimStringV2 colontmpD__4;
								if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)24)))&63U)))!=0)) goto LA51_;
								colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
								setStyle__pureZterminal_u413(__stderrp, 1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								colontmpD__4 = toFileLineCol__OOZOOZOOZcompilerZmsgs_u710(conf_p0, context_1.Field0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								write__stdZsyncio_u254(__stderrp, colontmpD__4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								write__stdZsyncio_u254(__stderrp, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_44);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								resetAttributes__pureZterminal_u374(__stderrp);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								write__stdZsyncio_u254(__stderrp, message_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								resetAttributes__pureZterminal_u374(__stderrp);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								write__stdZsyncio_u254(__stderrp, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_45);
								if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
								{
									LA53_:;
								}
								{
									if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
							}
							goto LA49_;
LA51_: ;
							{
								NimStringV2 colontmpD__5;
								tyArray__dyW7vpmfeTYw8kX3EXuaJA T58_;
								colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
								colontmpD__5 = toFileLineCol__OOZOOZOOZcompilerZmsgs_u710(conf_p0, context_1.Field0);
								if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
								T58_[0] = colontmpD__5;
								T58_[1] = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_46;
								T58_[2] = message_1;
								writeLine__OOZOOZOOZcompilerZmsgs_u467(__stderrp, T58_, 3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
								{
									LA57_:;
								}
								{
									if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
							}
LA49_: ;
						}
						goto LA27_;
LA47_: ;
LA27_: ;
						{
							LA19_:;
						}
						{
							if (message_1.p && !(message_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(message_1.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					}
LA14_: ;
				}
LA12_: ;
				info_1 = context_1.Field0;
				if (nimAddInt(i_2, ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_47)) { raiseOverflow(); goto LA5_;
				};
				i_2 = (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_47);
				{
					LA5_:;
				}
				{
					eqdestroy___OOZOOZOOZcompilerZlineinfos_u1908((&context_1));
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA4: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, hasWarn__OOZOOZOOZcompilerZoptions_u611)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ note_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (((*conf_p0).options &((NU32)1<<((NU)((((tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q)13)))&31U)))!=0);
	if (!(T1_)) goto LA2_;
	T1_ = (((*conf_p0).notes[(NU)((note_p1 - 20))>>3] &(1U<<((NU)((note_p1 - 20))&7U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, msgKindToString__OOZOOZOOZcompilerZmsgs_u870)(tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g kind_p0) {
	NimStringV2 result;
	result.len = 0; result.p = NIM_NIL;
	eqcopy___system_u2754((&result), MsgKindToStr__OOZOOZOOZcompilerZlineinfos_u137[(kind_p0)- 0]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getMessageStr__OOZOOZOOZcompilerZmsgs_u873)(tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p0, NimStringV2 arg_p1) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	tyArray__YgExxhfgKcesA5EOUj1MOA T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = msgKindToString__OOZOOZOOZcompilerZmsgs_u870(msg_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_[0] = arg_p1;
	result = nsuFormatOpenArray(colontmpD_, T2_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ignoreMsgBecauseOfIdeTools__OOZOOZOOZcompilerZmsgs_u1178)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = (((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17) <= msg_p1);
	if (!(T2_)) goto LA3_;
	T2_ = ((*conf_p0).cmd == ((tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA)12));
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = !((((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)33)))&63U)))!=0));
LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, msgWrite__OOZOOZOOZcompilerZmsgs_u847)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 s_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg T3_;
		FILE* colontmpD_;
		FILE* colontmpD__2;
		tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA colontmpD__3;
		tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA colontmpD__4;
		FILE* stdOrr_1;
		tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA T11_;
		T3_ = 0;
		if (!!(((*conf_p0).m.errorOutputs == T3_))) goto LA4_;
		colontmpD_ = (FILE*)0;
		colontmpD__2 = (FILE*)0;
		colontmpD__3 = (tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)0;
		colontmpD__4 = (tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)0;
		{
			if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)26)))&63U)))!=0)) goto LA8_;
			colontmpD_ = __stdoutp;
			stdOrr_1 = colontmpD_;
		}
		goto LA6_;
LA8_: ;
		{
			colontmpD__2 = __stderrp;
			stdOrr_1 = colontmpD__2;
		}
LA6_: ;
		write__stdZsyncio_u254(stdOrr_1, s_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		flushFile__stdZsyncio_u278(stdOrr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T11_ = (tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)0;
		{
			if (!(stdOrr_1 == __stdoutp)) goto LA14_;
			colontmpD__3 = ((tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)0);
			T11_ = colontmpD__3;
		}
		goto LA12_;
LA14_: ;
		{
			colontmpD__4 = ((tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA)1);
			T11_ = colontmpD__4;
		}
LA12_: ;
		(*conf_p0).lastMsgWasDot |= ((NU8)1)<<(((T11_)) & 7);
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addSourceLine__OOZOOZOOZcompilerZmsgs_u1194)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1, NimStringV2 line_p2) {
	NimStringV2 colontmpD_;
{	if (fileIdx_p1 < 0 || fileIdx_p1 >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(fileIdx_p1,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
	}
	colontmpD_ = eqdup___system_u2757(line_p2);
	add__stdZenumutils_u70((&(*conf_p0).m.fileInfos.p->data[fileIdx_p1].lines), colontmpD_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, numLines__OOZOOZOOZcompilerZmsgs_u1202)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NI32 fileIdx_p1) {
	NI result;
	NI T1_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if (fileIdx_p1 < 0 || fileIdx_p1 >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(fileIdx_p1,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
	}
	T1_ = (*conf_p0).m.fileInfos.p->data[fileIdx_p1].lines.len;
	result = T1_;
	{
		NI T25_;
		if (!(result == ((NI)0))) goto LA4_;
		{
			NimStringV2 line_1;
			NimStringV2 colontmp_;
			NimStringV2 T9_;
			FILE* f_1;
			FILE* T10_;
			NimStringV2 res_1;
			line_1.len = 0; line_1.p = NIM_NIL;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			T9_.len = 0; T9_.p = NIM_NIL;
			T9_ = toFullPathConsiderDirty__OOZOOZOOZcompilerZmsgs_u660(conf_p0, fileIdx_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T9_); goto LA8_;}
			colontmp_ = T9_;
			T10_ = (FILE*)0;
			T10_ = open__stdZsyncio_u492(colontmp_, ((tyEnum_FileMode__wjF0STQGT1PBuQEl3p0tng)0), ((NI)8000));
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			f_1 = T10_;
			res_1.len = 0; res_1.p = NIM_NIL;
			res_1 = rawNewString(((NI)80));
			{
				while (1) {
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = readLine__stdZsyncio_u291(f_1, (&res_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					if (!T15_) goto LA14;
					eqcopy___system_u2754((&line_1), res_1);
					addSourceLine__OOZOOZOOZcompilerZmsgs_u1194(conf_p0, fileIdx_p1, line_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				} LA14: ;
			}
			{
				LA12_:;
			}
			{
				if (res_1.p && !(res_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(res_1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			{
				LA11_:;
			}
			{
				oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
				close__stdZsyncio_u269(f_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				*nimErr_ = oldNimErrFin11_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			{
				LA8_:;
			}
			{
				if (colontmp_.p && !(colontmp_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmp_.p);
}
				if (line_1.p && !(line_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(line_1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) {
			LA6_:;
			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3275107584)) {
				*nimErr_ = NIM_FALSE;
				popCurrentException();
				LA23_:;
			}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (fileIdx_p1 < 0 || fileIdx_p1 >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(fileIdx_p1,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
		}
		T25_ = (*conf_p0).m.fileInfos.p->data[fileIdx_p1].lines.len;
		result = T25_;
	}
LA4_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) - (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ (NI)((NU64) ~(b_p1))));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, sourceLine__OOZOOZOOZcompilerZmsgs_u1213)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA i_p1) {
	NimStringV2 result;
	NI num_1;
	NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_70;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		if (!(i_p1.fileIndex < ((NI32)0))) goto LA3_;
		result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_68;
		goto BeforeRet_;
	}
LA3_: ;
	num_1 = numLines__OOZOOZOOZcompilerZmsgs_u1202(conf_p0, i_p1.fileIndex);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(num_1 < ((NI) (i_p1.line)))) goto LA7_;
		result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_69;
		goto BeforeRet_;
	}
LA7_: ;
	if (i_p1.fileIndex < 0 || i_p1.fileIndex >= (*conf_p0).m.fileInfos.len){ raiseIndexError2(i_p1.fileIndex,(*conf_p0).m.fileInfos.len-1); goto BeforeRet_;
	}
	if (nimSubInt(((NI) (i_p1.line)), ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_70)) { raiseOverflow(); goto BeforeRet_;
	};
	if ((NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_70) < 0 || (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_70) >= (*conf_p0).m.fileInfos.p->data[i_p1.fileIndex].lines.len){ raiseIndexError2((NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_70),(*conf_p0).m.fileInfos.p->data[i_p1.fileIndex].lines.len-1); goto BeforeRet_;
	}
	eqcopy___system_u2754((&result), (*conf_p0).m.fileInfos.p->data[i_p1.fileIndex].lines.p->data[(NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_70)]);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, spaces__pureZstrutils_u1144)(NI n_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nsuRepeatChar(32, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1) {
	(*(*dest_p0).p).data[(*dest_p0).len] = c_p1;
	(*dest_p0).len += ((NI)1);
	(*(*dest_p0).p).data[(*dest_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getSurroundingSrc__OOZOOZOOZcompilerZmsgs_u1218)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		NimStringV2 colontmpD_;
		NimStringV2 T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasHint__OOZOOZOOZcompilerZoptions_u551(conf_p0, ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)112));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = eqeq___OOZOOZOOZcompilerZmsgs_u1106(info_p1, unknownLineInfo__OOZOOZOOZcompilerZlineinfos_u364);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = !(T5_);
LA4_: ;
		if (!T3_) goto LA6_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		T8_.len = 0; T8_.p = NIM_NIL;
		colontmpD_ = sourceLine__OOZOOZOOZcompilerZmsgs_u1213(conf_p0, info_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T8_ = rawNewString(colontmpD_.len + 3);
appendString((&T8_), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_67);
appendString((&T8_), colontmpD_);
		result = T8_;
		{
			NimStringV2 colontmpD__2;
			NimStringV2 colontmpD__3;
			NimStringV2 T13_;
			if (!(((NI16)0) <= info_p1.col)) goto LA11_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			T13_.len = 0; T13_.p = NIM_NIL;
			if ((info_p1.col) < ((NI)0) || (info_p1.col) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(info_p1.col, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
			}
			colontmpD__2 = spaces__pureZstrutils_u1144(((NI) (info_p1.col)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T13_ = rawNewString(colontmpD__2.len + 4);
appendString((&T13_), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_71);
appendString((&T13_), colontmpD__2);
appendChar((&T13_), 94);
			colontmpD__3 = T13_;
			prepareAdd((&result), colontmpD__3.len + 0);
appendString((&result), colontmpD__3);
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		}
LA11_: ;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	goto LA1_;
LA6_: ;
	{
		result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_72;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, toFileLineCol__OOZOOZOOZcompilerZmsgs_u704)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info_p0) {
	NimStringV2 result;
{	result = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_75;
	prepareAdd((&result), (*info_p0).Field0.len + 0);
appendString((&result), (*info_p0).Field0);
	{
		if (!(((NI)0) < (*info_p0).Field1)) goto LA3_;
		prepareAdd((&result), 1);
appendString((&result), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_76);
		addInt__stdZprivateZdigitsutils_u204((&result), (*info_p0).Field1);
		{
			NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_77;
			NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_79;
			if (nimAddInt((*info_p0).Field2, ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_77)) { raiseOverflow(); goto BeforeRet_;
			};
			if (!(((NI)0) < (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_77))) goto LA7_;
			prepareAdd((&result), 2);
appendString((&result), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_78);
			if (nimAddInt((*info_p0).Field2, ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_79)) { raiseOverflow(); goto BeforeRet_;
			};
			addInt__stdZprivateZdigitsutils_u204((&result), (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_79));
		}
LA7_: ;
		prepareAdd((&result), 1);
appendString((&result), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_80);
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, log__OOZOOZOOZcompilerZmsgs_u884)(NimStringV2 s_p0) {
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	FILE* f_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	f_1 = 0;
	{
		NIM_BOOL T4_;
		tyArray__YgExxhfgKcesA5EOUj1MOA T7_;
		colontmpD_ = nosgetHomeDir();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__2 = slash___stdZprivateZospaths2_u88(colontmpD_, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_98);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (NIM_BOOL)0;
		T4_ = open__stdZsyncio_u413(&f_1, colontmpD__2, ((tyEnum_FileMode__wjF0STQGT1PBuQEl3p0tng)4), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		T7_[0] = s_p0;
		writeLine__OOZOOZOOZcompilerZmsgs_u467(f_1, T7_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		close__stdZsyncio_u269(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	{
		LA1_:;
	}
	{
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, quit__system_u8428)(NI errorcode_p0) {
	{
		if (!(errorcode_p0 < ((NI)-128))) goto LA3_;
		exit(((int)-128));
	}
	goto LA1_;
LA3_: ;
	{
		if (!(((NI)127) < errorcode_p0)) goto LA6_;
		exit(((int)127));
	}
	goto LA1_;
LA6_: ;
	{
		exit(((int) (errorcode_p0)));
	}
LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, quit__OOZOOZOOZcompilerZmsgs_u895)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isDefined__OOZOOZOOZcompilerZoptions_u953(conf_p0, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_100);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			NimStringV2 colontmpD_;
			T8_ = (NIM_BOOL)0;
			T8_ = isDefined__OOZOOZOOZcompilerZoptions_u953(conf_p0, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_101);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T8_) goto LA9_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD_ = dollar___OOZOOZOOZcompilerZlineinfos_u134(msg_p1);
			raiseAssert__stdZassertions_u28(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
		goto LA6_;
LA9_: ;
		{
			NimStringV2 colontmpD__2;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__2 = dollar___OOZOOZOOZcompilerZlineinfos_u134(msg_p1);
			quit__system_u8447(colontmpD__2, ((NI)1));
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		}
LA6_: ;
	}
	goto LA1_;
LA4_: ;
	{
		NIM_BOOL T13_;
		NIM_BOOL T14_;
		T13_ = (NIM_BOOL)0;
		T14_ = (NIM_BOOL)0;
		T14_ = NIM_FALSE;
		if (T14_) goto LA15_;
		T14_ = (msg_p1 == ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)2));
LA15_: ;
		T13_ = T14_;
		if (T13_) goto LA16_;
		T13_ = hasHint__OOZOOZOOZcompilerZoptions_u551(conf_p0, ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)114));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA16_: ;
		if (!T13_) goto LA17_;
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = stackTraceAvailable__system_u4093();
			if (!(T21_)) goto LA22_;
			T21_ = ((*conf_p0).writelnHook.ClP_0 == 0);
LA22_: ;
			if (!T21_) goto LA23_;
			writeStackTrace__system_u2767();
		}
		goto LA19_;
LA23_: ;
		{
			{
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T31_;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T32_;
				if (!!(((*conf_p0).writelnHook.ClP_0 == 0))) goto LA28_;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				T32_[0] = (*conf_p0).command;
				colontmpD__3 = createDocLink__OOZOOZOOZcompilerZlineinfos_u6(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_105);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				T32_[1] = colontmpD__3;
				colontmpD__4 = nsuFormatOpenArray(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_103, T32_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				T31_[0] = colontmpD__4;
				T31_[1] = (*conf_p0).unitSep;
				colontmpD__5 = concat__OOZOOZOOZcompilerZmsgs_u440(T31_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				(*conf_p0).writelnHook.ClE_0? (*conf_p0).writelnHook.ClP_0(colontmpD__5, (*conf_p0).writelnHook.ClE_0):((TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_106)((*conf_p0).writelnHook.ClP_0))(colontmpD__5);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
				{
					LA30_:;
				}
				{
					if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
					if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
					if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA26_;
LA28_: ;
			{
				if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)26)))&63U)))!=0)) goto LA36_;
				{
					NimStringV2 colontmpD__6;
					NimStringV2 colontmpD__7;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T43_;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T44_;
					if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)0)))&7U)))!=0)) goto LA40_;
					colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
					colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
					flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					T44_[0] = (*conf_p0).command;
					colontmpD__6 = createDocLink__OOZOOZOOZcompilerZlineinfos_u6(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_108);
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					T44_[1] = colontmpD__6;
					colontmpD__7 = nsuFormatOpenArray(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_107, T44_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					T43_[0] = colontmpD__7;
					T43_[1] = (*conf_p0).unitSep;
					writeLine__OOZOOZOOZcompilerZmsgs_u467(__stdoutp, T43_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					flushFile__stdZsyncio_u278(__stdoutp);
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
					{
						LA42_:;
					}
					{
						if (colontmpD__7.p && !(colontmpD__7.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__7.p);
}
						if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA40_: ;
			}
			goto LA26_;
LA36_: ;
			{
				if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)1)))&7U)))!=0)) goto LA48_;
				flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NimStringV2 colontmpD__8;
					NimStringV2 colontmpD__9;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T55_;
					if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)24)))&63U)))!=0)) goto LA52_;
					colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
					colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
					setForegroundColor__pureZterminal_u509(__stderrp, ((tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)31), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					T55_[0] = (*conf_p0).command;
					colontmpD__8 = createDocLink__OOZOOZOOZcompilerZlineinfos_u6(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_110);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					T55_[1] = colontmpD__8;
					colontmpD__9 = nsuFormatOpenArray(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_109, T55_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					write__stdZsyncio_u254(__stderrp, colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					write__stdZsyncio_u254(__stderrp, (*conf_p0).unitSep);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					resetAttributes__pureZterminal_u374(__stderrp);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					write__stdZsyncio_u254(__stderrp, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_111);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					{
						LA54_:;
					}
					{
						if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
						if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA50_;
LA52_: ;
				{
					NimStringV2 colontmpD__10;
					NimStringV2 colontmpD__11;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T60_;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T61_;
					colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
					colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
					T61_[0] = (*conf_p0).command;
					colontmpD__10 = createDocLink__OOZOOZOOZcompilerZlineinfos_u6(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_113);
					if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
					T61_[1] = colontmpD__10;
					colontmpD__11 = nsuFormatOpenArray(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_112, T61_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
					T60_[0] = colontmpD__11;
					T60_[1] = (*conf_p0).unitSep;
					writeLine__OOZOOZOOZcompilerZmsgs_u467(__stderrp, T60_, 2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
					{
						LA59_:;
					}
					{
						if (colontmpD__11.p && !(colontmpD__11.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__11.p);
}
						if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA50_: ;
			}
			goto LA26_;
LA48_: ;
LA26_: ;
		}
LA19_: ;
	}
	goto LA1_;
LA17_: ;
LA1_: ;
	quit__system_u8428(((NI)1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, handleError__OOZOOZOOZcompilerZmsgs_u967)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ eh_p2, NimStringV2 s_p3, NIM_BOOL ignoreMsg_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(msg_p1 >= ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)0) && msg_p1 <= ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)2))) goto LA3_;
		{
			if (!((*conf_p0).cmd == ((tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA)12))) goto LA7_;
			log__OOZOOZOOZcompilerZmsgs_u884(s_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = !(((*conf_p0).cmd == ((tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA)12)));
			if (T11_) goto LA12_;
			T11_ = !((msg_p1 == ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)1)));
LA12_: ;
			if (!T11_) goto LA13_;
			quit__OOZOOZOOZcompilerZmsgs_u895(conf_p0, msg_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
	}
LA3_: ;
	{
		NIM_BOOL T17_;
		NIM_BOOL T18_;
		NIM_BOOL T21_;
		NIM_BOOL T22_;
		tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA T23_;
		NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_114;
		T17_ = (NIM_BOOL)0;
		T18_ = (NIM_BOOL)0;
		T18_ = (((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)0) <= msg_p1);
		if (!(T18_)) goto LA19_;
		T18_ = (msg_p1 <= ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)19));
LA19_: ;
		T17_ = T18_;
		if (T17_) goto LA20_;
		T21_ = (NIM_BOOL)0;
		T22_ = (NIM_BOOL)0;
		T23_ = dotdot___OOZOOZOOZcompilerZmsgs_u997(((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)20), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)123));
		T22_ = contains__OOZOOZOOZcompilerZmsgs_u1065(T23_, msg_p1);
		if (!(T22_)) goto LA24_;
		if ((msg_p1) < ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20) || (msg_p1) > ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)){ raiseRangeErrorI(msg_p1, ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20), ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)); goto BeforeRet_;
		}
		T22_ = (((*conf_p0).warningAsErrors[(NU)(((msg_p1) - 20))>>3] &(1U<<((NU)(((msg_p1) - 20))&7U)))!=0);
LA24_: ;
		T21_ = T22_;
		if (!(T21_)) goto LA25_;
		T21_ = !(ignoreMsg_p4);
LA25_: ;
		T17_ = T21_;
LA20_: ;
		if (!T17_) goto LA26_;
		if (nimAddInt((*conf_p0).errorCounter, ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_114)) { raiseOverflow(); goto BeforeRet_;
		};
		(*conf_p0).errorCounter = (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_114);
		(*conf_p0).exitcode = ((NI8)1);
		{
			if (!((*conf_p0).errorMax <= (*conf_p0).errorCounter)) goto LA30_;
			{
				if (!((*conf_p0).ideCmd == ((tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA)0))) goto LA34_;
				quit__OOZOOZOOZcompilerZmsgs_u895(conf_p0, msg_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA34_: ;
		}
		goto LA28_;
LA30_: ;
		{
			NIM_BOOL T37_;
			T37_ = (NIM_BOOL)0;
			T37_ = (eh_p2 == ((tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ)1));
			if (!(T37_)) goto LA38_;
			T37_ = !(((*conf_p0).cmd == ((tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA)12)));
LA38_: ;
			if (!T37_) goto LA39_;
			quit__OOZOOZOOZcompilerZmsgs_u895(conf_p0, msg_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA28_;
LA39_: ;
		{
			if (!(eh_p2 == ((tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ)2))) goto LA42_;
			raiseRecoverableError__OOZOOZOOZcompilerZlineinfos_u299(s_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA28_;
LA42_: ;
LA28_: ;
	}
LA26_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NOINLINE(void, liMessage__OOZOOZOOZcompilerZmsgs_u1230)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7) {
	NimStringV2 title_1;
	NimStringV2 kind_1;
	NimStringV2 s_1;
	tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg color_1;
	NIM_BOOL ignoreMsg_1;
	tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg sev_1;
	tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg errorOutputsOld_1;
	NimStringV2 T6_;
	NimStringV2 T43_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	title_1.len = 0; title_1.p = NIM_NIL;
	kind_1.len = 0; kind_1.p = NIM_NIL;
	s_1.len = 0; s_1.p = NIM_NIL;
	color_1 = (tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)0;
	ignoreMsg_1 = NIM_FALSE;
	sev_1 = (tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg)0;
	errorOutputsOld_1 = (*conf_p0).m.errorOutputs;
	{
		if (!(msg_p2 >= ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)0) && msg_p2 <= ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)2))) goto LA4_;
		(*conf_p0).m.errorOutputs = 3;
	}
LA4_: ;
	T6_.len = 0; T6_.p = NIM_NIL;
	{
		NIM_BOOL T9_;
		tyObject_HSlice__ywMckNOgxe2oCB9az3FGJrA T10_;
		T9_ = (NIM_BOOL)0;
		T10_ = dotdot___OOZOOZOOZcompilerZmsgs_u997(((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)20), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)123));
		T9_ = contains__OOZOOZOOZcompilerZmsgs_u1065(T10_, msg_p2);
		if (!(T9_)) goto LA11_;
		T9_ = !((msg_p2 == ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)119)));
LA11_: ;
		if (!T9_) goto LA12_;
		kind_1 = dollar___OOZOOZOOZcompilerZlineinfos_u134(msg_p2);
	}
	goto LA7_;
LA12_: ;
	{
		kind_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_13;
	}
LA7_: ;
	switch (msg_p2) {
	case ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)0) ... ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)19):
	{
		sev_1 = ((tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg)2);
		writeContext__OOZOOZOOZcompilerZmsgs_u1114(conf_p0, info_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		title_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_49;
		color_1 = ((tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)31);
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = eqeq___OOZOOZOOZcompilerZmsgs_u1106(info_p1, unknownLineInfo__OOZOOZOOZcompilerZlineinfos_u364);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T18_)) goto LA19_;
			(*conf_p0).m.lastError = info_p1;
		}
LA19_: ;
	}
	break;
	case ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)20) ... ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)88):
	{
		NIM_BOOL T22_;
		NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_53;
		sev_1 = ((tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg)1);
		if ((msg_p2) < ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20) || (msg_p2) > ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)){ raiseRangeErrorI(msg_p2, ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20), ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)); goto LA1_;
		}
		T22_ = (NIM_BOOL)0;
		T22_ = hasWarn__OOZOOZOOZcompilerZoptions_u611(conf_p0, (msg_p2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		ignoreMsg_1 = !(T22_);
		{
			NIM_BOOL T25_;
			T25_ = (NIM_BOOL)0;
			T25_ = !(ignoreMsg_1);
			if (!(T25_)) goto LA26_;
			if ((msg_p2) < ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20) || (msg_p2) > ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)){ raiseRangeErrorI(msg_p2, ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20), ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)); goto LA1_;
			}
			T25_ = (((*conf_p0).warningAsErrors[(NU)(((msg_p2) - 20))>>3] &(1U<<((NU)(((msg_p2) - 20))&7U)))!=0);
LA26_: ;
			if (!T25_) goto LA27_;
			title_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_50;
			color_1 = ((tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)31);
		}
		goto LA23_;
LA27_: ;
		{
			title_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_52;
			color_1 = ((tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)33);
		}
LA23_: ;
		{
			if (!!(ignoreMsg_1)) goto LA32_;
			writeContext__OOZOOZOOZcompilerZmsgs_u1114(conf_p0, info_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA32_: ;
		if (nimAddInt((*conf_p0).warnCounter, ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_53)) { raiseOverflow(); goto LA1_;
		};
		(*conf_p0).warnCounter = (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_53);
	}
	break;
	case ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)89) ... ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)123):
	{
		NIM_BOOL T35_;
		NI TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_57;
		sev_1 = ((tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg)0);
		if ((msg_p2) < ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20) || (msg_p2) > ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)){ raiseRangeErrorI(msg_p2, ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20), ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)); goto LA1_;
		}
		T35_ = (NIM_BOOL)0;
		T35_ = hasHint__OOZOOZOOZcompilerZoptions_u551(conf_p0, (msg_p2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		ignoreMsg_1 = !(T35_);
		{
			NIM_BOOL T38_;
			T38_ = (NIM_BOOL)0;
			T38_ = !(ignoreMsg_1);
			if (!(T38_)) goto LA39_;
			if ((msg_p2) < ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20) || (msg_p2) > ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)){ raiseRangeErrorI(msg_p2, ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)20), ((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)123)); goto LA1_;
			}
			T38_ = (((*conf_p0).warningAsErrors[(NU)(((msg_p2) - 20))>>3] &(1U<<((NU)(((msg_p2) - 20))&7U)))!=0);
LA39_: ;
			if (!T38_) goto LA40_;
			title_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_54;
			color_1 = ((tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)31);
		}
		goto LA36_;
LA40_: ;
		{
			title_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_56;
			color_1 = ((tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)32);
		}
LA36_: ;
		if (nimAddInt((*conf_p0).hintCounter, ((NI)1), &TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_57)) { raiseOverflow(); goto LA1_;
		};
		(*conf_p0).hintCounter = (NI)(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_57);
	}
	break;
	default: __builtin_unreachable();
	}
	T43_.len = 0; T43_.p = NIM_NIL;
	{
		if (!isRaw_p6) goto LA46_;
		eqcopy___system_u2754((&s_1), arg_p3);
	}
	goto LA44_;
LA46_: ;
	{
		s_1 = getMessageStr__OOZOOZOOZcompilerZmsgs_u873(msg_p2, arg_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA44_: ;
	{
		NimStringV2 loc_1;
		NimStringV2 kindmsg_1;
		NimStringV2 T54_;
		NimStringV2 T65_;
		if (!!(ignoreMsg_1)) goto LA51_;
		loc_1.len = 0; loc_1.p = NIM_NIL;
		kindmsg_1.len = 0; kindmsg_1.p = NIM_NIL;
		T54_.len = 0; T54_.p = NIM_NIL;
		{
			NIM_BOOL T57_;
			NimStringV2 colontmpD_;
			NimStringV2 T61_;
			T57_ = (NIM_BOOL)0;
			T57_ = eqeq___OOZOOZOOZcompilerZmsgs_u1106(info_p1, unknownLineInfo__OOZOOZOOZcompilerZlineinfos_u364);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			if (!!(T57_)) goto LA58_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			T61_.len = 0; T61_.p = NIM_NIL;
			colontmpD_ = toFileLineCol__OOZOOZOOZcompilerZmsgs_u710(conf_p0, info_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
			T61_ = rawNewString(colontmpD_.len + 1);
appendString((&T61_), colontmpD_);
appendString((&T61_), TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_58);
			loc_1 = T61_;
			{
				LA60_:;
			}
			{
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		}
		goto LA55_;
LA58_: ;
		{
			loc_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_59;
		}
LA55_: ;
		T65_.len = 0; T65_.p = NIM_NIL;
		{
			if (!(((NI)0) < kind_1.len)) goto LA68_;
			kindmsg_1 = nsuFormatSingleElem(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_61, kind_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
		}
		goto LA66_;
LA68_: ;
		{
			kindmsg_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_62;
		}
LA66_: ;
		{
			NimStringV2 colontmpD__2;
			NimStringV2 T75_;
			if (!!(((*conf_p0).structuredErrorHook.ClP_0 == TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_14.ClP_0 && (*conf_p0).structuredErrorHook.ClE_0 == TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_14.ClE_0))) goto LA73_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T75_.len = 0; T75_.p = NIM_NIL;
			T75_ = rawNewString(s_1.len + kindmsg_1.len + 0);
appendString((&T75_), s_1);
appendString((&T75_), kindmsg_1);
			colontmpD__2 = T75_;
			(*conf_p0).structuredErrorHook.ClE_0? (*conf_p0).structuredErrorHook.ClP_0(conf_p0, info_p1, colontmpD__2, sev_1, (*conf_p0).structuredErrorHook.ClE_0):((TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_63)((*conf_p0).structuredErrorHook.ClP_0))(conf_p0, info_p1, colontmpD__2, sev_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		}
LA73_: ;
		{
			NIM_BOOL T78_;
			T78_ = (NIM_BOOL)0;
			T78_ = ignoreMsgBecauseOfIdeTools__OOZOOZOOZcompilerZmsgs_u1178(conf_p0, msg_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			if (!!(T78_)) goto LA79_;
			{
				NIM_BOOL T83_;
				T83_ = (NIM_BOOL)0;
				T83_ = (msg_p2 == ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)99));
				if (!(T83_)) goto LA84_;
				T83_ = (*conf_p0).hintProcessingDots;
LA84_: ;
				if (!T83_) goto LA85_;
				msgWrite__OOZOOZOOZcompilerZmsgs_u847(conf_p0, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_65);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			}
			goto LA81_;
LA85_: ;
			{
				{
					NimStringV2 colontmpD__3;
					NimStringV2 colontmpD__4;
					tyArray__A2YC0h9cZydgH7zGAndH9bLg T92_;
					if (!!(((*conf_p0).writelnHook.ClP_0 == 0))) goto LA90_;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					T92_[0] = loc_1;
					T92_[1] = title_1;
					T92_[2] = s_1;
					T92_[3] = kindmsg_1;
					colontmpD__3 = getSurroundingSrc__OOZOOZOOZcompilerZmsgs_u1218(conf_p0, info_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					T92_[4] = colontmpD__3;
					T92_[5] = (*conf_p0).unitSep;
					colontmpD__4 = concat__OOZOOZOOZcompilerZmsgs_u440(T92_, 6);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					(*conf_p0).writelnHook.ClE_0? (*conf_p0).writelnHook.ClP_0(colontmpD__4, (*conf_p0).writelnHook.ClE_0):((TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_73)((*conf_p0).writelnHook.ClP_0))(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
					if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
				}
				goto LA88_;
LA90_: ;
				{
					if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)26)))&63U)))!=0)) goto LA94_;
					{
						NimStringV2 colontmpD__5;
						tyArray__A2YC0h9cZydgH7zGAndH9bLg T101_;
						if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)0)))&7U)))!=0)) goto LA98_;
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
						T101_[0] = loc_1;
						T101_[1] = title_1;
						T101_[2] = s_1;
						T101_[3] = kindmsg_1;
						colontmpD__5 = getSurroundingSrc__OOZOOZOOZcompilerZmsgs_u1218(conf_p0, info_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
						T101_[4] = colontmpD__5;
						T101_[5] = (*conf_p0).unitSep;
						writeLine__OOZOOZOOZcompilerZmsgs_u467(__stdoutp, T101_, 6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
						flushFile__stdZsyncio_u278(__stdoutp);
						if (NIM_UNLIKELY(*nimErr_)) goto LA100_;
						{
							LA100_:;
						}
						{
							if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					}
LA98_: ;
				}
				goto LA88_;
LA94_: ;
				{
					if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)1)))&7U)))!=0)) goto LA105_;
					flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					{
						NimStringV2 colontmpD__6;
						if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)24)))&63U)))!=0)) goto LA109_;
						colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
						setStyle__pureZterminal_u413(__stderrp, 1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						write__stdZsyncio_u254(__stderrp, loc_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						resetAttributes__pureZterminal_u374(__stderrp);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						setForegroundColor__pureZterminal_u509(__stderrp, color_1, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						write__stdZsyncio_u254(__stderrp, title_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						resetAttributes__pureZterminal_u374(__stderrp);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						write__stdZsyncio_u254(__stderrp, s_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						setForegroundColor__pureZterminal_u509(__stderrp, ((tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)36), NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						write__stdZsyncio_u254(__stderrp, kindmsg_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						resetAttributes__pureZterminal_u374(__stderrp);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						colontmpD__6 = getSurroundingSrc__OOZOOZOOZcompilerZmsgs_u1218(conf_p0, info_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						write__stdZsyncio_u254(__stderrp, colontmpD__6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						write__stdZsyncio_u254(__stderrp, (*conf_p0).unitSep);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						resetAttributes__pureZterminal_u374(__stderrp);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						write__stdZsyncio_u254(__stderrp, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_74);
						if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
						{
							LA111_:;
						}
						{
							if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					}
					goto LA107_;
LA109_: ;
					{
						NimStringV2 colontmpD__7;
						tyArray__A2YC0h9cZydgH7zGAndH9bLg T116_;
						colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
						T116_[0] = loc_1;
						T116_[1] = title_1;
						T116_[2] = s_1;
						T116_[3] = kindmsg_1;
						colontmpD__7 = getSurroundingSrc__OOZOOZOOZcompilerZmsgs_u1218(conf_p0, info_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						T116_[4] = colontmpD__7;
						T116_[5] = (*conf_p0).unitSep;
						writeLine__OOZOOZOOZcompilerZmsgs_u467(__stderrp, T116_, 6);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						{
							LA115_:;
						}
						{
							if (colontmpD__7.p && !(colontmpD__7.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__7.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					}
LA107_: ;
				}
				goto LA88_;
LA105_: ;
LA88_: ;
				{
					if (!(((*conf_p0).mainPackageNotes[(NU)((((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)122) - 20))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ)122) - 20))&7U)))!=0)) goto LA121_;
					{
						NimStringV2 colontmpD__8;
						NimStringV2 colontmpD__9;
						NimStringV2 colontmpD__10;
						tyArray__Seu7uK9aaOSN0BK3EAjjSHw T128_;
						if (!!(((*conf_p0).writelnHook.ClP_0 == 0))) goto LA125_;
						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;
						colontmpD__8 = toFileLineCol__OOZOOZOOZcompilerZmsgs_u704(info2_p5);
						if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
						T128_[0] = colontmpD__8;
						T128_[1] = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_82;
						colontmpD__9 = nsuFormatSingleElem(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_83, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_85);
						if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
						T128_[2] = colontmpD__9;
						T128_[3] = (*conf_p0).unitSep;
						colontmpD__10 = concat__OOZOOZOOZcompilerZmsgs_u440(T128_, 4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
						(*conf_p0).writelnHook.ClE_0? (*conf_p0).writelnHook.ClP_0(colontmpD__10, (*conf_p0).writelnHook.ClE_0):((TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_86)((*conf_p0).writelnHook.ClP_0))(colontmpD__10);
						if (NIM_UNLIKELY(*nimErr_)) goto LA127_;
						{
							LA127_:;
						}
						{
							if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
							if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
							if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
					}
					goto LA123_;
LA125_: ;
					{
						if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)26)))&63U)))!=0)) goto LA132_;
						{
							NimStringV2 colontmpD__11;
							NimStringV2 colontmpD__12;
							tyArray__Seu7uK9aaOSN0BK3EAjjSHw T139_;
							if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)0)))&7U)))!=0)) goto LA136_;
							colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
							colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
							flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
							colontmpD__11 = toFileLineCol__OOZOOZOOZcompilerZmsgs_u704(info2_p5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
							T139_[0] = colontmpD__11;
							T139_[1] = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_87;
							colontmpD__12 = nsuFormatSingleElem(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_88, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_89);
							if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
							T139_[2] = colontmpD__12;
							T139_[3] = (*conf_p0).unitSep;
							writeLine__OOZOOZOOZcompilerZmsgs_u467(__stdoutp, T139_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
							flushFile__stdZsyncio_u278(__stdoutp);
							if (NIM_UNLIKELY(*nimErr_)) goto LA138_;
							{
								LA138_:;
							}
							{
								if (colontmpD__12.p && !(colontmpD__12.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__12.p);
}
								if (colontmpD__11.p && !(colontmpD__11.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__11.p);
}
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						}
LA136_: ;
					}
					goto LA123_;
LA132_: ;
					{
						if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)1)))&7U)))!=0)) goto LA143_;
						flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						{
							NimStringV2 colontmpD__13;
							NimStringV2 colontmpD__14;
							if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)24)))&63U)))!=0)) goto LA147_;
							colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
							colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
							setStyle__pureZterminal_u413(__stderrp, 1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							colontmpD__13 = toFileLineCol__OOZOOZOOZcompilerZmsgs_u704(info2_p5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							write__stdZsyncio_u254(__stderrp, colontmpD__13);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							resetAttributes__pureZterminal_u374(__stderrp);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							write__stdZsyncio_u254(__stderrp, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_90);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							setForegroundColor__pureZterminal_u509(__stderrp, ((tyEnum_ForegroundColor__ratYsRpCv8ahCFl8K1T9aJg)36), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							colontmpD__14 = nsuFormatSingleElem(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_91, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_92);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							write__stdZsyncio_u254(__stderrp, colontmpD__14);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							resetAttributes__pureZterminal_u374(__stderrp);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							write__stdZsyncio_u254(__stderrp, (*conf_p0).unitSep);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							resetAttributes__pureZterminal_u374(__stderrp);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							write__stdZsyncio_u254(__stderrp, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_93);
							if (NIM_UNLIKELY(*nimErr_)) goto LA149_;
							{
								LA149_:;
							}
							{
								if (colontmpD__14.p && !(colontmpD__14.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__14.p);
}
								if (colontmpD__13.p && !(colontmpD__13.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__13.p);
}
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						}
						goto LA145_;
LA147_: ;
						{
							NimStringV2 colontmpD__15;
							NimStringV2 colontmpD__16;
							tyArray__Seu7uK9aaOSN0BK3EAjjSHw T154_;
							colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
							colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
							colontmpD__15 = toFileLineCol__OOZOOZOOZcompilerZmsgs_u704(info2_p5);
							if (NIM_UNLIKELY(*nimErr_)) goto LA153_;
							T154_[0] = colontmpD__15;
							T154_[1] = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_94;
							colontmpD__16 = nsuFormatSingleElem(TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_95, TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_96);
							if (NIM_UNLIKELY(*nimErr_)) goto LA153_;
							T154_[2] = colontmpD__16;
							T154_[3] = (*conf_p0).unitSep;
							writeLine__OOZOOZOOZcompilerZmsgs_u467(__stderrp, T154_, 4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA153_;
							{
								LA153_:;
							}
							{
								if (colontmpD__16.p && !(colontmpD__16.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__16.p);
}
								if (colontmpD__15.p && !(colontmpD__15.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__15.p);
}
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						}
LA145_: ;
					}
					goto LA123_;
LA143_: ;
LA123_: ;
				}
LA121_: ;
			}
LA81_: ;
		}
LA79_: ;
		{
			LA53_:;
		}
		{
			if (kindmsg_1.p && !(kindmsg_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(kindmsg_1.p);
}
			if (loc_1.p && !(loc_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(loc_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA51_: ;
	{
		if (!!(ignoreError_p7)) goto LA161_;
		handleError__OOZOOZOOZcompilerZmsgs_u967(conf_p0, msg_p2, eh_p4, s_1, ignoreMsg_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA161_: ;
	{
		if (!(msg_p2 >= ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)0) && msg_p2 <= ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)2))) goto LA165_;
		(*conf_p0).m.errorOutputs = errorOutputsOld_1;
	}
LA165_: ;
	{
		LA1_:;
	}
	{
		if (s_1.p && !(s_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(s_1.p);
}
		if (kind_1.p && !(kind_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(kind_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, newLineInfo__OOZOOZOOZcompilerZmsgs_u416)(NI32 fileInfoIdx_p0, NI line_p1, NI col_p2) {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA result;
{	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA));
	result.fileIndex = fileInfoIdx_p0;
	{
		if (!(line_p1 < ((NI)65535))) goto LA3_;
		result.line = ((NU16) (line_p1));
	}
	goto LA1_;
LA3_: ;
	{
		result.line = ((NU16)65535);
	}
LA1_: ;
	{
		if (!(col_p2 < ((NI)32767))) goto LA8_;
		if ((col_p2) < ((NI16)-32768) || (col_p2) > ((NI16)32767)){ raiseRangeErrorI(col_p2, ((NI16)-32768), ((NI16)32767)); goto BeforeRet_;
		}
		result.col = ((NI16) (col_p2));
	}
	goto LA6_;
LA8_: ;
	{
		result.col = ((NI16)-1);
	}
LA6_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__OOZOOZOOZcompilerZmsgs_u1601)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 errMsg_p2, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*conf_p0).cmd == ((tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA)12) || (*conf_p0).cmd == ((tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA)8));
		if (!(T3_)) goto LA4_;
		T3_ = ((*conf_p0).structuredErrorHook.ClP_0 == 0);
LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
LA5_: ;
	writeContext__OOZOOZOOZcompilerZmsgs_u1114(conf_p0, info_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	liMessage__OOZOOZOOZcompilerZmsgs_u1230(conf_p0, info_p1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)2), errMsg_p2, ((tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ)1), info2_p3, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZmsgs_u717)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = toFileLineCol__OOZOOZOOZcompilerZmsgs_u710(conf_p0, info_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, msgWriteln__OOZOOZOOZcompilerZmsgs_u740)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 s_p1, tySet_tyEnum_MsgFlag__R3GNIVpuNONyqBrVwryP9cw flags_p2) {
	NimStringV2 sep_1;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	sep_1.len = 0; sep_1.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	{
		if (!!(((flags_p2 &((NU8)1<<((NU)((((tyEnum_MsgFlag__R3GNIVpuNONyqBrVwryP9cw)2)))&7U)))!=0))) goto LA5_;
		eqcopy___system_u2754((&sep_1), (*conf_p0).unitSep);
	}
	goto LA3_;
LA5_: ;
	{
		sep_1 = TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_115;
	}
LA3_: ;
	{
		NIM_BOOL T10_;
		NimStringV2 colontmpD_;
		NimStringV2 T14_;
		T10_ = (NIM_BOOL)0;
		T10_ = !(((*conf_p0).writelnHook.ClP_0 == 0));
		if (!(T10_)) goto LA11_;
		T10_ = !(((flags_p2 &((NU8)1<<((NU)((((tyEnum_MsgFlag__R3GNIVpuNONyqBrVwryP9cw)1)))&7U)))!=0));
LA11_: ;
		if (!T10_) goto LA12_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		T14_.len = 0; T14_.p = NIM_NIL;
		T14_ = rawNewString(s_p1.len + sep_1.len + 0);
appendString((&T14_), s_p1);
appendString((&T14_), sep_1);
		colontmpD_ = T14_;
		(*conf_p0).writelnHook.ClE_0? (*conf_p0).writelnHook.ClP_0(colontmpD_, (*conf_p0).writelnHook.ClE_0):((TM__9bxt9c9cHMsIpkKKq9ca25JhvQ_116)((*conf_p0).writelnHook.ClP_0))(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	goto LA8_;
LA12_: ;
	{
		NIM_BOOL T16_;
		T16_ = (NIM_BOOL)0;
		T16_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)26)))&63U)))!=0);
		if (T16_) goto LA17_;
		T16_ = ((flags_p2 &((NU8)1<<((NU)((((tyEnum_MsgFlag__R3GNIVpuNONyqBrVwryP9cw)0)))&7U)))!=0);
LA17_: ;
		if (!T16_) goto LA18_;
		{
			tyArray__YgExxhfgKcesA5EOUj1MOA T24_;
			if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)0)))&7U)))!=0)) goto LA22_;
			flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			write__stdZsyncio_u254(__stdoutp, s_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T24_[0] = sep_1;
			writeLine__OOZOOZOOZcompilerZmsgs_u467(__stdoutp, T24_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			flushFile__stdZsyncio_u278(__stdoutp);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA22_: ;
	}
	goto LA8_;
LA18_: ;
	{
		{
			tyArray__YgExxhfgKcesA5EOUj1MOA T30_;
			if (!(((*conf_p0).m.errorOutputs &((NU8)1<<((NU)((((tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg)1)))&7U)))!=0)) goto LA28_;
			flushDot__OOZOOZOOZcompilerZmsgs_u38(conf_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			write__stdZsyncio_u254(__stderrp, s_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T30_[0] = sep_1;
			writeLine__OOZOOZOOZcompilerZmsgs_u467(__stderrp, T30_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA28_: ;
	}
LA8_: ;
	{
		LA1_:;
	}
	{
		if (sep_1.p && !(sep_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(sep_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
