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

#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <stdio.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA;
typedef struct tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ;
typedef struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA;
typedef struct RootObj RootObj;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
typedef struct tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw;
typedef struct tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag;
typedef struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g;
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_lexerdotnim___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_lexerdotnim___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
typedef struct Exception Exception;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct TSafePoint TSafePoint;
typedef struct tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg;
typedef struct tyObject_ArithmeticError__XIT9aewsXycM2U5B437NUDA tyObject_ArithmeticError__XIT9aewsXycM2U5B437NUDA;
typedef struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef NU8 tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* tyArray__rhDLCy9aNYBAIsWVh16bA0A[116];
typedef NU8 tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q;
struct tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ {
tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA tokType;
NI indent;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident;
NI64 iNumber;
NF fNumber;
tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q base;
NI8 strongSpaceA;
NI8 strongSpaceB;
NimStringDesc* literal;
NI line;
NI col;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag {
  RootObj Sup;
NI bufpos;
NimStringDesc* buf;
tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* stream;
NI lineNumber;
NI sentinel;
NI lineStart;
NI offsetBase;
};
typedef NU8 tyEnum_CursorPosition__moKbK9a5baLOKMP3AQAcKoQ;
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0);
void* ClE_0;
} tyProc__eADjAhqPI0ogAK7A2xrf0A;
struct tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw {
  tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag Sup;
NI32 fileIdx;
NI indentAhead;
NI currLineIndent;
NIM_BOOL strongSpaces;
NIM_BOOL allowTabs;
tyEnum_CursorPosition__moKbK9a5baLOKMP3AQAcKoQ cursor;
tyProc__eADjAhqPI0ogAK7A2xrf0A errorHandler;
tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
};
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_lexerdotnim___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_TLLStreamKind__jVcKY16LbOamXE9bxXUD6pQ;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* s, void* buf, NI bufLen, void* ClE_0);
void* ClE_0;
} tyProc__vqN8F2I9cNb9agHf5QUpC2lg;
struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g {
  RootObj Sup;
tyEnum_TLLStreamKind__jVcKY16LbOamXE9bxXUD6pQ kind;
FILE* f;
NimStringDesc* s;
NI rd;
NI wr;
NI lineOffset;
tyProc__vqN8F2I9cNb9agHf5QUpC2lg repl;
};
typedef tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* tyArray__o8KQyTFgNQGvsJZYtdEsgA[8192];
struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw {
tyArray__o8KQyTFgNQGvsJZYtdEsgA buckets;
NI wordCounter;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* idAnon;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* idDelegator;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* emptyIdent;
};
typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw;
typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU16 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
typedef NU64 tySet_tyEnum_TMsgKind__aF3wrShfYWgzGfsrtvM3hQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc__QYEVXrYc9beQ379crS3rzqRA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__Q1W5D85O9cNu3iq9cZ9alS9aWA;
typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc__22mgIiTBBoqNe1T0FSw9ahQ;
struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw cmd;
tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
NI verbosity;
NI numberOfProcessors;
NimStringDesc* evalExpr;
NF lastCmdTime;
tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
NimStringDesc* arguments;
tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind__aF3wrShfYWgzGfsrtvM3hQ enableNotes;
tySet_tyEnum_TMsgKind__aF3wrShfYWgzGfsrtvM3hQ disableNotes;
tySet_tyEnum_TMsgKind__aF3wrShfYWgzGfsrtvM3hQ foreignPackageNotes;
tySet_tyEnum_TMsgKind__aF3wrShfYWgzGfsrtvM3hQ notes;
tySet_tyEnum_TMsgKind__aF3wrShfYWgzGfsrtvM3hQ mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
NI32 projectMainIdx;
NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NimStringDesc* commandLine;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* cCompilerPath;
tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc__QYEVXrYc9beQ379crS3rzqRA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc__Q1W5D85O9cNu3iq9cZ9alS9aWA writelnHook;
tyProc__22mgIiTBBoqNe1T0FSw9ahQ structuredErrorHook;
NimStringDesc* cppCustomNamespace;
};
typedef N_CLOSURE_PTR(void, TM__4JpEWnGrmRM8CRqL3P2O1Q_149) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NU8 tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ;
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
NU raiseId;
Exception* up;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (Exception* e, void* ClE_0);
void* ClE_0;
} tyProc__NT9bSe2DDkjdtx7j9aov2Z6g;
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
NIM_BOOL hasRaiseAction;
tyProc__NT9bSe2DDkjdtx7j9aov2Z6g raiseAction;
};
struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA {
  Exception Sup;
};
struct tyObject_ArithmeticError__XIT9aewsXycM2U5B437NUDA {
  tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
};
struct tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg {
  tyObject_ArithmeticError__XIT9aewsXycM2U5B437NUDA Sup;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
  Exception Sup;
};
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
  tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
typedef NU8 tySet_tyEnum_MsgFlag__BzRTaQ6LrPDZKEKt9bswkOQ;
struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyFile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, initToken__EaKJR9ap6SPzmmvwWz9aMd1g)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* L);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(NIM_BOOL, contains__RPVlURtov7G07Wgl1Pwc9cAsystem)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b);
N_NOINLINE(void, chckNil)(void* p);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__rmSHwGA9b9aVN1lhr9bYn59czQ)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, NIM_BOOL strongSpaces);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NI, subInt)(NI a, NI b);
N_NIMCALL(NI, mulInt)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, openBaseLexer__V9avLgM3wlB5dKp8bWFOIqg)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, NI bufLen);
N_LIB_PRIVATE N_NIMCALL(void, fillToken__EaKJR9ap6SPzmmvwWz9aMd1g_2)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* L);
N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, skip__rwBXgYq6A9aRSWDrvp6B9cQg_2)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok);
N_LIB_PRIVATE N_NIMCALL(void, lexMessagePos__Luzmw1O4gHsazqmVWGAy6A)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NI pos, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__NPagzbOMpGo9aqJmfnDrITg)(NI32 fileInfoIdx, NI line, NI col);
N_LIB_PRIVATE N_NIMCALL(void, dispMessage__4ihxgj1D9b9bRRxai8guLyVQ)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(void, message__mMj7lrOf3zBP9bl69amiKu5g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(NI, handleCRLF__gcQ3G2Zisr5vSZdjUWLHaw)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, getColNumber__D0ufm9c9azweHuDkFTPoIzqQ)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, handleCR__pFv9ajpk2zhJHQ7x61CSE2A)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, handleLF__pFv9ajpk2zhJHQ7x61CSE2A_3)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(void, skipMultiLineComment__m3oQ0oaPYrtTOrLokrOv6w)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, NI start, NIM_BOOL isDoc);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
static N_INLINE(NI64, addInt64)(NI64 a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__rwBXgYq6A9aRSWDrvp6B9cQg_3)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok);
static N_INLINE(NI, emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes)(NI h, NI val);
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__7sgxHfR2r4xBBAjZv1DqbQ)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__3mFSUpsGePvVy7sr21vV3A)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L);
static N_INLINE(NI, emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes)(NI h);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*, getIdent__jPDJlJukeiI0s9cOWXczqWg)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NCSTRING identifier, NI length, NI h);
N_LIB_PRIVATE N_NIMCALL(void, lintReport__Ww2UftmtQbY09aLI39auks9bQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* beau, NimStringDesc* got);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, scanComment__rwBXgYq6A9aRSWDrvp6B9cQg_4)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
static N_INLINE(void, endOperator__pl3V9csJKSd9cgFaF1BLKgPQlexer)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, NI pos, NI hash);
N_LIB_PRIVATE N_NIMCALL(void, getOperator__rwBXgYq6A9aRSWDrvp6B9cQg_5)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok);
N_LIB_PRIVATE N_NIMCALL(void, getString__5H2TS8AOTBwFUN1V09cCcFg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ mode);
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__rwBXgYq6A9aRSWDrvp6B9cQg_6)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok);
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NI* xi, NI position);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, addUnicodeCodePoint__hfrmZOFcI1FsWoynXpd8hw)(NimStringDesc** s, NI i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchTwoChars__dPdqLvWqC6oqPGVtELhGPA)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NIM_CHAR first, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw second);
N_LIB_PRIVATE N_NIMCALL(void, handleDecChars__t9bZrbIXicT9bAHr9bOV1mClg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NI* xi);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*, getIdent__9coBOmdXN09be4rJvXK6fQGQ)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, getCharacter__rwBXgYq6A9aRSWDrvp6B9cQg_7)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok);
N_LIB_PRIVATE N_NIMCALL(void, getNumber__RRRRXclVBBDf9bEfE8isp1g)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* result);
N_LIB_PRIVATE N_NIMCALL(void, lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NimStringDesc* msg, NI startpos, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msgKind);
N_LIB_PRIVATE N_NIMCALL(void, matchChars__VFn7QLv8aTrt9cBmN0M09ciQ)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NI, matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(void, internalError__yTu5SGHF0j0P9cQrqN7YylA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(NF, nsuParseFloat)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, npuParseBiggestUInt)(NimStringDesc* s, NU64* number, NI start);
static N_INLINE(void, popSafePoint)(void);
N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, getCurrentException)(void);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
static N_INLINE(void, popCurrentException)(void);
N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(NI, npuParseBiggestInt)(NimStringDesc* s, NI64* number, NI start);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__3UnMzHIRKCs9cxtu8h0Pimw)(tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA kind);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___d3YnHm5OyfXf5tTfAaERTg_2)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok);
N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x);
N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(void, closeBaseLexer__X9aea9bJavePT9cGIdd7JRH7Q_3)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L);
N_LIB_PRIVATE N_NIMCALL(void, openLexer__EiqAU8uzJcXxIU5x2lB0bg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* lex, NI32 fileIdx, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__3HRSVgYDcnQTolSZGx1zjA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, msgWriteln__PO49anyWCbe63GYNOs9cVuvg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s, tySet_tyEnum_MsgFlag__BzRTaQ6LrPDZKEKt9bswkOQ flags);
TNimType NTI__vw8YkgaVtNadqP8v5OpXKA_;
extern TNimType NTI__jTxk7Uc2dfr9aTDL2dZhO9ag_;
TNimType NTI__PdyFIzn4patQ2zB5OFD9cjw_;
extern TNimType NTI__sVg18TP9cLifHyygRe9cro9aA_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
TNimType NTI__moKbK9a5baLOKMP3AQAcKoQ_;
TNimType NTI__eADjAhqPI0ogAK7A2xrf0A_;
extern TNimType NTI__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTI__HsJiUUcO9cHBdUCi0HwkSTA_;
extern TNimType NTI__lnkYNZP9asc88UfiEGjLrbA_;
extern TNimType NTI__a8lycfSA25OQltN3OMeBsA_;
TNimType NTI__kLaEEPwLj8cag79cbYQIkHQ_;
extern TNimType NTI__B0xRsLi0eK4raPu9bd2tkcA_;
extern TNimType NTI__Aav8dQoMlCFnZRxA0IhTHQ_;
extern TNimType NTI__w9bl9a1ul9ctRJWiMl9cNnIMvg_;
TNimType NTI__9cbxR9czWgoXwHHSzHtd9aV7Q_;
extern TNimType NTI__chXunH2dwinSkhpA6JnsXw_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TNimType NTI__yoNlBGx0D2tRizIdhQuENw_;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern TNimType NTI__Pjt0MQjoA6TAHAHOFNel9cg_;
extern TNimType NTI__Ss6DFlX5iSZpHRZDmP74bg_;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern TNimType NTI__Ie1m0dv1ZHg72IgPRr1cDw_;
extern TNimType NTI__8inKGns6i1OoXN9aLZwcSOw_;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_5, "tkInvalid", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_6, "[EOF]", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_7, "tkSymbol", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_8, "addr", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_9, "and", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_10, "as", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_11, "asm", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_12, "bind", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_13, "block", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_14, "break", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_15, "case", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_16, "cast", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_17, "concept", 7);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_18, "const", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_19, "continue", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_20, "converter", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_21, "defer", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_22, "discard", 7);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_23, "distinct", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_24, "div", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_25, "do", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_26, "elif", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_27, "else", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_28, "end", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_29, "enum", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_30, "except", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_31, "export", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_32, "finally", 7);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_33, "for", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_34, "from", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_35, "func", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_36, "if", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_37, "import", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_38, "in", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_39, "include", 7);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_40, "interface", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_41, "is", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_42, "isnot", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_43, "iterator", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_44, "let", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_45, "macro", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_46, "method", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_47, "mixin", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_48, "mod", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_49, "nil", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_50, "not", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_51, "notin", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_52, "object", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_53, "of", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_54, "or", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_55, "out", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_56, "proc", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_57, "ptr", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_58, "raise", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_59, "ref", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_60, "return", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_61, "shl", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_62, "shr", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_63, "static", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_64, "template", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_65, "try", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_66, "tuple", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_67, "type", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_68, "using", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_69, "var", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_70, "when", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_71, "while", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_72, "xor", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_73, "yield", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_74, "tkIntLit", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_75, "tkInt8Lit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_76, "tkInt16Lit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_77, "tkInt32Lit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_78, "tkInt64Lit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_79, "tkUIntLit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_80, "tkUInt8Lit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_81, "tkUInt16Lit", 11);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_82, "tkUInt32Lit", 11);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_83, "tkUInt64Lit", 11);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_84, "tkFloatLit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_85, "tkFloat32Lit", 12);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_86, "tkFloat64Lit", 12);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_87, "tkFloat128Lit", 13);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_88, "tkStrLit", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_89, "tkRStrLit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_90, "tkTripleStrLit", 14);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_91, "tkGStrLit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_92, "tkGTripleStrLit", 15);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_93, "tkCharLit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_94, "(", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_95, ")", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_96, "[", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_97, "]", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_98, "{", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_99, "}", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_100, "[.", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_101, ".]", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_102, "{.", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_103, ".}", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_104, "(.", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_105, ".)", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_106, ",", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_107, ";", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_108, ":", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_109, "::", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_110, "=", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_111, ".", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_112, "..", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_113, "[:", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_114, "tkOpr", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_115, "tkComment", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_116, "`", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_117, "tkSpaces", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_118, "tkInfixOpr", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_119, "tkPrefixOpr", 11);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_120, "tkPostfixOpr", 12);
NIM_CONST tyArray__rhDLCy9aNYBAIsWVh16bA0A TokTypeToStr__7y4sYGQdJmj2c4r0emPULw = {((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_5),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_6),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_7),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_8),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_9),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_10),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_11),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_12),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_13),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_14),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_15),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_16),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_17),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_18),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_19),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_20),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_21),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_22),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_23),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_24),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_25),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_26),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_27),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_28),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_29),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_30),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_31),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_32),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_33),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_34),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_35),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_36),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_37),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_38),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_39),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_40),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_41),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_42),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_43),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_44),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_45),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_46),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_47),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_48),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_49),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_50),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_51),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_52),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_53),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_54),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_55),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_56),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_57),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_58),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_59),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_60),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_61),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_62),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_63),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_64),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_65),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_66),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_67),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_68),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_69),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_70),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_71),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_72),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_73),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_74),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_75),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_76),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_77),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_78),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_79),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_80),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_81),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_82),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_83),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_84),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_85),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_86),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_87),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_88),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_89),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_90),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_91),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_92),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_93),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_94),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_95),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_96),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_97),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_98),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_99),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_100),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_101),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_102),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_103),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_104),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_105),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_106),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_107),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_108),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_109),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_110),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_111),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_112),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_113),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_114),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_115),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_116),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_117),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_118),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_119),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_120)}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_150, "tabs are not allowed, use spaces instead", 40);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_172, "\012", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_176, "end of multiline comment expected", 33);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_188, "invalid token: trailing underscore", 34);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_193, "lexer.nim(1065, 10) `L.buf[pos + 1] == \'#\'` ", 44);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_209 = {
0x00, 0x00, 0x00, 0x00, 0x72, 0xec, 0x00, 0xf4,
0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_231, "closing \"\"\" expected, but end of file reached", 45);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_236, "closing \" expected", 18);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_238, "\\n not allowed in character literal", 35);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_240, "\\p not allowed in character literal", 35);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_261, "expected a hex digit, but found: ", 33);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_262, "; maybe prepend with 0", 22);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_265, "\\u not allowed in character literal", 35);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_268, "Unicode codepoint cannot be empty", 33);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_275, "Unicode codepoint must be lower than 0x10FFFF, but was: ", 56);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_304 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_309, "invalid character constant", 26);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_333, "_", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_334, "invalid token: ", 15);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_335, " (\\", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_339, "invalid character literal", 25);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_341, "missing closing \' for character literal", 39);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_346 = {
0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xff, 0x03,
0x7e, 0x80, 0x00, 0x81, 0x7e, 0x82, 0x20, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_349 = {
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x50, 0x02, 0x20, 0x00, 0x50, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_351, "$1 will soon be invalid for oct literals; Use \'0o\' for octals. "
"\'c\', \'C\' prefix", 78);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_356, "only single underscores may occur in a token and token may not "
"end with an underscore: e.g. \'1__1\' and \'1_\' are invalid", 119);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_358 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_359, "$1 is an invalid int literal; For octal literals use the \'0o\' p"
"refix.", 69);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_361 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x7e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_364 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_365, "getNumber", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_366, "invalid number: \'$1\'", 20);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_415, "number out of range: \'$1\'", 25);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_417, "number out of range: ", 21);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_418, "invalid integer: ", 17);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_420, "invalid token: no whitespace between number and identifier", 58);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_422, "keyword ", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_426, "\011", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_427, " ", 1);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(void, initToken__EaKJR9ap6SPzmmvwWz9aMd1g)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* L) {	(*L).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 0);
	(*L).iNumber = IL64(0);
	(*L).indent = ((NI) 0);
	(*L).strongSpaceA = ((NI8) 0);
	unsureAsgnRef((void**) (&(*L).literal), ((NimStringDesc*) NIM_NIL));
	(*L).fNumber = 0.0;
	(*L).base = ((tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q) 0);
	unsureAsgnRef((void**) (&(*L).ident), NIM_NIL);
}
static N_INLINE(NIM_BOOL, contains__RPVlURtov7G07Wgl1Pwc9cAsystem)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value) {	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (s.a <= value);
	if (!(T1_)) goto LA2_;
	T1_ = (value <= s.b);
	LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b) {	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	chckNil((void*)(&result));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	result.a = a;
	result.b = b;
	return result;
}
static N_INLINE(NI, addInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) + (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, chckRange)(NI i, NI a, NI b) {	NI result;
{	result = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a <= i);
		if (!(T3_)) goto LA4_;
		T3_ = (i <= b);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = i;
		goto BeforeRet_;
	}
	goto LA1_;
	LA5_: ;
	{
		raiseRangeError(((NI64) (i)));
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, subInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) - (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__rmSHwGA9b9aVN1lhr9bYn59czQ)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, NIM_BOOL strongSpaces) {	NI result;
	NI T61_;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_135;
{	result = (NI)0;
	switch ((*tok).tokType) {
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 109):
	{
		NI L;
		NIM_CHAR relevantChar;
		L = ((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0);
		if ((NU)(((NI) 0)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
		relevantChar = (*(*tok).ident).s->data[((NI) 0)];
		{
			NIM_BOOL T4_;
			NIM_BOOL T5_;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_122;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_123;
			NI T10_;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_126;
			T4_ = (NIM_BOOL)0;
			T5_ = (NIM_BOOL)0;
			T5_ = (((NI) 1) < L);
			if (!(T5_)) goto LA6_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_122 = subInt(L, ((NI) 1));
			if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_122)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_122),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
			T5_ = ((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_122)]) == (NU8)(62));
			LA6_: ;
			T4_ = T5_;
			if (!(T4_)) goto LA7_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_123 = subInt(L, ((NI) 2));
			if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_123)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_123),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
			T4_ = (((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_123)])) == ((NU8)(45)) || ((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_123)])) == ((NU8)(126)) || ((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_123)])) == ((NU8)(61)));
			LA7_: ;
			if (!T4_) goto LA8_;
			T10_ = (NI)0;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_124;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_125;
				if (!strongSpaces) goto LA13_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_124 = mulInt(((NI) ((*tok).strongSpaceA)), ((NI) 10));
				TM__4JpEWnGrmRM8CRqL3P2O1Q_125 = subInt(((NI) 100), (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_124));
				T10_ = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_125);
			}
			goto LA11_;
			LA13_: ;
			{
				T10_ = ((NI) 0);
			}
			LA11_: ;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_126 = addInt(((NI) 1), T10_);
			result = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_126);
			goto BeforeRet_;
		}
		LA8_: ;
		switch (((NU8)(relevantChar))) {
		case 36:
		case 94:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_127;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_127 = subInt(L, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_127)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_127),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
				if (!((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_127)]) == (NU8)(61))) goto LA19_;
				result = ((NI) 1);
			}
			goto LA17_;
			LA19_: ;
			{
				result = ((NI) 10);
			}
			LA17_: ;
		}
		break;
		case 42:
		case 37:
		case 47:
		case 92:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_128;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_128 = subInt(L, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_128)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_128),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
				if (!((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_128)]) == (NU8)(61))) goto LA25_;
				result = ((NI) 1);
			}
			goto LA23_;
			LA25_: ;
			{
				result = ((NI) 9);
			}
			LA23_: ;
		}
		break;
		case 126:
		{
			result = ((NI) 8);
		}
		break;
		case 43:
		case 45:
		case 124:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_129;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_129 = subInt(L, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_129)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_129),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
				if (!((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_129)]) == (NU8)(61))) goto LA32_;
				result = ((NI) 1);
			}
			goto LA30_;
			LA32_: ;
			{
				result = ((NI) 8);
			}
			LA30_: ;
		}
		break;
		case 38:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_130;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_130 = subInt(L, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_130)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_130),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
				if (!((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_130)]) == (NU8)(61))) goto LA38_;
				result = ((NI) 1);
			}
			goto LA36_;
			LA38_: ;
			{
				result = ((NI) 7);
			}
			LA36_: ;
		}
		break;
		case 61:
		case 60:
		case 62:
		case 33:
		{
			result = ((NI) 5);
		}
		break;
		case 46:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_131;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_131 = subInt(L, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_131)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_131),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
				if (!((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_131)]) == (NU8)(61))) goto LA45_;
				result = ((NI) 1);
			}
			goto LA43_;
			LA45_: ;
			{
				result = ((NI) 6);
			}
			LA43_: ;
		}
		break;
		case 63:
		{
			result = ((NI) 2);
		}
		break;
		default:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_132;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_132 = subInt(L, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_132)) >= (NU)((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_132),((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0)-1);
				if (!((NU8)((*(*tok).ident).s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_132)]) == (NU8)(61))) goto LA52_;
				result = ((NI) 1);
			}
			goto LA50_;
			LA52_: ;
			{
				result = ((NI) 2);
			}
			LA50_: ;
		}
		break;
		}
	}
	break;
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 19):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 43):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 56):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 57):
	{
		result = ((NI) 9);
	}
	break;
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 33):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 46):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 36):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 37):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 48):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 5):
	{
		result = ((NI) 5);
	}
	break;
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 107):
	{
		result = ((NI) 6);
	}
	break;
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 4):
	{
		result = ((NI) 4);
	}
	break;
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 49):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 67):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 52):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 54):
	{
		result = ((NI) 3);
	}
	break;
	default:
	{
		result = ((NI) -10);
		goto BeforeRet_;
	}
	break;
	}
	T61_ = (NI)0;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_133;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_134;
		if (!strongSpaces) goto LA64_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_133 = mulInt(((NI) ((*tok).strongSpaceA)), ((NI) 10));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_134 = subInt(((NI) 100), (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_133));
		T61_ = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_134);
	}
	goto LA62_;
	LA64_: ;
	{
		T61_ = ((NI) 0);
	}
	LA62_: ;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_135 = addInt(result, T61_);
	result = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_135);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__xjNws35CZ6ofA0bs473Heg)(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident) {	NI result;
	tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ tok;
	result = (NI)0;
	nimZeroMem((void*)(&tok), sizeof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ));
	initToken__EaKJR9ap6SPzmmvwWz9aMd1g((&tok));
	tok.ident = ident;
	{
		tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T3_;
		NIM_BOOL T4_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_121;
		T3_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(((NI) 1), ((NI) 66));
		T4_ = (NIM_BOOL)0;
		T4_ = contains__RPVlURtov7G07Wgl1Pwc9cAsystem(T3_, (*tok.ident).Sup.id);
		if (!T4_) goto LA5_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_121 = addInt((*tok.ident).Sup.id, ((NI) 2));
		tok.tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_121), ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 0), ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 115)));
	}
	goto LA1_;
	LA5_: ;
	{
		tok.tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 109);
	}
	LA1_: ;
	result = getPrecedence__rmSHwGA9b9aVN1lhr9bYn59czQ((&tok), NIM_FALSE);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, openLexer__EiqAU8uzJcXxIU5x2lB0bg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* lex, NI32 fileIdx, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {	tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* T1_;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_145;
	T1_ = (tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag*)0;
	T1_ = &lex->Sup;
	openBaseLexer__V9avLgM3wlB5dKp8bWFOIqg(T1_, inputstream, ((NI) 8192));
	(*lex).fileIdx = fileIdx;
	(*lex).indentAhead = ((NI) -1);
	(*lex).currLineIndent = ((NI) 0);
	TM__4JpEWnGrmRM8CRqL3P2O1Q_145 = addInt((*lex).Sup.lineNumber, (*inputstream).lineOffset);
	(*lex).Sup.lineNumber = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_145);
	unsureAsgnRef((void**) (&(*lex).cache), cache);
	unsureAsgnRef((void**) (&(*lex).config), config);
}
N_LIB_PRIVATE N_NIMCALL(void, fillToken__EaKJR9ap6SPzmmvwWz9aMd1g_2)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* L) {	(*L).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 0);
	(*L).iNumber = IL64(0);
	(*L).indent = ((NI) 0);
	(*L).strongSpaceA = ((NI8) 0);
	unsureAsgnRef((void**) (&(*L).literal), setLengthStr((*L).literal, ((NI) 0)));
	(*L).fNumber = 0.0;
	(*L).base = ((tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q) 0);
	unsureAsgnRef((void**) (&(*L).ident), NIM_NIL);
}
N_LIB_PRIVATE N_NIMCALL(void, dispMessage__4ihxgj1D9b9bRRxai8guLyVQ)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg) {	{
		if (!((*L).errorHandler.ClP_0 == 0)) goto LA3_;
		message__mMj7lrOf3zBP9bl69amiKu5g((*L).config, info, msg, arg);
	}
	goto LA1_;
	LA3_: ;
	{
		(*L).errorHandler.ClE_0? (*L).errorHandler.ClP_0((*L).config, info, msg, arg, (*L).errorHandler.ClE_0):((TM__4JpEWnGrmRM8CRqL3P2O1Q_149)((*L).errorHandler.ClP_0))((*L).config, info, msg, arg);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessagePos__Luzmw1O4gHsazqmVWGAy6A)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NI pos, NimStringDesc* arg) {	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_148;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_148 = subInt(pos, (*L).Sup.lineStart);
	info = newLineInfo__NPagzbOMpGo9aqJmfnDrITg((*L).fileIdx, (*L).Sup.lineNumber, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_148));
	dispMessage__4ihxgj1D9b9bRRxai8guLyVQ((&(*L)), info, msg, arg);
}
N_LIB_PRIVATE N_NIMCALL(NI, handleCRLF__gcQ3G2Zisr5vSZdjUWLHaw)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NI pos) {	NI result;
	result = (NI)0;
	if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	switch (((NU8)((*L).Sup.buf->data[pos]))) {
	case 13:
	{
		NI colX60gensym520345_;
		tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* T6_;
		colX60gensym520345_ = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), pos);
		{
			if (!(((NI) 80) < colX60gensym520345_)) goto LA4_;
			lexMessagePos__Luzmw1O4gHsazqmVWGAy6A(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 46), pos, ((NimStringDesc*) NIM_NIL));
		}
		LA4_: ;
		T6_ = (tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag*)0;
		T6_ = &L->Sup;
		result = handleCR__pFv9ajpk2zhJHQ7x61CSE2A(T6_, pos);
	}
	break;
	case 10:
	{
		NI colX60gensym520350_;
		tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* T12_;
		colX60gensym520350_ = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), pos);
		{
			if (!(((NI) 80) < colX60gensym520350_)) goto LA10_;
			lexMessagePos__Luzmw1O4gHsazqmVWGAy6A(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 46), pos, ((NimStringDesc*) NIM_NIL));
		}
		LA10_: ;
		T12_ = (tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag*)0;
		T12_ = &L->Sup;
		result = handleLF__pFv9ajpk2zhJHQ7x61CSE2A_3(T12_, pos);
	}
	break;
	default:
	{
		result = pos;
	}
	break;
	}
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_INLINE(NI64, addInt64)(NI64 a, NI64 b) {	NI64 result;
{	result = (NI64)0;
	result = (NI64)((NU64)(a) + (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (IL64(0) <= (NI64)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (IL64(0) <= (NI64)(result ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, skipMultiLineComment__m3oQ0oaPYrtTOrLokrOv6w)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, NI start, NIM_BOOL isDoc) {	NI pos;
	NI toStrip;
	NI nesting;
	pos = start;
	toStrip = ((NI) 0);
	{
		if (!isDoc) goto LA3_;
		toStrip = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), pos);
		{
			while (1) {
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_155;
				if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[pos]) == (NU8)(32))) goto LA6;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_155 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_155);
			} LA6: ;
		}
		{
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!(((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(10)))) goto LA9_;
			pos = handleCRLF__gcQ3G2Zisr5vSZdjUWLHaw(L, pos);
			toStrip = ((NI) 0);
			{
				while (1) {
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_156;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_157;
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!((NU8)((*L).Sup.buf->data[pos]) == (NU8)(32))) goto LA12;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_156 = addInt(pos, ((NI) 1));
					pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_156);
					TM__4JpEWnGrmRM8CRqL3P2O1Q_157 = addInt(toStrip, ((NI) 1));
					toStrip = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_157);
				} LA12: ;
			}
		}
		LA9_: ;
	}
	LA3_: ;
	nesting = ((NI) 0);
	{
		while (1) {
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			switch (((NU8)((*L).Sup.buf->data[pos]))) {
			case 35:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_163;
				{
					if (!isDoc) goto LA18_;
					{
						NIM_BOOL T22_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_158;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_159;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_160;
						T22_ = (NIM_BOOL)0;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_158 = addInt(pos, ((NI) 1));
						if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_158)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_158),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T22_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_158)]) == (NU8)(35));
						if (!(T22_)) goto LA23_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_159 = addInt(pos, ((NI) 2));
						if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_159)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_159),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T22_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_159)]) == (NU8)(91));
						LA23_: ;
						if (!T22_) goto LA24_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_160 = addInt(nesting, ((NI) 1));
						nesting = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_160);
					}
					LA24_: ;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 35));
				}
				goto LA16_;
				LA18_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_161;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_162;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_161 = addInt(pos, ((NI) 1));
					if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_161)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_161),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_161)]) == (NU8)(91))) goto LA27_;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_162 = addInt(nesting, ((NI) 1));
					nesting = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_162);
				}
				goto LA16_;
				LA27_: ;
				LA16_: ;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_163 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_163);
			}
			break;
			case 93:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_171;
				{
					if (!isDoc) goto LA32_;
					{
						NIM_BOOL T36_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_164;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_165;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_167;
						T36_ = (NIM_BOOL)0;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_164 = addInt(pos, ((NI) 1));
						if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_164)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_164),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T36_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_164)]) == (NU8)(35));
						if (!(T36_)) goto LA37_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_165 = addInt(pos, ((NI) 2));
						if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_165)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_165),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T36_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_165)]) == (NU8)(35));
						LA37_: ;
						if (!T36_) goto LA38_;
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_166;
							if (!(nesting == ((NI) 0))) goto LA42_;
							TM__4JpEWnGrmRM8CRqL3P2O1Q_166 = addInt(pos, ((NI) 3));
							pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_166);
							goto LA13;
						}
						LA42_: ;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_167 = subInt(nesting, ((NI) 1));
						nesting = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_167);
					}
					LA38_: ;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 93));
				}
				goto LA30_;
				LA32_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_168;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_170;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_168 = addInt(pos, ((NI) 1));
					if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_168)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_168),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_168)]) == (NU8)(35))) goto LA45_;
					{
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_169;
						if (!(nesting == ((NI) 0))) goto LA49_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_169 = addInt(pos, ((NI) 2));
						pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_169);
						goto LA13;
					}
					LA49_: ;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_170 = subInt(nesting, ((NI) 1));
					nesting = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_170);
				}
				goto LA30_;
				LA45_: ;
				LA30_: ;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_171 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_171);
			}
			break;
			case 13:
			case 10:
			{
				pos = handleCRLF__gcQ3G2Zisr5vSZdjUWLHaw(L, pos);
				{
					NI64 TM__4JpEWnGrmRM8CRqL3P2O1Q_173;
					NI c;
					if (!isDoc) goto LA54_;
					unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, 1));
appendString((*tok).literal, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_172));
					TM__4JpEWnGrmRM8CRqL3P2O1Q_173 = addInt64((*tok).iNumber, ((NI) 1));
					(*tok).iNumber = (NI64)(TM__4JpEWnGrmRM8CRqL3P2O1Q_173);
					c = toStrip;
					{
						while (1) {
							NIM_BOOL T58_;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_174;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_175;
							T58_ = (NIM_BOOL)0;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							T58_ = ((NU8)((*L).Sup.buf->data[pos]) == (NU8)(32));
							if (!(T58_)) goto LA59_;
							T58_ = (((NI) 0) < c);
							LA59_: ;
							if (!T58_) goto LA57;
							TM__4JpEWnGrmRM8CRqL3P2O1Q_174 = addInt(pos, ((NI) 1));
							pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_174);
							TM__4JpEWnGrmRM8CRqL3P2O1Q_175 = subInt(c, ((NI) 1));
							c = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_175);
						} LA57: ;
					}
				}
				LA54_: ;
			}
			break;
			case 0:
			{
				lexMessagePos__Luzmw1O4gHsazqmVWGAy6A(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), pos, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_176));
				goto LA13;
			}
			break;
			default:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_177;
				{
					NIM_BOOL T64_;
					T64_ = (NIM_BOOL)0;
					T64_ = isDoc;
					if (T64_) goto LA65_;
					T64_ = NIM_FALSE;
					LA65_: ;
					if (!T64_) goto LA66_;
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf->data[pos]));
				}
				LA66_: ;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_177 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_177);
			}
			break;
			}
		}
	} LA13: ;
	(*L).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, skip__rwBXgYq6A9aRSWDrvp6B9cQg_2)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NI pos;
	pos = (*L).Sup.bufpos;
	(*tok).strongSpaceA = ((NI8) 0);
	{
		while (1) {
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			switch (((NU8)((*L).Sup.buf->data[pos]))) {
			case 32:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_146;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_147;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_146 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_146);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_147 = addInt((*tok).strongSpaceA, ((NI) 1));
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_147 < -128 || TM__4JpEWnGrmRM8CRqL3P2O1Q_147 > 127) raiseOverflow();
				(*tok).strongSpaceA = (NI8)(TM__4JpEWnGrmRM8CRqL3P2O1Q_147);
			}
			break;
			case 9:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_151;
				{
					if (!!((*L).allowTabs)) goto LA7_;
					lexMessagePos__Luzmw1O4gHsazqmVWGAy6A(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), pos, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_150));
				}
				LA7_: ;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_151 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_151);
			}
			break;
			case 13:
			case 10:
			{
				NI indent;
				pos = handleCRLF__gcQ3G2Zisr5vSZdjUWLHaw(L, pos);
				indent = ((NI) 0);
				{
					while (1) {
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_152;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_153;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							if (!((NU8)((*L).Sup.buf->data[pos]) == (NU8)(32))) goto LA14_;
							TM__4JpEWnGrmRM8CRqL3P2O1Q_152 = addInt(pos, ((NI) 1));
							pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_152);
							TM__4JpEWnGrmRM8CRqL3P2O1Q_153 = addInt(indent, ((NI) 1));
							indent = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_153);
						}
						goto LA12_;
						LA14_: ;
						{
							NIM_BOOL T17_;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_154;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_178;
							T17_ = (NIM_BOOL)0;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							T17_ = ((NU8)((*L).Sup.buf->data[pos]) == (NU8)(35));
							if (!(T17_)) goto LA18_;
							TM__4JpEWnGrmRM8CRqL3P2O1Q_154 = addInt(pos, ((NI) 1));
							if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_154)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_154),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							T17_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_154)]) == (NU8)(91));
							LA18_: ;
							if (!T17_) goto LA19_;
							TM__4JpEWnGrmRM8CRqL3P2O1Q_178 = addInt(pos, ((NI) 2));
							skipMultiLineComment__m3oQ0oaPYrtTOrLokrOv6w(L, tok, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_178), NIM_FALSE);
							pos = (*L).Sup.bufpos;
						}
						goto LA12_;
						LA19_: ;
						{
							goto LA10;
						}
						LA12_: ;
					}
				} LA10: ;
				(*tok).strongSpaceA = ((NI8) 0);
				{
					NIM_BOOL T24_;
					NIM_BOOL T26_;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_179;
					T24_ = (NIM_BOOL)0;
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					T24_ = ((NU8)(32) < (NU8)((*L).Sup.buf->data[pos]));
					if (!(T24_)) goto LA25_;
					T26_ = (NIM_BOOL)0;
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					T26_ = !(((NU8)((*L).Sup.buf->data[pos]) == (NU8)(35)));
					if (T26_) goto LA27_;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_179 = addInt(pos, ((NI) 1));
					if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_179)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_179),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					T26_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_179)]) == (NU8)(35));
					LA27_: ;
					T24_ = T26_;
					LA25_: ;
					if (!T24_) goto LA28_;
					(*tok).indent = indent;
					(*L).currLineIndent = indent;
					goto LA1;
				}
				LA28_: ;
			}
			break;
			case 35:
			{
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_180;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_180 = addInt(pos, ((NI) 1));
					if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_180)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_180),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_180)]) == (NU8)(35))) goto LA33_;
					goto LA1;
				}
				LA33_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_181;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_182;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_181 = addInt(pos, ((NI) 1));
					if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_181)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_181),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_181)]) == (NU8)(91))) goto LA37_;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_182 = addInt(pos, ((NI) 2));
					skipMultiLineComment__m3oQ0oaPYrtTOrLokrOv6w(L, tok, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_182), NIM_FALSE);
					pos = (*L).Sup.bufpos;
				}
				goto LA35_;
				LA37_: ;
				{
					{
						while (1) {
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_183;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							if (!!((((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(10)) || ((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(0))))) goto LA41;
							TM__4JpEWnGrmRM8CRqL3P2O1Q_183 = addInt(pos, ((NI) 1));
							pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_183);
						} LA41: ;
					}
				}
				LA35_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	(*L).Sup.bufpos = pos;
}
static N_INLINE(NI, emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes)(NI h, NI val) {	NI result;
	NU h_2;
	NU val_2;
	NU res;
	result = (NI)0;
	h_2 = ((NU) (h));
	val_2 = ((NU) (val));
	res = (NU)((NU64)(h_2) + (NU64)(val_2));
	res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 10)))));
	res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 6))));
	result = ((NI) (res));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__3mFSUpsGePvVy7sr21vV3A)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L) {	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
	NI T1_;
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
	T1_ = (NI)0;
	T1_ = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), (*L).Sup.bufpos);
	result = newLineInfo__NPagzbOMpGo9aqJmfnDrITg((*L).fileIdx, (*L).Sup.lineNumber, T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__7sgxHfR2r4xBBAjZv1DqbQ)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg) {	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1_;
	T1_ = getLineInfo__3mFSUpsGePvVy7sr21vV3A(L);
	dispMessage__4ihxgj1D9b9bRRxai8guLyVQ(L, T1_, msg, arg);
}
static N_INLINE(NI, emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes)(NI h) {	NI result;
	NU h_2;
	NU res;
	result = (NI)0;
	h_2 = ((NU) (h));
	res = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI) 3)))));
	res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 11))));
	res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 15)))));
	result = ((NI) (res));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__rwBXgYq6A9aRSWDrvp6B9cQg_3)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NI h;
	NI pos;
	NIM_BOOL suspicious;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_190;
	h = ((NI) 0);
	pos = (*L).Sup.bufpos;
	suspicious = NIM_FALSE;
	{
		while (1) {
			NIM_CHAR c;
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			c = (*L).Sup.buf->data[pos];
			switch (((NU8)(c))) {
			case 97 ... 122:
			case 48 ... 57:
			case 128 ... 255:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_184;
				h = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(h, ((NU8)(c)));
				TM__4JpEWnGrmRM8CRqL3P2O1Q_184 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_184);
			}
			break;
			case 65 ... 90:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_185;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_186;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_185 = addInt(((NU8)(c)), ((NI) 32));
				c = ((NIM_CHAR) (((NI)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_185), ((NI) 0), ((NI) 255)))));
				h = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(h, ((NU8)(c)));
				TM__4JpEWnGrmRM8CRqL3P2O1Q_186 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_186);
				suspicious = NIM_TRUE;
			}
			break;
			case 95:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_189;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_187;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_187 = addInt(pos, ((NI) 1));
					if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!!((((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)])) >= ((NU8)(97)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)])) <= ((NU8)(122)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)])) >= ((NU8)(65)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)])) <= ((NU8)(90)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)])) <= ((NU8)(57)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)])) >= ((NU8)(128)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)])) <= ((NU8)(255))))) goto LA8_;
					lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_188));
					goto LA1;
				}
				LA8_: ;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_189 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_189);
				suspicious = NIM_TRUE;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	h = emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes(h);
	if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	TM__4JpEWnGrmRM8CRqL3P2O1Q_190 = subInt(pos, (*L).Sup.bufpos);
	unsureAsgnRef((void**) (&(*tok).ident), getIdent__jPDJlJukeiI0s9cOWXczqWg((*L).cache, ((NCSTRING) ((&(*L).Sup.buf->data[(*L).Sup.bufpos]))), (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_190), h));
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = ((*(*tok).ident).Sup.id < ((NI) 1));
		if (T13_) goto LA14_;
		T13_ = (((NI) 66) < (*(*tok).ident).Sup.id);
		LA14_: ;
		if (!T13_) goto LA15_;
		(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 2);
	}
	goto LA11_;
	LA15_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_191;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_191 = addInt((*(*tok).ident).Sup.id, ((NI) 2));
		(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_191), ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 0), ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 115)));
		{
			NIM_BOOL T20_;
			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T24_;
			NimStringDesc* T25_;
			T20_ = (NIM_BOOL)0;
			T20_ = suspicious;
			if (!(T20_)) goto LA21_;
			T20_ = !(((24576 & (*(*L).config).globalOptions) == 0));
			LA21_: ;
			if (!T20_) goto LA22_;
			T24_ = getLineInfo__3mFSUpsGePvVy7sr21vV3A((&(*L)));
			T25_ = (NimStringDesc*)0;
			T25_ = nsuNormalize((*(*tok).ident).s);
			lintReport__Ww2UftmtQbY09aLI39auks9bQ((*L).config, T24_, T25_, (*(*tok).ident).s);
		}
		LA22_: ;
	}
	LA11_: ;
	(*L).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, scanComment__rwBXgYq6A9aRSWDrvp6B9cQg_4)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NI pos;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_196;
	NI toStrip;
{	pos = (*L).Sup.bufpos;
	(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 110);
	(*tok).iNumber = IL64(0);
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_192;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_192 = addInt(pos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_192)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_192),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		if (!!(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_192)]) == (NU8)(35)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_193));
	}
	LA3_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_194;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_195;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_194 = addInt(pos, ((NI) 2));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_194)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_194),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_194)]) == (NU8)(91))) goto LA7_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_195 = addInt(pos, ((NI) 3));
		skipMultiLineComment__m3oQ0oaPYrtTOrLokrOv6w(L, tok, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_195), NIM_TRUE);
		goto BeforeRet_;
	}
	LA7_: ;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_196 = addInt(pos, ((NI) 2));
	pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_196);
	toStrip = ((NI) 0);
	{
		while (1) {
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_197;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_198;
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!((NU8)((*L).Sup.buf->data[pos]) == (NU8)(32))) goto LA10;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_197 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_197);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_198 = addInt(toStrip, ((NI) 1));
			toStrip = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_198);
		} LA10: ;
	}
	{
		while (1) {
			NI lastBackslash;
			NI indent;
			lastBackslash = ((NI) -1);
			{
				while (1) {
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_200;
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!!((((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(10)) || ((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(0))))) goto LA14;
					{
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_199;
						if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						if (!((NU8)((*L).Sup.buf->data[pos]) == (NU8)(92))) goto LA17_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_199 = addInt(pos, ((NI) 1));
						lastBackslash = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_199);
					}
					LA17_: ;
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf->data[pos]));
					TM__4JpEWnGrmRM8CRqL3P2O1Q_200 = addInt(pos, ((NI) 1));
					pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_200);
				} LA14: ;
			}
			pos = handleCRLF__gcQ3G2Zisr5vSZdjUWLHaw(L, pos);
			indent = ((NI) 0);
			{
				while (1) {
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_201;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_202;
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!((NU8)((*L).Sup.buf->data[pos]) == (NU8)(32))) goto LA20;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_201 = addInt(pos, ((NI) 1));
					pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_201);
					TM__4JpEWnGrmRM8CRqL3P2O1Q_202 = addInt(indent, ((NI) 1));
					indent = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_202);
				} LA20: ;
			}
			{
				NIM_BOOL T23_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_203;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_204;
				NI c;
				NI64 TM__4JpEWnGrmRM8CRqL3P2O1Q_207;
				T23_ = (NIM_BOOL)0;
				if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T23_ = ((NU8)((*L).Sup.buf->data[pos]) == (NU8)(35));
				if (!(T23_)) goto LA24_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_203 = addInt(pos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_203)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_203),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T23_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_203)]) == (NU8)(35));
				LA24_: ;
				if (!T23_) goto LA25_;
				unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, 1));
appendString((*tok).literal, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_172));
				TM__4JpEWnGrmRM8CRqL3P2O1Q_204 = addInt(pos, ((NI) 2));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_204);
				c = toStrip;
				{
					while (1) {
						NIM_BOOL T29_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_205;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_206;
						T29_ = (NIM_BOOL)0;
						if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T29_ = ((NU8)((*L).Sup.buf->data[pos]) == (NU8)(32));
						if (!(T29_)) goto LA30_;
						T29_ = (((NI) 0) < c);
						LA30_: ;
						if (!T29_) goto LA28;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_205 = addInt(pos, ((NI) 1));
						pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_205);
						TM__4JpEWnGrmRM8CRqL3P2O1Q_206 = subInt(c, ((NI) 1));
						c = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_206);
					} LA28: ;
				}
				TM__4JpEWnGrmRM8CRqL3P2O1Q_207 = addInt64((*tok).iNumber, ((NI) 1));
				(*tok).iNumber = (NI64)(TM__4JpEWnGrmRM8CRqL3P2O1Q_207);
			}
			goto LA21_;
			LA25_: ;
			{
				{
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!((NU8)(32) < (NU8)((*L).Sup.buf->data[pos]))) goto LA34_;
					(*L).indentAhead = indent;
				}
				LA34_: ;
				goto LA11;
			}
			LA21_: ;
		}
	} LA11: ;
	(*L).Sup.bufpos = pos;
	}BeforeRet_: ;
}
static N_INLINE(void, endOperator__pl3V9csJKSd9cgFaF1BLKgPQlexer)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, NI pos, NI hash) {	NI h;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_211;
	h = emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes(hash);
	if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	TM__4JpEWnGrmRM8CRqL3P2O1Q_211 = subInt(pos, (*L).Sup.bufpos);
	unsureAsgnRef((void**) (&(*tok).ident), getIdent__jPDJlJukeiI0s9cOWXczqWg((*L).cache, ((NCSTRING) ((&(*L).Sup.buf->data[(*L).Sup.bufpos]))), (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_211), h));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*(*tok).ident).Sup.id < ((NI) 67));
		if (T3_) goto LA4_;
		T3_ = (((NI) 71) < (*(*tok).ident).Sup.id);
		LA4_: ;
		if (!T3_) goto LA5_;
		(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 109);
	}
	goto LA1_;
	LA5_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_212;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_213;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_212 = subInt((*(*tok).ident).Sup.id, ((NI) 67));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_213 = addInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_212), ((NI) 103));
		(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_213), ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 0), ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 115)));
	}
	LA1_: ;
	(*L).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, getOperator__rwBXgYq6A9aRSWDrvp6B9cQg_5)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NI pos;
	NI h;
	pos = (*L).Sup.bufpos;
	h = ((NI) 0);
	{
		while (1) {
			NIM_CHAR c;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_215;
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			c = (*L).Sup.buf->data[pos];
			{
				if (!!(((TM__4JpEWnGrmRM8CRqL3P2O1Q_209[(NU)(((NU8)(c)))>>3] &(1U<<((NU)(((NU8)(c)))&7U)))!=0))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
			h = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(h, ((NU8)(c)));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_215 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_215);
		}
	} LA1: ;
	endOperator__pl3V9csJKSd9cgFaF1BLKgPQlexer(L, tok, pos, h);
	(*tok).strongSpaceB = ((NI8) 0);
	{
		while (1) {
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_216;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_217;
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!((NU8)((*L).Sup.buf->data[pos]) == (NU8)(32))) goto LA8;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_216 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_216);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_217 = addInt((*tok).strongSpaceB, ((NI) 1));
			if (TM__4JpEWnGrmRM8CRqL3P2O1Q_217 < -128 || TM__4JpEWnGrmRM8CRqL3P2O1Q_217 > 127) raiseOverflow();
			(*tok).strongSpaceB = (NI8)(TM__4JpEWnGrmRM8CRqL3P2O1Q_217);
		} LA8: ;
	}
	{
		if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		if (!(((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(10)) || ((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(0)))) goto LA11_;
		(*tok).strongSpaceB = ((NI8) -1);
	}
	LA11_: ;
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NI* xi, NI position) {	if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	switch (((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]))) {
	case 48 ... 57:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_253;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_254;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		TM__4JpEWnGrmRM8CRqL3P2O1Q_253 = subInt(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])), ((NI) 48));
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_253));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_254 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_254);
	}
	break;
	case 97 ... 102:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_255;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_256;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_257;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		TM__4JpEWnGrmRM8CRqL3P2O1Q_255 = subInt(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])), ((NI) 97));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_256 = addInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_255), ((NI) 10));
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_256));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_257 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_257);
	}
	break;
	case 65 ... 70:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_258;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_259;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_260;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		TM__4JpEWnGrmRM8CRqL3P2O1Q_258 = subInt(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])), ((NI) 65));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_259 = addInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_258), ((NI) 10));
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_259));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_260 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_260);
	}
	break;
	case 34:
	case 39:
	{
		{
			NimStringDesc* T9_;
			if (!(((NI) (position)) <= ((NI) 1))) goto LA7_;
			T9_ = (NimStringDesc*)0;
			if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			T9_ = rawNewString(56);
appendString(T9_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_261));
appendChar(T9_, (*L).Sup.buf->data[(*L).Sup.bufpos]);
appendString(T9_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_262));
			lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), T9_);
		}
		LA7_: ;
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_263;
			if (!(((NI) (position)) == ((NI) 0))) goto LA12_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_263 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_263);
		}
		LA12_: ;
	}
	break;
	default:
	{
		NimStringDesc* T15_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_264;
		T15_ = (NimStringDesc*)0;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T15_ = rawNewString(56);
appendString(T15_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_261));
appendChar(T15_, (*L).Sup.buf->data[(*L).Sup.bufpos]);
appendString(T15_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_262));
		lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), T15_);
		TM__4JpEWnGrmRM8CRqL3P2O1Q_264 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_264);
	}
	break;
	}
}
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {	NimStringDesc* result;
	NI a;
	NI L;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_270;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_271;
	result = (NimStringDesc*)0;
	a = x.a;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_270 = subInt(x.b, a);
	TM__4JpEWnGrmRM8CRqL3P2O1Q_271 = addInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_270), ((NI) 1));
	L = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_271);
	result = mnewString(((NI)chckRange(L, ((NI) 0), ((NI) IL64(9223372036854775807)))));
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_272;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_273;
				if (!(i_2 < L)) goto LA3;
				i = i_2;
				if ((NU)(i) >= (NU)(result ? result->Sup.len : 0)) raiseIndexError2(i,(result ? result->Sup.len : 0)-1);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_272 = addInt(i, a);
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_272)) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_272),(s ? s->Sup.len : 0)-1);
				result->data[i] = s->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_272)];
				TM__4JpEWnGrmRM8CRqL3P2O1Q_273 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_273);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addUnicodeCodePoint__hfrmZOFcI1FsWoynXpd8hw)(NimStringDesc** s, NI i) {	NU i_2;
	NI pos;
	i_2 = ((NU) (i));
	pos = ((*s) ? (*s)->Sup.len : 0);
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_276;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_277;
		if (!((NU64)(i_2) <= (NU64)(((NI) 127)))) goto LA3_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_276 = addInt(pos, ((NI) 1));
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_276), ((NI) 0), ((NI) IL64(9223372036854775807))))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_277 = addInt(pos, ((NI) 0));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_277)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_277),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_277)] = ((NIM_CHAR) (((NI)chckRange(i_2, ((NI) 0), ((NI) 255)))));
	}
	goto LA1_;
	LA3_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_278;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_279;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_280;
		if (!((NU64)(i_2) <= (NU64)(((NI) 2047)))) goto LA6_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_278 = addInt(pos, ((NI) 2));
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_278), ((NI) 0), ((NI) IL64(9223372036854775807))))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_279 = addInt(pos, ((NI) 0));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_279)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_279),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_279)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) | ((NI) 192)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_280 = addInt(pos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_280)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_280),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_280)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)(i_2 & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
	}
	goto LA1_;
	LA6_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_281;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_282;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_283;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_284;
		if (!((NU64)(i_2) <= (NU64)(((NI) 65535)))) goto LA9_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_281 = addInt(pos, ((NI) 3));
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_281), ((NI) 0), ((NI) IL64(9223372036854775807))))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_282 = addInt(pos, ((NI) 0));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_282)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_282),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_282)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 12))) | ((NI) 224)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_283 = addInt(pos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_283)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_283),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_283)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_284 = addInt(pos, ((NI) 2));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_284)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_284),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_284)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)(i_2 & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
	}
	goto LA1_;
	LA9_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_285;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_286;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_287;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_288;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_289;
		if (!((NU64)(i_2) <= (NU64)(((NI) 2097151)))) goto LA12_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_285 = addInt(pos, ((NI) 4));
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_285), ((NI) 0), ((NI) IL64(9223372036854775807))))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_286 = addInt(pos, ((NI) 0));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_286)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_286),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_286)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 18))) | ((NI) 240)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_287 = addInt(pos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_287)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_287),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_287)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 12))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_288 = addInt(pos, ((NI) 2));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_288)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_288),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_288)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_289 = addInt(pos, ((NI) 3));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_289)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_289),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_289)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)(i_2 & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
	}
	goto LA1_;
	LA12_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_290;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_291;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_292;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_293;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_294;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_295;
		if (!((NU64)(i_2) <= (NU64)(((NI) 67108863)))) goto LA15_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_290 = addInt(pos, ((NI) 5));
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_290), ((NI) 0), ((NI) IL64(9223372036854775807))))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_291 = addInt(pos, ((NI) 0));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_291)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_291),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_291)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 24))) | ((NI) 248)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_292 = addInt(pos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_292)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_292),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_292)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 18))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_293 = addInt(pos, ((NI) 2));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_293)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_293),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_293)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 12))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_294 = addInt(pos, ((NI) 3));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_294)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_294),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_294)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_295 = addInt(pos, ((NI) 4));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_295)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_295),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_295)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)(i_2 & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
	}
	goto LA1_;
	LA15_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_296;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_297;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_298;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_299;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_300;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_301;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_302;
		if (!((NU64)(i_2) <= (NU64)(((NI) 2147483647)))) goto LA18_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_296 = addInt(pos, ((NI) 6));
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI)chckRange((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_296), ((NI) 0), ((NI) IL64(9223372036854775807))))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_297 = addInt(pos, ((NI) 0));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_297)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_297),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_297)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 30))) | ((NI) 252)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_298 = addInt(pos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_298)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_298),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_298)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 24))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_299 = addInt(pos, ((NI) 2));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_299)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_299),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_299)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 18))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_300 = addInt(pos, ((NI) 3));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_300)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_300),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_300)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 12))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_301 = addInt(pos, ((NI) 4));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_301)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_301),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_301)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_302 = addInt(pos, ((NI) 5));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_302)) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_302),((*s) ? (*s)->Sup.len : 0)-1);
		(*s)->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_302)] = ((NIM_CHAR) (((NI)chckRange((NU)((NU)(i_2 & ((NI) 63)) | ((NI) 128)), ((NI) 0), ((NI) 255)))));
	}
	goto LA1_;
	LA18_: ;
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchTwoChars__dPdqLvWqC6oqPGVtELhGPA)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NIM_CHAR first, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw second) {	NIM_BOOL result;
	NIM_BOOL T1_;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_303;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	T1_ = ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(first));
	if (!(T1_)) goto LA2_;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_303 = addInt((*L).Sup.bufpos, ((NI) 1));
	if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_303)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_303),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	T1_ = ((second[(NU)(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_303)])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_303)])))&7U)))!=0);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, handleDecChars__t9bZrbIXicT9bAHr9bOV1mClg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NI* xi) {	{
		while (1) {
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_305;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_306;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_307;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_308;
			if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) <= ((NU8)(57)))) goto LA2;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_305 = mulInt((*xi), ((NI) 10));
			if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_306 = subInt(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])), ((NI) 48));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_307 = addInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_305), (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_306));
			(*xi) = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_307);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_308 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_308);
		} LA2: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__rwBXgYq6A9aRSWDrvp6B9cQg_6)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_237;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_237 = addInt((*L).Sup.bufpos, ((NI) 1));
	(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_237);
	if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	switch (((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]))) {
	case 110:
	case 78:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_239;
		{
			if (!(*(*L).config).oldNewlines) goto LA4_;
			{
				if (!((*tok).tokType == ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 88))) goto LA8_;
				lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_238));
			}
			LA8_: ;
			unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, ((*(*L).config).target.tnl ? (*(*L).config).target.tnl->Sup.len : 0) + 0));
appendString((*tok).literal, (*(*L).config).target.tnl);
		}
		goto LA2_;
		LA4_: ;
		{
			unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 10));
		}
		LA2_: ;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_239 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_239);
	}
	break;
	case 112:
	case 80:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_241;
		{
			if (!((*tok).tokType == ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 88))) goto LA14_;
			lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_240));
		}
		LA14_: ;
		unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, ((*(*L).config).target.tnl ? (*(*L).config).target.tnl->Sup.len : 0) + 0));
appendString((*tok).literal, (*(*L).config).target.tnl);
		TM__4JpEWnGrmRM8CRqL3P2O1Q_241 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_241);
	}
	break;
	case 114:
	case 82:
	case 99:
	case 67:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_242;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 13));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_242 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_242);
	}
	break;
	case 108:
	case 76:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_243;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 10));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_243 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_243);
	}
	break;
	case 102:
	case 70:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_244;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 12));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_244 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_244);
	}
	break;
	case 101:
	case 69:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_245;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 27));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_245 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_245);
	}
	break;
	case 97:
	case 65:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_246;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 7));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_246 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246);
	}
	break;
	case 98:
	case 66:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_247;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 8));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_247 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_247);
	}
	break;
	case 118:
	case 86:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_248;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 11));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_248 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_248);
	}
	break;
	case 116:
	case 84:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_249;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 9));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_249 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_249);
	}
	break;
	case 39:
	case 34:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_250;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf->data[(*L).Sup.bufpos]));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_250 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_250);
	}
	break;
	case 92:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_251;
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 92));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_251 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_251);
	}
	break;
	case 120:
	case 88:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_252;
		NI xi;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_252 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_252);
		xi = ((NI) 0);
		handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg(L, (&xi), ((NI) 1));
		handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg(L, (&xi), ((NI) 2));
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, ((NIM_CHAR) (((NI)chckRange(xi, ((NI) 0), ((NI) 255)))))));
	}
	break;
	case 117:
	case 85:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_266;
		NI xi_2;
		{
			if (!((*tok).tokType == ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 88))) goto LA30_;
			lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_265));
		}
		LA30_: ;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_266 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_266);
		xi_2 = ((NI) 0);
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_267;
			NI start;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_269;
			if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(123))) goto LA34_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_267 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_267);
			start = (*L).Sup.bufpos;
			{
				while (1) {
					if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!!(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(125)))) goto LA37;
					handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg(L, (&xi_2), ((NI) 0));
				} LA37: ;
			}
			{
				if (!(start == (*L).Sup.bufpos)) goto LA40_;
				lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_268));
			}
			LA40_: ;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_269 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_269);
			{
				NimStringDesc* hex;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_274;
				tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T46_;
				NimStringDesc* T47_;
				if (!(((NI) 1114111) < xi_2)) goto LA44_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_274 = subInt((*L).Sup.bufpos, ((NI) 2));
				T46_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(start, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_274));
				hex = X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem((*L).Sup.buf, T46_);
				T47_ = (NimStringDesc*)0;
				T47_ = rawNewString((hex ? hex->Sup.len : 0) + 56);
appendString(T47_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_275));
appendString(T47_, hex);
				lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), T47_);
			}
			LA44_: ;
		}
		goto LA32_;
		LA34_: ;
		{
			handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg(L, (&xi_2), ((NI) 1));
			handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg(L, (&xi_2), ((NI) 2));
			handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg(L, (&xi_2), ((NI) 3));
			handleHexChar__Q4dd8FrfMQaHuZTTzR8eEg(L, (&xi_2), ((NI) 4));
		}
		LA32_: ;
		addUnicodeCodePoint__hfrmZOFcI1FsWoynXpd8hw((&(*tok).literal), xi_2);
	}
	break;
	case 48 ... 57:
	{
		NI xi_3;
		{
			NIM_BOOL T52_;
			T52_ = (NIM_BOOL)0;
			T52_ = matchTwoChars__dPdqLvWqC6oqPGVtELhGPA((&(*L)), 48, TM__4JpEWnGrmRM8CRqL3P2O1Q_304);
			if (!T52_) goto LA53_;
			lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 12), ((NimStringDesc*) NIM_NIL));
		}
		LA53_: ;
		xi_3 = ((NI) 0);
		handleDecChars__t9bZrbIXicT9bAHr9bOV1mClg(L, (&xi_3));
		{
			if (!(xi_3 <= ((NI) 255))) goto LA57_;
			unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, ((NIM_CHAR) (((NI)chckRange(xi_3, ((NI) 0), ((NI) 255)))))));
		}
		goto LA55_;
		LA57_: ;
		{
			lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_309));
		}
		LA55_: ;
	}
	break;
	default:
	{
		lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_309));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, getString__5H2TS8AOTBwFUN1V09cCcFg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ mode) {	NI pos;
	NI line;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_221;
	pos = (*L).Sup.bufpos;
	line = (*L).Sup.lineNumber;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_221 = addInt(pos, ((NI) 1));
	pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_221);
	{
		NIM_BOOL T3_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_222;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_223;
		T3_ = (NIM_BOOL)0;
		if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T3_ = ((NU8)((*L).Sup.buf->data[pos]) == (NU8)(34));
		if (!(T3_)) goto LA4_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_222 = addInt(pos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_222)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_222),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T3_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_222)]) == (NU8)(34));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 85);
		TM__4JpEWnGrmRM8CRqL3P2O1Q_223 = addInt(pos, ((NI) 2));
		pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_223);
		{
			NI newpos;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_224;
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!(((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(32)) || ((NU8)((*L).Sup.buf->data[pos])) == ((NU8)(9)))) goto LA9_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_224 = addInt(pos, ((NI) 1));
			newpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_224);
			{
				while (1) {
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_225;
					if ((NU)(newpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(newpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!(((NU8)((*L).Sup.buf->data[newpos])) == ((NU8)(32)) || ((NU8)((*L).Sup.buf->data[newpos])) == ((NU8)(9)))) goto LA12;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_225 = addInt(newpos, ((NI) 1));
					newpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_225);
				} LA12: ;
			}
			{
				if ((NU)(newpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(newpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!(((NU8)((*L).Sup.buf->data[newpos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf->data[newpos])) == ((NU8)(10)))) goto LA15_;
				pos = newpos;
			}
			LA15_: ;
		}
		LA9_: ;
		pos = handleCRLF__gcQ3G2Zisr5vSZdjUWLHaw(L, pos);
		{
			while (1) {
				if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				switch (((NU8)((*L).Sup.buf->data[pos]))) {
				case 34:
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_230;
					{
						NIM_BOOL T22_;
						NIM_BOOL T23_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_226;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_227;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_228;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_229;
						T22_ = (NIM_BOOL)0;
						T23_ = (NIM_BOOL)0;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_226 = addInt(pos, ((NI) 1));
						if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_226)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_226),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T23_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_226)]) == (NU8)(34));
						if (!(T23_)) goto LA24_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_227 = addInt(pos, ((NI) 2));
						if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_227)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_227),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T23_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_227)]) == (NU8)(34));
						LA24_: ;
						T22_ = T23_;
						if (!(T22_)) goto LA25_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_228 = addInt(pos, ((NI) 3));
						if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_228)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_228),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T22_ = !(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_228)]) == (NU8)(34)));
						LA25_: ;
						if (!T22_) goto LA26_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_229 = addInt(pos, ((NI) 3));
						(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_229);
						goto LA17;
					}
					LA26_: ;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 34));
					TM__4JpEWnGrmRM8CRqL3P2O1Q_230 = addInt(pos, ((NI) 1));
					pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_230);
				}
				break;
				case 13:
				case 10:
				{
					pos = handleCRLF__gcQ3G2Zisr5vSZdjUWLHaw(L, pos);
					unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, 1));
appendString((*tok).literal, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_172));
				}
				break;
				case 0:
				{
					NI line2;
					line2 = (*L).Sup.lineNumber;
					(*L).Sup.lineNumber = line;
					lexMessagePos__Luzmw1O4gHsazqmVWGAy6A(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), (*L).Sup.lineStart, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_231));
					(*L).Sup.lineNumber = line2;
					(*L).Sup.bufpos = pos;
					goto LA17;
				}
				break;
				default:
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_232;
					if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf->data[pos]));
					TM__4JpEWnGrmRM8CRqL3P2O1Q_232 = addInt(pos, ((NI) 1));
					pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_232);
				}
				break;
				}
			}
		} LA17: ;
	}
	goto LA1_;
	LA5_: ;
	{
		{
			if (!!((mode == ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 0)))) goto LA34_;
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 84);
		}
		goto LA32_;
		LA34_: ;
		{
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 83);
		}
		LA32_: ;
		{
			while (1) {
				NIM_CHAR c;
				if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				c = (*L).Sup.buf->data[pos];
				{
					if (!((NU8)(c) == (NU8)(34))) goto LA41_;
					{
						NIM_BOOL T45_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_233;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_234;
						T45_ = (NIM_BOOL)0;
						T45_ = !((mode == ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 0)));
						if (!(T45_)) goto LA46_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_233 = addInt(pos, ((NI) 1));
						if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_233)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_233),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						T45_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_233)]) == (NU8)(34));
						LA46_: ;
						if (!T45_) goto LA47_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_234 = addInt(pos, ((NI) 2));
						pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_234);
						unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 34));
					}
					goto LA43_;
					LA47_: ;
					{
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_235;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_235 = addInt(pos, ((NI) 1));
						pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_235);
						goto LA37;
					}
					LA43_: ;
				}
				goto LA39_;
				LA41_: ;
				{
					if (!(((NU8)(c)) == ((NU8)(13)) || ((NU8)(c)) == ((NU8)(10)) || ((NU8)(c)) == ((NU8)(0)))) goto LA51_;
					lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_236));
					goto LA37;
				}
				goto LA39_;
				LA51_: ;
				{
					NIM_BOOL T54_;
					T54_ = (NIM_BOOL)0;
					T54_ = ((NU8)(c) == (NU8)(92));
					if (!(T54_)) goto LA55_;
					T54_ = (mode == ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 0));
					LA55_: ;
					if (!T54_) goto LA56_;
					(*L).Sup.bufpos = pos;
					getEscapedChar__rwBXgYq6A9aRSWDrvp6B9cQg_6(L, tok);
					pos = (*L).Sup.bufpos;
				}
				goto LA39_;
				LA56_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_310;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, c));
					TM__4JpEWnGrmRM8CRqL3P2O1Q_310 = addInt(pos, ((NI) 1));
					pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_310);
				}
				LA39_: ;
			}
		} LA37: ;
		(*L).Sup.bufpos = pos;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getCharacter__rwBXgYq6A9aRSWDrvp6B9cQg_7)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_338;
	NIM_CHAR c;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_342;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_338 = addInt((*L).Sup.bufpos, ((NI) 1));
	(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_338);
	if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	c = (*L).Sup.buf->data[(*L).Sup.bufpos];
	switch (((NU8)(c))) {
	case 0 ... 31:
	case 39:
	{
		lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_339));
		unsureAsgnRef((void**) (&(*tok).literal), nimCharToStr(c));
	}
	break;
	case 92:
	{
		getEscapedChar__rwBXgYq6A9aRSWDrvp6B9cQg_6(L, tok);
	}
	break;
	default:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_340;
		unsureAsgnRef((void**) (&(*tok).literal), nimCharToStr(c));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_340 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_340);
	}
	break;
	}
	{
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		if (!!(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(39)))) goto LA6_;
		lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_341));
	}
	LA6_: ;
	TM__4JpEWnGrmRM8CRqL3P2O1Q_342 = addInt((*L).Sup.bufpos, ((NI) 1));
	(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_342);
}
N_LIB_PRIVATE N_NIMCALL(void, matchChars__VFn7QLv8aTrt9cBmN0M09ciQ)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars) {	NI pos;
	pos = (*L).Sup.bufpos;
	{
		while (1) {
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_345;
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!((chars[(NU)(((NU8)((*L).Sup.buf->data[pos])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf->data[pos])))&7U)))!=0)) goto LA2;
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf->data[pos]));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_345 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_345);
		} LA2: ;
	}
	(*L).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, NimStringDesc* msg, NI startpos, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msgKind) {	NI msgPos;
	tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ t;
	NimStringDesc* T11_;
	msgPos = (*L).Sup.bufpos;
	nimZeroMem((void*)(&t), sizeof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ));
	t.literal = ((NimStringDesc*) NIM_NIL);
	(*L).Sup.bufpos = startpos;
	matchChars__VFn7QLv8aTrt9cBmN0M09ciQ(L, (&t), TM__4JpEWnGrmRM8CRqL3P2O1Q_346);
	{
		NIM_BOOL T3_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_347;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_348;
		T3_ = (NIM_BOOL)0;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T3_ = (((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) == ((NU8)(43)) || ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) == ((NU8)(45)));
		if (!(T3_)) goto LA4_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_347 = subInt((*L).Sup.bufpos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_347)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_347),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T3_ = (((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_347)])) == ((NU8)(101)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_347)])) == ((NU8)(69)));
		LA4_: ;
		if (!T3_) goto LA5_;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		t.literal = addChar(t.literal, (*L).Sup.buf->data[(*L).Sup.bufpos]);
		TM__4JpEWnGrmRM8CRqL3P2O1Q_348 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_348);
		matchChars__VFn7QLv8aTrt9cBmN0M09ciQ(L, (&t), TM__4JpEWnGrmRM8CRqL3P2O1Q_346);
	}
	LA5_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_350;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_349[(NU)(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])))&7U)))!=0)) goto LA9_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_350 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_350);
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		t.literal = addChar(t.literal, (*L).Sup.buf->data[(*L).Sup.bufpos]);
		matchChars__VFn7QLv8aTrt9cBmN0M09ciQ(L, (&t), TM__4JpEWnGrmRM8CRqL3P2O1Q_304);
	}
	LA9_: ;
	(*L).Sup.bufpos = msgPos;
	T11_ = (NimStringDesc*)0;
	T11_ = nsuFormatSingleElem(msg, t.literal);
	lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), msgKind, T11_);
}
N_LIB_PRIVATE N_NIMCALL(NI, matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars) {	NI result;
	NI pos;
	result = (NI)0;
	pos = (*L).Sup.bufpos;
	result = ((NI) 0);
	{
		while (1) {
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_353;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_354;
				if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((chars[(NU)(((NU8)((*L).Sup.buf->data[pos])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf->data[pos])))&7U)))!=0)) goto LA5_;
				if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf->data[pos]));
				TM__4JpEWnGrmRM8CRqL3P2O1Q_353 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_353);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_354 = addInt(result, ((NI) 1));
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_354 < 0 || TM__4JpEWnGrmRM8CRqL3P2O1Q_354 > IL64(9223372036854775807)) raiseOverflow();
				result = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_354);
			}
			goto LA3_;
			LA5_: ;
			{
				goto LA1;
			}
			LA3_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_357;
				if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[pos]) == (NU8)(95))) goto LA10_;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_355;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_355 = addInt(pos, ((NI) 1));
					if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_355)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_355),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
					if (!!(((chars[(NU)(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_355)])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_355)])))&7U)))!=0))) goto LA14_;
					lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_356));
					goto LA1;
				}
				LA14_: ;
				unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 95));
				TM__4JpEWnGrmRM8CRqL3P2O1Q_357 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_357);
			}
			LA10_: ;
		}
	} LA1: ;
	(*L).Sup.bufpos = pos;
	return result;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {	(*s).hasRaiseAction = NIM_FALSE;
	(*s).prev = excHandler__rqLlY5bs9atDw2OXYqJEn5g;
	excHandler__rqLlY5bs9atDw2OXYqJEn5g = s;
}
static N_INLINE(void, popSafePoint)(void) {	excHandler__rqLlY5bs9atDw2OXYqJEn5g = (*excHandler__rqLlY5bs9atDw2OXYqJEn5g).prev;
}
static N_INLINE(Exception*, getCurrentException)(void) {	Exception* result;
	result = (Exception*)0;
	result = currException__9bVPeDJlYTi9bQApZpfH8wjg;
	return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	(*c).refcount = (NI)((NU64)((*c).refcount) + (NU64)(((NI) 8)));
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (ptrdiff_t) (usr))) - (NU64)(((NI) 16)))));
	return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	(*c).refcount = (NI)((NU64)((*c).refcount) - (NU64)(((NI) 8)));
	{
		if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3_;
		rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA3_: ;
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef__AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
static N_INLINE(void, popCurrentException)(void) {	asgnRef((void**) (&currException__9bVPeDJlYTi9bQApZpfH8wjg), (*currException__9bVPeDJlYTi9bQApZpfH8wjg).up);
}
N_LIB_PRIVATE N_NIMCALL(void, getNumber__RRRRXclVBBDf9bEfE8isp1g)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* result) {	NI startpos;
	NI endpos;
	NI64 volatile xi;
	NIM_BOOL isBase10;
	NI numDigits;
	NI postPos;
	NI volatile pos;
	TSafePoint TM__4JpEWnGrmRM8CRqL3P2O1Q_398;
	startpos = (NI)0;
	endpos = (NI)0;
	xi = (NI64)0;
	isBase10 = NIM_TRUE;
	numDigits = ((NI) 0);
	(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 69);
	unsureAsgnRef((void**) (&(*result).literal), ((NimStringDesc*) NIM_NIL));
	(*result).base = ((tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q) 0);
	startpos = (*L).Sup.bufpos;
	{
		NIM_BOOL T3_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_343;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_344;
		T3_ = (NIM_BOOL)0;
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T3_ = ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(48));
		if (!(T3_)) goto LA4_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_343 = addInt((*L).Sup.bufpos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T3_ = (((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)])) >= ((NU8)(66)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)])) <= ((NU8)(67)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)])) == ((NU8)(79)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)])) == ((NU8)(88)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)])) >= ((NU8)(98)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)])) <= ((NU8)(99)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)])) == ((NU8)(111)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343)])) == ((NU8)(120)));
		LA4_: ;
		if (!T3_) goto LA5_;
		isBase10 = NIM_FALSE;
		unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 48));
		TM__4JpEWnGrmRM8CRqL3P2O1Q_344 = addInt((*L).Sup.bufpos, ((NI) 1));
		(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_344);
		if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		switch (((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]))) {
		case 99:
		case 67:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_352;
			NI T8_;
			lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_351), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 15));
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 99));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_352 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_352);
			T8_ = (NI)0;
			T8_ = matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_358);
			numDigits = ((NI) (T8_));
		}
		break;
		case 79:
		{
			lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_359), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
		}
		break;
		case 120:
		case 88:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_360;
			NI T11_;
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 120));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_360 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_360);
			T11_ = (NI)0;
			T11_ = matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_361);
			numDigits = ((NI) (T11_));
		}
		break;
		case 111:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_362;
			NI T13_;
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 111));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_362 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_362);
			T13_ = (NI)0;
			T13_ = matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_358);
			numDigits = ((NI) (T13_));
		}
		break;
		case 98:
		case 66:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_363;
			NI T15_;
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 98));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_363 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_363);
			T15_ = (NI)0;
			T15_ = matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_364);
			numDigits = ((NI) (T15_));
		}
		break;
		default:
		{
			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T17_;
			T17_ = getLineInfo__3mFSUpsGePvVy7sr21vV3A((&(*L)));
			internalError__yTu5SGHF0j0P9cQrqN7YylA((*L).config, T17_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_365));
		}
		break;
		}
		{
			if (!(numDigits == ((NI) 0))) goto LA20_;
			lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_366), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
		}
		LA20_: ;
	}
	goto LA1_;
	LA5_: ;
	{
		NI T23_;
		T23_ = (NI)0;
		T23_ = matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_304);
		(void)(T23_);
		{
			NIM_BOOL T26_;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_367;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_368;
			NI T30_;
			T26_ = (NIM_BOOL)0;
			if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			T26_ = ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(46));
			if (!(T26_)) goto LA27_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_367 = addInt((*L).Sup.bufpos, ((NI) 1));
			if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_367)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_367),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			T26_ = (((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_367)])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_367)])) <= ((NU8)(57)));
			LA27_: ;
			if (!T26_) goto LA28_;
			(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 79);
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 46));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_368 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_368);
			T30_ = (NI)0;
			T30_ = matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_304);
			(void)(T30_);
		}
		LA28_: ;
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_369;
			NI T39_;
			if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) == ((NU8)(101)) || ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) == ((NU8)(69)))) goto LA33_;
			(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 79);
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 101));
			TM__4JpEWnGrmRM8CRqL3P2O1Q_369 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_369);
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_370;
				if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!(((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) == ((NU8)(43)) || ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) == ((NU8)(45)))) goto LA37_;
				if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, (*L).Sup.buf->data[(*L).Sup.bufpos]));
				TM__4JpEWnGrmRM8CRqL3P2O1Q_370 = addInt((*L).Sup.bufpos, ((NI) 1));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_370);
			}
			LA37_: ;
			T39_ = (NI)0;
			T39_ = matchUnderscoreChars__cLbsnOEYhmBdsIL8SDxxUw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_304);
			(void)(T39_);
		}
		LA33_: ;
	}
	LA1_: ;
	endpos = (*L).Sup.bufpos;
	postPos = endpos;
	{
		if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_349[(NU)(((NU8)((*L).Sup.buf->data[postPos])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf->data[postPos])))&7U)))!=0)) goto LA42_;
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_371;
			if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			if (!((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(39))) goto LA46_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_371 = addInt(postPos, ((NI) 1));
			postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_371);
		}
		LA46_: ;
		if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		switch (((NU8)((*L).Sup.buf->data[postPos]))) {
		case 102:
		case 70:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_372;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_372 = addInt(postPos, ((NI) 1));
			postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_372);
			{
				NIM_BOOL T51_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_373;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_374;
				T51_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T51_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(51));
				if (!(T51_)) goto LA52_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_373 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_373)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_373),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T51_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_373)]) == (NU8)(50));
				LA52_: ;
				if (!T51_) goto LA53_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 80);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_374 = addInt(postPos, ((NI) 2));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_374);
			}
			goto LA49_;
			LA53_: ;
			{
				NIM_BOOL T56_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_375;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_376;
				T56_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T56_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(54));
				if (!(T56_)) goto LA57_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_375 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_375)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_375),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T56_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_375)]) == (NU8)(52));
				LA57_: ;
				if (!T56_) goto LA58_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 81);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_376 = addInt(postPos, ((NI) 2));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_376);
			}
			goto LA49_;
			LA58_: ;
			{
				NIM_BOOL T61_;
				NIM_BOOL T62_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_377;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_378;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_379;
				T61_ = (NIM_BOOL)0;
				T62_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T62_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(49));
				if (!(T62_)) goto LA63_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_377 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_377)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_377),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T62_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_377)]) == (NU8)(50));
				LA63_: ;
				T61_ = T62_;
				if (!(T61_)) goto LA64_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_378 = addInt(postPos, ((NI) 2));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_378)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_378),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T61_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_378)]) == (NU8)(56));
				LA64_: ;
				if (!T61_) goto LA65_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 82);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_379 = addInt(postPos, ((NI) 3));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_379);
			}
			goto LA49_;
			LA65_: ;
			{
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 80);
			}
			LA49_: ;
		}
		break;
		case 100:
		case 68:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_380;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_380 = addInt(postPos, ((NI) 1));
			postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_380);
			(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 81);
		}
		break;
		case 105:
		case 73:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_381;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_381 = addInt(postPos, ((NI) 1));
			postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_381);
			{
				NIM_BOOL T72_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_382;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_383;
				T72_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T72_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(54));
				if (!(T72_)) goto LA73_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_382 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_382)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_382),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T72_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_382)]) == (NU8)(52));
				LA73_: ;
				if (!T72_) goto LA74_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 73);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_383 = addInt(postPos, ((NI) 2));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_383);
			}
			goto LA70_;
			LA74_: ;
			{
				NIM_BOOL T77_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_384;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_385;
				T77_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T77_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(51));
				if (!(T77_)) goto LA78_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_384 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_384)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_384),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T77_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_384)]) == (NU8)(50));
				LA78_: ;
				if (!T77_) goto LA79_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 72);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_385 = addInt(postPos, ((NI) 2));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_385);
			}
			goto LA70_;
			LA79_: ;
			{
				NIM_BOOL T82_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_386;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_387;
				T82_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T82_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(49));
				if (!(T82_)) goto LA83_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_386 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_386)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_386),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T82_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_386)]) == (NU8)(54));
				LA83_: ;
				if (!T82_) goto LA84_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 71);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_387 = addInt(postPos, ((NI) 2));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_387);
			}
			goto LA70_;
			LA84_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_388;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(56))) goto LA87_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 70);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_388 = addInt(postPos, ((NI) 1));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_388);
			}
			goto LA70_;
			LA87_: ;
			{
				lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_366), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
			}
			LA70_: ;
		}
		break;
		case 117:
		case 85:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_389;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_389 = addInt(postPos, ((NI) 1));
			postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_389);
			{
				NIM_BOOL T93_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_390;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_391;
				T93_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T93_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(54));
				if (!(T93_)) goto LA94_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_390 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_390)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_390),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T93_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_390)]) == (NU8)(52));
				LA94_: ;
				if (!T93_) goto LA95_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 78);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_391 = addInt(postPos, ((NI) 2));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_391);
			}
			goto LA91_;
			LA95_: ;
			{
				NIM_BOOL T98_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_392;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_393;
				T98_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T98_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(51));
				if (!(T98_)) goto LA99_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_392 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_392)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_392),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T98_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_392)]) == (NU8)(50));
				LA99_: ;
				if (!T98_) goto LA100_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 77);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_393 = addInt(postPos, ((NI) 2));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_393);
			}
			goto LA91_;
			LA100_: ;
			{
				NIM_BOOL T103_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_394;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_395;
				T103_ = (NIM_BOOL)0;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T103_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(49));
				if (!(T103_)) goto LA104_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_394 = addInt(postPos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_394)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_394),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T103_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_394)]) == (NU8)(54));
				LA104_: ;
				if (!T103_) goto LA105_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 76);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_395 = addInt(postPos, ((NI) 2));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_395);
			}
			goto LA91_;
			LA105_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_396;
				if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(56))) goto LA108_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 75);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_396 = addInt(postPos, ((NI) 1));
				postPos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_396);
			}
			goto LA91_;
			LA108_: ;
			{
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 74);
			}
			LA91_: ;
		}
		break;
		default:
		{
			lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_366), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
		}
		break;
		}
	}
	LA42_: ;
	{
		NIM_BOOL T114_;
		NIM_BOOL T116_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_397;
		T114_ = (NIM_BOOL)0;
		if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T114_ = (((NU8)((*L).Sup.buf->data[postPos])) == ((NU8)(39)) || ((NU8)((*L).Sup.buf->data[postPos])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf->data[postPos])) <= ((NU8)(57)) || ((NU8)((*L).Sup.buf->data[postPos])) >= ((NU8)(65)) && ((NU8)((*L).Sup.buf->data[postPos])) <= ((NU8)(70)) || ((NU8)((*L).Sup.buf->data[postPos])) == ((NU8)(88)) || ((NU8)((*L).Sup.buf->data[postPos])) == ((NU8)(95)) || ((NU8)((*L).Sup.buf->data[postPos])) >= ((NU8)(97)) && ((NU8)((*L).Sup.buf->data[postPos])) <= ((NU8)(102)) || ((NU8)((*L).Sup.buf->data[postPos])) == ((NU8)(111)) || ((NU8)((*L).Sup.buf->data[postPos])) == ((NU8)(120)));
		if (T114_) goto LA115_;
		T116_ = (NIM_BOOL)0;
		if ((NU)(postPos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(postPos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T116_ = ((NU8)((*L).Sup.buf->data[postPos]) == (NU8)(46));
		if (!(T116_)) goto LA117_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_397 = addInt(postPos, ((NI) 1));
		if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_397)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_397),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
		T116_ = (((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_397)])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_397)])) <= ((NU8)(57)));
		LA117_: ;
		T114_ = T116_;
		LA115_: ;
		if (!T114_) goto LA118_;
		lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_366), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
	}
	LA118_: ;
	(*L).Sup.bufpos = startpos;
	pos = startpos;
	pushSafePoint(&TM__4JpEWnGrmRM8CRqL3P2O1Q_398);
	TM__4JpEWnGrmRM8CRqL3P2O1Q_398.status = _setjmp(TM__4JpEWnGrmRM8CRqL3P2O1Q_398.context);
	if (TM__4JpEWnGrmRM8CRqL3P2O1Q_398.status == 0) {
		{
			NIM_BOOL T123_;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_399;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_400;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_401;
			T123_ = (NIM_BOOL)0;
			if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			T123_ = ((NU8)((*L).Sup.buf->data[pos]) == (NU8)(48));
			if (!(T123_)) goto LA124_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_399 = addInt(pos, ((NI) 1));
			if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			T123_ = (((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399)])) == ((NU8)(88)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399)])) == ((NU8)(120)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399)])) == ((NU8)(111)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399)])) == ((NU8)(98)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399)])) == ((NU8)(66)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399)])) == ((NU8)(99)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_399)])) == ((NU8)(67)));
			LA124_: ;
			if (!T123_) goto LA125_;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_400 = addInt(pos, ((NI) 2));
			pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_400);
			xi = IL64(0);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_401 = subInt(pos, ((NI) 1));
			if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_401)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_401),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			switch (((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_401)]))) {
			case 98:
			case 66:
			{
				(*result).base = ((tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q) 1);
				{
					while (1) {
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_403;
						if (!(pos < endpos)) goto LA129;
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_402;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							if (!!(((NU8)((*L).Sup.buf->data[pos]) == (NU8)(95)))) goto LA132_;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							TM__4JpEWnGrmRM8CRqL3P2O1Q_402 = subInt(((NU8)((*L).Sup.buf->data[pos])), ((NI) 48));
							xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 1))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_402))));
						}
						LA132_: ;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_403 = addInt(pos, ((NI) 1));
						pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_403);
					} LA129: ;
				}
			}
			break;
			case 111:
			case 99:
			case 67:
			{
				(*result).base = ((tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q) 2);
				{
					while (1) {
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_405;
						if (!(pos < endpos)) goto LA136;
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_404;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							if (!!(((NU8)((*L).Sup.buf->data[pos]) == (NU8)(95)))) goto LA139_;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							TM__4JpEWnGrmRM8CRqL3P2O1Q_404 = subInt(((NU8)((*L).Sup.buf->data[pos])), ((NI) 48));
							xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 3))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_404))));
						}
						LA139_: ;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_405 = addInt(pos, ((NI) 1));
						pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_405);
					} LA136: ;
				}
			}
			break;
			case 120:
			case 88:
			{
				(*result).base = ((tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q) 3);
				{
					while (1) {
						if (!(pos < endpos)) goto LA143;
						if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
						switch (((NU8)((*L).Sup.buf->data[pos]))) {
						case 95:
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_406;
							TM__4JpEWnGrmRM8CRqL3P2O1Q_406 = addInt(pos, ((NI) 1));
							pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_406);
						}
						break;
						case 48 ... 57:
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_407;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_408;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							TM__4JpEWnGrmRM8CRqL3P2O1Q_407 = subInt(((NU8)((*L).Sup.buf->data[pos])), ((NI) 48));
							xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 4))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_407))));
							TM__4JpEWnGrmRM8CRqL3P2O1Q_408 = addInt(pos, ((NI) 1));
							pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_408);
						}
						break;
						case 97 ... 102:
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_409;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_410;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_411;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							TM__4JpEWnGrmRM8CRqL3P2O1Q_409 = subInt(((NU8)((*L).Sup.buf->data[pos])), ((NI) 97));
							TM__4JpEWnGrmRM8CRqL3P2O1Q_410 = addInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_409), ((NI) 10));
							xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 4))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_410))));
							TM__4JpEWnGrmRM8CRqL3P2O1Q_411 = addInt(pos, ((NI) 1));
							pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_411);
						}
						break;
						case 65 ... 70:
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_412;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_413;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_414;
							if ((NU)(pos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2(pos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
							TM__4JpEWnGrmRM8CRqL3P2O1Q_412 = subInt(((NU8)((*L).Sup.buf->data[pos])), ((NI) 65));
							TM__4JpEWnGrmRM8CRqL3P2O1Q_413 = addInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_412), ((NI) 10));
							xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 4))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_413))));
							TM__4JpEWnGrmRM8CRqL3P2O1Q_414 = addInt(pos, ((NI) 1));
							pos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_414);
						}
						break;
						default:
						{
							goto LA142;
						}
						break;
						}
					} LA143: ;
				} LA142: ;
			}
			break;
			default:
			{
				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T150_;
				T150_ = getLineInfo__3mFSUpsGePvVy7sr21vV3A((&(*L)));
				internalError__yTu5SGHF0j0P9cQrqN7YylA((*L).config, T150_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_365));
			}
			break;
			}
			switch ((*result).tokType) {
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 69):
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 73):
			{
				(*result).iNumber = xi;
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 70):
			{
				(*result).iNumber = (NI64)((NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 56)))) >> (NU64)(((NI) 56)));
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 71):
			{
				(*result).iNumber = (NI64)((NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 48)))) >> (NU64)(((NI) 48)));
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 72):
			{
				(*result).iNumber = (NI64)((NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 32)))) >> (NU64)(((NI) 32)));
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 74):
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 78):
			{
				(*result).iNumber = xi;
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 75):
			{
				(*result).iNumber = (NI64)(xi & IL64(255));
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 76):
			{
				(*result).iNumber = (NI64)(xi & IL64(65535));
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 77):
			{
				(*result).iNumber = (NI64)(xi & IL64(4294967295));
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 80):
			{
				(*result).fNumber = ((NF) ((*((NF32*) ((&xi))))));
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 81):
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 79):
			{
				(*result).fNumber = (*((NF*) ((&xi))));
			}
			break;
			default:
			{
				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T162_;
				T162_ = getLineInfo__3mFSUpsGePvVy7sr21vV3A((&(*L)));
				internalError__yTu5SGHF0j0P9cQrqN7YylA((*L).config, T162_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_365));
			}
			break;
			}
			{
				NIM_BOOL outOfRange;
				if (!!(((*result).tokType == ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 79) || (*result).tokType == ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 80) || (*result).tokType == ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 81) || (*result).tokType == ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 82)))) goto LA165_;
				switch ((*result).tokType) {
				case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 75):
				case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 76):
				case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 77):
				{
					outOfRange = !(((*result).iNumber == xi));
				}
				break;
				case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 70):
				{
					outOfRange = (IL64(255) < xi);
				}
				break;
				case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 71):
				{
					outOfRange = (IL64(65535) < xi);
				}
				break;
				case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 72):
				{
					outOfRange = (IL64(4294967295) < xi);
				}
				break;
				default:
				{
					outOfRange = NIM_FALSE;
				}
				break;
				}
				{
					if (!outOfRange) goto LA174_;
					lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_415), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
				}
				LA174_: ;
			}
			LA165_: ;
		}
		goto LA121_;
		LA125_: ;
		{
			NIM_BOOL outOfRange_2;
			switch ((*result).tokType) {
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 79) ... ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 82):
			{
				(*result).fNumber = nsuParseFloat((*result).literal);
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 78):
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 74):
			{
				NU64 iNumber;
				NI volatile len;
				TSafePoint TM__4JpEWnGrmRM8CRqL3P2O1Q_416;
				iNumber = (NU64)0;
				len = (NI)0;
				pushSafePoint(&TM__4JpEWnGrmRM8CRqL3P2O1Q_416);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_416.status = _setjmp(TM__4JpEWnGrmRM8CRqL3P2O1Q_416.context);
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_416.status == 0) {
					len = npuParseBiggestUInt((*result).literal, (&iNumber), ((NI) 0));
					popSafePoint();
				}
				else {
					popSafePoint();
					if (isObj(getCurrentException()->Sup.m_type, (&NTI__yoNlBGx0D2tRizIdhQuENw_))) {
						tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg* volatile eX60gensym518208_;
						NimStringDesc* T182_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_416.status = 0;
						eX60gensym518208_ = (tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg*)0;
						eX60gensym518208_ = (tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg*) newObj((&NTI__Pjt0MQjoA6TAHAHOFNel9cg_), sizeof(tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg));
						(*eX60gensym518208_).Sup.Sup.Sup.Sup.m_type = (&NTI__Ss6DFlX5iSZpHRZDmP74bg_);
						(*eX60gensym518208_).Sup.Sup.Sup.name = "OverflowError";
						T182_ = (NimStringDesc*)0;
						T182_ = rawNewString(((*result).literal ? (*result).literal->Sup.len : 0) + 21);
appendString(T182_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_417));
appendString(T182_, (*result).literal);
						asgnRef((void**) (&(*eX60gensym518208_).Sup.Sup.Sup.message), T182_);
						asgnRef((void**) (&(*eX60gensym518208_).Sup.Sup.Sup.parent), NIM_NIL);
						raiseExceptionEx((Exception*)eX60gensym518208_, "OverflowError", "getNumber", "lexer.nim", 574);
						popCurrentException();
					}
				}
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_416.status != 0) reraiseException();
				{
					tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* volatile eX60gensym518413_;
					NimStringDesc* T187_;
					if (!!((len == ((*result).literal ? (*result).literal->Sup.len : 0)))) goto LA185_;
					eX60gensym518413_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*)0;
					eX60gensym518413_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTI__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
					(*eX60gensym518413_).Sup.Sup.Sup.m_type = (&NTI__yoNlBGx0D2tRizIdhQuENw_);
					(*eX60gensym518413_).Sup.Sup.name = "ValueError";
					T187_ = (NimStringDesc*)0;
					T187_ = rawNewString(((*result).literal ? (*result).literal->Sup.len : 0) + 17);
appendString(T187_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_418));
appendString(T187_, (*result).literal);
					asgnRef((void**) (&(*eX60gensym518413_).Sup.Sup.message), T187_);
					asgnRef((void**) (&(*eX60gensym518413_).Sup.Sup.parent), NIM_NIL);
					raiseExceptionEx((Exception*)eX60gensym518413_, "ValueError", "getNumber", "lexer.nim", 576);
				}
				LA185_: ;
				(*result).iNumber = ((NI64) (iNumber));
			}
			break;
			default:
			{
				NI64 iNumber_2;
				NI volatile len_2;
				TSafePoint TM__4JpEWnGrmRM8CRqL3P2O1Q_419;
				iNumber_2 = (NI64)0;
				len_2 = (NI)0;
				pushSafePoint(&TM__4JpEWnGrmRM8CRqL3P2O1Q_419);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_419.status = _setjmp(TM__4JpEWnGrmRM8CRqL3P2O1Q_419.context);
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_419.status == 0) {
					len_2 = npuParseBiggestInt((*result).literal, (&iNumber_2), ((NI) 0));
					popSafePoint();
				}
				else {
					popSafePoint();
					if (isObj(getCurrentException()->Sup.m_type, (&NTI__yoNlBGx0D2tRizIdhQuENw_))) {
						tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg* volatile eX60gensym518616_;
						NimStringDesc* T192_;
						TM__4JpEWnGrmRM8CRqL3P2O1Q_419.status = 0;
						eX60gensym518616_ = (tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg*)0;
						eX60gensym518616_ = (tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg*) newObj((&NTI__Pjt0MQjoA6TAHAHOFNel9cg_), sizeof(tyObject_OverflowError__Ss6DFlX5iSZpHRZDmP74bg));
						(*eX60gensym518616_).Sup.Sup.Sup.Sup.m_type = (&NTI__Ss6DFlX5iSZpHRZDmP74bg_);
						(*eX60gensym518616_).Sup.Sup.Sup.name = "OverflowError";
						T192_ = (NimStringDesc*)0;
						T192_ = rawNewString(((*result).literal ? (*result).literal->Sup.len : 0) + 21);
appendString(T192_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_417));
appendString(T192_, (*result).literal);
						asgnRef((void**) (&(*eX60gensym518616_).Sup.Sup.Sup.message), T192_);
						asgnRef((void**) (&(*eX60gensym518616_).Sup.Sup.Sup.parent), NIM_NIL);
						raiseExceptionEx((Exception*)eX60gensym518616_, "OverflowError", "getNumber", "lexer.nim", 584);
						popCurrentException();
					}
				}
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_419.status != 0) reraiseException();
				{
					tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* volatile eX60gensym518813_;
					NimStringDesc* T197_;
					if (!!((len_2 == ((*result).literal ? (*result).literal->Sup.len : 0)))) goto LA195_;
					eX60gensym518813_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*)0;
					eX60gensym518813_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTI__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
					(*eX60gensym518813_).Sup.Sup.Sup.m_type = (&NTI__yoNlBGx0D2tRizIdhQuENw_);
					(*eX60gensym518813_).Sup.Sup.name = "ValueError";
					T197_ = (NimStringDesc*)0;
					T197_ = rawNewString(((*result).literal ? (*result).literal->Sup.len : 0) + 17);
appendString(T197_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_418));
appendString(T197_, (*result).literal);
					asgnRef((void**) (&(*eX60gensym518813_).Sup.Sup.message), T197_);
					asgnRef((void**) (&(*eX60gensym518813_).Sup.Sup.parent), NIM_NIL);
					raiseExceptionEx((Exception*)eX60gensym518813_, "ValueError", "getNumber", "lexer.nim", 586);
				}
				LA195_: ;
				(*result).iNumber = iNumber_2;
			}
			break;
			}
			switch ((*result).tokType) {
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 70):
			{
				outOfRange_2 = (IL64(127) < (*result).iNumber);
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 75):
			{
				outOfRange_2 = (IL64(255) < (*result).iNumber);
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 71):
			{
				outOfRange_2 = (IL64(32767) < (*result).iNumber);
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 76):
			{
				outOfRange_2 = (IL64(65535) < (*result).iNumber);
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 72):
			{
				outOfRange_2 = (IL64(2147483647) < (*result).iNumber);
			}
			break;
			case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 77):
			{
				outOfRange_2 = (IL64(4294967295) < (*result).iNumber);
			}
			break;
			default:
			{
				outOfRange_2 = NIM_FALSE;
			}
			break;
			}
			{
				if (!outOfRange_2) goto LA207_;
				lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_415), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
			}
			LA207_: ;
		}
		LA121_: ;
		{
			if (!((*result).tokType == ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 69))) goto LA211_;
			{
				if (!(IL64(2147483647) < (*result).iNumber)) goto LA215_;
				(*result).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 73);
			}
			LA215_: ;
		}
		LA211_: ;
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI__yoNlBGx0D2tRizIdhQuENw_))) {
			TM__4JpEWnGrmRM8CRqL3P2O1Q_398.status = 0;
			lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_366), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
			popCurrentException();
		}
		else 		if (isObj(getCurrentException()->Sup.m_type, (&NTI__Ss6DFlX5iSZpHRZDmP74bg_))||isObj(getCurrentException()->Sup.m_type, (&NTI__8inKGns6i1OoXN9aLZwcSOw_))) {
			TM__4JpEWnGrmRM8CRqL3P2O1Q_398.status = 0;
			lexMessageLitNum__up4F122r6Ba6wLKjsH5nDg(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_415), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9));
			popCurrentException();
		}
	}
	if (TM__4JpEWnGrmRM8CRqL3P2O1Q_398.status != 0) reraiseException();
	(*L).Sup.bufpos = postPos;
}
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__rwBXgYq6A9aRSWDrvp6B9cQg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NIM_CHAR c;
	fillToken__EaKJR9ap6SPzmmvwWz9aMd1g_2(tok);
	{
		if (!(((NI) 0) <= (*L).indentAhead)) goto LA3_;
		(*tok).indent = (*L).indentAhead;
		(*L).currLineIndent = (*L).indentAhead;
		(*L).indentAhead = ((NI) -1);
	}
	goto LA1_;
	LA3_: ;
	{
		(*tok).indent = ((NI) -1);
	}
	LA1_: ;
	skip__rwBXgYq6A9aRSWDrvp6B9cQg_2(L, tok);
	if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
	c = (*L).Sup.buf->data[(*L).Sup.bufpos];
	(*tok).line = (*L).Sup.lineNumber;
	(*tok).col = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), (*L).Sup.bufpos);
	{
		if (!(((NU8)(c)) >= ((NU8)(65)) && ((NU8)(c)) <= ((NU8)(81)) || ((NU8)(c)) >= ((NU8)(83)) && ((NU8)(c)) <= ((NU8)(90)) || ((NU8)(c)) >= ((NU8)(97)) && ((NU8)(c)) <= ((NU8)(113)) || ((NU8)(c)) >= ((NU8)(115)) && ((NU8)(c)) <= ((NU8)(122)) || ((NU8)(c)) >= ((NU8)(128)) && ((NU8)(c)) <= ((NU8)(255)))) goto LA8_;
		getSymbol__rwBXgYq6A9aRSWDrvp6B9cQg_3(L, tok);
	}
	goto LA6_;
	LA8_: ;
	{
		switch (((NU8)(c))) {
		case 35:
		{
			scanComment__rwBXgYq6A9aRSWDrvp6B9cQg_4(L, tok);
		}
		break;
		case 42:
		{
			{
				NIM_BOOL T15_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_208;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_210;
				NI h;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_214;
				T15_ = (NIM_BOOL)0;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_208 = addInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_208)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_208),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T15_ = ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_208)]) == (NU8)(58));
				if (!(T15_)) goto LA16_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_210 = addInt((*L).Sup.bufpos, ((NI) 2));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_210)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_210),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T15_ = !(((TM__4JpEWnGrmRM8CRqL3P2O1Q_209[(NU)(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_210)])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_210)])))&7U)))!=0));
				LA16_: ;
				if (!T15_) goto LA17_;
				h = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(((NI) 0), ((NI) 42));
				TM__4JpEWnGrmRM8CRqL3P2O1Q_214 = addInt((*L).Sup.bufpos, ((NI) 1));
				endOperator__pl3V9csJKSd9cgFaF1BLKgPQlexer(L, tok, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_214), h);
			}
			goto LA13_;
			LA17_: ;
			{
				getOperator__rwBXgYq6A9aRSWDrvp6B9cQg_5(L, tok);
			}
			LA13_: ;
		}
		break;
		case 44:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_218;
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 101);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_218 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_218);
		}
		break;
		case 114:
		case 82:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_219;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_220;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_219 = addInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_219)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_219),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_219)]) == (NU8)(34))) goto LA24_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_220 = addInt((*L).Sup.bufpos, ((NI) 1));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_220);
				getString__5H2TS8AOTBwFUN1V09cCcFg(L, tok, ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 1));
			}
			goto LA22_;
			LA24_: ;
			{
				getSymbol__rwBXgYq6A9aRSWDrvp6B9cQg_3(L, tok);
			}
			LA22_: ;
		}
		break;
		case 40:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_311;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_311 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_311);
			{
				NIM_BOOL T30_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_312;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_313;
				T30_ = (NIM_BOOL)0;
				if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T30_ = ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(46));
				if (!(T30_)) goto LA31_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_312 = addInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_312)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_312),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T30_ = !(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_312)]) == (NU8)(46)));
				LA31_: ;
				if (!T30_) goto LA32_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 99);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_313 = addInt((*L).Sup.bufpos, ((NI) 1));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_313);
			}
			goto LA28_;
			LA32_: ;
			{
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 89);
			}
			LA28_: ;
		}
		break;
		case 41:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_314;
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 90);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_314 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_314);
		}
		break;
		case 91:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_315;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_315 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_315);
			{
				NIM_BOOL T39_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_316;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_317;
				T39_ = (NIM_BOOL)0;
				if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T39_ = ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(46));
				if (!(T39_)) goto LA40_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_316 = addInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_316)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_316),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T39_ = !(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_316)]) == (NU8)(46)));
				LA40_: ;
				if (!T39_) goto LA41_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 95);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_317 = addInt((*L).Sup.bufpos, ((NI) 1));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_317);
			}
			goto LA37_;
			LA41_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_318;
				if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(58))) goto LA44_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 108);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_318 = addInt((*L).Sup.bufpos, ((NI) 1));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_318);
			}
			goto LA37_;
			LA44_: ;
			{
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 91);
			}
			LA37_: ;
		}
		break;
		case 93:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_319;
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 92);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_319 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_319);
		}
		break;
		case 46:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_320;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_321;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_320 = addInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_320)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_320),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_320)]) == (NU8)(93))) goto LA51_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 96);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_321 = addInt((*L).Sup.bufpos, ((NI) 2));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_321);
			}
			goto LA49_;
			LA51_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_322;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_323;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_322 = addInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_322)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_322),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_322)]) == (NU8)(125))) goto LA54_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 98);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_323 = addInt((*L).Sup.bufpos, ((NI) 2));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_323);
			}
			goto LA49_;
			LA54_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_324;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_325;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_324 = addInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_324)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_324),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_324)]) == (NU8)(41))) goto LA57_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 100);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_325 = addInt((*L).Sup.bufpos, ((NI) 2));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_325);
			}
			goto LA49_;
			LA57_: ;
			{
				getOperator__rwBXgYq6A9aRSWDrvp6B9cQg_5(L, tok);
			}
			LA49_: ;
		}
		break;
		case 123:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_326;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_326 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_326);
			{
				NIM_BOOL T63_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_327;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_328;
				T63_ = (NIM_BOOL)0;
				if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T63_ = ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos]) == (NU8)(46));
				if (!(T63_)) goto LA64_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_327 = addInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_327)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_327),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T63_ = !(((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_327)]) == (NU8)(46)));
				LA64_: ;
				if (!T63_) goto LA65_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 97);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_328 = addInt((*L).Sup.bufpos, ((NI) 1));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_328);
			}
			goto LA61_;
			LA65_: ;
			{
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 93);
			}
			LA61_: ;
		}
		break;
		case 125:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_329;
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 94);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_329 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_329);
		}
		break;
		case 59:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_330;
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 102);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_330 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_330);
		}
		break;
		case 96:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_331;
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 111);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_331 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_331);
		}
		break;
		case 95:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_332;
			TM__4JpEWnGrmRM8CRqL3P2O1Q_332 = addInt((*L).Sup.bufpos, ((NI) 1));
			(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_332);
			{
				if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				if (!!((((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) <= ((NU8)(57)) || ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) >= ((NU8)(65)) && ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) <= ((NU8)(90)) || ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) == ((NU8)(95)) || ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) >= ((NU8)(97)) && ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) <= ((NU8)(122)) || ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) >= ((NU8)(128)) && ((NU8)((*L).Sup.buf->data[(*L).Sup.bufpos])) <= ((NU8)(255))))) goto LA74_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 2);
				unsureAsgnRef((void**) (&(*tok).ident), getIdent__9coBOmdXN09be4rJvXK6fQGQ((*L).cache, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_333)));
			}
			goto LA72_;
			LA74_: ;
			{
				NimStringDesc* T77_;
				NimStringDesc* T78_;
				unsureAsgnRef((void**) (&(*tok).literal), nimCharToStr(c));
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 0);
				T77_ = (NimStringDesc*)0;
				T78_ = (NimStringDesc*)0;
				T78_ = nimIntToStr(((NU8)(c)));
				T77_ = rawNewString((T78_ ? T78_->Sup.len : 0) + 20);
appendString(T77_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_334));
appendChar(T77_, c);
appendString(T77_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_335));
appendString(T77_, T78_);
appendChar(T77_, 41);
				lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), T77_);
			}
			LA72_: ;
		}
		break;
		case 34:
		{
			tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ mode;
			{
				NIM_BOOL T82_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_336;
				T82_ = (NIM_BOOL)0;
				T82_ = (((NI) 0) < (*L).Sup.bufpos);
				if (!(T82_)) goto LA83_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_336 = subInt((*L).Sup.bufpos, ((NI) 1));
				if ((NU)((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336),((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
				T82_ = (((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)])) >= ((NU8)(97)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)])) <= ((NU8)(122)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)])) >= ((NU8)(65)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)])) <= ((NU8)(90)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)])) <= ((NU8)(57)) || ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)])) >= ((NU8)(128)) && ((NU8)((*L).Sup.buf->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336)])) <= ((NU8)(255)));
				LA83_: ;
				if (!T82_) goto LA84_;
				mode = ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 2);
			}
			goto LA80_;
			LA84_: ;
			{
				mode = ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 0);
			}
			LA80_: ;
			getString__5H2TS8AOTBwFUN1V09cCcFg(L, tok, mode);
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_337;
				if (!(mode == ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 2))) goto LA89_;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_337 = addInt((*tok).tokType, ((NI) 2));
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_337 < 0 || TM__4JpEWnGrmRM8CRqL3P2O1Q_337 > 115) raiseOverflow();
				(*tok).tokType = (tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA)(TM__4JpEWnGrmRM8CRqL3P2O1Q_337);
			}
			LA89_: ;
		}
		break;
		case 39:
		{
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 88);
			getCharacter__rwBXgYq6A9aRSWDrvp6B9cQg_7(L, tok);
			(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 88);
		}
		break;
		case 48 ... 57:
		{
			NIM_CHAR c_2;
			getNumber__RRRRXclVBBDf9bEfE8isp1g(L, tok);
			if ((NU)((*L).Sup.bufpos) >= (NU)((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)) raiseIndexError2((*L).Sup.bufpos,((*L).Sup.buf ? (*L).Sup.buf->Sup.len : 0)-1);
			c_2 = (*L).Sup.buf->data[(*L).Sup.bufpos];
			{
				if (!(((NU8)(c_2)) >= ((NU8)(48)) && ((NU8)(c_2)) <= ((NU8)(57)) || ((NU8)(c_2)) >= ((NU8)(65)) && ((NU8)(c_2)) <= ((NU8)(90)) || ((NU8)(c_2)) == ((NU8)(95)) || ((NU8)(c_2)) >= ((NU8)(97)) && ((NU8)(c_2)) <= ((NU8)(122)) || ((NU8)(c_2)) >= ((NU8)(128)) && ((NU8)(c_2)) <= ((NU8)(255)))) goto LA95_;
				lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_420));
			}
			LA95_: ;
		}
		break;
		default:
		{
			{
				if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_209[(NU)(((NU8)(c)))>>3] &(1U<<((NU)(((NU8)(c)))&7U)))!=0)) goto LA100_;
				getOperator__rwBXgYq6A9aRSWDrvp6B9cQg_5(L, tok);
			}
			goto LA98_;
			LA100_: ;
			{
				if (!((NU8)(c) == (NU8)(0))) goto LA103_;
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 1);
				(*tok).indent = ((NI) 0);
			}
			goto LA98_;
			LA103_: ;
			{
				NimStringDesc* T106_;
				NimStringDesc* T107_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_421;
				unsureAsgnRef((void**) (&(*tok).literal), nimCharToStr(c));
				(*tok).tokType = ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 0);
				T106_ = (NimStringDesc*)0;
				T107_ = (NimStringDesc*)0;
				T107_ = nimIntToStr(((NU8)(c)));
				T106_ = rawNewString((T107_ ? T107_->Sup.len : 0) + 20);
appendString(T106_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_334));
appendChar(T106_, c);
appendString(T106_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_335));
appendString(T106_, T107_);
appendChar(T106_, 41);
				lexMessage__7sgxHfR2r4xBBAjZv1DqbQ((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 9), T106_);
				TM__4JpEWnGrmRM8CRqL3P2O1Q_421 = addInt((*L).Sup.bufpos, ((NI) 1));
				(*L).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_421);
			}
			LA98_: ;
		}
		break;
		}
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessageTok__ZiZ2YCW3WVnv6CAJkbYW9cA)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok, NimStringDesc* arg) {	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
	info = newLineInfo__NPagzbOMpGo9aqJmfnDrITg((*L).fileIdx, (*tok).line, (*tok).col);
	dispMessage__4ihxgj1D9b9bRRxai8guLyVQ(L, info, msg, arg);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__3UnMzHIRKCs9cxtu8h0Pimw)(tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA kind) {	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 3) <= kind);
	if (!(T1_)) goto LA2_;
	T1_ = (kind <= ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 68));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___d3YnHm5OyfXf5tTfAaERTg_2)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	switch ((*tok).tokType) {
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 69) ... ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 73):
	{
		result = nimInt64ToStr((*tok).iNumber);
	}
	break;
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 79) ... ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 81):
	{
		result = nimFloatToStr((*tok).fNumber);
	}
	break;
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 0):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 83) ... ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 88):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 110):
	{
		result = copyString((*tok).literal);
	}
	break;
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 89) ... ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 103):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 1):
	case ((tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA) 111):
	{
		result = copyString(TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[((*tok).tokType)- 0]);
	}
	break;
	default:
	{
		{
			if (!!(((*tok).ident == NIM_NIL))) goto LA8_;
			result = copyString((*(*tok).ident).s);
		}
		goto LA6_;
		LA8_: ;
		{
			result = ((NimStringDesc*) NIM_NIL);
		}
		LA6_: ;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prettyTok__d3YnHm5OyfXf5tTfAaERTg)(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NIM_BOOL T3_;
		NimStringDesc* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isKeyword__3UnMzHIRKCs9cxtu8h0Pimw((*tok).tokType);
		if (!T3_) goto LA4_;
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString(((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0) + 8);
appendString(T6_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_422));
appendString(T6_, (*(*tok).ident).s);
		result = T6_;
	}
	goto LA1_;
	LA4_: ;
	{
		result = dollar___d3YnHm5OyfXf5tTfAaERTg_2(tok);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, closeLexer__ukE4jLLltKtD9aVT9bIEv6Gg)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* lex) {	tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* T5_;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_423;
		if (!!(((*lex).config == NIM_NIL))) goto LA3_;
		TM__4JpEWnGrmRM8CRqL3P2O1Q_423 = addInt((*(*lex).config).linesCompiled, (*lex).Sup.lineNumber);
		(*(*lex).config).linesCompiled = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_423);
	}
	LA3_: ;
	T5_ = (tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag*)0;
	T5_ = &lex->Sup;
	closeBaseLexer__X9aea9bJavePT9cGIdd7JRH7Q_3(T5_);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNimIdentifier__IzgWZFLZbxyANl3JI6qyFw)(NimStringDesc* s) {	NIM_BOOL result;
	NI sLen;
{	result = (NIM_BOOL)0;
	sLen = (s ? s->Sup.len : 0);
	{
		NIM_BOOL T3_;
		NI i;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) < sLen);
		if (!(T3_)) goto LA4_;
		if ((NU)(((NI) 0)) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(((NI) 0),(s ? s->Sup.len : 0)-1);
		T3_ = (((NU8)(s->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(255)));
		LA4_: ;
		if (!T3_) goto LA5_;
		i = ((NI) 1);
		{
			while (1) {
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_425;
				if (!(i < sLen)) goto LA8;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_424;
					if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
					if (!((NU8)(s->data[i]) == (NU8)(95))) goto LA11_;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_424 = addInt(i, ((NI) 1));
					i = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_424);
				}
				LA11_: ;
				{
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = (i < sLen);
					if (!(T15_)) goto LA16_;
					if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
					T15_ = !((((NU8)(s->data[i])) >= ((NU8)(97)) && ((NU8)(s->data[i])) <= ((NU8)(122)) || ((NU8)(s->data[i])) >= ((NU8)(65)) && ((NU8)(s->data[i])) <= ((NU8)(90)) || ((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)) || ((NU8)(s->data[i])) >= ((NU8)(128)) && ((NU8)(s->data[i])) <= ((NU8)(255))));
					LA16_: ;
					if (!T15_) goto LA17_;
					goto BeforeRet_;
				}
				LA17_: ;
				TM__4JpEWnGrmRM8CRqL3P2O1Q_425 = addInt(i, ((NI) 1));
				i = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_425);
			} LA8: ;
		}
		result = NIM_TRUE;
	}
	LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, openLexer__jJb0YCOUxTG2lqKbbQe89cA)(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw* lex, NimStringDesc* filename, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {	NI32 T1_;
	T1_ = (NI32)0;
	T1_ = fileInfoIdx__3HRSVgYDcnQTolSZGx1zjA(config, filename);
	openLexer__EiqAU8uzJcXxIU5x2lB0bg(lex, T1_, inputstream, cache, config);
}
N_LIB_PRIVATE N_NIMCALL(void, printTok__cTQTnVpStdbRSqOTs7ej5A)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ* tok) {	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	T1_ = (NimStringDesc*)0;
	T2_ = (NimStringDesc*)0;
	T2_ = nimIntToStr((*tok).line);
	T3_ = (NimStringDesc*)0;
	T3_ = nimIntToStr((*tok).col);
	T4_ = (NimStringDesc*)0;
	T4_ = dollar___d3YnHm5OyfXf5tTfAaERTg_2(tok);
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + (T3_ ? T3_->Sup.len : 0) + (TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[((*tok).tokType)- 0] ? TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[((*tok).tokType)- 0]->Sup.len : 0) + (T4_ ? T4_->Sup.len : 0) + 3);
appendString(T1_, T2_);
appendString(T1_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_108));
appendString(T1_, T3_);
appendString(T1_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_426));
appendString(T1_, TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[((*tok).tokType)- 0]);
appendString(T1_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_427));
appendString(T1_, T4_);
	msgWriteln__PO49anyWCbe63GYNOs9cVuvg(conf, T1_, 0);
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_lexerDatInit000)(void) {
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_2_116[116];
NI TM__4JpEWnGrmRM8CRqL3P2O1Q_4;
static char* NIM_CONST TM__4JpEWnGrmRM8CRqL3P2O1Q_3[116] = {
"tkInvalid", 
"tkEof", 
"tkSymbol", 
"tkAddr", 
"tkAnd", 
"tkAs", 
"tkAsm", 
"tkBind", 
"tkBlock", 
"tkBreak", 
"tkCase", 
"tkCast", 
"tkConcept", 
"tkConst", 
"tkContinue", 
"tkConverter", 
"tkDefer", 
"tkDiscard", 
"tkDistinct", 
"tkDiv", 
"tkDo", 
"tkElif", 
"tkElse", 
"tkEnd", 
"tkEnum", 
"tkExcept", 
"tkExport", 
"tkFinally", 
"tkFor", 
"tkFrom", 
"tkFunc", 
"tkIf", 
"tkImport", 
"tkIn", 
"tkInclude", 
"tkInterface", 
"tkIs", 
"tkIsnot", 
"tkIterator", 
"tkLet", 
"tkMacro", 
"tkMethod", 
"tkMixin", 
"tkMod", 
"tkNil", 
"tkNot", 
"tkNotin", 
"tkObject", 
"tkOf", 
"tkOr", 
"tkOut", 
"tkProc", 
"tkPtr", 
"tkRaise", 
"tkRef", 
"tkReturn", 
"tkShl", 
"tkShr", 
"tkStatic", 
"tkTemplate", 
"tkTry", 
"tkTuple", 
"tkType", 
"tkUsing", 
"tkVar", 
"tkWhen", 
"tkWhile", 
"tkXor", 
"tkYield", 
"tkIntLit", 
"tkInt8Lit", 
"tkInt16Lit", 
"tkInt32Lit", 
"tkInt64Lit", 
"tkUIntLit", 
"tkUInt8Lit", 
"tkUInt16Lit", 
"tkUInt32Lit", 
"tkUInt64Lit", 
"tkFloatLit", 
"tkFloat32Lit", 
"tkFloat64Lit", 
"tkFloat128Lit", 
"tkStrLit", 
"tkRStrLit", 
"tkTripleStrLit", 
"tkGStrLit", 
"tkGTripleStrLit", 
"tkCharLit", 
"tkParLe", 
"tkParRi", 
"tkBracketLe", 
"tkBracketRi", 
"tkCurlyLe", 
"tkCurlyRi", 
"tkBracketDotLe", 
"tkBracketDotRi", 
"tkCurlyDotLe", 
"tkCurlyDotRi", 
"tkParDotLe", 
"tkParDotRi", 
"tkComma", 
"tkSemiColon", 
"tkColon", 
"tkColonColon", 
"tkEquals", 
"tkDot", 
"tkDotDot", 
"tkBracketLeColon", 
"tkOpr", 
"tkComment", 
"tkAccent", 
"tkSpaces", 
"tkInfixOpr", 
"tkPrefixOpr", 
"tkPostfixOpr"};
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[9];
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_137_4[4];
NI TM__4JpEWnGrmRM8CRqL3P2O1Q_139;
static char* NIM_CONST TM__4JpEWnGrmRM8CRqL3P2O1Q_138[4] = {
"None", 
"InToken", 
"BeforeToken", 
"AfterToken"};
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_140_2[2];
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[11];
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_142_4[4];
NI TM__4JpEWnGrmRM8CRqL3P2O1Q_144;
static char* NIM_CONST TM__4JpEWnGrmRM8CRqL3P2O1Q_143[4] = {
"base10", 
"base2", 
"base8", 
"base16"};
static TNimNode TM__4JpEWnGrmRM8CRqL3P2O1Q_0[152];
NTI__vw8YkgaVtNadqP8v5OpXKA_.size = sizeof(tyEnum_TTokType__vw8YkgaVtNadqP8v5OpXKA);
NTI__vw8YkgaVtNadqP8v5OpXKA_.kind = 14;
NTI__vw8YkgaVtNadqP8v5OpXKA_.base = 0;
NTI__vw8YkgaVtNadqP8v5OpXKA_.flags = 3;
for (TM__4JpEWnGrmRM8CRqL3P2O1Q_4 = 0; TM__4JpEWnGrmRM8CRqL3P2O1Q_4 < 116; TM__4JpEWnGrmRM8CRqL3P2O1Q_4++) {
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_4+0].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_4+0].offset = TM__4JpEWnGrmRM8CRqL3P2O1Q_4;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_4+0].name = TM__4JpEWnGrmRM8CRqL3P2O1Q_3[TM__4JpEWnGrmRM8CRqL3P2O1Q_4];
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_116[TM__4JpEWnGrmRM8CRqL3P2O1Q_4] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_4+0];
}
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[116].len = 116; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[116].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[116].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_2_116[0];
NTI__vw8YkgaVtNadqP8v5OpXKA_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[116];
NTI__PdyFIzn4patQ2zB5OFD9cjw_.size = sizeof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw);
NTI__PdyFIzn4patQ2zB5OFD9cjw_.kind = 17;
NTI__PdyFIzn4patQ2zB5OFD9cjw_.base = (&NTI__jTxk7Uc2dfr9aTDL2dZhO9ag_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[0] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[118];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[118].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[118].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, fileIdx);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[118].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[118].name = "fileIdx";
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[1] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[119];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[119].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[119].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, indentAhead);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[119].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[119].name = "indentAhead";
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[2] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[120];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[120].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[120].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, currLineIndent);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[120].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[120].name = "currLineIndent";
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[3] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[121];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[121].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[121].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, strongSpaces);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[121].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[121].name = "strongSpaces";
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[4] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[122];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[122].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[122].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, allowTabs);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[122].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[122].name = "allowTabs";
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[5] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[123];
NTI__moKbK9a5baLOKMP3AQAcKoQ_.size = sizeof(tyEnum_CursorPosition__moKbK9a5baLOKMP3AQAcKoQ);
NTI__moKbK9a5baLOKMP3AQAcKoQ_.kind = 14;
NTI__moKbK9a5baLOKMP3AQAcKoQ_.base = 0;
NTI__moKbK9a5baLOKMP3AQAcKoQ_.flags = 3;
for (TM__4JpEWnGrmRM8CRqL3P2O1Q_139 = 0; TM__4JpEWnGrmRM8CRqL3P2O1Q_139 < 4; TM__4JpEWnGrmRM8CRqL3P2O1Q_139++) {
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_139+124].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_139+124].offset = TM__4JpEWnGrmRM8CRqL3P2O1Q_139;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_139+124].name = TM__4JpEWnGrmRM8CRqL3P2O1Q_138[TM__4JpEWnGrmRM8CRqL3P2O1Q_139];
TM__4JpEWnGrmRM8CRqL3P2O1Q_137_4[TM__4JpEWnGrmRM8CRqL3P2O1Q_139] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_139+124];
}
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[128].len = 4; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[128].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[128].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_137_4[0];
NTI__moKbK9a5baLOKMP3AQAcKoQ_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[128];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[123].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[123].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, cursor);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[123].typ = (&NTI__moKbK9a5baLOKMP3AQAcKoQ_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[123].name = "cursor";
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[6] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[129];
NTI__eADjAhqPI0ogAK7A2xrf0A_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__eADjAhqPI0ogAK7A2xrf0A_.kind = 18;
NTI__eADjAhqPI0ogAK7A2xrf0A_.base = 0;
TM__4JpEWnGrmRM8CRqL3P2O1Q_140_2[0] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131].name = "Field0";
TM__4JpEWnGrmRM8CRqL3P2O1Q_140_2[1] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132].typ = (&NTI__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132].name = "Field1";
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[130].len = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[130].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[130].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_140_2[0];
NTI__eADjAhqPI0ogAK7A2xrf0A_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[130];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[129].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[129].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, errorHandler);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[129].typ = (&NTI__eADjAhqPI0ogAK7A2xrf0A_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[129].name = "errorHandler";
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[7] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, cache);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133].typ = (&NTI__lnkYNZP9asc88UfiEGjLrbA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133].name = "cache";
TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[8] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134].offset = offsetof(tyObject_TLexer__PdyFIzn4patQ2zB5OFD9cjw, config);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134].typ = (&NTI__a8lycfSA25OQltN3OMeBsA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134].name = "config";
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[117].len = 9; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[117].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[117].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_136_9[0];
NTI__PdyFIzn4patQ2zB5OFD9cjw_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[117];
NTI__kLaEEPwLj8cag79cbYQIkHQ_.size = sizeof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ);
NTI__kLaEEPwLj8cag79cbYQIkHQ_.kind = 18;
NTI__kLaEEPwLj8cag79cbYQIkHQ_.base = 0;
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[0] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[136];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[136].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[136].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, tokType);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[136].typ = (&NTI__vw8YkgaVtNadqP8v5OpXKA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[136].name = "tokType";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[1] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[137];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[137].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[137].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, indent);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[137].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[137].name = "indent";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[2] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[138];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[138].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[138].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, ident);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[138].typ = (&NTI__B0xRsLi0eK4raPu9bd2tkcA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[138].name = "ident";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[3] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[139];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[139].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[139].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, iNumber);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[139].typ = (&NTI__Aav8dQoMlCFnZRxA0IhTHQ_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[139].name = "iNumber";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[4] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, fNumber);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140].typ = (&NTI__w9bl9a1ul9ctRJWiMl9cNnIMvg_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140].name = "fNumber";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[5] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141];
NTI__9cbxR9czWgoXwHHSzHtd9aV7Q_.size = sizeof(tyEnum_TNumericalBase__9cbxR9czWgoXwHHSzHtd9aV7Q);
NTI__9cbxR9czWgoXwHHSzHtd9aV7Q_.kind = 14;
NTI__9cbxR9czWgoXwHHSzHtd9aV7Q_.base = 0;
NTI__9cbxR9czWgoXwHHSzHtd9aV7Q_.flags = 3;
for (TM__4JpEWnGrmRM8CRqL3P2O1Q_144 = 0; TM__4JpEWnGrmRM8CRqL3P2O1Q_144 < 4; TM__4JpEWnGrmRM8CRqL3P2O1Q_144++) {
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_144+142].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_144+142].offset = TM__4JpEWnGrmRM8CRqL3P2O1Q_144;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_144+142].name = TM__4JpEWnGrmRM8CRqL3P2O1Q_143[TM__4JpEWnGrmRM8CRqL3P2O1Q_144];
TM__4JpEWnGrmRM8CRqL3P2O1Q_142_4[TM__4JpEWnGrmRM8CRqL3P2O1Q_144] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_144+142];
}
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[146].len = 4; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[146].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[146].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_142_4[0];
NTI__9cbxR9czWgoXwHHSzHtd9aV7Q_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[146];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, base);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141].typ = (&NTI__9cbxR9czWgoXwHHSzHtd9aV7Q_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141].name = "base";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[6] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[147];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[147].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[147].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, strongSpaceA);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[147].typ = (&NTI__chXunH2dwinSkhpA6JnsXw_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[147].name = "strongSpaceA";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[7] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[148];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[148].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[148].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, strongSpaceB);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[148].typ = (&NTI__chXunH2dwinSkhpA6JnsXw_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[148].name = "strongSpaceB";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[8] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[149];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[149].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[149].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, literal);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[149].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[149].name = "literal";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[9] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[150];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[150].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[150].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, line);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[150].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[150].name = "line";
TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[10] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[151];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[151].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[151].offset = offsetof(tyObject_TToken__kLaEEPwLj8cag79cbYQIkHQ, col);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[151].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[151].name = "col";
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135].len = 11; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_141_11[0];
NTI__kLaEEPwLj8cag79cbYQIkHQ_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135];
}

