diff --git a/.eslintignore b/.eslintignore index 4001cfe0..65e39972 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,2 @@ node_modules -lib/grammar -scripts \ No newline at end of file +scripts diff --git a/README.md b/README.md index dafdc675..6c30cd11 100644 --- a/README.md +++ b/README.md @@ -213,8 +213,8 @@ Related documentation you may find [there](https://protofire.github.io/solhint/) ## Acknowledgements -The grammar used by solhint was created and is maintained by [Federico Bond](https://github.com/federicobond). -You can find it [here](https://github.com/solidityj/solidity-antlr4). +The Solidity parser used is maintained by [ConsenSys Diligence Team](https://diligence.consensys.net/). +You can find it [here](https://github.com/consensys/solidity-parser-antlr). ## Licence diff --git a/lib/grammar/Solidity.tokens b/lib/grammar/Solidity.tokens deleted file mode 100644 index 9164f31b..00000000 --- a/lib/grammar/Solidity.tokens +++ /dev/null @@ -1,221 +0,0 @@ -T__0=1 -T__1=2 -T__2=3 -T__3=4 -T__4=5 -T__5=6 -T__6=7 -T__7=8 -T__8=9 -T__9=10 -T__10=11 -T__11=12 -T__12=13 -T__13=14 -T__14=15 -T__15=16 -T__16=17 -T__17=18 -T__18=19 -T__19=20 -T__20=21 -T__21=22 -T__22=23 -T__23=24 -T__24=25 -T__25=26 -T__26=27 -T__27=28 -T__28=29 -T__29=30 -T__30=31 -T__31=32 -T__32=33 -T__33=34 -T__34=35 -T__35=36 -T__36=37 -T__37=38 -T__38=39 -T__39=40 -T__40=41 -T__41=42 -T__42=43 -T__43=44 -T__44=45 -T__45=46 -T__46=47 -T__47=48 -T__48=49 -T__49=50 -T__50=51 -T__51=52 -T__52=53 -T__53=54 -T__54=55 -T__55=56 -T__56=57 -T__57=58 -T__58=59 -T__59=60 -T__60=61 -T__61=62 -T__62=63 -T__63=64 -T__64=65 -T__65=66 -T__66=67 -T__67=68 -T__68=69 -T__69=70 -T__70=71 -T__71=72 -T__72=73 -T__73=74 -T__74=75 -T__75=76 -T__76=77 -T__77=78 -T__78=79 -T__79=80 -T__80=81 -T__81=82 -T__82=83 -T__83=84 -T__84=85 -T__85=86 -T__86=87 -T__87=88 -T__88=89 -T__89=90 -Int=91 -Uint=92 -Byte=93 -Fixed=94 -Ufixed=95 -VersionLiteral=96 -BooleanLiteral=97 -DecimalNumber=98 -HexNumber=99 -NumberUnit=100 -HexLiteral=101 -ReservedKeyword=102 -AnonymousKeyword=103 -BreakKeyword=104 -ConstantKeyword=105 -ContinueKeyword=106 -ExternalKeyword=107 -IndexedKeyword=108 -InternalKeyword=109 -PayableKeyword=110 -PrivateKeyword=111 -PublicKeyword=112 -PureKeyword=113 -ViewKeyword=114 -Identifier=115 -StringLiteral=116 -WS=117 -COMMENT=118 -LINE_COMMENT=119 -'pragma'=1 -';'=2 -'^'=3 -'~'=4 -'>='=5 -'>'=6 -'<'=7 -'<='=8 -'='=9 -'as'=10 -'import'=11 -'*'=12 -'from'=13 -'{'=14 -','=15 -'}'=16 -'contract'=17 -'interface'=18 -'library'=19 -'is'=20 -'('=21 -')'=22 -'using'=23 -'for'=24 -'struct'=25 -'constructor'=26 -'modifier'=27 -'function'=28 -'returns'=29 -'event'=30 -'enum'=31 -'['=32 -']'=33 -'address'=34 -'.'=35 -'mapping'=36 -'=>'=37 -'memory'=38 -'storage'=39 -'calldata'=40 -'if'=41 -'else'=42 -'while'=43 -'assembly'=44 -'do'=45 -'return'=46 -'throw'=47 -'emit'=48 -'var'=49 -'bool'=50 -'string'=51 -'byte'=52 -'++'=53 -'--'=54 -'new'=55 -'+'=56 -'-'=57 -'after'=58 -'delete'=59 -'!'=60 -'**'=61 -'/'=62 -'%'=63 -'<<'=64 -'>>'=65 -'&'=66 -'|'=67 -'=='=68 -'!='=69 -'&&'=70 -'||'=71 -'?'=72 -':'=73 -'|='=74 -'^='=75 -'&='=76 -'<<='=77 -'>>='=78 -'+='=79 -'-='=80 -'*='=81 -'/='=82 -'%='=83 -'let'=84 -':='=85 -'=:'=86 -'switch'=87 -'case'=88 -'default'=89 -'->'=90 -'anonymous'=103 -'break'=104 -'constant'=105 -'continue'=106 -'external'=107 -'indexed'=108 -'internal'=109 -'payable'=110 -'private'=111 -'public'=112 -'pure'=113 -'view'=114 diff --git a/lib/grammar/SolidityLexer.js b/lib/grammar/SolidityLexer.js deleted file mode 100644 index f7784a4e..00000000 --- a/lib/grammar/SolidityLexer.js +++ /dev/null @@ -1,1330 +0,0 @@ -// Generated from ./Solidity.g4 by ANTLR 4.7.1 -// jshint ignore: start -var antlr4 = require('antlr4/index'); - - -var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", - "\u0002y\u06b4\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004", - "\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t", - "\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004", - "\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010", - "\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013", - "\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017", - "\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a", - "\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e", - "\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#", - "\t#\u0004$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004", - "*\t*\u0004+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u0004", - "1\t1\u00042\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u0004", - "8\t8\u00049\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004", - "?\t?\u0004@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004", - "F\tF\u0004G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004", - "M\tM\u0004N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004", - "T\tT\u0004U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004", - "[\t[\u0004\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004", - "b\tb\u0004c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004", - "i\ti\u0004j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004", - "p\tp\u0004q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004", - "w\tw\u0004x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004", - "~\t~\u0003\u0002\u0003\u0002\u0003\u0002\u0003\u0002\u0003\u0002\u0003", - "\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0003", - "\u0005\u0003\u0005\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0007\u0003", - "\u0007\u0003\b\u0003\b\u0003\t\u0003\t\u0003\t\u0003\n\u0003\n\u0003", - "\u000b\u0003\u000b\u0003\u000b\u0003\f\u0003\f\u0003\f\u0003\f\u0003", - "\f\u0003\f\u0003\f\u0003\r\u0003\r\u0003\u000e\u0003\u000e\u0003\u000e", - "\u0003\u000e\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010", - "\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012", - "\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0013", - "\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013", - "\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0014\u0003\u0014\u0003\u0014", - "\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0015", - "\u0003\u0015\u0003\u0015\u0003\u0016\u0003\u0016\u0003\u0017\u0003\u0017", - "\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018", - "\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u001a\u0003\u001a", - "\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001b", - "\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b", - "\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001c", - "\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c", - "\u0003\u001c\u0003\u001c\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d", - "\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001e", - "\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e", - "\u0003\u001e\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f", - "\u0003\u001f\u0003 \u0003 \u0003 \u0003 \u0003 \u0003!\u0003!\u0003", - "\"\u0003\"\u0003#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003", - "$\u0003$\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003", - "&\u0003&\u0003&\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003", - "\'\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003)\u0003", - ")\u0003)\u0003)\u0003)\u0003)\u0003)\u0003)\u0003)\u0003*\u0003*\u0003", - "*\u0003+\u0003+\u0003+\u0003+\u0003+\u0003,\u0003,\u0003,\u0003,\u0003", - ",\u0003,\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003", - "-\u0003.\u0003.\u0003.\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003", - "/\u00030\u00030\u00030\u00030\u00030\u00030\u00031\u00031\u00031\u0003", - "1\u00031\u00032\u00032\u00032\u00032\u00033\u00033\u00033\u00033\u0003", - "3\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u00035\u00035\u0003", - "5\u00035\u00035\u00036\u00036\u00036\u00037\u00037\u00037\u00038\u0003", - "8\u00038\u00038\u00039\u00039\u0003:\u0003:\u0003;\u0003;\u0003;\u0003", - ";\u0003;\u0003;\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003", - "=\u0003=\u0003>\u0003>\u0003>\u0003?\u0003?\u0003@\u0003@\u0003A\u0003", - "A\u0003A\u0003B\u0003B\u0003B\u0003C\u0003C\u0003D\u0003D\u0003E\u0003", - "E\u0003E\u0003F\u0003F\u0003F\u0003G\u0003G\u0003G\u0003H\u0003H\u0003", - "H\u0003I\u0003I\u0003J\u0003J\u0003K\u0003K\u0003K\u0003L\u0003L\u0003", - "L\u0003M\u0003M\u0003M\u0003N\u0003N\u0003N\u0003N\u0003O\u0003O\u0003", - "O\u0003O\u0003P\u0003P\u0003P\u0003Q\u0003Q\u0003Q\u0003R\u0003R\u0003", - "R\u0003S\u0003S\u0003S\u0003T\u0003T\u0003T\u0003U\u0003U\u0003U\u0003", - "U\u0003V\u0003V\u0003V\u0003W\u0003W\u0003W\u0003X\u0003X\u0003X\u0003", - "X\u0003X\u0003X\u0003X\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Z\u0003", - "Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003[\u0003[\u0003[\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0005\\\u0339\n\\\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003", - "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0005", - "]\u0412\n]\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003^\u0005^\u04f0\n^\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003", - "_\u0003_\u0003_\u0003_\u0003_\u0003_\u0006_\u04fe\n_\r_\u000e_\u04ff", - "\u0003_\u0003_\u0006_\u0504\n_\r_\u000e_\u0505\u0005_\u0508\n_\u0003", - "`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003", - "`\u0003`\u0003`\u0003`\u0006`\u0518\n`\r`\u000e`\u0519\u0003`\u0003", - "`\u0006`\u051e\n`\r`\u000e`\u051f\u0005`\u0522\n`\u0003a\u0006a\u0525", - "\na\ra\u000ea\u0526\u0003a\u0003a\u0006a\u052b\na\ra\u000ea\u052c\u0003", - "a\u0003a\u0006a\u0531\na\ra\u000ea\u0532\u0003b\u0003b\u0003b\u0003", - "b\u0003b\u0003b\u0003b\u0003b\u0003b\u0005b\u053e\nb\u0003c\u0006c\u0541", - "\nc\rc\u000ec\u0542\u0003c\u0007c\u0546\nc\fc\u000ec\u0549\u000bc\u0003", - "c\u0003c\u0006c\u054d\nc\rc\u000ec\u054e\u0005c\u0551\nc\u0003c\u0003", - "c\u0006c\u0555\nc\rc\u000ec\u0556\u0005c\u0559\nc\u0003d\u0003d\u0003", - "d\u0006d\u055e\nd\rd\u000ed\u055f\u0003e\u0003e\u0003e\u0003e\u0003", - "e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003", - "e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003", - "e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003", - "e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003", - "e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0005e\u0596\ne\u0003", - "f\u0003f\u0003f\u0003f\u0003f\u0003f\u0007f\u059e\nf\ff\u000ef\u05a1", - "\u000bf\u0003f\u0003f\u0003f\u0007f\u05a6\nf\ff\u000ef\u05a9\u000bf", - "\u0003f\u0005f\u05ac\nf\u0003g\u0003g\u0003g\u0003h\u0003h\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0005i\u060f\ni\u0003j\u0003j\u0003j\u0003j\u0003j\u0003j\u0003j\u0003", - "j\u0003j\u0003j\u0003k\u0003k\u0003k\u0003k\u0003k\u0003k\u0003l\u0003", - "l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003m\u0003m\u0003", - "m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003n\u0003n\u0003n\u0003", - "n\u0003n\u0003n\u0003n\u0003n\u0003n\u0003o\u0003o\u0003o\u0003o\u0003", - "o\u0003o\u0003o\u0003o\u0003p\u0003p\u0003p\u0003p\u0003p\u0003p\u0003", - "p\u0003p\u0003p\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003", - "q\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003s\u0003", - "s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003t\u0003t\u0003t\u0003t\u0003", - "t\u0003u\u0003u\u0003u\u0003u\u0003u\u0003v\u0003v\u0007v\u0670\nv\f", - "v\u000ev\u0673\u000bv\u0003w\u0003w\u0003x\u0003x\u0003y\u0003y\u0007", - "y\u067b\ny\fy\u000ey\u067e\u000by\u0003y\u0003y\u0003y\u0007y\u0683", - "\ny\fy\u000ey\u0686\u000by\u0003y\u0005y\u0689\ny\u0003z\u0003z\u0003", - "z\u0005z\u068e\nz\u0003{\u0003{\u0003{\u0005{\u0693\n{\u0003|\u0006", - "|\u0696\n|\r|\u000e|\u0697\u0003|\u0003|\u0003}\u0003}\u0003}\u0003", - "}\u0007}\u06a0\n}\f}\u000e}\u06a3\u000b}\u0003}\u0003}\u0003}\u0003", - "}\u0003}\u0003~\u0003~\u0003~\u0003~\u0007~\u06ae\n~\f~\u000e~\u06b1", - "\u000b~\u0003~\u0003~\u0003\u06a1\u0002\u007f\u0003\u0003\u0005\u0004", - "\u0007\u0005\t\u0006\u000b\u0007\r\b\u000f\t\u0011\n\u0013\u000b\u0015", - "\f\u0017\r\u0019\u000e\u001b\u000f\u001d\u0010\u001f\u0011!\u0012#\u0013", - "%\u0014\'\u0015)\u0016+\u0017-\u0018/\u00191\u001a3\u001b5\u001c7\u001d", - "9\u001e;\u001f= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o", - "9q:s;u{?}@\u007fA\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008d", - "H\u008fI\u0091J\u0093K\u0095L\u0097M\u0099N\u009bO\u009dP\u009fQ\u00a1", - "R\u00a3S\u00a5T\u00a7U\u00a9V\u00abW\u00adX\u00afY\u00b1Z\u00b3[\u00b5", - "\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bfa\u00c1b\u00c3c\u00c5d\u00c7e\u00c9", - "f\u00cbg\u00cd\u0002\u00cf\u0002\u00d1h\u00d3i\u00d5j\u00d7k\u00d9l", - "\u00dbm\u00ddn\u00dfo\u00e1p\u00e3q\u00e5r\u00e7s\u00e9t\u00ebu\u00ed", - "\u0002\u00ef\u0002\u00f1v\u00f3\u0002\u00f5\u0002\u00f7w\u00f9x\u00fb", - "y\u0003\u0002\f\u0003\u00022;\u0004\u0002GGgg\u0004\u0002ZZzz\u0005", - "\u00022;CHch\u0006\u0002&&C\\aac|\u0007\u0002&&2;C\\aac|\u0006\u0002", - "\f\f\u000f\u000f$$^^\u0006\u0002\f\f\u000f\u000f))^^\u0005\u0002\u000b", - "\f\u000e\u000f\"\"\u0004\u0002\f\f\u000f\u000f\u0002\u0744\u0002\u0003", - "\u0003\u0002\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002\u0002\u0007", - "\u0003\u0002\u0002\u0002\u0002\t\u0003\u0002\u0002\u0002\u0002\u000b", - "\u0003\u0002\u0002\u0002\u0002\r\u0003\u0002\u0002\u0002\u0002\u000f", - "\u0003\u0002\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002\u0002\u0013", - "\u0003\u0002\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002\u0002\u0017", - "\u0003\u0002\u0002\u0002\u0002\u0019\u0003\u0002\u0002\u0002\u0002\u001b", - "\u0003\u0002\u0002\u0002\u0002\u001d\u0003\u0002\u0002\u0002\u0002\u001f", - "\u0003\u0002\u0002\u0002\u0002!\u0003\u0002\u0002\u0002\u0002#\u0003", - "\u0002\u0002\u0002\u0002%\u0003\u0002\u0002\u0002\u0002\'\u0003\u0002", - "\u0002\u0002\u0002)\u0003\u0002\u0002\u0002\u0002+\u0003\u0002\u0002", - "\u0002\u0002-\u0003\u0002\u0002\u0002\u0002/\u0003\u0002\u0002\u0002", - "\u00021\u0003\u0002\u0002\u0002\u00023\u0003\u0002\u0002\u0002\u0002", - "5\u0003\u0002\u0002\u0002\u00027\u0003\u0002\u0002\u0002\u00029\u0003", - "\u0002\u0002\u0002\u0002;\u0003\u0002\u0002\u0002\u0002=\u0003\u0002", - "\u0002\u0002\u0002?\u0003\u0002\u0002\u0002\u0002A\u0003\u0002\u0002", - "\u0002\u0002C\u0003\u0002\u0002\u0002\u0002E\u0003\u0002\u0002\u0002", - "\u0002G\u0003\u0002\u0002\u0002\u0002I\u0003\u0002\u0002\u0002\u0002", - "K\u0003\u0002\u0002\u0002\u0002M\u0003\u0002\u0002\u0002\u0002O\u0003", - "\u0002\u0002\u0002\u0002Q\u0003\u0002\u0002\u0002\u0002S\u0003\u0002", - "\u0002\u0002\u0002U\u0003\u0002\u0002\u0002\u0002W\u0003\u0002\u0002", - "\u0002\u0002Y\u0003\u0002\u0002\u0002\u0002[\u0003\u0002\u0002\u0002", - "\u0002]\u0003\u0002\u0002\u0002\u0002_\u0003\u0002\u0002\u0002\u0002", - "a\u0003\u0002\u0002\u0002\u0002c\u0003\u0002\u0002\u0002\u0002e\u0003", - "\u0002\u0002\u0002\u0002g\u0003\u0002\u0002\u0002\u0002i\u0003\u0002", - "\u0002\u0002\u0002k\u0003\u0002\u0002\u0002\u0002m\u0003\u0002\u0002", - "\u0002\u0002o\u0003\u0002\u0002\u0002\u0002q\u0003\u0002\u0002\u0002", - "\u0002s\u0003\u0002\u0002\u0002\u0002u\u0003\u0002\u0002\u0002\u0002", - "w\u0003\u0002\u0002\u0002\u0002y\u0003\u0002\u0002\u0002\u0002{\u0003", - "\u0002\u0002\u0002\u0002}\u0003\u0002\u0002\u0002\u0002\u007f\u0003", - "\u0002\u0002\u0002\u0002\u0081\u0003\u0002\u0002\u0002\u0002\u0083\u0003", - "\u0002\u0002\u0002\u0002\u0085\u0003\u0002\u0002\u0002\u0002\u0087\u0003", - "\u0002\u0002\u0002\u0002\u0089\u0003\u0002\u0002\u0002\u0002\u008b\u0003", - "\u0002\u0002\u0002\u0002\u008d\u0003\u0002\u0002\u0002\u0002\u008f\u0003", - "\u0002\u0002\u0002\u0002\u0091\u0003\u0002\u0002\u0002\u0002\u0093\u0003", - "\u0002\u0002\u0002\u0002\u0095\u0003\u0002\u0002\u0002\u0002\u0097\u0003", - "\u0002\u0002\u0002\u0002\u0099\u0003\u0002\u0002\u0002\u0002\u009b\u0003", - "\u0002\u0002\u0002\u0002\u009d\u0003\u0002\u0002\u0002\u0002\u009f\u0003", - "\u0002\u0002\u0002\u0002\u00a1\u0003\u0002\u0002\u0002\u0002\u00a3\u0003", - "\u0002\u0002\u0002\u0002\u00a5\u0003\u0002\u0002\u0002\u0002\u00a7\u0003", - "\u0002\u0002\u0002\u0002\u00a9\u0003\u0002\u0002\u0002\u0002\u00ab\u0003", - "\u0002\u0002\u0002\u0002\u00ad\u0003\u0002\u0002\u0002\u0002\u00af\u0003", - "\u0002\u0002\u0002\u0002\u00b1\u0003\u0002\u0002\u0002\u0002\u00b3\u0003", - "\u0002\u0002\u0002\u0002\u00b5\u0003\u0002\u0002\u0002\u0002\u00b7\u0003", - "\u0002\u0002\u0002\u0002\u00b9\u0003\u0002\u0002\u0002\u0002\u00bb\u0003", - "\u0002\u0002\u0002\u0002\u00bd\u0003\u0002\u0002\u0002\u0002\u00bf\u0003", - "\u0002\u0002\u0002\u0002\u00c1\u0003\u0002\u0002\u0002\u0002\u00c3\u0003", - "\u0002\u0002\u0002\u0002\u00c5\u0003\u0002\u0002\u0002\u0002\u00c7\u0003", - "\u0002\u0002\u0002\u0002\u00c9\u0003\u0002\u0002\u0002\u0002\u00cb\u0003", - "\u0002\u0002\u0002\u0002\u00d1\u0003\u0002\u0002\u0002\u0002\u00d3\u0003", - "\u0002\u0002\u0002\u0002\u00d5\u0003\u0002\u0002\u0002\u0002\u00d7\u0003", - "\u0002\u0002\u0002\u0002\u00d9\u0003\u0002\u0002\u0002\u0002\u00db\u0003", - "\u0002\u0002\u0002\u0002\u00dd\u0003\u0002\u0002\u0002\u0002\u00df\u0003", - "\u0002\u0002\u0002\u0002\u00e1\u0003\u0002\u0002\u0002\u0002\u00e3\u0003", - "\u0002\u0002\u0002\u0002\u00e5\u0003\u0002\u0002\u0002\u0002\u00e7\u0003", - "\u0002\u0002\u0002\u0002\u00e9\u0003\u0002\u0002\u0002\u0002\u00eb\u0003", - "\u0002\u0002\u0002\u0002\u00f1\u0003\u0002\u0002\u0002\u0002\u00f7\u0003", - "\u0002\u0002\u0002\u0002\u00f9\u0003\u0002\u0002\u0002\u0002\u00fb\u0003", - "\u0002\u0002\u0002\u0003\u00fd\u0003\u0002\u0002\u0002\u0005\u0104\u0003", - "\u0002\u0002\u0002\u0007\u0106\u0003\u0002\u0002\u0002\t\u0108\u0003", - "\u0002\u0002\u0002\u000b\u010a\u0003\u0002\u0002\u0002\r\u010d\u0003", - "\u0002\u0002\u0002\u000f\u010f\u0003\u0002\u0002\u0002\u0011\u0111\u0003", - "\u0002\u0002\u0002\u0013\u0114\u0003\u0002\u0002\u0002\u0015\u0116\u0003", - "\u0002\u0002\u0002\u0017\u0119\u0003\u0002\u0002\u0002\u0019\u0120\u0003", - "\u0002\u0002\u0002\u001b\u0122\u0003\u0002\u0002\u0002\u001d\u0127\u0003", - "\u0002\u0002\u0002\u001f\u0129\u0003\u0002\u0002\u0002!\u012b\u0003", - "\u0002\u0002\u0002#\u012d\u0003\u0002\u0002\u0002%\u0136\u0003\u0002", - "\u0002\u0002\'\u0140\u0003\u0002\u0002\u0002)\u0148\u0003\u0002\u0002", - "\u0002+\u014b\u0003\u0002\u0002\u0002-\u014d\u0003\u0002\u0002\u0002", - "/\u014f\u0003\u0002\u0002\u00021\u0155\u0003\u0002\u0002\u00023\u0159", - "\u0003\u0002\u0002\u00025\u0160\u0003\u0002\u0002\u00027\u016c\u0003", - "\u0002\u0002\u00029\u0175\u0003\u0002\u0002\u0002;\u017e\u0003\u0002", - "\u0002\u0002=\u0186\u0003\u0002\u0002\u0002?\u018c\u0003\u0002\u0002", - "\u0002A\u0191\u0003\u0002\u0002\u0002C\u0193\u0003\u0002\u0002\u0002", - "E\u0195\u0003\u0002\u0002\u0002G\u019d\u0003\u0002\u0002\u0002I\u019f", - "\u0003\u0002\u0002\u0002K\u01a7\u0003\u0002\u0002\u0002M\u01aa\u0003", - "\u0002\u0002\u0002O\u01b1\u0003\u0002\u0002\u0002Q\u01b9\u0003\u0002", - "\u0002\u0002S\u01c2\u0003\u0002\u0002\u0002U\u01c5\u0003\u0002\u0002", - "\u0002W\u01ca\u0003\u0002\u0002\u0002Y\u01d0\u0003\u0002\u0002\u0002", - "[\u01d9\u0003\u0002\u0002\u0002]\u01dc\u0003\u0002\u0002\u0002_\u01e3", - "\u0003\u0002\u0002\u0002a\u01e9\u0003\u0002\u0002\u0002c\u01ee\u0003", - "\u0002\u0002\u0002e\u01f2\u0003\u0002\u0002\u0002g\u01f7\u0003\u0002", - "\u0002\u0002i\u01fe\u0003\u0002\u0002\u0002k\u0203\u0003\u0002\u0002", - "\u0002m\u0206\u0003\u0002\u0002\u0002o\u0209\u0003\u0002\u0002\u0002", - "q\u020d\u0003\u0002\u0002\u0002s\u020f\u0003\u0002\u0002\u0002u\u0211", - "\u0003\u0002\u0002\u0002w\u0217\u0003\u0002\u0002\u0002y\u021e\u0003", - "\u0002\u0002\u0002{\u0220\u0003\u0002\u0002\u0002}\u0223\u0003\u0002", - "\u0002\u0002\u007f\u0225\u0003\u0002\u0002\u0002\u0081\u0227\u0003\u0002", - "\u0002\u0002\u0083\u022a\u0003\u0002\u0002\u0002\u0085\u022d\u0003\u0002", - "\u0002\u0002\u0087\u022f\u0003\u0002\u0002\u0002\u0089\u0231\u0003\u0002", - "\u0002\u0002\u008b\u0234\u0003\u0002\u0002\u0002\u008d\u0237\u0003\u0002", - "\u0002\u0002\u008f\u023a\u0003\u0002\u0002\u0002\u0091\u023d\u0003\u0002", - "\u0002\u0002\u0093\u023f\u0003\u0002\u0002\u0002\u0095\u0241\u0003\u0002", - "\u0002\u0002\u0097\u0244\u0003\u0002\u0002\u0002\u0099\u0247\u0003\u0002", - "\u0002\u0002\u009b\u024a\u0003\u0002\u0002\u0002\u009d\u024e\u0003\u0002", - "\u0002\u0002\u009f\u0252\u0003\u0002\u0002\u0002\u00a1\u0255\u0003\u0002", - "\u0002\u0002\u00a3\u0258\u0003\u0002\u0002\u0002\u00a5\u025b\u0003\u0002", - "\u0002\u0002\u00a7\u025e\u0003\u0002\u0002\u0002\u00a9\u0261\u0003\u0002", - "\u0002\u0002\u00ab\u0265\u0003\u0002\u0002\u0002\u00ad\u0268\u0003\u0002", - "\u0002\u0002\u00af\u026b\u0003\u0002\u0002\u0002\u00b1\u0272\u0003\u0002", - "\u0002\u0002\u00b3\u0277\u0003\u0002\u0002\u0002\u00b5\u027f\u0003\u0002", - "\u0002\u0002\u00b7\u0338\u0003\u0002\u0002\u0002\u00b9\u0411\u0003\u0002", - "\u0002\u0002\u00bb\u04ef\u0003\u0002\u0002\u0002\u00bd\u0507\u0003\u0002", - "\u0002\u0002\u00bf\u0521\u0003\u0002\u0002\u0002\u00c1\u0524\u0003\u0002", - "\u0002\u0002\u00c3\u053d\u0003\u0002\u0002\u0002\u00c5\u0550\u0003\u0002", - "\u0002\u0002\u00c7\u055a\u0003\u0002\u0002\u0002\u00c9\u0595\u0003\u0002", - "\u0002\u0002\u00cb\u0597\u0003\u0002\u0002\u0002\u00cd\u05ad\u0003\u0002", - "\u0002\u0002\u00cf\u05b0\u0003\u0002\u0002\u0002\u00d1\u060e\u0003\u0002", - "\u0002\u0002\u00d3\u0610\u0003\u0002\u0002\u0002\u00d5\u061a\u0003\u0002", - "\u0002\u0002\u00d7\u0620\u0003\u0002\u0002\u0002\u00d9\u0629\u0003\u0002", - "\u0002\u0002\u00db\u0632\u0003\u0002\u0002\u0002\u00dd\u063b\u0003\u0002", - "\u0002\u0002\u00df\u0643\u0003\u0002\u0002\u0002\u00e1\u064c\u0003\u0002", - "\u0002\u0002\u00e3\u0654\u0003\u0002\u0002\u0002\u00e5\u065c\u0003\u0002", - "\u0002\u0002\u00e7\u0663\u0003\u0002\u0002\u0002\u00e9\u0668\u0003\u0002", - "\u0002\u0002\u00eb\u066d\u0003\u0002\u0002\u0002\u00ed\u0674\u0003\u0002", - "\u0002\u0002\u00ef\u0676\u0003\u0002\u0002\u0002\u00f1\u0688\u0003\u0002", - "\u0002\u0002\u00f3\u068d\u0003\u0002\u0002\u0002\u00f5\u0692\u0003\u0002", - "\u0002\u0002\u00f7\u0695\u0003\u0002\u0002\u0002\u00f9\u069b\u0003\u0002", - "\u0002\u0002\u00fb\u06a9\u0003\u0002\u0002\u0002\u00fd\u00fe\u0007r", - "\u0002\u0002\u00fe\u00ff\u0007t\u0002\u0002\u00ff\u0100\u0007c\u0002", - "\u0002\u0100\u0101\u0007i\u0002\u0002\u0101\u0102\u0007o\u0002\u0002", - "\u0102\u0103\u0007c\u0002\u0002\u0103\u0004\u0003\u0002\u0002\u0002", - "\u0104\u0105\u0007=\u0002\u0002\u0105\u0006\u0003\u0002\u0002\u0002", - "\u0106\u0107\u0007`\u0002\u0002\u0107\b\u0003\u0002\u0002\u0002\u0108", - "\u0109\u0007\u0080\u0002\u0002\u0109\n\u0003\u0002\u0002\u0002\u010a", - "\u010b\u0007@\u0002\u0002\u010b\u010c\u0007?\u0002\u0002\u010c\f\u0003", - "\u0002\u0002\u0002\u010d\u010e\u0007@\u0002\u0002\u010e\u000e\u0003", - "\u0002\u0002\u0002\u010f\u0110\u0007>\u0002\u0002\u0110\u0010\u0003", - "\u0002\u0002\u0002\u0111\u0112\u0007>\u0002\u0002\u0112\u0113\u0007", - "?\u0002\u0002\u0113\u0012\u0003\u0002\u0002\u0002\u0114\u0115\u0007", - "?\u0002\u0002\u0115\u0014\u0003\u0002\u0002\u0002\u0116\u0117\u0007", - "c\u0002\u0002\u0117\u0118\u0007u\u0002\u0002\u0118\u0016\u0003\u0002", - "\u0002\u0002\u0119\u011a\u0007k\u0002\u0002\u011a\u011b\u0007o\u0002", - "\u0002\u011b\u011c\u0007r\u0002\u0002\u011c\u011d\u0007q\u0002\u0002", - "\u011d\u011e\u0007t\u0002\u0002\u011e\u011f\u0007v\u0002\u0002\u011f", - "\u0018\u0003\u0002\u0002\u0002\u0120\u0121\u0007,\u0002\u0002\u0121", - "\u001a\u0003\u0002\u0002\u0002\u0122\u0123\u0007h\u0002\u0002\u0123", - "\u0124\u0007t\u0002\u0002\u0124\u0125\u0007q\u0002\u0002\u0125\u0126", - "\u0007o\u0002\u0002\u0126\u001c\u0003\u0002\u0002\u0002\u0127\u0128", - "\u0007}\u0002\u0002\u0128\u001e\u0003\u0002\u0002\u0002\u0129\u012a", - "\u0007.\u0002\u0002\u012a \u0003\u0002\u0002\u0002\u012b\u012c\u0007", - "\u007f\u0002\u0002\u012c\"\u0003\u0002\u0002\u0002\u012d\u012e\u0007", - "e\u0002\u0002\u012e\u012f\u0007q\u0002\u0002\u012f\u0130\u0007p\u0002", - "\u0002\u0130\u0131\u0007v\u0002\u0002\u0131\u0132\u0007t\u0002\u0002", - "\u0132\u0133\u0007c\u0002\u0002\u0133\u0134\u0007e\u0002\u0002\u0134", - "\u0135\u0007v\u0002\u0002\u0135$\u0003\u0002\u0002\u0002\u0136\u0137", - "\u0007k\u0002\u0002\u0137\u0138\u0007p\u0002\u0002\u0138\u0139\u0007", - "v\u0002\u0002\u0139\u013a\u0007g\u0002\u0002\u013a\u013b\u0007t\u0002", - "\u0002\u013b\u013c\u0007h\u0002\u0002\u013c\u013d\u0007c\u0002\u0002", - "\u013d\u013e\u0007e\u0002\u0002\u013e\u013f\u0007g\u0002\u0002\u013f", - "&\u0003\u0002\u0002\u0002\u0140\u0141\u0007n\u0002\u0002\u0141\u0142", - "\u0007k\u0002\u0002\u0142\u0143\u0007d\u0002\u0002\u0143\u0144\u0007", - "t\u0002\u0002\u0144\u0145\u0007c\u0002\u0002\u0145\u0146\u0007t\u0002", - "\u0002\u0146\u0147\u0007{\u0002\u0002\u0147(\u0003\u0002\u0002\u0002", - "\u0148\u0149\u0007k\u0002\u0002\u0149\u014a\u0007u\u0002\u0002\u014a", - "*\u0003\u0002\u0002\u0002\u014b\u014c\u0007*\u0002\u0002\u014c,\u0003", - "\u0002\u0002\u0002\u014d\u014e\u0007+\u0002\u0002\u014e.\u0003\u0002", - "\u0002\u0002\u014f\u0150\u0007w\u0002\u0002\u0150\u0151\u0007u\u0002", - "\u0002\u0151\u0152\u0007k\u0002\u0002\u0152\u0153\u0007p\u0002\u0002", - "\u0153\u0154\u0007i\u0002\u0002\u01540\u0003\u0002\u0002\u0002\u0155", - "\u0156\u0007h\u0002\u0002\u0156\u0157\u0007q\u0002\u0002\u0157\u0158", - "\u0007t\u0002\u0002\u01582\u0003\u0002\u0002\u0002\u0159\u015a\u0007", - "u\u0002\u0002\u015a\u015b\u0007v\u0002\u0002\u015b\u015c\u0007t\u0002", - "\u0002\u015c\u015d\u0007w\u0002\u0002\u015d\u015e\u0007e\u0002\u0002", - "\u015e\u015f\u0007v\u0002\u0002\u015f4\u0003\u0002\u0002\u0002\u0160", - "\u0161\u0007e\u0002\u0002\u0161\u0162\u0007q\u0002\u0002\u0162\u0163", - "\u0007p\u0002\u0002\u0163\u0164\u0007u\u0002\u0002\u0164\u0165\u0007", - "v\u0002\u0002\u0165\u0166\u0007t\u0002\u0002\u0166\u0167\u0007w\u0002", - "\u0002\u0167\u0168\u0007e\u0002\u0002\u0168\u0169\u0007v\u0002\u0002", - "\u0169\u016a\u0007q\u0002\u0002\u016a\u016b\u0007t\u0002\u0002\u016b", - "6\u0003\u0002\u0002\u0002\u016c\u016d\u0007o\u0002\u0002\u016d\u016e", - "\u0007q\u0002\u0002\u016e\u016f\u0007f\u0002\u0002\u016f\u0170\u0007", - "k\u0002\u0002\u0170\u0171\u0007h\u0002\u0002\u0171\u0172\u0007k\u0002", - "\u0002\u0172\u0173\u0007g\u0002\u0002\u0173\u0174\u0007t\u0002\u0002", - "\u01748\u0003\u0002\u0002\u0002\u0175\u0176\u0007h\u0002\u0002\u0176", - "\u0177\u0007w\u0002\u0002\u0177\u0178\u0007p\u0002\u0002\u0178\u0179", - "\u0007e\u0002\u0002\u0179\u017a\u0007v\u0002\u0002\u017a\u017b\u0007", - "k\u0002\u0002\u017b\u017c\u0007q\u0002\u0002\u017c\u017d\u0007p\u0002", - "\u0002\u017d:\u0003\u0002\u0002\u0002\u017e\u017f\u0007t\u0002\u0002", - "\u017f\u0180\u0007g\u0002\u0002\u0180\u0181\u0007v\u0002\u0002\u0181", - "\u0182\u0007w\u0002\u0002\u0182\u0183\u0007t\u0002\u0002\u0183\u0184", - "\u0007p\u0002\u0002\u0184\u0185\u0007u\u0002\u0002\u0185<\u0003\u0002", - "\u0002\u0002\u0186\u0187\u0007g\u0002\u0002\u0187\u0188\u0007x\u0002", - "\u0002\u0188\u0189\u0007g\u0002\u0002\u0189\u018a\u0007p\u0002\u0002", - "\u018a\u018b\u0007v\u0002\u0002\u018b>\u0003\u0002\u0002\u0002\u018c", - "\u018d\u0007g\u0002\u0002\u018d\u018e\u0007p\u0002\u0002\u018e\u018f", - "\u0007w\u0002\u0002\u018f\u0190\u0007o\u0002\u0002\u0190@\u0003\u0002", - "\u0002\u0002\u0191\u0192\u0007]\u0002\u0002\u0192B\u0003\u0002\u0002", - "\u0002\u0193\u0194\u0007_\u0002\u0002\u0194D\u0003\u0002\u0002\u0002", - "\u0195\u0196\u0007c\u0002\u0002\u0196\u0197\u0007f\u0002\u0002\u0197", - "\u0198\u0007f\u0002\u0002\u0198\u0199\u0007t\u0002\u0002\u0199\u019a", - "\u0007g\u0002\u0002\u019a\u019b\u0007u\u0002\u0002\u019b\u019c\u0007", - "u\u0002\u0002\u019cF\u0003\u0002\u0002\u0002\u019d\u019e\u00070\u0002", - "\u0002\u019eH\u0003\u0002\u0002\u0002\u019f\u01a0\u0007o\u0002\u0002", - "\u01a0\u01a1\u0007c\u0002\u0002\u01a1\u01a2\u0007r\u0002\u0002\u01a2", - "\u01a3\u0007r\u0002\u0002\u01a3\u01a4\u0007k\u0002\u0002\u01a4\u01a5", - "\u0007p\u0002\u0002\u01a5\u01a6\u0007i\u0002\u0002\u01a6J\u0003\u0002", - "\u0002\u0002\u01a7\u01a8\u0007?\u0002\u0002\u01a8\u01a9\u0007@\u0002", - "\u0002\u01a9L\u0003\u0002\u0002\u0002\u01aa\u01ab\u0007o\u0002\u0002", - "\u01ab\u01ac\u0007g\u0002\u0002\u01ac\u01ad\u0007o\u0002\u0002\u01ad", - "\u01ae\u0007q\u0002\u0002\u01ae\u01af\u0007t\u0002\u0002\u01af\u01b0", - "\u0007{\u0002\u0002\u01b0N\u0003\u0002\u0002\u0002\u01b1\u01b2\u0007", - "u\u0002\u0002\u01b2\u01b3\u0007v\u0002\u0002\u01b3\u01b4\u0007q\u0002", - "\u0002\u01b4\u01b5\u0007t\u0002\u0002\u01b5\u01b6\u0007c\u0002\u0002", - "\u01b6\u01b7\u0007i\u0002\u0002\u01b7\u01b8\u0007g\u0002\u0002\u01b8", - "P\u0003\u0002\u0002\u0002\u01b9\u01ba\u0007e\u0002\u0002\u01ba\u01bb", - "\u0007c\u0002\u0002\u01bb\u01bc\u0007n\u0002\u0002\u01bc\u01bd\u0007", - "n\u0002\u0002\u01bd\u01be\u0007f\u0002\u0002\u01be\u01bf\u0007c\u0002", - "\u0002\u01bf\u01c0\u0007v\u0002\u0002\u01c0\u01c1\u0007c\u0002\u0002", - "\u01c1R\u0003\u0002\u0002\u0002\u01c2\u01c3\u0007k\u0002\u0002\u01c3", - "\u01c4\u0007h\u0002\u0002\u01c4T\u0003\u0002\u0002\u0002\u01c5\u01c6", - "\u0007g\u0002\u0002\u01c6\u01c7\u0007n\u0002\u0002\u01c7\u01c8\u0007", - "u\u0002\u0002\u01c8\u01c9\u0007g\u0002\u0002\u01c9V\u0003\u0002\u0002", - "\u0002\u01ca\u01cb\u0007y\u0002\u0002\u01cb\u01cc\u0007j\u0002\u0002", - "\u01cc\u01cd\u0007k\u0002\u0002\u01cd\u01ce\u0007n\u0002\u0002\u01ce", - "\u01cf\u0007g\u0002\u0002\u01cfX\u0003\u0002\u0002\u0002\u01d0\u01d1", - "\u0007c\u0002\u0002\u01d1\u01d2\u0007u\u0002\u0002\u01d2\u01d3\u0007", - "u\u0002\u0002\u01d3\u01d4\u0007g\u0002\u0002\u01d4\u01d5\u0007o\u0002", - "\u0002\u01d5\u01d6\u0007d\u0002\u0002\u01d6\u01d7\u0007n\u0002\u0002", - "\u01d7\u01d8\u0007{\u0002\u0002\u01d8Z\u0003\u0002\u0002\u0002\u01d9", - "\u01da\u0007f\u0002\u0002\u01da\u01db\u0007q\u0002\u0002\u01db\\\u0003", - "\u0002\u0002\u0002\u01dc\u01dd\u0007t\u0002\u0002\u01dd\u01de\u0007", - "g\u0002\u0002\u01de\u01df\u0007v\u0002\u0002\u01df\u01e0\u0007w\u0002", - "\u0002\u01e0\u01e1\u0007t\u0002\u0002\u01e1\u01e2\u0007p\u0002\u0002", - "\u01e2^\u0003\u0002\u0002\u0002\u01e3\u01e4\u0007v\u0002\u0002\u01e4", - "\u01e5\u0007j\u0002\u0002\u01e5\u01e6\u0007t\u0002\u0002\u01e6\u01e7", - "\u0007q\u0002\u0002\u01e7\u01e8\u0007y\u0002\u0002\u01e8`\u0003\u0002", - "\u0002\u0002\u01e9\u01ea\u0007g\u0002\u0002\u01ea\u01eb\u0007o\u0002", - "\u0002\u01eb\u01ec\u0007k\u0002\u0002\u01ec\u01ed\u0007v\u0002\u0002", - "\u01edb\u0003\u0002\u0002\u0002\u01ee\u01ef\u0007x\u0002\u0002\u01ef", - "\u01f0\u0007c\u0002\u0002\u01f0\u01f1\u0007t\u0002\u0002\u01f1d\u0003", - "\u0002\u0002\u0002\u01f2\u01f3\u0007d\u0002\u0002\u01f3\u01f4\u0007", - "q\u0002\u0002\u01f4\u01f5\u0007q\u0002\u0002\u01f5\u01f6\u0007n\u0002", - "\u0002\u01f6f\u0003\u0002\u0002\u0002\u01f7\u01f8\u0007u\u0002\u0002", - "\u01f8\u01f9\u0007v\u0002\u0002\u01f9\u01fa\u0007t\u0002\u0002\u01fa", - "\u01fb\u0007k\u0002\u0002\u01fb\u01fc\u0007p\u0002\u0002\u01fc\u01fd", - "\u0007i\u0002\u0002\u01fdh\u0003\u0002\u0002\u0002\u01fe\u01ff\u0007", - "d\u0002\u0002\u01ff\u0200\u0007{\u0002\u0002\u0200\u0201\u0007v\u0002", - "\u0002\u0201\u0202\u0007g\u0002\u0002\u0202j\u0003\u0002\u0002\u0002", - "\u0203\u0204\u0007-\u0002\u0002\u0204\u0205\u0007-\u0002\u0002\u0205", - "l\u0003\u0002\u0002\u0002\u0206\u0207\u0007/\u0002\u0002\u0207\u0208", - "\u0007/\u0002\u0002\u0208n\u0003\u0002\u0002\u0002\u0209\u020a\u0007", - "p\u0002\u0002\u020a\u020b\u0007g\u0002\u0002\u020b\u020c\u0007y\u0002", - "\u0002\u020cp\u0003\u0002\u0002\u0002\u020d\u020e\u0007-\u0002\u0002", - "\u020er\u0003\u0002\u0002\u0002\u020f\u0210\u0007/\u0002\u0002\u0210", - "t\u0003\u0002\u0002\u0002\u0211\u0212\u0007c\u0002\u0002\u0212\u0213", - "\u0007h\u0002\u0002\u0213\u0214\u0007v\u0002\u0002\u0214\u0215\u0007", - "g\u0002\u0002\u0215\u0216\u0007t\u0002\u0002\u0216v\u0003\u0002\u0002", - "\u0002\u0217\u0218\u0007f\u0002\u0002\u0218\u0219\u0007g\u0002\u0002", - "\u0219\u021a\u0007n\u0002\u0002\u021a\u021b\u0007g\u0002\u0002\u021b", - "\u021c\u0007v\u0002\u0002\u021c\u021d\u0007g\u0002\u0002\u021dx\u0003", - "\u0002\u0002\u0002\u021e\u021f\u0007#\u0002\u0002\u021fz\u0003\u0002", - "\u0002\u0002\u0220\u0221\u0007,\u0002\u0002\u0221\u0222\u0007,\u0002", - "\u0002\u0222|\u0003\u0002\u0002\u0002\u0223\u0224\u00071\u0002\u0002", - "\u0224~\u0003\u0002\u0002\u0002\u0225\u0226\u0007\'\u0002\u0002\u0226", - "\u0080\u0003\u0002\u0002\u0002\u0227\u0228\u0007>\u0002\u0002\u0228", - "\u0229\u0007>\u0002\u0002\u0229\u0082\u0003\u0002\u0002\u0002\u022a", - "\u022b\u0007@\u0002\u0002\u022b\u022c\u0007@\u0002\u0002\u022c\u0084", - "\u0003\u0002\u0002\u0002\u022d\u022e\u0007(\u0002\u0002\u022e\u0086", - "\u0003\u0002\u0002\u0002\u022f\u0230\u0007~\u0002\u0002\u0230\u0088", - "\u0003\u0002\u0002\u0002\u0231\u0232\u0007?\u0002\u0002\u0232\u0233", - "\u0007?\u0002\u0002\u0233\u008a\u0003\u0002\u0002\u0002\u0234\u0235", - "\u0007#\u0002\u0002\u0235\u0236\u0007?\u0002\u0002\u0236\u008c\u0003", - "\u0002\u0002\u0002\u0237\u0238\u0007(\u0002\u0002\u0238\u0239\u0007", - "(\u0002\u0002\u0239\u008e\u0003\u0002\u0002\u0002\u023a\u023b\u0007", - "~\u0002\u0002\u023b\u023c\u0007~\u0002\u0002\u023c\u0090\u0003\u0002", - "\u0002\u0002\u023d\u023e\u0007A\u0002\u0002\u023e\u0092\u0003\u0002", - "\u0002\u0002\u023f\u0240\u0007<\u0002\u0002\u0240\u0094\u0003\u0002", - "\u0002\u0002\u0241\u0242\u0007~\u0002\u0002\u0242\u0243\u0007?\u0002", - "\u0002\u0243\u0096\u0003\u0002\u0002\u0002\u0244\u0245\u0007`\u0002", - "\u0002\u0245\u0246\u0007?\u0002\u0002\u0246\u0098\u0003\u0002\u0002", - "\u0002\u0247\u0248\u0007(\u0002\u0002\u0248\u0249\u0007?\u0002\u0002", - "\u0249\u009a\u0003\u0002\u0002\u0002\u024a\u024b\u0007>\u0002\u0002", - "\u024b\u024c\u0007>\u0002\u0002\u024c\u024d\u0007?\u0002\u0002\u024d", - "\u009c\u0003\u0002\u0002\u0002\u024e\u024f\u0007@\u0002\u0002\u024f", - "\u0250\u0007@\u0002\u0002\u0250\u0251\u0007?\u0002\u0002\u0251\u009e", - "\u0003\u0002\u0002\u0002\u0252\u0253\u0007-\u0002\u0002\u0253\u0254", - "\u0007?\u0002\u0002\u0254\u00a0\u0003\u0002\u0002\u0002\u0255\u0256", - "\u0007/\u0002\u0002\u0256\u0257\u0007?\u0002\u0002\u0257\u00a2\u0003", - "\u0002\u0002\u0002\u0258\u0259\u0007,\u0002\u0002\u0259\u025a\u0007", - "?\u0002\u0002\u025a\u00a4\u0003\u0002\u0002\u0002\u025b\u025c\u0007", - "1\u0002\u0002\u025c\u025d\u0007?\u0002\u0002\u025d\u00a6\u0003\u0002", - "\u0002\u0002\u025e\u025f\u0007\'\u0002\u0002\u025f\u0260\u0007?\u0002", - "\u0002\u0260\u00a8\u0003\u0002\u0002\u0002\u0261\u0262\u0007n\u0002", - "\u0002\u0262\u0263\u0007g\u0002\u0002\u0263\u0264\u0007v\u0002\u0002", - "\u0264\u00aa\u0003\u0002\u0002\u0002\u0265\u0266\u0007<\u0002\u0002", - "\u0266\u0267\u0007?\u0002\u0002\u0267\u00ac\u0003\u0002\u0002\u0002", - "\u0268\u0269\u0007?\u0002\u0002\u0269\u026a\u0007<\u0002\u0002\u026a", - "\u00ae\u0003\u0002\u0002\u0002\u026b\u026c\u0007u\u0002\u0002\u026c", - "\u026d\u0007y\u0002\u0002\u026d\u026e\u0007k\u0002\u0002\u026e\u026f", - "\u0007v\u0002\u0002\u026f\u0270\u0007e\u0002\u0002\u0270\u0271\u0007", - "j\u0002\u0002\u0271\u00b0\u0003\u0002\u0002\u0002\u0272\u0273\u0007", - "e\u0002\u0002\u0273\u0274\u0007c\u0002\u0002\u0274\u0275\u0007u\u0002", - "\u0002\u0275\u0276\u0007g\u0002\u0002\u0276\u00b2\u0003\u0002\u0002", - "\u0002\u0277\u0278\u0007f\u0002\u0002\u0278\u0279\u0007g\u0002\u0002", - "\u0279\u027a\u0007h\u0002\u0002\u027a\u027b\u0007c\u0002\u0002\u027b", - "\u027c\u0007w\u0002\u0002\u027c\u027d\u0007n\u0002\u0002\u027d\u027e", - "\u0007v\u0002\u0002\u027e\u00b4\u0003\u0002\u0002\u0002\u027f\u0280", - "\u0007/\u0002\u0002\u0280\u0281\u0007@\u0002\u0002\u0281\u00b6\u0003", - "\u0002\u0002\u0002\u0282\u0283\u0007k\u0002\u0002\u0283\u0284\u0007", - "p\u0002\u0002\u0284\u0339\u0007v\u0002\u0002\u0285\u0286\u0007k\u0002", - "\u0002\u0286\u0287\u0007p\u0002\u0002\u0287\u0288\u0007v\u0002\u0002", - "\u0288\u0339\u0007:\u0002\u0002\u0289\u028a\u0007k\u0002\u0002\u028a", - "\u028b\u0007p\u0002\u0002\u028b\u028c\u0007v\u0002\u0002\u028c\u028d", - "\u00073\u0002\u0002\u028d\u0339\u00078\u0002\u0002\u028e\u028f\u0007", - "k\u0002\u0002\u028f\u0290\u0007p\u0002\u0002\u0290\u0291\u0007v\u0002", - "\u0002\u0291\u0292\u00074\u0002\u0002\u0292\u0339\u00076\u0002\u0002", - "\u0293\u0294\u0007k\u0002\u0002\u0294\u0295\u0007p\u0002\u0002\u0295", - "\u0296\u0007v\u0002\u0002\u0296\u0297\u00075\u0002\u0002\u0297\u0339", - "\u00074\u0002\u0002\u0298\u0299\u0007k\u0002\u0002\u0299\u029a\u0007", - "p\u0002\u0002\u029a\u029b\u0007v\u0002\u0002\u029b\u029c\u00076\u0002", - "\u0002\u029c\u0339\u00072\u0002\u0002\u029d\u029e\u0007k\u0002\u0002", - "\u029e\u029f\u0007p\u0002\u0002\u029f\u02a0\u0007v\u0002\u0002\u02a0", - "\u02a1\u00076\u0002\u0002\u02a1\u0339\u0007:\u0002\u0002\u02a2\u02a3", - "\u0007k\u0002\u0002\u02a3\u02a4\u0007p\u0002\u0002\u02a4\u02a5\u0007", - "v\u0002\u0002\u02a5\u02a6\u00077\u0002\u0002\u02a6\u0339\u00078\u0002", - "\u0002\u02a7\u02a8\u0007k\u0002\u0002\u02a8\u02a9\u0007p\u0002\u0002", - "\u02a9\u02aa\u0007v\u0002\u0002\u02aa\u02ab\u00078\u0002\u0002\u02ab", - "\u0339\u00076\u0002\u0002\u02ac\u02ad\u0007k\u0002\u0002\u02ad\u02ae", - "\u0007p\u0002\u0002\u02ae\u02af\u0007v\u0002\u0002\u02af\u02b0\u0007", - "9\u0002\u0002\u02b0\u0339\u00074\u0002\u0002\u02b1\u02b2\u0007k\u0002", - "\u0002\u02b2\u02b3\u0007p\u0002\u0002\u02b3\u02b4\u0007v\u0002\u0002", - "\u02b4\u02b5\u0007:\u0002\u0002\u02b5\u0339\u00072\u0002\u0002\u02b6", - "\u02b7\u0007k\u0002\u0002\u02b7\u02b8\u0007p\u0002\u0002\u02b8\u02b9", - "\u0007v\u0002\u0002\u02b9\u02ba\u0007:\u0002\u0002\u02ba\u0339\u0007", - ":\u0002\u0002\u02bb\u02bc\u0007k\u0002\u0002\u02bc\u02bd\u0007p\u0002", - "\u0002\u02bd\u02be\u0007v\u0002\u0002\u02be\u02bf\u0007;\u0002\u0002", - "\u02bf\u0339\u00078\u0002\u0002\u02c0\u02c1\u0007k\u0002\u0002\u02c1", - "\u02c2\u0007p\u0002\u0002\u02c2\u02c3\u0007v\u0002\u0002\u02c3\u02c4", - "\u00073\u0002\u0002\u02c4\u02c5\u00072\u0002\u0002\u02c5\u0339\u0007", - "6\u0002\u0002\u02c6\u02c7\u0007k\u0002\u0002\u02c7\u02c8\u0007p\u0002", - "\u0002\u02c8\u02c9\u0007v\u0002\u0002\u02c9\u02ca\u00073\u0002\u0002", - "\u02ca\u02cb\u00073\u0002\u0002\u02cb\u0339\u00074\u0002\u0002\u02cc", - "\u02cd\u0007k\u0002\u0002\u02cd\u02ce\u0007p\u0002\u0002\u02ce\u02cf", - "\u0007v\u0002\u0002\u02cf\u02d0\u00073\u0002\u0002\u02d0\u02d1\u0007", - "4\u0002\u0002\u02d1\u0339\u00072\u0002\u0002\u02d2\u02d3\u0007k\u0002", - "\u0002\u02d3\u02d4\u0007p\u0002\u0002\u02d4\u02d5\u0007v\u0002\u0002", - "\u02d5\u02d6\u00073\u0002\u0002\u02d6\u02d7\u00074\u0002\u0002\u02d7", - "\u0339\u0007:\u0002\u0002\u02d8\u02d9\u0007k\u0002\u0002\u02d9\u02da", - "\u0007p\u0002\u0002\u02da\u02db\u0007v\u0002\u0002\u02db\u02dc\u0007", - "3\u0002\u0002\u02dc\u02dd\u00075\u0002\u0002\u02dd\u0339\u00078\u0002", - "\u0002\u02de\u02df\u0007k\u0002\u0002\u02df\u02e0\u0007p\u0002\u0002", - "\u02e0\u02e1\u0007v\u0002\u0002\u02e1\u02e2\u00073\u0002\u0002\u02e2", - "\u02e3\u00076\u0002\u0002\u02e3\u0339\u00076\u0002\u0002\u02e4\u02e5", - "\u0007k\u0002\u0002\u02e5\u02e6\u0007p\u0002\u0002\u02e6\u02e7\u0007", - "v\u0002\u0002\u02e7\u02e8\u00073\u0002\u0002\u02e8\u02e9\u00077\u0002", - "\u0002\u02e9\u0339\u00074\u0002\u0002\u02ea\u02eb\u0007k\u0002\u0002", - "\u02eb\u02ec\u0007p\u0002\u0002\u02ec\u02ed\u0007v\u0002\u0002\u02ed", - "\u02ee\u00073\u0002\u0002\u02ee\u02ef\u00078\u0002\u0002\u02ef\u0339", - "\u00072\u0002\u0002\u02f0\u02f1\u0007k\u0002\u0002\u02f1\u02f2\u0007", - "p\u0002\u0002\u02f2\u02f3\u0007v\u0002\u0002\u02f3\u02f4\u00073\u0002", - "\u0002\u02f4\u02f5\u00078\u0002\u0002\u02f5\u0339\u0007:\u0002\u0002", - "\u02f6\u02f7\u0007k\u0002\u0002\u02f7\u02f8\u0007p\u0002\u0002\u02f8", - "\u02f9\u0007v\u0002\u0002\u02f9\u02fa\u00073\u0002\u0002\u02fa\u02fb", - "\u00079\u0002\u0002\u02fb\u0339\u00078\u0002\u0002\u02fc\u02fd\u0007", - "k\u0002\u0002\u02fd\u02fe\u0007p\u0002\u0002\u02fe\u02ff\u0007v\u0002", - "\u0002\u02ff\u0300\u00073\u0002\u0002\u0300\u0301\u0007:\u0002\u0002", - "\u0301\u0339\u00076\u0002\u0002\u0302\u0303\u0007k\u0002\u0002\u0303", - "\u0304\u0007p\u0002\u0002\u0304\u0305\u0007v\u0002\u0002\u0305\u0306", - "\u00073\u0002\u0002\u0306\u0307\u0007;\u0002\u0002\u0307\u0339\u0007", - "4\u0002\u0002\u0308\u0309\u0007k\u0002\u0002\u0309\u030a\u0007p\u0002", - "\u0002\u030a\u030b\u0007v\u0002\u0002\u030b\u030c\u00074\u0002\u0002", - "\u030c\u030d\u00072\u0002\u0002\u030d\u0339\u00072\u0002\u0002\u030e", - "\u030f\u0007k\u0002\u0002\u030f\u0310\u0007p\u0002\u0002\u0310\u0311", - "\u0007v\u0002\u0002\u0311\u0312\u00074\u0002\u0002\u0312\u0313\u0007", - "2\u0002\u0002\u0313\u0339\u0007:\u0002\u0002\u0314\u0315\u0007k\u0002", - "\u0002\u0315\u0316\u0007p\u0002\u0002\u0316\u0317\u0007v\u0002\u0002", - "\u0317\u0318\u00074\u0002\u0002\u0318\u0319\u00073\u0002\u0002\u0319", - "\u0339\u00078\u0002\u0002\u031a\u031b\u0007k\u0002\u0002\u031b\u031c", - "\u0007p\u0002\u0002\u031c\u031d\u0007v\u0002\u0002\u031d\u031e\u0007", - "4\u0002\u0002\u031e\u031f\u00074\u0002\u0002\u031f\u0339\u00076\u0002", - "\u0002\u0320\u0321\u0007k\u0002\u0002\u0321\u0322\u0007p\u0002\u0002", - "\u0322\u0323\u0007v\u0002\u0002\u0323\u0324\u00074\u0002\u0002\u0324", - "\u0325\u00075\u0002\u0002\u0325\u0339\u00074\u0002\u0002\u0326\u0327", - "\u0007k\u0002\u0002\u0327\u0328\u0007p\u0002\u0002\u0328\u0329\u0007", - "v\u0002\u0002\u0329\u032a\u00074\u0002\u0002\u032a\u032b\u00076\u0002", - "\u0002\u032b\u0339\u00072\u0002\u0002\u032c\u032d\u0007k\u0002\u0002", - "\u032d\u032e\u0007p\u0002\u0002\u032e\u032f\u0007v\u0002\u0002\u032f", - "\u0330\u00074\u0002\u0002\u0330\u0331\u00076\u0002\u0002\u0331\u0339", - "\u0007:\u0002\u0002\u0332\u0333\u0007k\u0002\u0002\u0333\u0334\u0007", - "p\u0002\u0002\u0334\u0335\u0007v\u0002\u0002\u0335\u0336\u00074\u0002", - "\u0002\u0336\u0337\u00077\u0002\u0002\u0337\u0339\u00078\u0002\u0002", - "\u0338\u0282\u0003\u0002\u0002\u0002\u0338\u0285\u0003\u0002\u0002\u0002", - "\u0338\u0289\u0003\u0002\u0002\u0002\u0338\u028e\u0003\u0002\u0002\u0002", - "\u0338\u0293\u0003\u0002\u0002\u0002\u0338\u0298\u0003\u0002\u0002\u0002", - "\u0338\u029d\u0003\u0002\u0002\u0002\u0338\u02a2\u0003\u0002\u0002\u0002", - "\u0338\u02a7\u0003\u0002\u0002\u0002\u0338\u02ac\u0003\u0002\u0002\u0002", - "\u0338\u02b1\u0003\u0002\u0002\u0002\u0338\u02b6\u0003\u0002\u0002\u0002", - "\u0338\u02bb\u0003\u0002\u0002\u0002\u0338\u02c0\u0003\u0002\u0002\u0002", - "\u0338\u02c6\u0003\u0002\u0002\u0002\u0338\u02cc\u0003\u0002\u0002\u0002", - "\u0338\u02d2\u0003\u0002\u0002\u0002\u0338\u02d8\u0003\u0002\u0002\u0002", - "\u0338\u02de\u0003\u0002\u0002\u0002\u0338\u02e4\u0003\u0002\u0002\u0002", - "\u0338\u02ea\u0003\u0002\u0002\u0002\u0338\u02f0\u0003\u0002\u0002\u0002", - "\u0338\u02f6\u0003\u0002\u0002\u0002\u0338\u02fc\u0003\u0002\u0002\u0002", - "\u0338\u0302\u0003\u0002\u0002\u0002\u0338\u0308\u0003\u0002\u0002\u0002", - "\u0338\u030e\u0003\u0002\u0002\u0002\u0338\u0314\u0003\u0002\u0002\u0002", - "\u0338\u031a\u0003\u0002\u0002\u0002\u0338\u0320\u0003\u0002\u0002\u0002", - "\u0338\u0326\u0003\u0002\u0002\u0002\u0338\u032c\u0003\u0002\u0002\u0002", - "\u0338\u0332\u0003\u0002\u0002\u0002\u0339\u00b8\u0003\u0002\u0002\u0002", - "\u033a\u033b\u0007w\u0002\u0002\u033b\u033c\u0007k\u0002\u0002\u033c", - "\u033d\u0007p\u0002\u0002\u033d\u0412\u0007v\u0002\u0002\u033e\u033f", - "\u0007w\u0002\u0002\u033f\u0340\u0007k\u0002\u0002\u0340\u0341\u0007", - "p\u0002\u0002\u0341\u0342\u0007v\u0002\u0002\u0342\u0412\u0007:\u0002", - "\u0002\u0343\u0344\u0007w\u0002\u0002\u0344\u0345\u0007k\u0002\u0002", - "\u0345\u0346\u0007p\u0002\u0002\u0346\u0347\u0007v\u0002\u0002\u0347", - "\u0348\u00073\u0002\u0002\u0348\u0412\u00078\u0002\u0002\u0349\u034a", - "\u0007w\u0002\u0002\u034a\u034b\u0007k\u0002\u0002\u034b\u034c\u0007", - "p\u0002\u0002\u034c\u034d\u0007v\u0002\u0002\u034d\u034e\u00074\u0002", - "\u0002\u034e\u0412\u00076\u0002\u0002\u034f\u0350\u0007w\u0002\u0002", - "\u0350\u0351\u0007k\u0002\u0002\u0351\u0352\u0007p\u0002\u0002\u0352", - "\u0353\u0007v\u0002\u0002\u0353\u0354\u00075\u0002\u0002\u0354\u0412", - "\u00074\u0002\u0002\u0355\u0356\u0007w\u0002\u0002\u0356\u0357\u0007", - "k\u0002\u0002\u0357\u0358\u0007p\u0002\u0002\u0358\u0359\u0007v\u0002", - "\u0002\u0359\u035a\u00076\u0002\u0002\u035a\u0412\u00072\u0002\u0002", - "\u035b\u035c\u0007w\u0002\u0002\u035c\u035d\u0007k\u0002\u0002\u035d", - "\u035e\u0007p\u0002\u0002\u035e\u035f\u0007v\u0002\u0002\u035f\u0360", - "\u00076\u0002\u0002\u0360\u0412\u0007:\u0002\u0002\u0361\u0362\u0007", - "w\u0002\u0002\u0362\u0363\u0007k\u0002\u0002\u0363\u0364\u0007p\u0002", - "\u0002\u0364\u0365\u0007v\u0002\u0002\u0365\u0366\u00077\u0002\u0002", - "\u0366\u0412\u00078\u0002\u0002\u0367\u0368\u0007w\u0002\u0002\u0368", - "\u0369\u0007k\u0002\u0002\u0369\u036a\u0007p\u0002\u0002\u036a\u036b", - "\u0007v\u0002\u0002\u036b\u036c\u00078\u0002\u0002\u036c\u0412\u0007", - "6\u0002\u0002\u036d\u036e\u0007w\u0002\u0002\u036e\u036f\u0007k\u0002", - "\u0002\u036f\u0370\u0007p\u0002\u0002\u0370\u0371\u0007v\u0002\u0002", - "\u0371\u0372\u00079\u0002\u0002\u0372\u0412\u00074\u0002\u0002\u0373", - "\u0374\u0007w\u0002\u0002\u0374\u0375\u0007k\u0002\u0002\u0375\u0376", - "\u0007p\u0002\u0002\u0376\u0377\u0007v\u0002\u0002\u0377\u0378\u0007", - ":\u0002\u0002\u0378\u0412\u00072\u0002\u0002\u0379\u037a\u0007w\u0002", - "\u0002\u037a\u037b\u0007k\u0002\u0002\u037b\u037c\u0007p\u0002\u0002", - "\u037c\u037d\u0007v\u0002\u0002\u037d\u037e\u0007:\u0002\u0002\u037e", - "\u0412\u0007:\u0002\u0002\u037f\u0380\u0007w\u0002\u0002\u0380\u0381", - "\u0007k\u0002\u0002\u0381\u0382\u0007p\u0002\u0002\u0382\u0383\u0007", - "v\u0002\u0002\u0383\u0384\u0007;\u0002\u0002\u0384\u0412\u00078\u0002", - "\u0002\u0385\u0386\u0007w\u0002\u0002\u0386\u0387\u0007k\u0002\u0002", - "\u0387\u0388\u0007p\u0002\u0002\u0388\u0389\u0007v\u0002\u0002\u0389", - "\u038a\u00073\u0002\u0002\u038a\u038b\u00072\u0002\u0002\u038b\u0412", - "\u00076\u0002\u0002\u038c\u038d\u0007w\u0002\u0002\u038d\u038e\u0007", - "k\u0002\u0002\u038e\u038f\u0007p\u0002\u0002\u038f\u0390\u0007v\u0002", - "\u0002\u0390\u0391\u00073\u0002\u0002\u0391\u0392\u00073\u0002\u0002", - "\u0392\u0412\u00074\u0002\u0002\u0393\u0394\u0007w\u0002\u0002\u0394", - "\u0395\u0007k\u0002\u0002\u0395\u0396\u0007p\u0002\u0002\u0396\u0397", - "\u0007v\u0002\u0002\u0397\u0398\u00073\u0002\u0002\u0398\u0399\u0007", - "4\u0002\u0002\u0399\u0412\u00072\u0002\u0002\u039a\u039b\u0007w\u0002", - "\u0002\u039b\u039c\u0007k\u0002\u0002\u039c\u039d\u0007p\u0002\u0002", - "\u039d\u039e\u0007v\u0002\u0002\u039e\u039f\u00073\u0002\u0002\u039f", - "\u03a0\u00074\u0002\u0002\u03a0\u0412\u0007:\u0002\u0002\u03a1\u03a2", - "\u0007w\u0002\u0002\u03a2\u03a3\u0007k\u0002\u0002\u03a3\u03a4\u0007", - "p\u0002\u0002\u03a4\u03a5\u0007v\u0002\u0002\u03a5\u03a6\u00073\u0002", - "\u0002\u03a6\u03a7\u00075\u0002\u0002\u03a7\u0412\u00078\u0002\u0002", - "\u03a8\u03a9\u0007w\u0002\u0002\u03a9\u03aa\u0007k\u0002\u0002\u03aa", - "\u03ab\u0007p\u0002\u0002\u03ab\u03ac\u0007v\u0002\u0002\u03ac\u03ad", - "\u00073\u0002\u0002\u03ad\u03ae\u00076\u0002\u0002\u03ae\u0412\u0007", - "6\u0002\u0002\u03af\u03b0\u0007w\u0002\u0002\u03b0\u03b1\u0007k\u0002", - "\u0002\u03b1\u03b2\u0007p\u0002\u0002\u03b2\u03b3\u0007v\u0002\u0002", - "\u03b3\u03b4\u00073\u0002\u0002\u03b4\u03b5\u00077\u0002\u0002\u03b5", - "\u0412\u00074\u0002\u0002\u03b6\u03b7\u0007w\u0002\u0002\u03b7\u03b8", - "\u0007k\u0002\u0002\u03b8\u03b9\u0007p\u0002\u0002\u03b9\u03ba\u0007", - "v\u0002\u0002\u03ba\u03bb\u00073\u0002\u0002\u03bb\u03bc\u00078\u0002", - "\u0002\u03bc\u0412\u00072\u0002\u0002\u03bd\u03be\u0007w\u0002\u0002", - "\u03be\u03bf\u0007k\u0002\u0002\u03bf\u03c0\u0007p\u0002\u0002\u03c0", - "\u03c1\u0007v\u0002\u0002\u03c1\u03c2\u00073\u0002\u0002\u03c2\u03c3", - "\u00078\u0002\u0002\u03c3\u0412\u0007:\u0002\u0002\u03c4\u03c5\u0007", - "w\u0002\u0002\u03c5\u03c6\u0007k\u0002\u0002\u03c6\u03c7\u0007p\u0002", - "\u0002\u03c7\u03c8\u0007v\u0002\u0002\u03c8\u03c9\u00073\u0002\u0002", - "\u03c9\u03ca\u00079\u0002\u0002\u03ca\u0412\u00078\u0002\u0002\u03cb", - "\u03cc\u0007w\u0002\u0002\u03cc\u03cd\u0007k\u0002\u0002\u03cd\u03ce", - "\u0007p\u0002\u0002\u03ce\u03cf\u0007v\u0002\u0002\u03cf\u03d0\u0007", - "3\u0002\u0002\u03d0\u03d1\u0007:\u0002\u0002\u03d1\u0412\u00076\u0002", - "\u0002\u03d2\u03d3\u0007w\u0002\u0002\u03d3\u03d4\u0007k\u0002\u0002", - "\u03d4\u03d5\u0007p\u0002\u0002\u03d5\u03d6\u0007v\u0002\u0002\u03d6", - "\u03d7\u00073\u0002\u0002\u03d7\u03d8\u0007;\u0002\u0002\u03d8\u0412", - "\u00074\u0002\u0002\u03d9\u03da\u0007w\u0002\u0002\u03da\u03db\u0007", - "k\u0002\u0002\u03db\u03dc\u0007p\u0002\u0002\u03dc\u03dd\u0007v\u0002", - "\u0002\u03dd\u03de\u00074\u0002\u0002\u03de\u03df\u00072\u0002\u0002", - "\u03df\u0412\u00072\u0002\u0002\u03e0\u03e1\u0007w\u0002\u0002\u03e1", - "\u03e2\u0007k\u0002\u0002\u03e2\u03e3\u0007p\u0002\u0002\u03e3\u03e4", - "\u0007v\u0002\u0002\u03e4\u03e5\u00074\u0002\u0002\u03e5\u03e6\u0007", - "2\u0002\u0002\u03e6\u0412\u0007:\u0002\u0002\u03e7\u03e8\u0007w\u0002", - "\u0002\u03e8\u03e9\u0007k\u0002\u0002\u03e9\u03ea\u0007p\u0002\u0002", - "\u03ea\u03eb\u0007v\u0002\u0002\u03eb\u03ec\u00074\u0002\u0002\u03ec", - "\u03ed\u00073\u0002\u0002\u03ed\u0412\u00078\u0002\u0002\u03ee\u03ef", - "\u0007w\u0002\u0002\u03ef\u03f0\u0007k\u0002\u0002\u03f0\u03f1\u0007", - "p\u0002\u0002\u03f1\u03f2\u0007v\u0002\u0002\u03f2\u03f3\u00074\u0002", - "\u0002\u03f3\u03f4\u00074\u0002\u0002\u03f4\u0412\u00076\u0002\u0002", - "\u03f5\u03f6\u0007w\u0002\u0002\u03f6\u03f7\u0007k\u0002\u0002\u03f7", - "\u03f8\u0007p\u0002\u0002\u03f8\u03f9\u0007v\u0002\u0002\u03f9\u03fa", - "\u00074\u0002\u0002\u03fa\u03fb\u00075\u0002\u0002\u03fb\u0412\u0007", - "4\u0002\u0002\u03fc\u03fd\u0007w\u0002\u0002\u03fd\u03fe\u0007k\u0002", - "\u0002\u03fe\u03ff\u0007p\u0002\u0002\u03ff\u0400\u0007v\u0002\u0002", - "\u0400\u0401\u00074\u0002\u0002\u0401\u0402\u00076\u0002\u0002\u0402", - "\u0412\u00072\u0002\u0002\u0403\u0404\u0007w\u0002\u0002\u0404\u0405", - "\u0007k\u0002\u0002\u0405\u0406\u0007p\u0002\u0002\u0406\u0407\u0007", - "v\u0002\u0002\u0407\u0408\u00074\u0002\u0002\u0408\u0409\u00076\u0002", - "\u0002\u0409\u0412\u0007:\u0002\u0002\u040a\u040b\u0007w\u0002\u0002", - "\u040b\u040c\u0007k\u0002\u0002\u040c\u040d\u0007p\u0002\u0002\u040d", - "\u040e\u0007v\u0002\u0002\u040e\u040f\u00074\u0002\u0002\u040f\u0410", - "\u00077\u0002\u0002\u0410\u0412\u00078\u0002\u0002\u0411\u033a\u0003", - "\u0002\u0002\u0002\u0411\u033e\u0003\u0002\u0002\u0002\u0411\u0343\u0003", - "\u0002\u0002\u0002\u0411\u0349\u0003\u0002\u0002\u0002\u0411\u034f\u0003", - "\u0002\u0002\u0002\u0411\u0355\u0003\u0002\u0002\u0002\u0411\u035b\u0003", - "\u0002\u0002\u0002\u0411\u0361\u0003\u0002\u0002\u0002\u0411\u0367\u0003", - "\u0002\u0002\u0002\u0411\u036d\u0003\u0002\u0002\u0002\u0411\u0373\u0003", - "\u0002\u0002\u0002\u0411\u0379\u0003\u0002\u0002\u0002\u0411\u037f\u0003", - "\u0002\u0002\u0002\u0411\u0385\u0003\u0002\u0002\u0002\u0411\u038c\u0003", - "\u0002\u0002\u0002\u0411\u0393\u0003\u0002\u0002\u0002\u0411\u039a\u0003", - "\u0002\u0002\u0002\u0411\u03a1\u0003\u0002\u0002\u0002\u0411\u03a8\u0003", - "\u0002\u0002\u0002\u0411\u03af\u0003\u0002\u0002\u0002\u0411\u03b6\u0003", - "\u0002\u0002\u0002\u0411\u03bd\u0003\u0002\u0002\u0002\u0411\u03c4\u0003", - "\u0002\u0002\u0002\u0411\u03cb\u0003\u0002\u0002\u0002\u0411\u03d2\u0003", - "\u0002\u0002\u0002\u0411\u03d9\u0003\u0002\u0002\u0002\u0411\u03e0\u0003", - "\u0002\u0002\u0002\u0411\u03e7\u0003\u0002\u0002\u0002\u0411\u03ee\u0003", - "\u0002\u0002\u0002\u0411\u03f5\u0003\u0002\u0002\u0002\u0411\u03fc\u0003", - "\u0002\u0002\u0002\u0411\u0403\u0003\u0002\u0002\u0002\u0411\u040a\u0003", - "\u0002\u0002\u0002\u0412\u00ba\u0003\u0002\u0002\u0002\u0413\u0414\u0007", - "d\u0002\u0002\u0414\u0415\u0007{\u0002\u0002\u0415\u0416\u0007v\u0002", - "\u0002\u0416\u0417\u0007g\u0002\u0002\u0417\u04f0\u0007u\u0002\u0002", - "\u0418\u0419\u0007d\u0002\u0002\u0419\u041a\u0007{\u0002\u0002\u041a", - "\u041b\u0007v\u0002\u0002\u041b\u041c\u0007g\u0002\u0002\u041c\u041d", - "\u0007u\u0002\u0002\u041d\u04f0\u00073\u0002\u0002\u041e\u041f\u0007", - "d\u0002\u0002\u041f\u0420\u0007{\u0002\u0002\u0420\u0421\u0007v\u0002", - "\u0002\u0421\u0422\u0007g\u0002\u0002\u0422\u0423\u0007u\u0002\u0002", - "\u0423\u04f0\u00074\u0002\u0002\u0424\u0425\u0007d\u0002\u0002\u0425", - "\u0426\u0007{\u0002\u0002\u0426\u0427\u0007v\u0002\u0002\u0427\u0428", - "\u0007g\u0002\u0002\u0428\u0429\u0007u\u0002\u0002\u0429\u04f0\u0007", - "5\u0002\u0002\u042a\u042b\u0007d\u0002\u0002\u042b\u042c\u0007{\u0002", - "\u0002\u042c\u042d\u0007v\u0002\u0002\u042d\u042e\u0007g\u0002\u0002", - "\u042e\u042f\u0007u\u0002\u0002\u042f\u04f0\u00076\u0002\u0002\u0430", - "\u0431\u0007d\u0002\u0002\u0431\u0432\u0007{\u0002\u0002\u0432\u0433", - "\u0007v\u0002\u0002\u0433\u0434\u0007g\u0002\u0002\u0434\u0435\u0007", - "u\u0002\u0002\u0435\u04f0\u00077\u0002\u0002\u0436\u0437\u0007d\u0002", - "\u0002\u0437\u0438\u0007{\u0002\u0002\u0438\u0439\u0007v\u0002\u0002", - "\u0439\u043a\u0007g\u0002\u0002\u043a\u043b\u0007u\u0002\u0002\u043b", - "\u04f0\u00078\u0002\u0002\u043c\u043d\u0007d\u0002\u0002\u043d\u043e", - "\u0007{\u0002\u0002\u043e\u043f\u0007v\u0002\u0002\u043f\u0440\u0007", - "g\u0002\u0002\u0440\u0441\u0007u\u0002\u0002\u0441\u04f0\u00079\u0002", - "\u0002\u0442\u0443\u0007d\u0002\u0002\u0443\u0444\u0007{\u0002\u0002", - "\u0444\u0445\u0007v\u0002\u0002\u0445\u0446\u0007g\u0002\u0002\u0446", - "\u0447\u0007u\u0002\u0002\u0447\u04f0\u0007:\u0002\u0002\u0448\u0449", - "\u0007d\u0002\u0002\u0449\u044a\u0007{\u0002\u0002\u044a\u044b\u0007", - "v\u0002\u0002\u044b\u044c\u0007g\u0002\u0002\u044c\u044d\u0007u\u0002", - "\u0002\u044d\u04f0\u0007;\u0002\u0002\u044e\u044f\u0007d\u0002\u0002", - "\u044f\u0450\u0007{\u0002\u0002\u0450\u0451\u0007v\u0002\u0002\u0451", - "\u0452\u0007g\u0002\u0002\u0452\u0453\u0007u\u0002\u0002\u0453\u0454", - "\u00073\u0002\u0002\u0454\u04f0\u00072\u0002\u0002\u0455\u0456\u0007", - "d\u0002\u0002\u0456\u0457\u0007{\u0002\u0002\u0457\u0458\u0007v\u0002", - "\u0002\u0458\u0459\u0007g\u0002\u0002\u0459\u045a\u0007u\u0002\u0002", - "\u045a\u045b\u00073\u0002\u0002\u045b\u04f0\u00073\u0002\u0002\u045c", - "\u045d\u0007d\u0002\u0002\u045d\u045e\u0007{\u0002\u0002\u045e\u045f", - "\u0007v\u0002\u0002\u045f\u0460\u0007g\u0002\u0002\u0460\u0461\u0007", - "u\u0002\u0002\u0461\u0462\u00073\u0002\u0002\u0462\u04f0\u00074\u0002", - "\u0002\u0463\u0464\u0007d\u0002\u0002\u0464\u0465\u0007{\u0002\u0002", - "\u0465\u0466\u0007v\u0002\u0002\u0466\u0467\u0007g\u0002\u0002\u0467", - "\u0468\u0007u\u0002\u0002\u0468\u0469\u00073\u0002\u0002\u0469\u04f0", - "\u00075\u0002\u0002\u046a\u046b\u0007d\u0002\u0002\u046b\u046c\u0007", - "{\u0002\u0002\u046c\u046d\u0007v\u0002\u0002\u046d\u046e\u0007g\u0002", - "\u0002\u046e\u046f\u0007u\u0002\u0002\u046f\u0470\u00073\u0002\u0002", - "\u0470\u04f0\u00076\u0002\u0002\u0471\u0472\u0007d\u0002\u0002\u0472", - "\u0473\u0007{\u0002\u0002\u0473\u0474\u0007v\u0002\u0002\u0474\u0475", - "\u0007g\u0002\u0002\u0475\u0476\u0007u\u0002\u0002\u0476\u0477\u0007", - "3\u0002\u0002\u0477\u04f0\u00077\u0002\u0002\u0478\u0479\u0007d\u0002", - "\u0002\u0479\u047a\u0007{\u0002\u0002\u047a\u047b\u0007v\u0002\u0002", - "\u047b\u047c\u0007g\u0002\u0002\u047c\u047d\u0007u\u0002\u0002\u047d", - "\u047e\u00073\u0002\u0002\u047e\u04f0\u00078\u0002\u0002\u047f\u0480", - "\u0007d\u0002\u0002\u0480\u0481\u0007{\u0002\u0002\u0481\u0482\u0007", - "v\u0002\u0002\u0482\u0483\u0007g\u0002\u0002\u0483\u0484\u0007u\u0002", - "\u0002\u0484\u0485\u00073\u0002\u0002\u0485\u04f0\u00079\u0002\u0002", - "\u0486\u0487\u0007d\u0002\u0002\u0487\u0488\u0007{\u0002\u0002\u0488", - "\u0489\u0007v\u0002\u0002\u0489\u048a\u0007g\u0002\u0002\u048a\u048b", - "\u0007u\u0002\u0002\u048b\u048c\u00073\u0002\u0002\u048c\u04f0\u0007", - ":\u0002\u0002\u048d\u048e\u0007d\u0002\u0002\u048e\u048f\u0007{\u0002", - "\u0002\u048f\u0490\u0007v\u0002\u0002\u0490\u0491\u0007g\u0002\u0002", - "\u0491\u0492\u0007u\u0002\u0002\u0492\u0493\u00073\u0002\u0002\u0493", - "\u04f0\u0007;\u0002\u0002\u0494\u0495\u0007d\u0002\u0002\u0495\u0496", - "\u0007{\u0002\u0002\u0496\u0497\u0007v\u0002\u0002\u0497\u0498\u0007", - "g\u0002\u0002\u0498\u0499\u0007u\u0002\u0002\u0499\u049a\u00074\u0002", - "\u0002\u049a\u04f0\u00072\u0002\u0002\u049b\u049c\u0007d\u0002\u0002", - "\u049c\u049d\u0007{\u0002\u0002\u049d\u049e\u0007v\u0002\u0002\u049e", - "\u049f\u0007g\u0002\u0002\u049f\u04a0\u0007u\u0002\u0002\u04a0\u04a1", - "\u00074\u0002\u0002\u04a1\u04f0\u00073\u0002\u0002\u04a2\u04a3\u0007", - "d\u0002\u0002\u04a3\u04a4\u0007{\u0002\u0002\u04a4\u04a5\u0007v\u0002", - "\u0002\u04a5\u04a6\u0007g\u0002\u0002\u04a6\u04a7\u0007u\u0002\u0002", - "\u04a7\u04a8\u00074\u0002\u0002\u04a8\u04f0\u00074\u0002\u0002\u04a9", - "\u04aa\u0007d\u0002\u0002\u04aa\u04ab\u0007{\u0002\u0002\u04ab\u04ac", - "\u0007v\u0002\u0002\u04ac\u04ad\u0007g\u0002\u0002\u04ad\u04ae\u0007", - "u\u0002\u0002\u04ae\u04af\u00074\u0002\u0002\u04af\u04f0\u00075\u0002", - "\u0002\u04b0\u04b1\u0007d\u0002\u0002\u04b1\u04b2\u0007{\u0002\u0002", - "\u04b2\u04b3\u0007v\u0002\u0002\u04b3\u04b4\u0007g\u0002\u0002\u04b4", - "\u04b5\u0007u\u0002\u0002\u04b5\u04b6\u00074\u0002\u0002\u04b6\u04f0", - "\u00076\u0002\u0002\u04b7\u04b8\u0007d\u0002\u0002\u04b8\u04b9\u0007", - "{\u0002\u0002\u04b9\u04ba\u0007v\u0002\u0002\u04ba\u04bb\u0007g\u0002", - "\u0002\u04bb\u04bc\u0007u\u0002\u0002\u04bc\u04bd\u00074\u0002\u0002", - "\u04bd\u04f0\u00077\u0002\u0002\u04be\u04bf\u0007d\u0002\u0002\u04bf", - "\u04c0\u0007{\u0002\u0002\u04c0\u04c1\u0007v\u0002\u0002\u04c1\u04c2", - "\u0007g\u0002\u0002\u04c2\u04c3\u0007u\u0002\u0002\u04c3\u04c4\u0007", - "4\u0002\u0002\u04c4\u04f0\u00078\u0002\u0002\u04c5\u04c6\u0007d\u0002", - "\u0002\u04c6\u04c7\u0007{\u0002\u0002\u04c7\u04c8\u0007v\u0002\u0002", - "\u04c8\u04c9\u0007g\u0002\u0002\u04c9\u04ca\u0007u\u0002\u0002\u04ca", - "\u04cb\u00074\u0002\u0002\u04cb\u04f0\u00079\u0002\u0002\u04cc\u04cd", - "\u0007d\u0002\u0002\u04cd\u04ce\u0007{\u0002\u0002\u04ce\u04cf\u0007", - "v\u0002\u0002\u04cf\u04d0\u0007g\u0002\u0002\u04d0\u04d1\u0007u\u0002", - "\u0002\u04d1\u04d2\u00074\u0002\u0002\u04d2\u04f0\u0007:\u0002\u0002", - "\u04d3\u04d4\u0007d\u0002\u0002\u04d4\u04d5\u0007{\u0002\u0002\u04d5", - "\u04d6\u0007v\u0002\u0002\u04d6\u04d7\u0007g\u0002\u0002\u04d7\u04d8", - "\u0007u\u0002\u0002\u04d8\u04d9\u00074\u0002\u0002\u04d9\u04f0\u0007", - ";\u0002\u0002\u04da\u04db\u0007d\u0002\u0002\u04db\u04dc\u0007{\u0002", - "\u0002\u04dc\u04dd\u0007v\u0002\u0002\u04dd\u04de\u0007g\u0002\u0002", - "\u04de\u04df\u0007u\u0002\u0002\u04df\u04e0\u00075\u0002\u0002\u04e0", - "\u04f0\u00072\u0002\u0002\u04e1\u04e2\u0007d\u0002\u0002\u04e2\u04e3", - "\u0007{\u0002\u0002\u04e3\u04e4\u0007v\u0002\u0002\u04e4\u04e5\u0007", - "g\u0002\u0002\u04e5\u04e6\u0007u\u0002\u0002\u04e6\u04e7\u00075\u0002", - "\u0002\u04e7\u04f0\u00073\u0002\u0002\u04e8\u04e9\u0007d\u0002\u0002", - "\u04e9\u04ea\u0007{\u0002\u0002\u04ea\u04eb\u0007v\u0002\u0002\u04eb", - "\u04ec\u0007g\u0002\u0002\u04ec\u04ed\u0007u\u0002\u0002\u04ed\u04ee", - "\u00075\u0002\u0002\u04ee\u04f0\u00074\u0002\u0002\u04ef\u0413\u0003", - "\u0002\u0002\u0002\u04ef\u0418\u0003\u0002\u0002\u0002\u04ef\u041e\u0003", - "\u0002\u0002\u0002\u04ef\u0424\u0003\u0002\u0002\u0002\u04ef\u042a\u0003", - "\u0002\u0002\u0002\u04ef\u0430\u0003\u0002\u0002\u0002\u04ef\u0436\u0003", - "\u0002\u0002\u0002\u04ef\u043c\u0003\u0002\u0002\u0002\u04ef\u0442\u0003", - "\u0002\u0002\u0002\u04ef\u0448\u0003\u0002\u0002\u0002\u04ef\u044e\u0003", - "\u0002\u0002\u0002\u04ef\u0455\u0003\u0002\u0002\u0002\u04ef\u045c\u0003", - "\u0002\u0002\u0002\u04ef\u0463\u0003\u0002\u0002\u0002\u04ef\u046a\u0003", - "\u0002\u0002\u0002\u04ef\u0471\u0003\u0002\u0002\u0002\u04ef\u0478\u0003", - "\u0002\u0002\u0002\u04ef\u047f\u0003\u0002\u0002\u0002\u04ef\u0486\u0003", - "\u0002\u0002\u0002\u04ef\u048d\u0003\u0002\u0002\u0002\u04ef\u0494\u0003", - "\u0002\u0002\u0002\u04ef\u049b\u0003\u0002\u0002\u0002\u04ef\u04a2\u0003", - "\u0002\u0002\u0002\u04ef\u04a9\u0003\u0002\u0002\u0002\u04ef\u04b0\u0003", - "\u0002\u0002\u0002\u04ef\u04b7\u0003\u0002\u0002\u0002\u04ef\u04be\u0003", - "\u0002\u0002\u0002\u04ef\u04c5\u0003\u0002\u0002\u0002\u04ef\u04cc\u0003", - "\u0002\u0002\u0002\u04ef\u04d3\u0003\u0002\u0002\u0002\u04ef\u04da\u0003", - "\u0002\u0002\u0002\u04ef\u04e1\u0003\u0002\u0002\u0002\u04ef\u04e8\u0003", - "\u0002\u0002\u0002\u04f0\u00bc\u0003\u0002\u0002\u0002\u04f1\u04f2\u0007", - "h\u0002\u0002\u04f2\u04f3\u0007k\u0002\u0002\u04f3\u04f4\u0007z\u0002", - "\u0002\u04f4\u04f5\u0007g\u0002\u0002\u04f5\u0508\u0007f\u0002\u0002", - "\u04f6\u04f7\u0007h\u0002\u0002\u04f7\u04f8\u0007k\u0002\u0002\u04f8", - "\u04f9\u0007z\u0002\u0002\u04f9\u04fa\u0007g\u0002\u0002\u04fa\u04fb", - "\u0007f\u0002\u0002\u04fb\u04fd\u0003\u0002\u0002\u0002\u04fc\u04fe", - "\t\u0002\u0002\u0002\u04fd\u04fc\u0003\u0002\u0002\u0002\u04fe\u04ff", - "\u0003\u0002\u0002\u0002\u04ff\u04fd\u0003\u0002\u0002\u0002\u04ff\u0500", - "\u0003\u0002\u0002\u0002\u0500\u0501\u0003\u0002\u0002\u0002\u0501\u0503", - "\u0007z\u0002\u0002\u0502\u0504\t\u0002\u0002\u0002\u0503\u0502\u0003", - "\u0002\u0002\u0002\u0504\u0505\u0003\u0002\u0002\u0002\u0505\u0503\u0003", - "\u0002\u0002\u0002\u0505\u0506\u0003\u0002\u0002\u0002\u0506\u0508\u0003", - "\u0002\u0002\u0002\u0507\u04f1\u0003\u0002\u0002\u0002\u0507\u04f6\u0003", - "\u0002\u0002\u0002\u0508\u00be\u0003\u0002\u0002\u0002\u0509\u050a\u0007", - "w\u0002\u0002\u050a\u050b\u0007h\u0002\u0002\u050b\u050c\u0007k\u0002", - "\u0002\u050c\u050d\u0007z\u0002\u0002\u050d\u050e\u0007g\u0002\u0002", - "\u050e\u0522\u0007f\u0002\u0002\u050f\u0510\u0007w\u0002\u0002\u0510", - "\u0511\u0007h\u0002\u0002\u0511\u0512\u0007k\u0002\u0002\u0512\u0513", - "\u0007z\u0002\u0002\u0513\u0514\u0007g\u0002\u0002\u0514\u0515\u0007", - "f\u0002\u0002\u0515\u0517\u0003\u0002\u0002\u0002\u0516\u0518\t\u0002", - "\u0002\u0002\u0517\u0516\u0003\u0002\u0002\u0002\u0518\u0519\u0003\u0002", - "\u0002\u0002\u0519\u0517\u0003\u0002\u0002\u0002\u0519\u051a\u0003\u0002", - "\u0002\u0002\u051a\u051b\u0003\u0002\u0002\u0002\u051b\u051d\u0007z", - "\u0002\u0002\u051c\u051e\t\u0002\u0002\u0002\u051d\u051c\u0003\u0002", - "\u0002\u0002\u051e\u051f\u0003\u0002\u0002\u0002\u051f\u051d\u0003\u0002", - "\u0002\u0002\u051f\u0520\u0003\u0002\u0002\u0002\u0520\u0522\u0003\u0002", - "\u0002\u0002\u0521\u0509\u0003\u0002\u0002\u0002\u0521\u050f\u0003\u0002", - "\u0002\u0002\u0522\u00c0\u0003\u0002\u0002\u0002\u0523\u0525\t\u0002", - "\u0002\u0002\u0524\u0523\u0003\u0002\u0002\u0002\u0525\u0526\u0003\u0002", - "\u0002\u0002\u0526\u0524\u0003\u0002\u0002\u0002\u0526\u0527\u0003\u0002", - "\u0002\u0002\u0527\u0528\u0003\u0002\u0002\u0002\u0528\u052a\u00070", - "\u0002\u0002\u0529\u052b\t\u0002\u0002\u0002\u052a\u0529\u0003\u0002", - "\u0002\u0002\u052b\u052c\u0003\u0002\u0002\u0002\u052c\u052a\u0003\u0002", - "\u0002\u0002\u052c\u052d\u0003\u0002\u0002\u0002\u052d\u052e\u0003\u0002", - "\u0002\u0002\u052e\u0530\u00070\u0002\u0002\u052f\u0531\t\u0002\u0002", - "\u0002\u0530\u052f\u0003\u0002\u0002\u0002\u0531\u0532\u0003\u0002\u0002", - "\u0002\u0532\u0530\u0003\u0002\u0002\u0002\u0532\u0533\u0003\u0002\u0002", - "\u0002\u0533\u00c2\u0003\u0002\u0002\u0002\u0534\u0535\u0007v\u0002", - "\u0002\u0535\u0536\u0007t\u0002\u0002\u0536\u0537\u0007w\u0002\u0002", - "\u0537\u053e\u0007g\u0002\u0002\u0538\u0539\u0007h\u0002\u0002\u0539", - "\u053a\u0007c\u0002\u0002\u053a\u053b\u0007n\u0002\u0002\u053b\u053c", - "\u0007u\u0002\u0002\u053c\u053e\u0007g\u0002\u0002\u053d\u0534\u0003", - "\u0002\u0002\u0002\u053d\u0538\u0003\u0002\u0002\u0002\u053e\u00c4\u0003", - "\u0002\u0002\u0002\u053f\u0541\t\u0002\u0002\u0002\u0540\u053f\u0003", - "\u0002\u0002\u0002\u0541\u0542\u0003\u0002\u0002\u0002\u0542\u0540\u0003", - "\u0002\u0002\u0002\u0542\u0543\u0003\u0002\u0002\u0002\u0543\u0551\u0003", - "\u0002\u0002\u0002\u0544\u0546\t\u0002\u0002\u0002\u0545\u0544\u0003", - "\u0002\u0002\u0002\u0546\u0549\u0003\u0002\u0002\u0002\u0547\u0545\u0003", - "\u0002\u0002\u0002\u0547\u0548\u0003\u0002\u0002\u0002\u0548\u054a\u0003", - "\u0002\u0002\u0002\u0549\u0547\u0003\u0002\u0002\u0002\u054a\u054c\u0007", - "0\u0002\u0002\u054b\u054d\t\u0002\u0002\u0002\u054c\u054b\u0003\u0002", - "\u0002\u0002\u054d\u054e\u0003\u0002\u0002\u0002\u054e\u054c\u0003\u0002", - "\u0002\u0002\u054e\u054f\u0003\u0002\u0002\u0002\u054f\u0551\u0003\u0002", - "\u0002\u0002\u0550\u0540\u0003\u0002\u0002\u0002\u0550\u0547\u0003\u0002", - "\u0002\u0002\u0551\u0558\u0003\u0002\u0002\u0002\u0552\u0554\t\u0003", - "\u0002\u0002\u0553\u0555\t\u0002\u0002\u0002\u0554\u0553\u0003\u0002", - "\u0002\u0002\u0555\u0556\u0003\u0002\u0002\u0002\u0556\u0554\u0003\u0002", - "\u0002\u0002\u0556\u0557\u0003\u0002\u0002\u0002\u0557\u0559\u0003\u0002", - "\u0002\u0002\u0558\u0552\u0003\u0002\u0002\u0002\u0558\u0559\u0003\u0002", - "\u0002\u0002\u0559\u00c6\u0003\u0002\u0002\u0002\u055a\u055b\u00072", - "\u0002\u0002\u055b\u055d\t\u0004\u0002\u0002\u055c\u055e\u0005\u00cf", - "h\u0002\u055d\u055c\u0003\u0002\u0002\u0002\u055e\u055f\u0003\u0002", - "\u0002\u0002\u055f\u055d\u0003\u0002\u0002\u0002\u055f\u0560\u0003\u0002", - "\u0002\u0002\u0560\u00c8\u0003\u0002\u0002\u0002\u0561\u0562\u0007y", - "\u0002\u0002\u0562\u0563\u0007g\u0002\u0002\u0563\u0596\u0007k\u0002", - "\u0002\u0564\u0565\u0007u\u0002\u0002\u0565\u0566\u0007|\u0002\u0002", - "\u0566\u0567\u0007c\u0002\u0002\u0567\u0568\u0007d\u0002\u0002\u0568", - "\u0596\u0007q\u0002\u0002\u0569\u056a\u0007h\u0002\u0002\u056a\u056b", - "\u0007k\u0002\u0002\u056b\u056c\u0007p\u0002\u0002\u056c\u056d\u0007", - "p\u0002\u0002\u056d\u056e\u0007g\u0002\u0002\u056e\u0596\u0007{\u0002", - "\u0002\u056f\u0570\u0007g\u0002\u0002\u0570\u0571\u0007v\u0002\u0002", - "\u0571\u0572\u0007j\u0002\u0002\u0572\u0573\u0007g\u0002\u0002\u0573", - "\u0596\u0007t\u0002\u0002\u0574\u0575\u0007u\u0002\u0002\u0575\u0576", - "\u0007g\u0002\u0002\u0576\u0577\u0007e\u0002\u0002\u0577\u0578\u0007", - "q\u0002\u0002\u0578\u0579\u0007p\u0002\u0002\u0579\u057a\u0007f\u0002", - "\u0002\u057a\u0596\u0007u\u0002\u0002\u057b\u057c\u0007o\u0002\u0002", - "\u057c\u057d\u0007k\u0002\u0002\u057d\u057e\u0007p\u0002\u0002\u057e", - "\u057f\u0007w\u0002\u0002\u057f\u0580\u0007v\u0002\u0002\u0580\u0581", - "\u0007g\u0002\u0002\u0581\u0596\u0007u\u0002\u0002\u0582\u0583\u0007", - "j\u0002\u0002\u0583\u0584\u0007q\u0002\u0002\u0584\u0585\u0007w\u0002", - "\u0002\u0585\u0586\u0007t\u0002\u0002\u0586\u0596\u0007u\u0002\u0002", - "\u0587\u0588\u0007f\u0002\u0002\u0588\u0589\u0007c\u0002\u0002\u0589", - "\u058a\u0007{\u0002\u0002\u058a\u0596\u0007u\u0002\u0002\u058b\u058c", - "\u0007y\u0002\u0002\u058c\u058d\u0007g\u0002\u0002\u058d\u058e\u0007", - "g\u0002\u0002\u058e\u058f\u0007m\u0002\u0002\u058f\u0596\u0007u\u0002", - "\u0002\u0590\u0591\u0007{\u0002\u0002\u0591\u0592\u0007g\u0002\u0002", - "\u0592\u0593\u0007c\u0002\u0002\u0593\u0594\u0007t\u0002\u0002\u0594", - "\u0596\u0007u\u0002\u0002\u0595\u0561\u0003\u0002\u0002\u0002\u0595", - "\u0564\u0003\u0002\u0002\u0002\u0595\u0569\u0003\u0002\u0002\u0002\u0595", - "\u056f\u0003\u0002\u0002\u0002\u0595\u0574\u0003\u0002\u0002\u0002\u0595", - "\u057b\u0003\u0002\u0002\u0002\u0595\u0582\u0003\u0002\u0002\u0002\u0595", - "\u0587\u0003\u0002\u0002\u0002\u0595\u058b\u0003\u0002\u0002\u0002\u0595", - "\u0590\u0003\u0002\u0002\u0002\u0596\u00ca\u0003\u0002\u0002\u0002\u0597", - "\u0598\u0007j\u0002\u0002\u0598\u0599\u0007g\u0002\u0002\u0599\u059a", - "\u0007z\u0002\u0002\u059a\u05ab\u0003\u0002\u0002\u0002\u059b\u059f", - "\u0007$\u0002\u0002\u059c\u059e\u0005\u00cdg\u0002\u059d\u059c\u0003", - "\u0002\u0002\u0002\u059e\u05a1\u0003\u0002\u0002\u0002\u059f\u059d\u0003", - "\u0002\u0002\u0002\u059f\u05a0\u0003\u0002\u0002\u0002\u05a0\u05a2\u0003", - "\u0002\u0002\u0002\u05a1\u059f\u0003\u0002\u0002\u0002\u05a2\u05ac\u0007", - "$\u0002\u0002\u05a3\u05a7\u0007)\u0002\u0002\u05a4\u05a6\u0005\u00cd", - "g\u0002\u05a5\u05a4\u0003\u0002\u0002\u0002\u05a6\u05a9\u0003\u0002", - "\u0002\u0002\u05a7\u05a5\u0003\u0002\u0002\u0002\u05a7\u05a8\u0003\u0002", - "\u0002\u0002\u05a8\u05aa\u0003\u0002\u0002\u0002\u05a9\u05a7\u0003\u0002", - "\u0002\u0002\u05aa\u05ac\u0007)\u0002\u0002\u05ab\u059b\u0003\u0002", - "\u0002\u0002\u05ab\u05a3\u0003\u0002\u0002\u0002\u05ac\u00cc\u0003\u0002", - "\u0002\u0002\u05ad\u05ae\u0005\u00cfh\u0002\u05ae\u05af\u0005\u00cf", - "h\u0002\u05af\u00ce\u0003\u0002\u0002\u0002\u05b0\u05b1\t\u0005\u0002", - "\u0002\u05b1\u00d0\u0003\u0002\u0002\u0002\u05b2\u05b3\u0007c\u0002", - "\u0002\u05b3\u05b4\u0007d\u0002\u0002\u05b4\u05b5\u0007u\u0002\u0002", - "\u05b5\u05b6\u0007v\u0002\u0002\u05b6\u05b7\u0007t\u0002\u0002\u05b7", - "\u05b8\u0007c\u0002\u0002\u05b8\u05b9\u0007e\u0002\u0002\u05b9\u060f", - "\u0007v\u0002\u0002\u05ba\u05bb\u0007c\u0002\u0002\u05bb\u05bc\u0007", - "h\u0002\u0002\u05bc\u05bd\u0007v\u0002\u0002\u05bd\u05be\u0007g\u0002", - "\u0002\u05be\u060f\u0007t\u0002\u0002\u05bf\u05c0\u0007e\u0002\u0002", - "\u05c0\u05c1\u0007c\u0002\u0002\u05c1\u05c2\u0007u\u0002\u0002\u05c2", - "\u060f\u0007g\u0002\u0002\u05c3\u05c4\u0007e\u0002\u0002\u05c4\u05c5", - "\u0007c\u0002\u0002\u05c5\u05c6\u0007v\u0002\u0002\u05c6\u05c7\u0007", - "e\u0002\u0002\u05c7\u060f\u0007j\u0002\u0002\u05c8\u05c9\u0007f\u0002", - "\u0002\u05c9\u05ca\u0007g\u0002\u0002\u05ca\u05cb\u0007h\u0002\u0002", - "\u05cb\u05cc\u0007c\u0002\u0002\u05cc\u05cd\u0007w\u0002\u0002\u05cd", - "\u05ce\u0007n\u0002\u0002\u05ce\u060f\u0007v\u0002\u0002\u05cf\u05d0", - "\u0007h\u0002\u0002\u05d0\u05d1\u0007k\u0002\u0002\u05d1\u05d2\u0007", - "p\u0002\u0002\u05d2\u05d3\u0007c\u0002\u0002\u05d3\u060f\u0007n\u0002", - "\u0002\u05d4\u05d5\u0007k\u0002\u0002\u05d5\u060f\u0007p\u0002\u0002", - "\u05d6\u05d7\u0007k\u0002\u0002\u05d7\u05d8\u0007p\u0002\u0002\u05d8", - "\u05d9\u0007n\u0002\u0002\u05d9\u05da\u0007k\u0002\u0002\u05da\u05db", - "\u0007p\u0002\u0002\u05db\u060f\u0007g\u0002\u0002\u05dc\u05dd\u0007", - "n\u0002\u0002\u05dd\u05de\u0007g\u0002\u0002\u05de\u060f\u0007v\u0002", - "\u0002\u05df\u05e0\u0007o\u0002\u0002\u05e0\u05e1\u0007c\u0002\u0002", - "\u05e1\u05e2\u0007v\u0002\u0002\u05e2\u05e3\u0007e\u0002\u0002\u05e3", - "\u060f\u0007j\u0002\u0002\u05e4\u05e5\u0007p\u0002\u0002\u05e5\u05e6", - "\u0007w\u0002\u0002\u05e6\u05e7\u0007n\u0002\u0002\u05e7\u060f\u0007", - "n\u0002\u0002\u05e8\u05e9\u0007q\u0002\u0002\u05e9\u060f\u0007h\u0002", - "\u0002\u05ea\u05eb\u0007t\u0002\u0002\u05eb\u05ec\u0007g\u0002\u0002", - "\u05ec\u05ed\u0007n\u0002\u0002\u05ed\u05ee\u0007q\u0002\u0002\u05ee", - "\u05ef\u0007e\u0002\u0002\u05ef\u05f0\u0007c\u0002\u0002\u05f0\u05f1", - "\u0007v\u0002\u0002\u05f1\u05f2\u0007c\u0002\u0002\u05f2\u05f3\u0007", - "d\u0002\u0002\u05f3\u05f4\u0007n\u0002\u0002\u05f4\u060f\u0007g\u0002", - "\u0002\u05f5\u05f6\u0007u\u0002\u0002\u05f6\u05f7\u0007v\u0002\u0002", - "\u05f7\u05f8\u0007c\u0002\u0002\u05f8\u05f9\u0007v\u0002\u0002\u05f9", - "\u05fa\u0007k\u0002\u0002\u05fa\u060f\u0007e\u0002\u0002\u05fb\u05fc", - "\u0007u\u0002\u0002\u05fc\u05fd\u0007y\u0002\u0002\u05fd\u05fe\u0007", - "k\u0002\u0002\u05fe\u05ff\u0007v\u0002\u0002\u05ff\u0600\u0007e\u0002", - "\u0002\u0600\u060f\u0007j\u0002\u0002\u0601\u0602\u0007v\u0002\u0002", - "\u0602\u0603\u0007t\u0002\u0002\u0603\u060f\u0007{\u0002\u0002\u0604", - "\u0605\u0007v\u0002\u0002\u0605\u0606\u0007{\u0002\u0002\u0606\u0607", - "\u0007r\u0002\u0002\u0607\u060f\u0007g\u0002\u0002\u0608\u0609\u0007", - "v\u0002\u0002\u0609\u060a\u0007{\u0002\u0002\u060a\u060b\u0007r\u0002", - "\u0002\u060b\u060c\u0007g\u0002\u0002\u060c\u060d\u0007q\u0002\u0002", - "\u060d\u060f\u0007h\u0002\u0002\u060e\u05b2\u0003\u0002\u0002\u0002", - "\u060e\u05ba\u0003\u0002\u0002\u0002\u060e\u05bf\u0003\u0002\u0002\u0002", - "\u060e\u05c3\u0003\u0002\u0002\u0002\u060e\u05c8\u0003\u0002\u0002\u0002", - "\u060e\u05cf\u0003\u0002\u0002\u0002\u060e\u05d4\u0003\u0002\u0002\u0002", - "\u060e\u05d6\u0003\u0002\u0002\u0002\u060e\u05dc\u0003\u0002\u0002\u0002", - "\u060e\u05df\u0003\u0002\u0002\u0002\u060e\u05e4\u0003\u0002\u0002\u0002", - "\u060e\u05e8\u0003\u0002\u0002\u0002\u060e\u05ea\u0003\u0002\u0002\u0002", - "\u060e\u05f5\u0003\u0002\u0002\u0002\u060e\u05fb\u0003\u0002\u0002\u0002", - "\u060e\u0601\u0003\u0002\u0002\u0002\u060e\u0604\u0003\u0002\u0002\u0002", - "\u060e\u0608\u0003\u0002\u0002\u0002\u060f\u00d2\u0003\u0002\u0002\u0002", - "\u0610\u0611\u0007c\u0002\u0002\u0611\u0612\u0007p\u0002\u0002\u0612", - "\u0613\u0007q\u0002\u0002\u0613\u0614\u0007p\u0002\u0002\u0614\u0615", - "\u0007{\u0002\u0002\u0615\u0616\u0007o\u0002\u0002\u0616\u0617\u0007", - "q\u0002\u0002\u0617\u0618\u0007w\u0002\u0002\u0618\u0619\u0007u\u0002", - "\u0002\u0619\u00d4\u0003\u0002\u0002\u0002\u061a\u061b\u0007d\u0002", - "\u0002\u061b\u061c\u0007t\u0002\u0002\u061c\u061d\u0007g\u0002\u0002", - "\u061d\u061e\u0007c\u0002\u0002\u061e\u061f\u0007m\u0002\u0002\u061f", - "\u00d6\u0003\u0002\u0002\u0002\u0620\u0621\u0007e\u0002\u0002\u0621", - "\u0622\u0007q\u0002\u0002\u0622\u0623\u0007p\u0002\u0002\u0623\u0624", - "\u0007u\u0002\u0002\u0624\u0625\u0007v\u0002\u0002\u0625\u0626\u0007", - "c\u0002\u0002\u0626\u0627\u0007p\u0002\u0002\u0627\u0628\u0007v\u0002", - "\u0002\u0628\u00d8\u0003\u0002\u0002\u0002\u0629\u062a\u0007e\u0002", - "\u0002\u062a\u062b\u0007q\u0002\u0002\u062b\u062c\u0007p\u0002\u0002", - "\u062c\u062d\u0007v\u0002\u0002\u062d\u062e\u0007k\u0002\u0002\u062e", - "\u062f\u0007p\u0002\u0002\u062f\u0630\u0007w\u0002\u0002\u0630\u0631", - "\u0007g\u0002\u0002\u0631\u00da\u0003\u0002\u0002\u0002\u0632\u0633", - "\u0007g\u0002\u0002\u0633\u0634\u0007z\u0002\u0002\u0634\u0635\u0007", - "v\u0002\u0002\u0635\u0636\u0007g\u0002\u0002\u0636\u0637\u0007t\u0002", - "\u0002\u0637\u0638\u0007p\u0002\u0002\u0638\u0639\u0007c\u0002\u0002", - "\u0639\u063a\u0007n\u0002\u0002\u063a\u00dc\u0003\u0002\u0002\u0002", - "\u063b\u063c\u0007k\u0002\u0002\u063c\u063d\u0007p\u0002\u0002\u063d", - "\u063e\u0007f\u0002\u0002\u063e\u063f\u0007g\u0002\u0002\u063f\u0640", - "\u0007z\u0002\u0002\u0640\u0641\u0007g\u0002\u0002\u0641\u0642\u0007", - "f\u0002\u0002\u0642\u00de\u0003\u0002\u0002\u0002\u0643\u0644\u0007", - "k\u0002\u0002\u0644\u0645\u0007p\u0002\u0002\u0645\u0646\u0007v\u0002", - "\u0002\u0646\u0647\u0007g\u0002\u0002\u0647\u0648\u0007t\u0002\u0002", - "\u0648\u0649\u0007p\u0002\u0002\u0649\u064a\u0007c\u0002\u0002\u064a", - "\u064b\u0007n\u0002\u0002\u064b\u00e0\u0003\u0002\u0002\u0002\u064c", - "\u064d\u0007r\u0002\u0002\u064d\u064e\u0007c\u0002\u0002\u064e\u064f", - "\u0007{\u0002\u0002\u064f\u0650\u0007c\u0002\u0002\u0650\u0651\u0007", - "d\u0002\u0002\u0651\u0652\u0007n\u0002\u0002\u0652\u0653\u0007g\u0002", - "\u0002\u0653\u00e2\u0003\u0002\u0002\u0002\u0654\u0655\u0007r\u0002", - "\u0002\u0655\u0656\u0007t\u0002\u0002\u0656\u0657\u0007k\u0002\u0002", - "\u0657\u0658\u0007x\u0002\u0002\u0658\u0659\u0007c\u0002\u0002\u0659", - "\u065a\u0007v\u0002\u0002\u065a\u065b\u0007g\u0002\u0002\u065b\u00e4", - "\u0003\u0002\u0002\u0002\u065c\u065d\u0007r\u0002\u0002\u065d\u065e", - "\u0007w\u0002\u0002\u065e\u065f\u0007d\u0002\u0002\u065f\u0660\u0007", - "n\u0002\u0002\u0660\u0661\u0007k\u0002\u0002\u0661\u0662\u0007e\u0002", - "\u0002\u0662\u00e6\u0003\u0002\u0002\u0002\u0663\u0664\u0007r\u0002", - "\u0002\u0664\u0665\u0007w\u0002\u0002\u0665\u0666\u0007t\u0002\u0002", - "\u0666\u0667\u0007g\u0002\u0002\u0667\u00e8\u0003\u0002\u0002\u0002", - "\u0668\u0669\u0007x\u0002\u0002\u0669\u066a\u0007k\u0002\u0002\u066a", - "\u066b\u0007g\u0002\u0002\u066b\u066c\u0007y\u0002\u0002\u066c\u00ea", - "\u0003\u0002\u0002\u0002\u066d\u0671\u0005\u00edw\u0002\u066e\u0670", - "\u0005\u00efx\u0002\u066f\u066e\u0003\u0002\u0002\u0002\u0670\u0673", - "\u0003\u0002\u0002\u0002\u0671\u066f\u0003\u0002\u0002\u0002\u0671\u0672", - "\u0003\u0002\u0002\u0002\u0672\u00ec\u0003\u0002\u0002\u0002\u0673\u0671", - "\u0003\u0002\u0002\u0002\u0674\u0675\t\u0006\u0002\u0002\u0675\u00ee", - "\u0003\u0002\u0002\u0002\u0676\u0677\t\u0007\u0002\u0002\u0677\u00f0", - "\u0003\u0002\u0002\u0002\u0678\u067c\u0007$\u0002\u0002\u0679\u067b", - "\u0005\u00f3z\u0002\u067a\u0679\u0003\u0002\u0002\u0002\u067b\u067e", - "\u0003\u0002\u0002\u0002\u067c\u067a\u0003\u0002\u0002\u0002\u067c\u067d", - "\u0003\u0002\u0002\u0002\u067d\u067f\u0003\u0002\u0002\u0002\u067e\u067c", - "\u0003\u0002\u0002\u0002\u067f\u0689\u0007$\u0002\u0002\u0680\u0684", - "\u0007)\u0002\u0002\u0681\u0683\u0005\u00f5{\u0002\u0682\u0681\u0003", - "\u0002\u0002\u0002\u0683\u0686\u0003\u0002\u0002\u0002\u0684\u0682\u0003", - "\u0002\u0002\u0002\u0684\u0685\u0003\u0002\u0002\u0002\u0685\u0687\u0003", - "\u0002\u0002\u0002\u0686\u0684\u0003\u0002\u0002\u0002\u0687\u0689\u0007", - ")\u0002\u0002\u0688\u0678\u0003\u0002\u0002\u0002\u0688\u0680\u0003", - "\u0002\u0002\u0002\u0689\u00f2\u0003\u0002\u0002\u0002\u068a\u068e\n", - "\b\u0002\u0002\u068b\u068c\u0007^\u0002\u0002\u068c\u068e\u000b\u0002", - "\u0002\u0002\u068d\u068a\u0003\u0002\u0002\u0002\u068d\u068b\u0003\u0002", - "\u0002\u0002\u068e\u00f4\u0003\u0002\u0002\u0002\u068f\u0693\n\t\u0002", - "\u0002\u0690\u0691\u0007^\u0002\u0002\u0691\u0693\u000b\u0002\u0002", - "\u0002\u0692\u068f\u0003\u0002\u0002\u0002\u0692\u0690\u0003\u0002\u0002", - "\u0002\u0693\u00f6\u0003\u0002\u0002\u0002\u0694\u0696\t\n\u0002\u0002", - "\u0695\u0694\u0003\u0002\u0002\u0002\u0696\u0697\u0003\u0002\u0002\u0002", - "\u0697\u0695\u0003\u0002\u0002\u0002\u0697\u0698\u0003\u0002\u0002\u0002", - "\u0698\u0699\u0003\u0002\u0002\u0002\u0699\u069a\b|\u0002\u0002\u069a", - "\u00f8\u0003\u0002\u0002\u0002\u069b\u069c\u00071\u0002\u0002\u069c", - "\u069d\u0007,\u0002\u0002\u069d\u06a1\u0003\u0002\u0002\u0002\u069e", - "\u06a0\u000b\u0002\u0002\u0002\u069f\u069e\u0003\u0002\u0002\u0002\u06a0", - "\u06a3\u0003\u0002\u0002\u0002\u06a1\u06a2\u0003\u0002\u0002\u0002\u06a1", - "\u069f\u0003\u0002\u0002\u0002\u06a2\u06a4\u0003\u0002\u0002\u0002\u06a3", - "\u06a1\u0003\u0002\u0002\u0002\u06a4\u06a5\u0007,\u0002\u0002\u06a5", - "\u06a6\u00071\u0002\u0002\u06a6\u06a7\u0003\u0002\u0002\u0002\u06a7", - "\u06a8\b}\u0003\u0002\u06a8\u00fa\u0003\u0002\u0002\u0002\u06a9\u06aa", - "\u00071\u0002\u0002\u06aa\u06ab\u00071\u0002\u0002\u06ab\u06af\u0003", - "\u0002\u0002\u0002\u06ac\u06ae\n\u000b\u0002\u0002\u06ad\u06ac\u0003", - "\u0002\u0002\u0002\u06ae\u06b1\u0003\u0002\u0002\u0002\u06af\u06ad\u0003", - "\u0002\u0002\u0002\u06af\u06b0\u0003\u0002\u0002\u0002\u06b0\u06b2\u0003", - "\u0002\u0002\u0002\u06b1\u06af\u0003\u0002\u0002\u0002\u06b2\u06b3\b", - "~\u0003\u0002\u06b3\u00fc\u0003\u0002\u0002\u0002%\u0002\u0338\u0411", - "\u04ef\u04ff\u0505\u0507\u0519\u051f\u0521\u0526\u052c\u0532\u053d\u0542", - "\u0547\u054e\u0550\u0556\u0558\u055f\u0595\u059f\u05a7\u05ab\u060e\u0671", - "\u067c\u0684\u0688\u068d\u0692\u0697\u06a1\u06af\u0004\b\u0002\u0002", - "\u0002\u0003\u0002"].join(""); - - -var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); - -var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); - -function SolidityLexer(input) { - antlr4.Lexer.call(this, input); - this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache()); - return this; -} - -SolidityLexer.prototype = Object.create(antlr4.Lexer.prototype); -SolidityLexer.prototype.constructor = SolidityLexer; - -Object.defineProperty(SolidityLexer.prototype, "atn", { - get : function() { - return atn; - } -}); - -SolidityLexer.EOF = antlr4.Token.EOF; -SolidityLexer.T__0 = 1; -SolidityLexer.T__1 = 2; -SolidityLexer.T__2 = 3; -SolidityLexer.T__3 = 4; -SolidityLexer.T__4 = 5; -SolidityLexer.T__5 = 6; -SolidityLexer.T__6 = 7; -SolidityLexer.T__7 = 8; -SolidityLexer.T__8 = 9; -SolidityLexer.T__9 = 10; -SolidityLexer.T__10 = 11; -SolidityLexer.T__11 = 12; -SolidityLexer.T__12 = 13; -SolidityLexer.T__13 = 14; -SolidityLexer.T__14 = 15; -SolidityLexer.T__15 = 16; -SolidityLexer.T__16 = 17; -SolidityLexer.T__17 = 18; -SolidityLexer.T__18 = 19; -SolidityLexer.T__19 = 20; -SolidityLexer.T__20 = 21; -SolidityLexer.T__21 = 22; -SolidityLexer.T__22 = 23; -SolidityLexer.T__23 = 24; -SolidityLexer.T__24 = 25; -SolidityLexer.T__25 = 26; -SolidityLexer.T__26 = 27; -SolidityLexer.T__27 = 28; -SolidityLexer.T__28 = 29; -SolidityLexer.T__29 = 30; -SolidityLexer.T__30 = 31; -SolidityLexer.T__31 = 32; -SolidityLexer.T__32 = 33; -SolidityLexer.T__33 = 34; -SolidityLexer.T__34 = 35; -SolidityLexer.T__35 = 36; -SolidityLexer.T__36 = 37; -SolidityLexer.T__37 = 38; -SolidityLexer.T__38 = 39; -SolidityLexer.T__39 = 40; -SolidityLexer.T__40 = 41; -SolidityLexer.T__41 = 42; -SolidityLexer.T__42 = 43; -SolidityLexer.T__43 = 44; -SolidityLexer.T__44 = 45; -SolidityLexer.T__45 = 46; -SolidityLexer.T__46 = 47; -SolidityLexer.T__47 = 48; -SolidityLexer.T__48 = 49; -SolidityLexer.T__49 = 50; -SolidityLexer.T__50 = 51; -SolidityLexer.T__51 = 52; -SolidityLexer.T__52 = 53; -SolidityLexer.T__53 = 54; -SolidityLexer.T__54 = 55; -SolidityLexer.T__55 = 56; -SolidityLexer.T__56 = 57; -SolidityLexer.T__57 = 58; -SolidityLexer.T__58 = 59; -SolidityLexer.T__59 = 60; -SolidityLexer.T__60 = 61; -SolidityLexer.T__61 = 62; -SolidityLexer.T__62 = 63; -SolidityLexer.T__63 = 64; -SolidityLexer.T__64 = 65; -SolidityLexer.T__65 = 66; -SolidityLexer.T__66 = 67; -SolidityLexer.T__67 = 68; -SolidityLexer.T__68 = 69; -SolidityLexer.T__69 = 70; -SolidityLexer.T__70 = 71; -SolidityLexer.T__71 = 72; -SolidityLexer.T__72 = 73; -SolidityLexer.T__73 = 74; -SolidityLexer.T__74 = 75; -SolidityLexer.T__75 = 76; -SolidityLexer.T__76 = 77; -SolidityLexer.T__77 = 78; -SolidityLexer.T__78 = 79; -SolidityLexer.T__79 = 80; -SolidityLexer.T__80 = 81; -SolidityLexer.T__81 = 82; -SolidityLexer.T__82 = 83; -SolidityLexer.T__83 = 84; -SolidityLexer.T__84 = 85; -SolidityLexer.T__85 = 86; -SolidityLexer.T__86 = 87; -SolidityLexer.T__87 = 88; -SolidityLexer.T__88 = 89; -SolidityLexer.T__89 = 90; -SolidityLexer.Int = 91; -SolidityLexer.Uint = 92; -SolidityLexer.Byte = 93; -SolidityLexer.Fixed = 94; -SolidityLexer.Ufixed = 95; -SolidityLexer.VersionLiteral = 96; -SolidityLexer.BooleanLiteral = 97; -SolidityLexer.DecimalNumber = 98; -SolidityLexer.HexNumber = 99; -SolidityLexer.NumberUnit = 100; -SolidityLexer.HexLiteral = 101; -SolidityLexer.ReservedKeyword = 102; -SolidityLexer.AnonymousKeyword = 103; -SolidityLexer.BreakKeyword = 104; -SolidityLexer.ConstantKeyword = 105; -SolidityLexer.ContinueKeyword = 106; -SolidityLexer.ExternalKeyword = 107; -SolidityLexer.IndexedKeyword = 108; -SolidityLexer.InternalKeyword = 109; -SolidityLexer.PayableKeyword = 110; -SolidityLexer.PrivateKeyword = 111; -SolidityLexer.PublicKeyword = 112; -SolidityLexer.PureKeyword = 113; -SolidityLexer.ViewKeyword = 114; -SolidityLexer.Identifier = 115; -SolidityLexer.StringLiteral = 116; -SolidityLexer.WS = 117; -SolidityLexer.COMMENT = 118; -SolidityLexer.LINE_COMMENT = 119; - -SolidityLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; - -SolidityLexer.prototype.modeNames = [ "DEFAULT_MODE" ]; - -SolidityLexer.prototype.literalNames = [ null, "'pragma'", "';'", "'^'", - "'~'", "'>='", "'>'", "'<'", "'<='", - "'='", "'as'", "'import'", "'*'", - "'from'", "'{'", "','", "'}'", - "'contract'", "'interface'", "'library'", - "'is'", "'('", "')'", "'using'", - "'for'", "'struct'", "'constructor'", - "'modifier'", "'function'", "'returns'", - "'event'", "'enum'", "'['", "']'", - "'address'", "'.'", "'mapping'", - "'=>'", "'memory'", "'storage'", - "'calldata'", "'if'", "'else'", - "'while'", "'assembly'", "'do'", - "'return'", "'throw'", "'emit'", - "'var'", "'bool'", "'string'", - "'byte'", "'++'", "'--'", "'new'", - "'+'", "'-'", "'after'", "'delete'", - "'!'", "'**'", "'/'", "'%'", "'<<'", - "'>>'", "'&'", "'|'", "'=='", "'!='", - "'&&'", "'||'", "'?'", "':'", "'|='", - "'^='", "'&='", "'<<='", "'>>='", - "'+='", "'-='", "'*='", "'/='", - "'%='", "'let'", "':='", "'=:'", - "'switch'", "'case'", "'default'", - "'->'", null, null, null, null, - null, null, null, null, null, null, - null, null, "'anonymous'", "'break'", - "'constant'", "'continue'", "'external'", - "'indexed'", "'internal'", "'payable'", - "'private'", "'public'", "'pure'", - "'view'" ]; - -SolidityLexer.prototype.symbolicNames = [ null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, null, null, null, null, - null, "Int", "Uint", "Byte", "Fixed", - "Ufixed", "VersionLiteral", "BooleanLiteral", - "DecimalNumber", "HexNumber", - "NumberUnit", "HexLiteral", "ReservedKeyword", - "AnonymousKeyword", "BreakKeyword", - "ConstantKeyword", "ContinueKeyword", - "ExternalKeyword", "IndexedKeyword", - "InternalKeyword", "PayableKeyword", - "PrivateKeyword", "PublicKeyword", - "PureKeyword", "ViewKeyword", - "Identifier", "StringLiteral", - "WS", "COMMENT", "LINE_COMMENT" ]; - -SolidityLexer.prototype.ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", - "T__5", "T__6", "T__7", "T__8", "T__9", - "T__10", "T__11", "T__12", "T__13", - "T__14", "T__15", "T__16", "T__17", - "T__18", "T__19", "T__20", "T__21", - "T__22", "T__23", "T__24", "T__25", - "T__26", "T__27", "T__28", "T__29", - "T__30", "T__31", "T__32", "T__33", - "T__34", "T__35", "T__36", "T__37", - "T__38", "T__39", "T__40", "T__41", - "T__42", "T__43", "T__44", "T__45", - "T__46", "T__47", "T__48", "T__49", - "T__50", "T__51", "T__52", "T__53", - "T__54", "T__55", "T__56", "T__57", - "T__58", "T__59", "T__60", "T__61", - "T__62", "T__63", "T__64", "T__65", - "T__66", "T__67", "T__68", "T__69", - "T__70", "T__71", "T__72", "T__73", - "T__74", "T__75", "T__76", "T__77", - "T__78", "T__79", "T__80", "T__81", - "T__82", "T__83", "T__84", "T__85", - "T__86", "T__87", "T__88", "T__89", - "Int", "Uint", "Byte", "Fixed", "Ufixed", - "VersionLiteral", "BooleanLiteral", - "DecimalNumber", "HexNumber", "NumberUnit", - "HexLiteral", "HexPair", "HexCharacter", - "ReservedKeyword", "AnonymousKeyword", - "BreakKeyword", "ConstantKeyword", - "ContinueKeyword", "ExternalKeyword", - "IndexedKeyword", "InternalKeyword", - "PayableKeyword", "PrivateKeyword", - "PublicKeyword", "PureKeyword", "ViewKeyword", - "Identifier", "IdentifierStart", "IdentifierPart", - "StringLiteral", "DoubleQuotedStringCharacter", - "SingleQuotedStringCharacter", "WS", - "COMMENT", "LINE_COMMENT" ]; - -SolidityLexer.prototype.grammarFileName = "Solidity.g4"; - - - -exports.SolidityLexer = SolidityLexer; - diff --git a/lib/grammar/SolidityLexer.tokens b/lib/grammar/SolidityLexer.tokens deleted file mode 100644 index 9164f31b..00000000 --- a/lib/grammar/SolidityLexer.tokens +++ /dev/null @@ -1,221 +0,0 @@ -T__0=1 -T__1=2 -T__2=3 -T__3=4 -T__4=5 -T__5=6 -T__6=7 -T__7=8 -T__8=9 -T__9=10 -T__10=11 -T__11=12 -T__12=13 -T__13=14 -T__14=15 -T__15=16 -T__16=17 -T__17=18 -T__18=19 -T__19=20 -T__20=21 -T__21=22 -T__22=23 -T__23=24 -T__24=25 -T__25=26 -T__26=27 -T__27=28 -T__28=29 -T__29=30 -T__30=31 -T__31=32 -T__32=33 -T__33=34 -T__34=35 -T__35=36 -T__36=37 -T__37=38 -T__38=39 -T__39=40 -T__40=41 -T__41=42 -T__42=43 -T__43=44 -T__44=45 -T__45=46 -T__46=47 -T__47=48 -T__48=49 -T__49=50 -T__50=51 -T__51=52 -T__52=53 -T__53=54 -T__54=55 -T__55=56 -T__56=57 -T__57=58 -T__58=59 -T__59=60 -T__60=61 -T__61=62 -T__62=63 -T__63=64 -T__64=65 -T__65=66 -T__66=67 -T__67=68 -T__68=69 -T__69=70 -T__70=71 -T__71=72 -T__72=73 -T__73=74 -T__74=75 -T__75=76 -T__76=77 -T__77=78 -T__78=79 -T__79=80 -T__80=81 -T__81=82 -T__82=83 -T__83=84 -T__84=85 -T__85=86 -T__86=87 -T__87=88 -T__88=89 -T__89=90 -Int=91 -Uint=92 -Byte=93 -Fixed=94 -Ufixed=95 -VersionLiteral=96 -BooleanLiteral=97 -DecimalNumber=98 -HexNumber=99 -NumberUnit=100 -HexLiteral=101 -ReservedKeyword=102 -AnonymousKeyword=103 -BreakKeyword=104 -ConstantKeyword=105 -ContinueKeyword=106 -ExternalKeyword=107 -IndexedKeyword=108 -InternalKeyword=109 -PayableKeyword=110 -PrivateKeyword=111 -PublicKeyword=112 -PureKeyword=113 -ViewKeyword=114 -Identifier=115 -StringLiteral=116 -WS=117 -COMMENT=118 -LINE_COMMENT=119 -'pragma'=1 -';'=2 -'^'=3 -'~'=4 -'>='=5 -'>'=6 -'<'=7 -'<='=8 -'='=9 -'as'=10 -'import'=11 -'*'=12 -'from'=13 -'{'=14 -','=15 -'}'=16 -'contract'=17 -'interface'=18 -'library'=19 -'is'=20 -'('=21 -')'=22 -'using'=23 -'for'=24 -'struct'=25 -'constructor'=26 -'modifier'=27 -'function'=28 -'returns'=29 -'event'=30 -'enum'=31 -'['=32 -']'=33 -'address'=34 -'.'=35 -'mapping'=36 -'=>'=37 -'memory'=38 -'storage'=39 -'calldata'=40 -'if'=41 -'else'=42 -'while'=43 -'assembly'=44 -'do'=45 -'return'=46 -'throw'=47 -'emit'=48 -'var'=49 -'bool'=50 -'string'=51 -'byte'=52 -'++'=53 -'--'=54 -'new'=55 -'+'=56 -'-'=57 -'after'=58 -'delete'=59 -'!'=60 -'**'=61 -'/'=62 -'%'=63 -'<<'=64 -'>>'=65 -'&'=66 -'|'=67 -'=='=68 -'!='=69 -'&&'=70 -'||'=71 -'?'=72 -':'=73 -'|='=74 -'^='=75 -'&='=76 -'<<='=77 -'>>='=78 -'+='=79 -'-='=80 -'*='=81 -'/='=82 -'%='=83 -'let'=84 -':='=85 -'=:'=86 -'switch'=87 -'case'=88 -'default'=89 -'->'=90 -'anonymous'=103 -'break'=104 -'constant'=105 -'continue'=106 -'external'=107 -'indexed'=108 -'internal'=109 -'payable'=110 -'private'=111 -'public'=112 -'pure'=113 -'view'=114 diff --git a/lib/grammar/SolidityListener.js b/lib/grammar/SolidityListener.js deleted file mode 100644 index 088deaa1..00000000 --- a/lib/grammar/SolidityListener.js +++ /dev/null @@ -1,771 +0,0 @@ -// Generated from ./Solidity.g4 by ANTLR 4.7.1 -// jshint ignore: start -var antlr4 = require('antlr4/index'); - -// This class defines a complete listener for a parse tree produced by SolidityParser. -function SolidityListener() { - antlr4.tree.ParseTreeListener.call(this); - return this; -} - -SolidityListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype); -SolidityListener.prototype.constructor = SolidityListener; - -// Enter a parse tree produced by SolidityParser#sourceUnit. -SolidityListener.prototype.enterSourceUnit = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#sourceUnit. -SolidityListener.prototype.exitSourceUnit = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#pragmaDirective. -SolidityListener.prototype.enterPragmaDirective = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#pragmaDirective. -SolidityListener.prototype.exitPragmaDirective = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#pragmaName. -SolidityListener.prototype.enterPragmaName = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#pragmaName. -SolidityListener.prototype.exitPragmaName = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#pragmaValue. -SolidityListener.prototype.enterPragmaValue = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#pragmaValue. -SolidityListener.prototype.exitPragmaValue = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#version. -SolidityListener.prototype.enterVersion = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#version. -SolidityListener.prototype.exitVersion = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#versionOperator. -SolidityListener.prototype.enterVersionOperator = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#versionOperator. -SolidityListener.prototype.exitVersionOperator = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#versionConstraint. -SolidityListener.prototype.enterVersionConstraint = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#versionConstraint. -SolidityListener.prototype.exitVersionConstraint = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#importDeclaration. -SolidityListener.prototype.enterImportDeclaration = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#importDeclaration. -SolidityListener.prototype.exitImportDeclaration = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#importDirective. -SolidityListener.prototype.enterImportDirective = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#importDirective. -SolidityListener.prototype.exitImportDirective = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#contractDefinition. -SolidityListener.prototype.enterContractDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#contractDefinition. -SolidityListener.prototype.exitContractDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#inheritanceSpecifier. -SolidityListener.prototype.enterInheritanceSpecifier = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#inheritanceSpecifier. -SolidityListener.prototype.exitInheritanceSpecifier = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#contractPart. -SolidityListener.prototype.enterContractPart = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#contractPart. -SolidityListener.prototype.exitContractPart = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#stateVariableDeclaration. -SolidityListener.prototype.enterStateVariableDeclaration = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#stateVariableDeclaration. -SolidityListener.prototype.exitStateVariableDeclaration = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#usingForDeclaration. -SolidityListener.prototype.enterUsingForDeclaration = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#usingForDeclaration. -SolidityListener.prototype.exitUsingForDeclaration = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#structDefinition. -SolidityListener.prototype.enterStructDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#structDefinition. -SolidityListener.prototype.exitStructDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#constructorDefinition. -SolidityListener.prototype.enterConstructorDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#constructorDefinition. -SolidityListener.prototype.exitConstructorDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#modifierDefinition. -SolidityListener.prototype.enterModifierDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#modifierDefinition. -SolidityListener.prototype.exitModifierDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#modifierInvocation. -SolidityListener.prototype.enterModifierInvocation = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#modifierInvocation. -SolidityListener.prototype.exitModifierInvocation = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#functionDefinition. -SolidityListener.prototype.enterFunctionDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#functionDefinition. -SolidityListener.prototype.exitFunctionDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#returnParameters. -SolidityListener.prototype.enterReturnParameters = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#returnParameters. -SolidityListener.prototype.exitReturnParameters = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#modifierList. -SolidityListener.prototype.enterModifierList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#modifierList. -SolidityListener.prototype.exitModifierList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#eventDefinition. -SolidityListener.prototype.enterEventDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#eventDefinition. -SolidityListener.prototype.exitEventDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#enumValue. -SolidityListener.prototype.enterEnumValue = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#enumValue. -SolidityListener.prototype.exitEnumValue = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#enumDefinition. -SolidityListener.prototype.enterEnumDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#enumDefinition. -SolidityListener.prototype.exitEnumDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#parameterList. -SolidityListener.prototype.enterParameterList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#parameterList. -SolidityListener.prototype.exitParameterList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#parameter. -SolidityListener.prototype.enterParameter = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#parameter. -SolidityListener.prototype.exitParameter = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#eventParameterList. -SolidityListener.prototype.enterEventParameterList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#eventParameterList. -SolidityListener.prototype.exitEventParameterList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#eventParameter. -SolidityListener.prototype.enterEventParameter = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#eventParameter. -SolidityListener.prototype.exitEventParameter = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#functionTypeParameterList. -SolidityListener.prototype.enterFunctionTypeParameterList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#functionTypeParameterList. -SolidityListener.prototype.exitFunctionTypeParameterList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#functionTypeParameter. -SolidityListener.prototype.enterFunctionTypeParameter = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#functionTypeParameter. -SolidityListener.prototype.exitFunctionTypeParameter = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#variableDeclaration. -SolidityListener.prototype.enterVariableDeclaration = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#variableDeclaration. -SolidityListener.prototype.exitVariableDeclaration = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#typeName. -SolidityListener.prototype.enterTypeName = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#typeName. -SolidityListener.prototype.exitTypeName = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#userDefinedTypeName. -SolidityListener.prototype.enterUserDefinedTypeName = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#userDefinedTypeName. -SolidityListener.prototype.exitUserDefinedTypeName = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#mapping. -SolidityListener.prototype.enterMapping = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#mapping. -SolidityListener.prototype.exitMapping = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#functionTypeName. -SolidityListener.prototype.enterFunctionTypeName = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#functionTypeName. -SolidityListener.prototype.exitFunctionTypeName = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#storageLocation. -SolidityListener.prototype.enterStorageLocation = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#storageLocation. -SolidityListener.prototype.exitStorageLocation = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#stateMutability. -SolidityListener.prototype.enterStateMutability = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#stateMutability. -SolidityListener.prototype.exitStateMutability = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#block. -SolidityListener.prototype.enterBlock = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#block. -SolidityListener.prototype.exitBlock = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#statement. -SolidityListener.prototype.enterStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#statement. -SolidityListener.prototype.exitStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#expressionStatement. -SolidityListener.prototype.enterExpressionStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#expressionStatement. -SolidityListener.prototype.exitExpressionStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#ifStatement. -SolidityListener.prototype.enterIfStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#ifStatement. -SolidityListener.prototype.exitIfStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#whileStatement. -SolidityListener.prototype.enterWhileStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#whileStatement. -SolidityListener.prototype.exitWhileStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#simpleStatement. -SolidityListener.prototype.enterSimpleStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#simpleStatement. -SolidityListener.prototype.exitSimpleStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#forStatement. -SolidityListener.prototype.enterForStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#forStatement. -SolidityListener.prototype.exitForStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#inlineAssemblyStatement. -SolidityListener.prototype.enterInlineAssemblyStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#inlineAssemblyStatement. -SolidityListener.prototype.exitInlineAssemblyStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#doWhileStatement. -SolidityListener.prototype.enterDoWhileStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#doWhileStatement. -SolidityListener.prototype.exitDoWhileStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#continueStatement. -SolidityListener.prototype.enterContinueStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#continueStatement. -SolidityListener.prototype.exitContinueStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#breakStatement. -SolidityListener.prototype.enterBreakStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#breakStatement. -SolidityListener.prototype.exitBreakStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#returnStatement. -SolidityListener.prototype.enterReturnStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#returnStatement. -SolidityListener.prototype.exitReturnStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#throwStatement. -SolidityListener.prototype.enterThrowStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#throwStatement. -SolidityListener.prototype.exitThrowStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#emitStatement. -SolidityListener.prototype.enterEmitStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#emitStatement. -SolidityListener.prototype.exitEmitStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#variableDeclarationStatement. -SolidityListener.prototype.enterVariableDeclarationStatement = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#variableDeclarationStatement. -SolidityListener.prototype.exitVariableDeclarationStatement = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#variableDeclarationList. -SolidityListener.prototype.enterVariableDeclarationList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#variableDeclarationList. -SolidityListener.prototype.exitVariableDeclarationList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#identifierList. -SolidityListener.prototype.enterIdentifierList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#identifierList. -SolidityListener.prototype.exitIdentifierList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#elementaryTypeName. -SolidityListener.prototype.enterElementaryTypeName = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#elementaryTypeName. -SolidityListener.prototype.exitElementaryTypeName = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#expression. -SolidityListener.prototype.enterExpression = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#expression. -SolidityListener.prototype.exitExpression = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#primaryExpression. -SolidityListener.prototype.enterPrimaryExpression = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#primaryExpression. -SolidityListener.prototype.exitPrimaryExpression = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#expressionList. -SolidityListener.prototype.enterExpressionList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#expressionList. -SolidityListener.prototype.exitExpressionList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#nameValueList. -SolidityListener.prototype.enterNameValueList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#nameValueList. -SolidityListener.prototype.exitNameValueList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#nameValue. -SolidityListener.prototype.enterNameValue = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#nameValue. -SolidityListener.prototype.exitNameValue = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#functionCallArguments. -SolidityListener.prototype.enterFunctionCallArguments = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#functionCallArguments. -SolidityListener.prototype.exitFunctionCallArguments = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#functionCall. -SolidityListener.prototype.enterFunctionCall = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#functionCall. -SolidityListener.prototype.exitFunctionCall = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyBlock. -SolidityListener.prototype.enterAssemblyBlock = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyBlock. -SolidityListener.prototype.exitAssemblyBlock = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyItem. -SolidityListener.prototype.enterAssemblyItem = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyItem. -SolidityListener.prototype.exitAssemblyItem = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyExpression. -SolidityListener.prototype.enterAssemblyExpression = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyExpression. -SolidityListener.prototype.exitAssemblyExpression = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyCall. -SolidityListener.prototype.enterAssemblyCall = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyCall. -SolidityListener.prototype.exitAssemblyCall = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyLocalDefinition. -SolidityListener.prototype.enterAssemblyLocalDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyLocalDefinition. -SolidityListener.prototype.exitAssemblyLocalDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyAssignment. -SolidityListener.prototype.enterAssemblyAssignment = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyAssignment. -SolidityListener.prototype.exitAssemblyAssignment = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyIdentifierOrList. -SolidityListener.prototype.enterAssemblyIdentifierOrList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyIdentifierOrList. -SolidityListener.prototype.exitAssemblyIdentifierOrList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyIdentifierList. -SolidityListener.prototype.enterAssemblyIdentifierList = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyIdentifierList. -SolidityListener.prototype.exitAssemblyIdentifierList = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyStackAssignment. -SolidityListener.prototype.enterAssemblyStackAssignment = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyStackAssignment. -SolidityListener.prototype.exitAssemblyStackAssignment = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#labelDefinition. -SolidityListener.prototype.enterLabelDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#labelDefinition. -SolidityListener.prototype.exitLabelDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblySwitch. -SolidityListener.prototype.enterAssemblySwitch = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblySwitch. -SolidityListener.prototype.exitAssemblySwitch = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyCase. -SolidityListener.prototype.enterAssemblyCase = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyCase. -SolidityListener.prototype.exitAssemblyCase = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyFunctionDefinition. -SolidityListener.prototype.enterAssemblyFunctionDefinition = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyFunctionDefinition. -SolidityListener.prototype.exitAssemblyFunctionDefinition = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyFunctionReturns. -SolidityListener.prototype.enterAssemblyFunctionReturns = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyFunctionReturns. -SolidityListener.prototype.exitAssemblyFunctionReturns = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyFor. -SolidityListener.prototype.enterAssemblyFor = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyFor. -SolidityListener.prototype.exitAssemblyFor = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyIf. -SolidityListener.prototype.enterAssemblyIf = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyIf. -SolidityListener.prototype.exitAssemblyIf = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#assemblyLiteral. -SolidityListener.prototype.enterAssemblyLiteral = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#assemblyLiteral. -SolidityListener.prototype.exitAssemblyLiteral = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#subAssembly. -SolidityListener.prototype.enterSubAssembly = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#subAssembly. -SolidityListener.prototype.exitSubAssembly = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#tupleExpression. -SolidityListener.prototype.enterTupleExpression = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#tupleExpression. -SolidityListener.prototype.exitTupleExpression = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#elementaryTypeNameExpression. -SolidityListener.prototype.enterElementaryTypeNameExpression = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#elementaryTypeNameExpression. -SolidityListener.prototype.exitElementaryTypeNameExpression = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#numberLiteral. -SolidityListener.prototype.enterNumberLiteral = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#numberLiteral. -SolidityListener.prototype.exitNumberLiteral = function(ctx) { -}; - - -// Enter a parse tree produced by SolidityParser#identifier. -SolidityListener.prototype.enterIdentifier = function(ctx) { -}; - -// Exit a parse tree produced by SolidityParser#identifier. -SolidityListener.prototype.exitIdentifier = function(ctx) { -}; - - - -exports.SolidityListener = SolidityListener; \ No newline at end of file diff --git a/lib/grammar/SolidityParser.js b/lib/grammar/SolidityParser.js deleted file mode 100644 index f790663a..00000000 --- a/lib/grammar/SolidityParser.js +++ /dev/null @@ -1,8979 +0,0 @@ -// Generated from ./Solidity.g4 by ANTLR 4.7.1 -// jshint ignore: start -var antlr4 = require('antlr4/index'); -var SolidityListener = require('./SolidityListener').SolidityListener; -var grammarFileName = "Solidity.g4"; - -var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", - "\u0003y\u03bd\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004\t", - "\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007\u0004", - "\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f\u0004", - "\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010\u0004", - "\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014\t", - "\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017\t\u0017\u0004", - "\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a\u0004\u001b\t", - "\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e\t\u001e\u0004", - "\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#\t#\u0004$\t$\u0004", - "%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004*\t*\u0004+\t+\u0004", - ",\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u00042\t2\u0004", - "3\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u00048\t8\u00049\t9\u0004", - ":\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004?\t?\u0004@\t@\u0004", - "A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004F\tF\u0004G\tG\u0004", - "H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004M\tM\u0004N\tN\u0004", - "O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004T\tT\u0004U\tU\u0003", - "\u0002\u0003\u0002\u0003\u0002\u0007\u0002\u00ae\n\u0002\f\u0002\u000e", - "\u0002\u00b1\u000b\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003", - "\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0003\u0005", - "\u0003\u0005\u0005\u0005\u00be\n\u0005\u0003\u0006\u0003\u0006\u0005", - "\u0006\u00c2\n\u0006\u0003\u0007\u0003\u0007\u0003\b\u0005\b\u00c7\n", - "\b\u0003\b\u0003\b\u0003\t\u0003\t\u0003\t\u0005\t\u00ce\n\t\u0003\n", - "\u0003\n\u0003\n\u0003\n\u0005\n\u00d4\n\n\u0003\n\u0003\n\u0003\n\u0003", - "\n\u0005\n\u00da\n\n\u0003\n\u0003\n\u0005\n\u00de\n\n\u0003\n\u0003", - "\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0007\n\u00e8\n\n", - "\f\n\u000e\n\u00eb\u000b\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0005", - "\n\u00f2\n\n\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b", - "\u0003\u000b\u0007\u000b\u00fa\n\u000b\f\u000b\u000e\u000b\u00fd\u000b", - "\u000b\u0005\u000b\u00ff\n\u000b\u0003\u000b\u0003\u000b\u0007\u000b", - "\u0103\n\u000b\f\u000b\u000e\u000b\u0106\u000b\u000b\u0003\u000b\u0003", - "\u000b\u0003\f\u0003\f\u0003\f\u0003\f\u0003\f\u0007\f\u010f\n\f\f\f", - "\u000e\f\u0112\u000b\f\u0003\f\u0003\f\u0005\f\u0116\n\f\u0003\r\u0003", - "\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0005\r\u0120\n\r", - "\u0003\u000e\u0003\u000e\u0007\u000e\u0124\n\u000e\f\u000e\u000e\u000e", - "\u0127\u000b\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0005\u000e\u012c", - "\n\u000e\u0003\u000e\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u000f", - "\u0003\u000f\u0003\u000f\u0005\u000f\u0135\n\u000f\u0003\u000f\u0003", - "\u000f\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003", - "\u0010\u0003\u0010\u0003\u0010\u0007\u0010\u0141\n\u0010\f\u0010\u000e", - "\u0010\u0144\u000b\u0010\u0005\u0010\u0146\n\u0010\u0003\u0010\u0003", - "\u0010\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003", - "\u0012\u0003\u0012\u0003\u0012\u0005\u0012\u0152\n\u0012\u0003\u0012", - "\u0003\u0012\u0003\u0013\u0003\u0013\u0003\u0013\u0005\u0013\u0159\n", - "\u0013\u0003\u0013\u0005\u0013\u015c\n\u0013\u0003\u0014\u0003\u0014", - "\u0005\u0014\u0160\n\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0005", - "\u0014\u0165\n\u0014\u0003\u0014\u0003\u0014\u0005\u0014\u0169\n\u0014", - "\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0016\u0003\u0016\u0003\u0016", - "\u0003\u0016\u0003\u0016\u0003\u0016\u0007\u0016\u0174\n\u0016\f\u0016", - "\u000e\u0016\u0177\u000b\u0016\u0003\u0017\u0003\u0017\u0003\u0017\u0003", - "\u0017\u0005\u0017\u017d\n\u0017\u0003\u0017\u0003\u0017\u0003\u0018", - "\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0005\u0019", - "\u0187\n\u0019\u0003\u0019\u0003\u0019\u0007\u0019\u018b\n\u0019\f\u0019", - "\u000e\u0019\u018e\u000b\u0019\u0003\u0019\u0003\u0019\u0003\u001a\u0003", - "\u001a\u0003\u001a\u0003\u001a\u0007\u001a\u0196\n\u001a\f\u001a\u000e", - "\u001a\u0199\u000b\u001a\u0005\u001a\u019b\n\u001a\u0003\u001a\u0003", - "\u001a\u0003\u001b\u0003\u001b\u0005\u001b\u01a1\n\u001b\u0003\u001b", - "\u0005\u001b\u01a4\n\u001b\u0003\u001c\u0003\u001c\u0003\u001c\u0003", - "\u001c\u0007\u001c\u01aa\n\u001c\f\u001c\u000e\u001c\u01ad\u000b\u001c", - "\u0005\u001c\u01af\n\u001c\u0003\u001c\u0003\u001c\u0003\u001d\u0003", - "\u001d\u0005\u001d\u01b5\n\u001d\u0003\u001d\u0005\u001d\u01b8\n\u001d", - "\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0007\u001e\u01be\n", - "\u001e\f\u001e\u000e\u001e\u01c1\u000b\u001e\u0005\u001e\u01c3\n\u001e", - "\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0005\u001f\u01c9\n", - "\u001f\u0003 \u0003 \u0005 \u01cd\n \u0003 \u0003 \u0003!\u0003!\u0003", - "!\u0003!\u0003!\u0003!\u0003!\u0005!\u01d8\n!\u0003!\u0003!\u0003!\u0005", - "!\u01dd\n!\u0003!\u0007!\u01e0\n!\f!\u000e!\u01e3\u000b!\u0003\"\u0003", - "\"\u0003\"\u0007\"\u01e8\n\"\f\"\u000e\"\u01eb\u000b\"\u0003#\u0003", - "#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003$\u0003$\u0003$\u0003$\u0003", - "$\u0007$\u01f9\n$\f$\u000e$\u01fc\u000b$\u0003$\u0003$\u0005$\u0200", - "\n$\u0003%\u0003%\u0003&\u0003&\u0003\'\u0003\'\u0007\'\u0208\n\'\f", - "\'\u000e\'\u020b\u000b\'\u0003\'\u0003\'\u0003(\u0003(\u0003(\u0003", - "(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0005(\u021b", - "\n(\u0003)\u0003)\u0003)\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003", - "*\u0005*\u0227\n*\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003,\u0003", - ",\u0005,\u0231\n,\u0003-\u0003-\u0003-\u0003-\u0005-\u0237\n-\u0003", - "-\u0005-\u023a\n-\u0003-\u0003-\u0005-\u023e\n-\u0003-\u0003-\u0003", - "-\u0003.\u0003.\u0005.\u0245\n.\u0003.\u0003.\u0003/\u0003/\u0003/\u0003", - "/\u0003/\u0003/\u0003/\u0003/\u00030\u00030\u00030\u00031\u00031\u0003", - "1\u00032\u00032\u00052\u0259\n2\u00032\u00032\u00033\u00033\u00033\u0003", - "4\u00034\u00034\u00034\u00035\u00035\u00035\u00035\u00035\u00035\u0003", - "5\u00055\u026b\n5\u00035\u00035\u00055\u026f\n5\u00035\u00035\u0003", - "6\u00056\u0274\n6\u00036\u00036\u00056\u0278\n6\u00076\u027a\n6\f6\u000e", - "6\u027d\u000b6\u00037\u00037\u00057\u0281\n7\u00037\u00077\u0284\n7", - "\f7\u000e7\u0287\u000b7\u00037\u00057\u028a\n7\u00037\u00037\u00038", - "\u00038\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u0003", - "9\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u0005", - "9\u02a2\n9\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u0003", - "9\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u0003", - "9\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u0003", - "9\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u0003", - "9\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u0003", - "9\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00039\u00079\u02dd", - "\n9\f9\u000e9\u02e0\u000b9\u0003:\u0003:\u0003:\u0003:\u0003:\u0003", - ":\u0003:\u0005:\u02e9\n:\u0003;\u0003;\u0003;\u0007;\u02ee\n;\f;\u000e", - ";\u02f1\u000b;\u0003<\u0003<\u0003<\u0007<\u02f6\n<\f<\u000e<\u02f9", - "\u000b<\u0003<\u0005<\u02fc\n<\u0003=\u0003=\u0003=\u0003=\u0003>\u0003", - ">\u0005>\u0304\n>\u0003>\u0003>\u0005>\u0308\n>\u0005>\u030a\n>\u0003", - "?\u0003?\u0003?\u0003?\u0003?\u0003@\u0003@\u0007@\u0313\n@\f@\u000e", - "@\u0316\u000b@\u0003@\u0003@\u0003A\u0003A\u0003A\u0003A\u0003A\u0003", - "A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003", - "A\u0003A\u0005A\u032b\nA\u0003B\u0003B\u0005B\u032f\nB\u0003C\u0003", - "C\u0003C\u0003C\u0005C\u0335\nC\u0003C\u0003C\u0005C\u0339\nC\u0003", - "C\u0003C\u0007C\u033d\nC\fC\u000eC\u0340\u000bC\u0003C\u0005C\u0343", - "\nC\u0003D\u0003D\u0003D\u0003D\u0005D\u0349\nD\u0003E\u0003E\u0003", - "E\u0003E\u0003F\u0003F\u0003F\u0003F\u0003F\u0005F\u0354\nF\u0003G\u0003", - "G\u0003G\u0007G\u0359\nG\fG\u000eG\u035c\u000bG\u0003H\u0003H\u0003", - "H\u0003I\u0003I\u0003I\u0003J\u0003J\u0003J\u0007J\u0367\nJ\fJ\u000e", - "J\u036a\u000bJ\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0005K\u0372", - "\nK\u0003L\u0003L\u0003L\u0003L\u0005L\u0378\nL\u0003L\u0003L\u0005", - "L\u037c\nL\u0003L\u0003L\u0003M\u0003M\u0003M\u0003N\u0003N\u0003N\u0005", - "N\u0386\nN\u0003N\u0003N\u0003N\u0005N\u038b\nN\u0003N\u0003N\u0003", - "O\u0003O\u0003O\u0003O\u0003P\u0003P\u0003Q\u0003Q\u0003Q\u0003Q\u0003", - "R\u0003R\u0005R\u039b\nR\u0003R\u0003R\u0005R\u039f\nR\u0007R\u03a1", - "\nR\fR\u000eR\u03a4\u000bR\u0003R\u0003R\u0003R\u0003R\u0003R\u0007", - "R\u03ab\nR\fR\u000eR\u03ae\u000bR\u0005R\u03b0\nR\u0003R\u0005R\u03b3", - "\nR\u0003S\u0003S\u0003T\u0003T\u0005T\u03b9\nT\u0003U\u0003U\u0003", - "U\u0002\u0004@pV\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016", - "\u0018\u001a\u001c\u001e \"$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnp", - "rtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090\u0092", - "\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u0002", - "\u0013\u0003\u0002\u0005\u000b\u0003\u0002\u0013\u0015\u0005\u0002k", - "kooqr\u0003\u0002(*\u0005\u0002kkppst\u0005\u0002$$36]a\u0003\u0002", - "78\u0003\u0002:;\u0003\u0002<=\u0004\u0002\u000e\u000e@A\u0003\u0002", - "BC\u0003\u0002\u0007\n\u0003\u0002FG\u0004\u0002\u000b\u000bLU\u0005", - "\u0002deggvv\u0003\u0002de\u0004\u0002\u000f\u000fuu\u0002\u0414\u0002", - "\u00af\u0003\u0002\u0002\u0002\u0004\u00b4\u0003\u0002\u0002\u0002\u0006", - "\u00b9\u0003\u0002\u0002\u0002\b\u00bd\u0003\u0002\u0002\u0002\n\u00bf", - "\u0003\u0002\u0002\u0002\f\u00c3\u0003\u0002\u0002\u0002\u000e\u00c6", - "\u0003\u0002\u0002\u0002\u0010\u00ca\u0003\u0002\u0002\u0002\u0012\u00f1", - "\u0003\u0002\u0002\u0002\u0014\u00f3\u0003\u0002\u0002\u0002\u0016\u0109", - "\u0003\u0002\u0002\u0002\u0018\u011f\u0003\u0002\u0002\u0002\u001a\u0121", - "\u0003\u0002\u0002\u0002\u001c\u012f\u0003\u0002\u0002\u0002\u001e\u0138", - "\u0003\u0002\u0002\u0002 \u0149\u0003\u0002\u0002\u0002\"\u014e\u0003", - "\u0002\u0002\u0002$\u0155\u0003\u0002\u0002\u0002&\u015d\u0003\u0002", - "\u0002\u0002(\u016a\u0003\u0002\u0002\u0002*\u0175\u0003\u0002\u0002", - "\u0002,\u0178\u0003\u0002\u0002\u0002.\u0180\u0003\u0002\u0002\u0002", - "0\u0182\u0003\u0002\u0002\u00022\u0191\u0003\u0002\u0002\u00024\u019e", - "\u0003\u0002\u0002\u00026\u01a5\u0003\u0002\u0002\u00028\u01b2\u0003", - "\u0002\u0002\u0002:\u01b9\u0003\u0002\u0002\u0002<\u01c6\u0003\u0002", - "\u0002\u0002>\u01ca\u0003\u0002\u0002\u0002@\u01d7\u0003\u0002\u0002", - "\u0002B\u01e4\u0003\u0002\u0002\u0002D\u01ec\u0003\u0002\u0002\u0002", - "F\u01f3\u0003\u0002\u0002\u0002H\u0201\u0003\u0002\u0002\u0002J\u0203", - "\u0003\u0002\u0002\u0002L\u0205\u0003\u0002\u0002\u0002N\u021a\u0003", - "\u0002\u0002\u0002P\u021c\u0003\u0002\u0002\u0002R\u021f\u0003\u0002", - "\u0002\u0002T\u0228\u0003\u0002\u0002\u0002V\u0230\u0003\u0002\u0002", - "\u0002X\u0232\u0003\u0002\u0002\u0002Z\u0242\u0003\u0002\u0002\u0002", - "\\\u0248\u0003\u0002\u0002\u0002^\u0250\u0003\u0002\u0002\u0002`\u0253", - "\u0003\u0002\u0002\u0002b\u0256\u0003\u0002\u0002\u0002d\u025c\u0003", - "\u0002\u0002\u0002f\u025f\u0003\u0002\u0002\u0002h\u026a\u0003\u0002", - "\u0002\u0002j\u0273\u0003\u0002\u0002\u0002l\u027e\u0003\u0002\u0002", - "\u0002n\u028d\u0003\u0002\u0002\u0002p\u02a1\u0003\u0002\u0002\u0002", - "r\u02e8\u0003\u0002\u0002\u0002t\u02ea\u0003\u0002\u0002\u0002v\u02f2", - "\u0003\u0002\u0002\u0002x\u02fd\u0003\u0002\u0002\u0002z\u0309\u0003", - "\u0002\u0002\u0002|\u030b\u0003\u0002\u0002\u0002~\u0310\u0003\u0002", - "\u0002\u0002\u0080\u032a\u0003\u0002\u0002\u0002\u0082\u032e\u0003\u0002", - "\u0002\u0002\u0084\u0334\u0003\u0002\u0002\u0002\u0086\u0344\u0003\u0002", - "\u0002\u0002\u0088\u034a\u0003\u0002\u0002\u0002\u008a\u0353\u0003\u0002", - "\u0002\u0002\u008c\u0355\u0003\u0002\u0002\u0002\u008e\u035d\u0003\u0002", - "\u0002\u0002\u0090\u0360\u0003\u0002\u0002\u0002\u0092\u0363\u0003\u0002", - "\u0002\u0002\u0094\u0371\u0003\u0002\u0002\u0002\u0096\u0373\u0003\u0002", - "\u0002\u0002\u0098\u037f\u0003\u0002\u0002\u0002\u009a\u0382\u0003\u0002", - "\u0002\u0002\u009c\u038e\u0003\u0002\u0002\u0002\u009e\u0392\u0003\u0002", - "\u0002\u0002\u00a0\u0394\u0003\u0002\u0002\u0002\u00a2\u03b2\u0003\u0002", - "\u0002\u0002\u00a4\u03b4\u0003\u0002\u0002\u0002\u00a6\u03b6\u0003\u0002", - "\u0002\u0002\u00a8\u03ba\u0003\u0002\u0002\u0002\u00aa\u00ae\u0005\u0004", - "\u0003\u0002\u00ab\u00ae\u0005\u0012\n\u0002\u00ac\u00ae\u0005\u0014", - "\u000b\u0002\u00ad\u00aa\u0003\u0002\u0002\u0002\u00ad\u00ab\u0003\u0002", - "\u0002\u0002\u00ad\u00ac\u0003\u0002\u0002\u0002\u00ae\u00b1\u0003\u0002", - "\u0002\u0002\u00af\u00ad\u0003\u0002\u0002\u0002\u00af\u00b0\u0003\u0002", - "\u0002\u0002\u00b0\u00b2\u0003\u0002\u0002\u0002\u00b1\u00af\u0003\u0002", - "\u0002\u0002\u00b2\u00b3\u0007\u0002\u0002\u0003\u00b3\u0003\u0003\u0002", - "\u0002\u0002\u00b4\u00b5\u0007\u0003\u0002\u0002\u00b5\u00b6\u0005\u0006", - "\u0004\u0002\u00b6\u00b7\u0005\b\u0005\u0002\u00b7\u00b8\u0007\u0004", - "\u0002\u0002\u00b8\u0005\u0003\u0002\u0002\u0002\u00b9\u00ba\u0005\u00a8", - "U\u0002\u00ba\u0007\u0003\u0002\u0002\u0002\u00bb\u00be\u0005\n\u0006", - "\u0002\u00bc\u00be\u0005p9\u0002\u00bd\u00bb\u0003\u0002\u0002\u0002", - "\u00bd\u00bc\u0003\u0002\u0002\u0002\u00be\t\u0003\u0002\u0002\u0002", - "\u00bf\u00c1\u0005\u000e\b\u0002\u00c0\u00c2\u0005\u000e\b\u0002\u00c1", - "\u00c0\u0003\u0002\u0002\u0002\u00c1\u00c2\u0003\u0002\u0002\u0002\u00c2", - "\u000b\u0003\u0002\u0002\u0002\u00c3\u00c4\t\u0002\u0002\u0002\u00c4", - "\r\u0003\u0002\u0002\u0002\u00c5\u00c7\u0005\f\u0007\u0002\u00c6\u00c5", - "\u0003\u0002\u0002\u0002\u00c6\u00c7\u0003\u0002\u0002\u0002\u00c7\u00c8", - "\u0003\u0002\u0002\u0002\u00c8\u00c9\u0007b\u0002\u0002\u00c9\u000f", - "\u0003\u0002\u0002\u0002\u00ca\u00cd\u0005\u00a8U\u0002\u00cb\u00cc", - "\u0007\f\u0002\u0002\u00cc\u00ce\u0005\u00a8U\u0002\u00cd\u00cb\u0003", - "\u0002\u0002\u0002\u00cd\u00ce\u0003\u0002\u0002\u0002\u00ce\u0011\u0003", - "\u0002\u0002\u0002\u00cf\u00d0\u0007\r\u0002\u0002\u00d0\u00d3\u0007", - "v\u0002\u0002\u00d1\u00d2\u0007\f\u0002\u0002\u00d2\u00d4\u0005\u00a8", - "U\u0002\u00d3\u00d1\u0003\u0002\u0002\u0002\u00d3\u00d4\u0003\u0002", - "\u0002\u0002\u00d4\u00d5\u0003\u0002\u0002\u0002\u00d5\u00f2\u0007\u0004", - "\u0002\u0002\u00d6\u00d9\u0007\r\u0002\u0002\u00d7\u00da\u0007\u000e", - "\u0002\u0002\u00d8\u00da\u0005\u00a8U\u0002\u00d9\u00d7\u0003\u0002", - "\u0002\u0002\u00d9\u00d8\u0003\u0002\u0002\u0002\u00da\u00dd\u0003\u0002", - "\u0002\u0002\u00db\u00dc\u0007\f\u0002\u0002\u00dc\u00de\u0005\u00a8", - "U\u0002\u00dd\u00db\u0003\u0002\u0002\u0002\u00dd\u00de\u0003\u0002", - "\u0002\u0002\u00de\u00df\u0003\u0002\u0002\u0002\u00df\u00e0\u0007\u000f", - "\u0002\u0002\u00e0\u00e1\u0007v\u0002\u0002\u00e1\u00f2\u0007\u0004", - "\u0002\u0002\u00e2\u00e3\u0007\r\u0002\u0002\u00e3\u00e4\u0007\u0010", - "\u0002\u0002\u00e4\u00e9\u0005\u0010\t\u0002\u00e5\u00e6\u0007\u0011", - "\u0002\u0002\u00e6\u00e8\u0005\u0010\t\u0002\u00e7\u00e5\u0003\u0002", - "\u0002\u0002\u00e8\u00eb\u0003\u0002\u0002\u0002\u00e9\u00e7\u0003\u0002", - "\u0002\u0002\u00e9\u00ea\u0003\u0002\u0002\u0002\u00ea\u00ec\u0003\u0002", - "\u0002\u0002\u00eb\u00e9\u0003\u0002\u0002\u0002\u00ec\u00ed\u0007\u0012", - "\u0002\u0002\u00ed\u00ee\u0007\u000f\u0002\u0002\u00ee\u00ef\u0007v", - "\u0002\u0002\u00ef\u00f0\u0007\u0004\u0002\u0002\u00f0\u00f2\u0003\u0002", - "\u0002\u0002\u00f1\u00cf\u0003\u0002\u0002\u0002\u00f1\u00d6\u0003\u0002", - "\u0002\u0002\u00f1\u00e2\u0003\u0002\u0002\u0002\u00f2\u0013\u0003\u0002", - "\u0002\u0002\u00f3\u00f4\t\u0003\u0002\u0002\u00f4\u00fe\u0005\u00a8", - "U\u0002\u00f5\u00f6\u0007\u0016\u0002\u0002\u00f6\u00fb\u0005\u0016", - "\f\u0002\u00f7\u00f8\u0007\u0011\u0002\u0002\u00f8\u00fa\u0005\u0016", - "\f\u0002\u00f9\u00f7\u0003\u0002\u0002\u0002\u00fa\u00fd\u0003\u0002", - "\u0002\u0002\u00fb\u00f9\u0003\u0002\u0002\u0002\u00fb\u00fc\u0003\u0002", - "\u0002\u0002\u00fc\u00ff\u0003\u0002\u0002\u0002\u00fd\u00fb\u0003\u0002", - "\u0002\u0002\u00fe\u00f5\u0003\u0002\u0002\u0002\u00fe\u00ff\u0003\u0002", - "\u0002\u0002\u00ff\u0100\u0003\u0002\u0002\u0002\u0100\u0104\u0007\u0010", - "\u0002\u0002\u0101\u0103\u0005\u0018\r\u0002\u0102\u0101\u0003\u0002", - "\u0002\u0002\u0103\u0106\u0003\u0002\u0002\u0002\u0104\u0102\u0003\u0002", - "\u0002\u0002\u0104\u0105\u0003\u0002\u0002\u0002\u0105\u0107\u0003\u0002", - "\u0002\u0002\u0106\u0104\u0003\u0002\u0002\u0002\u0107\u0108\u0007\u0012", - "\u0002\u0002\u0108\u0015\u0003\u0002\u0002\u0002\u0109\u0115\u0005B", - "\"\u0002\u010a\u010b\u0007\u0017\u0002\u0002\u010b\u0110\u0005p9\u0002", - "\u010c\u010d\u0007\u0011\u0002\u0002\u010d\u010f\u0005p9\u0002\u010e", - "\u010c\u0003\u0002\u0002\u0002\u010f\u0112\u0003\u0002\u0002\u0002\u0110", - "\u010e\u0003\u0002\u0002\u0002\u0110\u0111\u0003\u0002\u0002\u0002\u0111", - "\u0113\u0003\u0002\u0002\u0002\u0112\u0110\u0003\u0002\u0002\u0002\u0113", - "\u0114\u0007\u0018\u0002\u0002\u0114\u0116\u0003\u0002\u0002\u0002\u0115", - "\u010a\u0003\u0002\u0002\u0002\u0115\u0116\u0003\u0002\u0002\u0002\u0116", - "\u0017\u0003\u0002\u0002\u0002\u0117\u0120\u0005\u001a\u000e\u0002\u0118", - "\u0120\u0005\u001c\u000f\u0002\u0119\u0120\u0005\u001e\u0010\u0002\u011a", - "\u0120\u0005 \u0011\u0002\u011b\u0120\u0005\"\u0012\u0002\u011c\u0120", - "\u0005&\u0014\u0002\u011d\u0120\u0005,\u0017\u0002\u011e\u0120\u0005", - "0\u0019\u0002\u011f\u0117\u0003\u0002\u0002\u0002\u011f\u0118\u0003", - "\u0002\u0002\u0002\u011f\u0119\u0003\u0002\u0002\u0002\u011f\u011a\u0003", - "\u0002\u0002\u0002\u011f\u011b\u0003\u0002\u0002\u0002\u011f\u011c\u0003", - "\u0002\u0002\u0002\u011f\u011d\u0003\u0002\u0002\u0002\u011f\u011e\u0003", - "\u0002\u0002\u0002\u0120\u0019\u0003\u0002\u0002\u0002\u0121\u0125\u0005", - "@!\u0002\u0122\u0124\t\u0004\u0002\u0002\u0123\u0122\u0003\u0002\u0002", - "\u0002\u0124\u0127\u0003\u0002\u0002\u0002\u0125\u0123\u0003\u0002\u0002", - "\u0002\u0125\u0126\u0003\u0002\u0002\u0002\u0126\u0128\u0003\u0002\u0002", - "\u0002\u0127\u0125\u0003\u0002\u0002\u0002\u0128\u012b\u0005\u00a8U", - "\u0002\u0129\u012a\u0007\u000b\u0002\u0002\u012a\u012c\u0005p9\u0002", - "\u012b\u0129\u0003\u0002\u0002\u0002\u012b\u012c\u0003\u0002\u0002\u0002", - "\u012c\u012d\u0003\u0002\u0002\u0002\u012d\u012e\u0007\u0004\u0002\u0002", - "\u012e\u001b\u0003\u0002\u0002\u0002\u012f\u0130\u0007\u0019\u0002\u0002", - "\u0130\u0131\u0005\u00a8U\u0002\u0131\u0134\u0007\u001a\u0002\u0002", - "\u0132\u0135\u0007\u000e\u0002\u0002\u0133\u0135\u0005@!\u0002\u0134", - "\u0132\u0003\u0002\u0002\u0002\u0134\u0133\u0003\u0002\u0002\u0002\u0135", - "\u0136\u0003\u0002\u0002\u0002\u0136\u0137\u0007\u0004\u0002\u0002\u0137", - "\u001d\u0003\u0002\u0002\u0002\u0138\u0139\u0007\u001b\u0002\u0002\u0139", - "\u013a\u0005\u00a8U\u0002\u013a\u0145\u0007\u0010\u0002\u0002\u013b", - "\u013c\u0005> \u0002\u013c\u0142\u0007\u0004\u0002\u0002\u013d\u013e", - "\u0005> \u0002\u013e\u013f\u0007\u0004\u0002\u0002\u013f\u0141\u0003", - "\u0002\u0002\u0002\u0140\u013d\u0003\u0002\u0002\u0002\u0141\u0144\u0003", - "\u0002\u0002\u0002\u0142\u0140\u0003\u0002\u0002\u0002\u0142\u0143\u0003", - "\u0002\u0002\u0002\u0143\u0146\u0003\u0002\u0002\u0002\u0144\u0142\u0003", - "\u0002\u0002\u0002\u0145\u013b\u0003\u0002\u0002\u0002\u0145\u0146\u0003", - "\u0002\u0002\u0002\u0146\u0147\u0003\u0002\u0002\u0002\u0147\u0148\u0007", - "\u0012\u0002\u0002\u0148\u001f\u0003\u0002\u0002\u0002\u0149\u014a\u0007", - "\u001c\u0002\u0002\u014a\u014b\u00052\u001a\u0002\u014b\u014c\u0005", - "*\u0016\u0002\u014c\u014d\u0005L\'\u0002\u014d!\u0003\u0002\u0002\u0002", - "\u014e\u014f\u0007\u001d\u0002\u0002\u014f\u0151\u0005\u00a8U\u0002", - "\u0150\u0152\u00052\u001a\u0002\u0151\u0150\u0003\u0002\u0002\u0002", - "\u0151\u0152\u0003\u0002\u0002\u0002\u0152\u0153\u0003\u0002\u0002\u0002", - "\u0153\u0154\u0005L\'\u0002\u0154#\u0003\u0002\u0002\u0002\u0155\u015b", - "\u0005\u00a8U\u0002\u0156\u0158\u0007\u0017\u0002\u0002\u0157\u0159", - "\u0005t;\u0002\u0158\u0157\u0003\u0002\u0002\u0002\u0158\u0159\u0003", - "\u0002\u0002\u0002\u0159\u015a\u0003\u0002\u0002\u0002\u015a\u015c\u0007", - "\u0018\u0002\u0002\u015b\u0156\u0003\u0002\u0002\u0002\u015b\u015c\u0003", - "\u0002\u0002\u0002\u015c%\u0003\u0002\u0002\u0002\u015d\u015f\u0007", - "\u001e\u0002\u0002\u015e\u0160\u0005\u00a8U\u0002\u015f\u015e\u0003", - "\u0002\u0002\u0002\u015f\u0160\u0003\u0002\u0002\u0002\u0160\u0161\u0003", - "\u0002\u0002\u0002\u0161\u0162\u00052\u001a\u0002\u0162\u0164\u0005", - "*\u0016\u0002\u0163\u0165\u0005(\u0015\u0002\u0164\u0163\u0003\u0002", - "\u0002\u0002\u0164\u0165\u0003\u0002\u0002\u0002\u0165\u0168\u0003\u0002", - "\u0002\u0002\u0166\u0169\u0007\u0004\u0002\u0002\u0167\u0169\u0005L", - "\'\u0002\u0168\u0166\u0003\u0002\u0002\u0002\u0168\u0167\u0003\u0002", - "\u0002\u0002\u0169\'\u0003\u0002\u0002\u0002\u016a\u016b\u0007\u001f", - "\u0002\u0002\u016b\u016c\u00052\u001a\u0002\u016c)\u0003\u0002\u0002", - "\u0002\u016d\u0174\u0005$\u0013\u0002\u016e\u0174\u0005J&\u0002\u016f", - "\u0174\u0007m\u0002\u0002\u0170\u0174\u0007r\u0002\u0002\u0171\u0174", - "\u0007o\u0002\u0002\u0172\u0174\u0007q\u0002\u0002\u0173\u016d\u0003", - "\u0002\u0002\u0002\u0173\u016e\u0003\u0002\u0002\u0002\u0173\u016f\u0003", - "\u0002\u0002\u0002\u0173\u0170\u0003\u0002\u0002\u0002\u0173\u0171\u0003", - "\u0002\u0002\u0002\u0173\u0172\u0003\u0002\u0002\u0002\u0174\u0177\u0003", - "\u0002\u0002\u0002\u0175\u0173\u0003\u0002\u0002\u0002\u0175\u0176\u0003", - "\u0002\u0002\u0002\u0176+\u0003\u0002\u0002\u0002\u0177\u0175\u0003", - "\u0002\u0002\u0002\u0178\u0179\u0007 \u0002\u0002\u0179\u017a\u0005", - "\u00a8U\u0002\u017a\u017c\u00056\u001c\u0002\u017b\u017d\u0007i\u0002", - "\u0002\u017c\u017b\u0003\u0002\u0002\u0002\u017c\u017d\u0003\u0002\u0002", - "\u0002\u017d\u017e\u0003\u0002\u0002\u0002\u017e\u017f\u0007\u0004\u0002", - "\u0002\u017f-\u0003\u0002\u0002\u0002\u0180\u0181\u0005\u00a8U\u0002", - "\u0181/\u0003\u0002\u0002\u0002\u0182\u0183\u0007!\u0002\u0002\u0183", - "\u0184\u0005\u00a8U\u0002\u0184\u0186\u0007\u0010\u0002\u0002\u0185", - "\u0187\u0005.\u0018\u0002\u0186\u0185\u0003\u0002\u0002\u0002\u0186", - "\u0187\u0003\u0002\u0002\u0002\u0187\u018c\u0003\u0002\u0002\u0002\u0188", - "\u0189\u0007\u0011\u0002\u0002\u0189\u018b\u0005.\u0018\u0002\u018a", - "\u0188\u0003\u0002\u0002\u0002\u018b\u018e\u0003\u0002\u0002\u0002\u018c", - "\u018a\u0003\u0002\u0002\u0002\u018c\u018d\u0003\u0002\u0002\u0002\u018d", - "\u018f\u0003\u0002\u0002\u0002\u018e\u018c\u0003\u0002\u0002\u0002\u018f", - "\u0190\u0007\u0012\u0002\u0002\u01901\u0003\u0002\u0002\u0002\u0191", - "\u019a\u0007\u0017\u0002\u0002\u0192\u0197\u00054\u001b\u0002\u0193", - "\u0194\u0007\u0011\u0002\u0002\u0194\u0196\u00054\u001b\u0002\u0195", - "\u0193\u0003\u0002\u0002\u0002\u0196\u0199\u0003\u0002\u0002\u0002\u0197", - "\u0195\u0003\u0002\u0002\u0002\u0197\u0198\u0003\u0002\u0002\u0002\u0198", - "\u019b\u0003\u0002\u0002\u0002\u0199\u0197\u0003\u0002\u0002\u0002\u019a", - "\u0192\u0003\u0002\u0002\u0002\u019a\u019b\u0003\u0002\u0002\u0002\u019b", - "\u019c\u0003\u0002\u0002\u0002\u019c\u019d\u0007\u0018\u0002\u0002\u019d", - "3\u0003\u0002\u0002\u0002\u019e\u01a0\u0005@!\u0002\u019f\u01a1\u0005", - "H%\u0002\u01a0\u019f\u0003\u0002\u0002\u0002\u01a0\u01a1\u0003\u0002", - "\u0002\u0002\u01a1\u01a3\u0003\u0002\u0002\u0002\u01a2\u01a4\u0005\u00a8", - "U\u0002\u01a3\u01a2\u0003\u0002\u0002\u0002\u01a3\u01a4\u0003\u0002", - "\u0002\u0002\u01a45\u0003\u0002\u0002\u0002\u01a5\u01ae\u0007\u0017", - "\u0002\u0002\u01a6\u01ab\u00058\u001d\u0002\u01a7\u01a8\u0007\u0011", - "\u0002\u0002\u01a8\u01aa\u00058\u001d\u0002\u01a9\u01a7\u0003\u0002", - "\u0002\u0002\u01aa\u01ad\u0003\u0002\u0002\u0002\u01ab\u01a9\u0003\u0002", - "\u0002\u0002\u01ab\u01ac\u0003\u0002\u0002\u0002\u01ac\u01af\u0003\u0002", - "\u0002\u0002\u01ad\u01ab\u0003\u0002\u0002\u0002\u01ae\u01a6\u0003\u0002", - "\u0002\u0002\u01ae\u01af\u0003\u0002\u0002\u0002\u01af\u01b0\u0003\u0002", - "\u0002\u0002\u01b0\u01b1\u0007\u0018\u0002\u0002\u01b17\u0003\u0002", - "\u0002\u0002\u01b2\u01b4\u0005@!\u0002\u01b3\u01b5\u0007n\u0002\u0002", - "\u01b4\u01b3\u0003\u0002\u0002\u0002\u01b4\u01b5\u0003\u0002\u0002\u0002", - "\u01b5\u01b7\u0003\u0002\u0002\u0002\u01b6\u01b8\u0005\u00a8U\u0002", - "\u01b7\u01b6\u0003\u0002\u0002\u0002\u01b7\u01b8\u0003\u0002\u0002\u0002", - "\u01b89\u0003\u0002\u0002\u0002\u01b9\u01c2\u0007\u0017\u0002\u0002", - "\u01ba\u01bf\u0005<\u001f\u0002\u01bb\u01bc\u0007\u0011\u0002\u0002", - "\u01bc\u01be\u0005<\u001f\u0002\u01bd\u01bb\u0003\u0002\u0002\u0002", - "\u01be\u01c1\u0003\u0002\u0002\u0002\u01bf\u01bd\u0003\u0002\u0002\u0002", - "\u01bf\u01c0\u0003\u0002\u0002\u0002\u01c0\u01c3\u0003\u0002\u0002\u0002", - "\u01c1\u01bf\u0003\u0002\u0002\u0002\u01c2\u01ba\u0003\u0002\u0002\u0002", - "\u01c2\u01c3\u0003\u0002\u0002\u0002\u01c3\u01c4\u0003\u0002\u0002\u0002", - "\u01c4\u01c5\u0007\u0018\u0002\u0002\u01c5;\u0003\u0002\u0002\u0002", - "\u01c6\u01c8\u0005@!\u0002\u01c7\u01c9\u0005H%\u0002\u01c8\u01c7\u0003", - "\u0002\u0002\u0002\u01c8\u01c9\u0003\u0002\u0002\u0002\u01c9=\u0003", - "\u0002\u0002\u0002\u01ca\u01cc\u0005@!\u0002\u01cb\u01cd\u0005H%\u0002", - "\u01cc\u01cb\u0003\u0002\u0002\u0002\u01cc\u01cd\u0003\u0002\u0002\u0002", - "\u01cd\u01ce\u0003\u0002\u0002\u0002\u01ce\u01cf\u0005\u00a8U\u0002", - "\u01cf?\u0003\u0002\u0002\u0002\u01d0\u01d1\b!\u0001\u0002\u01d1\u01d8", - "\u0005n8\u0002\u01d2\u01d8\u0005B\"\u0002\u01d3\u01d8\u0005D#\u0002", - "\u01d4\u01d8\u0005F$\u0002\u01d5\u01d6\u0007$\u0002\u0002\u01d6\u01d8", - "\u0007p\u0002\u0002\u01d7\u01d0\u0003\u0002\u0002\u0002\u01d7\u01d2", - "\u0003\u0002\u0002\u0002\u01d7\u01d3\u0003\u0002\u0002\u0002\u01d7\u01d4", - "\u0003\u0002\u0002\u0002\u01d7\u01d5\u0003\u0002\u0002\u0002\u01d8\u01e1", - "\u0003\u0002\u0002\u0002\u01d9\u01da\f\u0005\u0002\u0002\u01da\u01dc", - "\u0007\"\u0002\u0002\u01db\u01dd\u0005p9\u0002\u01dc\u01db\u0003\u0002", - "\u0002\u0002\u01dc\u01dd\u0003\u0002\u0002\u0002\u01dd\u01de\u0003\u0002", - "\u0002\u0002\u01de\u01e0\u0007#\u0002\u0002\u01df\u01d9\u0003\u0002", - "\u0002\u0002\u01e0\u01e3\u0003\u0002\u0002\u0002\u01e1\u01df\u0003\u0002", - "\u0002\u0002\u01e1\u01e2\u0003\u0002\u0002\u0002\u01e2A\u0003\u0002", - "\u0002\u0002\u01e3\u01e1\u0003\u0002\u0002\u0002\u01e4\u01e9\u0005\u00a8", - "U\u0002\u01e5\u01e6\u0007%\u0002\u0002\u01e6\u01e8\u0005\u00a8U\u0002", - "\u01e7\u01e5\u0003\u0002\u0002\u0002\u01e8\u01eb\u0003\u0002\u0002\u0002", - "\u01e9\u01e7\u0003\u0002\u0002\u0002\u01e9\u01ea\u0003\u0002\u0002\u0002", - "\u01eaC\u0003\u0002\u0002\u0002\u01eb\u01e9\u0003\u0002\u0002\u0002", - "\u01ec\u01ed\u0007&\u0002\u0002\u01ed\u01ee\u0007\u0017\u0002\u0002", - "\u01ee\u01ef\u0005n8\u0002\u01ef\u01f0\u0007\'\u0002\u0002\u01f0\u01f1", - "\u0005@!\u0002\u01f1\u01f2\u0007\u0018\u0002\u0002\u01f2E\u0003\u0002", - "\u0002\u0002\u01f3\u01f4\u0007\u001e\u0002\u0002\u01f4\u01fa\u0005:", - "\u001e\u0002\u01f5\u01f9\u0007o\u0002\u0002\u01f6\u01f9\u0007m\u0002", - "\u0002\u01f7\u01f9\u0005J&\u0002\u01f8\u01f5\u0003\u0002\u0002\u0002", - "\u01f8\u01f6\u0003\u0002\u0002\u0002\u01f8\u01f7\u0003\u0002\u0002\u0002", - "\u01f9\u01fc\u0003\u0002\u0002\u0002\u01fa\u01f8\u0003\u0002\u0002\u0002", - "\u01fa\u01fb\u0003\u0002\u0002\u0002\u01fb\u01ff\u0003\u0002\u0002\u0002", - "\u01fc\u01fa\u0003\u0002\u0002\u0002\u01fd\u01fe\u0007\u001f\u0002\u0002", - "\u01fe\u0200\u0005:\u001e\u0002\u01ff\u01fd\u0003\u0002\u0002\u0002", - "\u01ff\u0200\u0003\u0002\u0002\u0002\u0200G\u0003\u0002\u0002\u0002", - "\u0201\u0202\t\u0005\u0002\u0002\u0202I\u0003\u0002\u0002\u0002\u0203", - "\u0204\t\u0006\u0002\u0002\u0204K\u0003\u0002\u0002\u0002\u0205\u0209", - "\u0007\u0010\u0002\u0002\u0206\u0208\u0005N(\u0002\u0207\u0206\u0003", - "\u0002\u0002\u0002\u0208\u020b\u0003\u0002\u0002\u0002\u0209\u0207\u0003", - "\u0002\u0002\u0002\u0209\u020a\u0003\u0002\u0002\u0002\u020a\u020c\u0003", - "\u0002\u0002\u0002\u020b\u0209\u0003\u0002\u0002\u0002\u020c\u020d\u0007", - "\u0012\u0002\u0002\u020dM\u0003\u0002\u0002\u0002\u020e\u021b\u0005", - "R*\u0002\u020f\u021b\u0005T+\u0002\u0210\u021b\u0005X-\u0002\u0211\u021b", - "\u0005L\'\u0002\u0212\u021b\u0005Z.\u0002\u0213\u021b\u0005\\/\u0002", - "\u0214\u021b\u0005^0\u0002\u0215\u021b\u0005`1\u0002\u0216\u021b\u0005", - "b2\u0002\u0217\u021b\u0005d3\u0002\u0218\u021b\u0005f4\u0002\u0219\u021b", - "\u0005V,\u0002\u021a\u020e\u0003\u0002\u0002\u0002\u021a\u020f\u0003", - "\u0002\u0002\u0002\u021a\u0210\u0003\u0002\u0002\u0002\u021a\u0211\u0003", - "\u0002\u0002\u0002\u021a\u0212\u0003\u0002\u0002\u0002\u021a\u0213\u0003", - "\u0002\u0002\u0002\u021a\u0214\u0003\u0002\u0002\u0002\u021a\u0215\u0003", - "\u0002\u0002\u0002\u021a\u0216\u0003\u0002\u0002\u0002\u021a\u0217\u0003", - "\u0002\u0002\u0002\u021a\u0218\u0003\u0002\u0002\u0002\u021a\u0219\u0003", - "\u0002\u0002\u0002\u021bO\u0003\u0002\u0002\u0002\u021c\u021d\u0005", - "p9\u0002\u021d\u021e\u0007\u0004\u0002\u0002\u021eQ\u0003\u0002\u0002", - "\u0002\u021f\u0220\u0007+\u0002\u0002\u0220\u0221\u0007\u0017\u0002", - "\u0002\u0221\u0222\u0005p9\u0002\u0222\u0223\u0007\u0018\u0002\u0002", - "\u0223\u0226\u0005N(\u0002\u0224\u0225\u0007,\u0002\u0002\u0225\u0227", - "\u0005N(\u0002\u0226\u0224\u0003\u0002\u0002\u0002\u0226\u0227\u0003", - "\u0002\u0002\u0002\u0227S\u0003\u0002\u0002\u0002\u0228\u0229\u0007", - "-\u0002\u0002\u0229\u022a\u0007\u0017\u0002\u0002\u022a\u022b\u0005", - "p9\u0002\u022b\u022c\u0007\u0018\u0002\u0002\u022c\u022d\u0005N(\u0002", - "\u022dU\u0003\u0002\u0002\u0002\u022e\u0231\u0005h5\u0002\u022f\u0231", - "\u0005P)\u0002\u0230\u022e\u0003\u0002\u0002\u0002\u0230\u022f\u0003", - "\u0002\u0002\u0002\u0231W\u0003\u0002\u0002\u0002\u0232\u0233\u0007", - "\u001a\u0002\u0002\u0233\u0236\u0007\u0017\u0002\u0002\u0234\u0237\u0005", - "V,\u0002\u0235\u0237\u0007\u0004\u0002\u0002\u0236\u0234\u0003\u0002", - "\u0002\u0002\u0236\u0235\u0003\u0002\u0002\u0002\u0237\u0239\u0003\u0002", - "\u0002\u0002\u0238\u023a\u0005p9\u0002\u0239\u0238\u0003\u0002\u0002", - "\u0002\u0239\u023a\u0003\u0002\u0002\u0002\u023a\u023b\u0003\u0002\u0002", - "\u0002\u023b\u023d\u0007\u0004\u0002\u0002\u023c\u023e\u0005p9\u0002", - "\u023d\u023c\u0003\u0002\u0002\u0002\u023d\u023e\u0003\u0002\u0002\u0002", - "\u023e\u023f\u0003\u0002\u0002\u0002\u023f\u0240\u0007\u0018\u0002\u0002", - "\u0240\u0241\u0005N(\u0002\u0241Y\u0003\u0002\u0002\u0002\u0242\u0244", - "\u0007.\u0002\u0002\u0243\u0245\u0007v\u0002\u0002\u0244\u0243\u0003", - "\u0002\u0002\u0002\u0244\u0245\u0003\u0002\u0002\u0002\u0245\u0246\u0003", - "\u0002\u0002\u0002\u0246\u0247\u0005~@\u0002\u0247[\u0003\u0002\u0002", - "\u0002\u0248\u0249\u0007/\u0002\u0002\u0249\u024a\u0005N(\u0002\u024a", - "\u024b\u0007-\u0002\u0002\u024b\u024c\u0007\u0017\u0002\u0002\u024c", - "\u024d\u0005p9\u0002\u024d\u024e\u0007\u0018\u0002\u0002\u024e\u024f", - "\u0007\u0004\u0002\u0002\u024f]\u0003\u0002\u0002\u0002\u0250\u0251", - "\u0007l\u0002\u0002\u0251\u0252\u0007\u0004\u0002\u0002\u0252_\u0003", - "\u0002\u0002\u0002\u0253\u0254\u0007j\u0002\u0002\u0254\u0255\u0007", - "\u0004\u0002\u0002\u0255a\u0003\u0002\u0002\u0002\u0256\u0258\u0007", - "0\u0002\u0002\u0257\u0259\u0005p9\u0002\u0258\u0257\u0003\u0002\u0002", - "\u0002\u0258\u0259\u0003\u0002\u0002\u0002\u0259\u025a\u0003\u0002\u0002", - "\u0002\u025a\u025b\u0007\u0004\u0002\u0002\u025bc\u0003\u0002\u0002", - "\u0002\u025c\u025d\u00071\u0002\u0002\u025d\u025e\u0007\u0004\u0002", - "\u0002\u025ee\u0003\u0002\u0002\u0002\u025f\u0260\u00072\u0002\u0002", - "\u0260\u0261\u0005|?\u0002\u0261\u0262\u0007\u0004\u0002\u0002\u0262", - "g\u0003\u0002\u0002\u0002\u0263\u0264\u00073\u0002\u0002\u0264\u026b", - "\u0005l7\u0002\u0265\u026b\u0005> \u0002\u0266\u0267\u0007\u0017\u0002", - "\u0002\u0267\u0268\u0005j6\u0002\u0268\u0269\u0007\u0018\u0002\u0002", - "\u0269\u026b\u0003\u0002\u0002\u0002\u026a\u0263\u0003\u0002\u0002\u0002", - "\u026a\u0265\u0003\u0002\u0002\u0002\u026a\u0266\u0003\u0002\u0002\u0002", - "\u026b\u026e\u0003\u0002\u0002\u0002\u026c\u026d\u0007\u000b\u0002\u0002", - "\u026d\u026f\u0005p9\u0002\u026e\u026c\u0003\u0002\u0002\u0002\u026e", - "\u026f\u0003\u0002\u0002\u0002\u026f\u0270\u0003\u0002\u0002\u0002\u0270", - "\u0271\u0007\u0004\u0002\u0002\u0271i\u0003\u0002\u0002\u0002\u0272", - "\u0274\u0005> \u0002\u0273\u0272\u0003\u0002\u0002\u0002\u0273\u0274", - "\u0003\u0002\u0002\u0002\u0274\u027b\u0003\u0002\u0002\u0002\u0275\u0277", - "\u0007\u0011\u0002\u0002\u0276\u0278\u0005> \u0002\u0277\u0276\u0003", - "\u0002\u0002\u0002\u0277\u0278\u0003\u0002\u0002\u0002\u0278\u027a\u0003", - "\u0002\u0002\u0002\u0279\u0275\u0003\u0002\u0002\u0002\u027a\u027d\u0003", - "\u0002\u0002\u0002\u027b\u0279\u0003\u0002\u0002\u0002\u027b\u027c\u0003", - "\u0002\u0002\u0002\u027ck\u0003\u0002\u0002\u0002\u027d\u027b\u0003", - "\u0002\u0002\u0002\u027e\u0285\u0007\u0017\u0002\u0002\u027f\u0281\u0005", - "\u00a8U\u0002\u0280\u027f\u0003\u0002\u0002\u0002\u0280\u0281\u0003", - "\u0002\u0002\u0002\u0281\u0282\u0003\u0002\u0002\u0002\u0282\u0284\u0007", - "\u0011\u0002\u0002\u0283\u0280\u0003\u0002\u0002\u0002\u0284\u0287\u0003", - "\u0002\u0002\u0002\u0285\u0283\u0003\u0002\u0002\u0002\u0285\u0286\u0003", - "\u0002\u0002\u0002\u0286\u0289\u0003\u0002\u0002\u0002\u0287\u0285\u0003", - "\u0002\u0002\u0002\u0288\u028a\u0005\u00a8U\u0002\u0289\u0288\u0003", - "\u0002\u0002\u0002\u0289\u028a\u0003\u0002\u0002\u0002\u028a\u028b\u0003", - "\u0002\u0002\u0002\u028b\u028c\u0007\u0018\u0002\u0002\u028cm\u0003", - "\u0002\u0002\u0002\u028d\u028e\t\u0007\u0002\u0002\u028eo\u0003\u0002", - "\u0002\u0002\u028f\u0290\b9\u0001\u0002\u0290\u0291\u00079\u0002\u0002", - "\u0291\u02a2\u0005@!\u0002\u0292\u0293\u0007\u0017\u0002\u0002\u0293", - "\u0294\u0005p9\u0002\u0294\u0295\u0007\u0018\u0002\u0002\u0295\u02a2", - "\u0003\u0002\u0002\u0002\u0296\u0297\t\b\u0002\u0002\u0297\u02a2\u0005", - "p9\u0015\u0298\u0299\t\t\u0002\u0002\u0299\u02a2\u0005p9\u0014\u029a", - "\u029b\t\n\u0002\u0002\u029b\u02a2\u0005p9\u0013\u029c\u029d\u0007>", - "\u0002\u0002\u029d\u02a2\u0005p9\u0012\u029e\u029f\u0007\u0006\u0002", - "\u0002\u029f\u02a2\u0005p9\u0011\u02a0\u02a2\u0005r:\u0002\u02a1\u028f", - "\u0003\u0002\u0002\u0002\u02a1\u0292\u0003\u0002\u0002\u0002\u02a1\u0296", - "\u0003\u0002\u0002\u0002\u02a1\u0298\u0003\u0002\u0002\u0002\u02a1\u029a", - "\u0003\u0002\u0002\u0002\u02a1\u029c\u0003\u0002\u0002\u0002\u02a1\u029e", - "\u0003\u0002\u0002\u0002\u02a1\u02a0\u0003\u0002\u0002\u0002\u02a2\u02de", - "\u0003\u0002\u0002\u0002\u02a3\u02a4\f\u0010\u0002\u0002\u02a4\u02a5", - "\u0007?\u0002\u0002\u02a5\u02dd\u0005p9\u0011\u02a6\u02a7\f\u000f\u0002", - "\u0002\u02a7\u02a8\t\u000b\u0002\u0002\u02a8\u02dd\u0005p9\u0010\u02a9", - "\u02aa\f\u000e\u0002\u0002\u02aa\u02ab\t\t\u0002\u0002\u02ab\u02dd\u0005", - "p9\u000f\u02ac\u02ad\f\r\u0002\u0002\u02ad\u02ae\t\f\u0002\u0002\u02ae", - "\u02dd\u0005p9\u000e\u02af\u02b0\f\f\u0002\u0002\u02b0\u02b1\u0007D", - "\u0002\u0002\u02b1\u02dd\u0005p9\r\u02b2\u02b3\f\u000b\u0002\u0002\u02b3", - "\u02b4\u0007\u0005\u0002\u0002\u02b4\u02dd\u0005p9\f\u02b5\u02b6\f\n", - "\u0002\u0002\u02b6\u02b7\u0007E\u0002\u0002\u02b7\u02dd\u0005p9\u000b", - "\u02b8\u02b9\f\t\u0002\u0002\u02b9\u02ba\t\r\u0002\u0002\u02ba\u02dd", - "\u0005p9\n\u02bb\u02bc\f\b\u0002\u0002\u02bc\u02bd\t\u000e\u0002\u0002", - "\u02bd\u02dd\u0005p9\t\u02be\u02bf\f\u0007\u0002\u0002\u02bf\u02c0\u0007", - "H\u0002\u0002\u02c0\u02dd\u0005p9\b\u02c1\u02c2\f\u0006\u0002\u0002", - "\u02c2\u02c3\u0007I\u0002\u0002\u02c3\u02dd\u0005p9\u0007\u02c4\u02c5", - "\f\u0005\u0002\u0002\u02c5\u02c6\u0007J\u0002\u0002\u02c6\u02c7\u0005", - "p9\u0002\u02c7\u02c8\u0007K\u0002\u0002\u02c8\u02c9\u0005p9\u0006\u02c9", - "\u02dd\u0003\u0002\u0002\u0002\u02ca\u02cb\f\u0004\u0002\u0002\u02cb", - "\u02cc\t\u000f\u0002\u0002\u02cc\u02dd\u0005p9\u0005\u02cd\u02ce\f\u001b", - "\u0002\u0002\u02ce\u02dd\t\b\u0002\u0002\u02cf\u02d0\f\u0019\u0002\u0002", - "\u02d0\u02d1\u0007\"\u0002\u0002\u02d1\u02d2\u0005p9\u0002\u02d2\u02d3", - "\u0007#\u0002\u0002\u02d3\u02dd\u0003\u0002\u0002\u0002\u02d4\u02d5", - "\f\u0018\u0002\u0002\u02d5\u02d6\u0007\u0017\u0002\u0002\u02d6\u02d7", - "\u0005z>\u0002\u02d7\u02d8\u0007\u0018\u0002\u0002\u02d8\u02dd\u0003", - "\u0002\u0002\u0002\u02d9\u02da\f\u0017\u0002\u0002\u02da\u02db\u0007", - "%\u0002\u0002\u02db\u02dd\u0005\u00a8U\u0002\u02dc\u02a3\u0003\u0002", - "\u0002\u0002\u02dc\u02a6\u0003\u0002\u0002\u0002\u02dc\u02a9\u0003\u0002", - "\u0002\u0002\u02dc\u02ac\u0003\u0002\u0002\u0002\u02dc\u02af\u0003\u0002", - "\u0002\u0002\u02dc\u02b2\u0003\u0002\u0002\u0002\u02dc\u02b5\u0003\u0002", - "\u0002\u0002\u02dc\u02b8\u0003\u0002\u0002\u0002\u02dc\u02bb\u0003\u0002", - "\u0002\u0002\u02dc\u02be\u0003\u0002\u0002\u0002\u02dc\u02c1\u0003\u0002", - "\u0002\u0002\u02dc\u02c4\u0003\u0002\u0002\u0002\u02dc\u02ca\u0003\u0002", - "\u0002\u0002\u02dc\u02cd\u0003\u0002\u0002\u0002\u02dc\u02cf\u0003\u0002", - "\u0002\u0002\u02dc\u02d4\u0003\u0002\u0002\u0002\u02dc\u02d9\u0003\u0002", - "\u0002\u0002\u02dd\u02e0\u0003\u0002\u0002\u0002\u02de\u02dc\u0003\u0002", - "\u0002\u0002\u02de\u02df\u0003\u0002\u0002\u0002\u02dfq\u0003\u0002", - "\u0002\u0002\u02e0\u02de\u0003\u0002\u0002\u0002\u02e1\u02e9\u0007c", - "\u0002\u0002\u02e2\u02e9\u0005\u00a6T\u0002\u02e3\u02e9\u0007g\u0002", - "\u0002\u02e4\u02e9\u0007v\u0002\u0002\u02e5\u02e9\u0005\u00a8U\u0002", - "\u02e6\u02e9\u0005\u00a2R\u0002\u02e7\u02e9\u0005\u00a4S\u0002\u02e8", - "\u02e1\u0003\u0002\u0002\u0002\u02e8\u02e2\u0003\u0002\u0002\u0002\u02e8", - "\u02e3\u0003\u0002\u0002\u0002\u02e8\u02e4\u0003\u0002\u0002\u0002\u02e8", - "\u02e5\u0003\u0002\u0002\u0002\u02e8\u02e6\u0003\u0002\u0002\u0002\u02e8", - "\u02e7\u0003\u0002\u0002\u0002\u02e9s\u0003\u0002\u0002\u0002\u02ea", - "\u02ef\u0005p9\u0002\u02eb\u02ec\u0007\u0011\u0002\u0002\u02ec\u02ee", - "\u0005p9\u0002\u02ed\u02eb\u0003\u0002\u0002\u0002\u02ee\u02f1\u0003", - "\u0002\u0002\u0002\u02ef\u02ed\u0003\u0002\u0002\u0002\u02ef\u02f0\u0003", - "\u0002\u0002\u0002\u02f0u\u0003\u0002\u0002\u0002\u02f1\u02ef\u0003", - "\u0002\u0002\u0002\u02f2\u02f7\u0005x=\u0002\u02f3\u02f4\u0007\u0011", - "\u0002\u0002\u02f4\u02f6\u0005x=\u0002\u02f5\u02f3\u0003\u0002\u0002", - "\u0002\u02f6\u02f9\u0003\u0002\u0002\u0002\u02f7\u02f5\u0003\u0002\u0002", - "\u0002\u02f7\u02f8\u0003\u0002\u0002\u0002\u02f8\u02fb\u0003\u0002\u0002", - "\u0002\u02f9\u02f7\u0003\u0002\u0002\u0002\u02fa\u02fc\u0007\u0011\u0002", - "\u0002\u02fb\u02fa\u0003\u0002\u0002\u0002\u02fb\u02fc\u0003\u0002\u0002", - "\u0002\u02fcw\u0003\u0002\u0002\u0002\u02fd\u02fe\u0005\u00a8U\u0002", - "\u02fe\u02ff\u0007K\u0002\u0002\u02ff\u0300\u0005p9\u0002\u0300y\u0003", - "\u0002\u0002\u0002\u0301\u0303\u0007\u0010\u0002\u0002\u0302\u0304\u0005", - "v<\u0002\u0303\u0302\u0003\u0002\u0002\u0002\u0303\u0304\u0003\u0002", - "\u0002\u0002\u0304\u0305\u0003\u0002\u0002\u0002\u0305\u030a\u0007\u0012", - "\u0002\u0002\u0306\u0308\u0005t;\u0002\u0307\u0306\u0003\u0002\u0002", - "\u0002\u0307\u0308\u0003\u0002\u0002\u0002\u0308\u030a\u0003\u0002\u0002", - "\u0002\u0309\u0301\u0003\u0002\u0002\u0002\u0309\u0307\u0003\u0002\u0002", - "\u0002\u030a{\u0003\u0002\u0002\u0002\u030b\u030c\u0005p9\u0002\u030c", - "\u030d\u0007\u0017\u0002\u0002\u030d\u030e\u0005z>\u0002\u030e\u030f", - "\u0007\u0018\u0002\u0002\u030f}\u0003\u0002\u0002\u0002\u0310\u0314", - "\u0007\u0010\u0002\u0002\u0311\u0313\u0005\u0080A\u0002\u0312\u0311", - "\u0003\u0002\u0002\u0002\u0313\u0316\u0003\u0002\u0002\u0002\u0314\u0312", - "\u0003\u0002\u0002\u0002\u0314\u0315\u0003\u0002\u0002\u0002\u0315\u0317", - "\u0003\u0002\u0002\u0002\u0316\u0314\u0003\u0002\u0002\u0002\u0317\u0318", - "\u0007\u0012\u0002\u0002\u0318\u007f\u0003\u0002\u0002\u0002\u0319\u032b", - "\u0005\u00a8U\u0002\u031a\u032b\u0005~@\u0002\u031b\u032b\u0005\u0082", - "B\u0002\u031c\u032b\u0005\u0086D\u0002\u031d\u032b\u0005\u0088E\u0002", - "\u031e\u032b\u0005\u008eH\u0002\u031f\u032b\u0005\u0090I\u0002\u0320", - "\u032b\u0005\u0092J\u0002\u0321\u032b\u0005\u0096L\u0002\u0322\u032b", - "\u0005\u009aN\u0002\u0323\u032b\u0005\u009cO\u0002\u0324\u032b\u0007", - "j\u0002\u0002\u0325\u032b\u0007l\u0002\u0002\u0326\u032b\u0005\u00a0", - "Q\u0002\u0327\u032b\u0005\u00a6T\u0002\u0328\u032b\u0007v\u0002\u0002", - "\u0329\u032b\u0007g\u0002\u0002\u032a\u0319\u0003\u0002\u0002\u0002", - "\u032a\u031a\u0003\u0002\u0002\u0002\u032a\u031b\u0003\u0002\u0002\u0002", - "\u032a\u031c\u0003\u0002\u0002\u0002\u032a\u031d\u0003\u0002\u0002\u0002", - "\u032a\u031e\u0003\u0002\u0002\u0002\u032a\u031f\u0003\u0002\u0002\u0002", - "\u032a\u0320\u0003\u0002\u0002\u0002\u032a\u0321\u0003\u0002\u0002\u0002", - "\u032a\u0322\u0003\u0002\u0002\u0002\u032a\u0323\u0003\u0002\u0002\u0002", - "\u032a\u0324\u0003\u0002\u0002\u0002\u032a\u0325\u0003\u0002\u0002\u0002", - "\u032a\u0326\u0003\u0002\u0002\u0002\u032a\u0327\u0003\u0002\u0002\u0002", - "\u032a\u0328\u0003\u0002\u0002\u0002\u032a\u0329\u0003\u0002\u0002\u0002", - "\u032b\u0081\u0003\u0002\u0002\u0002\u032c\u032f\u0005\u0084C\u0002", - "\u032d\u032f\u0005\u009eP\u0002\u032e\u032c\u0003\u0002\u0002\u0002", - "\u032e\u032d\u0003\u0002\u0002\u0002\u032f\u0083\u0003\u0002\u0002\u0002", - "\u0330\u0335\u00070\u0002\u0002\u0331\u0335\u0007$\u0002\u0002\u0332", - "\u0335\u00076\u0002\u0002\u0333\u0335\u0005\u00a8U\u0002\u0334\u0330", - "\u0003\u0002\u0002\u0002\u0334\u0331\u0003\u0002\u0002\u0002\u0334\u0332", - "\u0003\u0002\u0002\u0002\u0334\u0333\u0003\u0002\u0002\u0002\u0335\u0342", - "\u0003\u0002\u0002\u0002\u0336\u0338\u0007\u0017\u0002\u0002\u0337\u0339", - "\u0005\u0082B\u0002\u0338\u0337\u0003\u0002\u0002\u0002\u0338\u0339", - "\u0003\u0002\u0002\u0002\u0339\u033e\u0003\u0002\u0002\u0002\u033a\u033b", - "\u0007\u0011\u0002\u0002\u033b\u033d\u0005\u0082B\u0002\u033c\u033a", - "\u0003\u0002\u0002\u0002\u033d\u0340\u0003\u0002\u0002\u0002\u033e\u033c", - "\u0003\u0002\u0002\u0002\u033e\u033f\u0003\u0002\u0002\u0002\u033f\u0341", - "\u0003\u0002\u0002\u0002\u0340\u033e\u0003\u0002\u0002\u0002\u0341\u0343", - "\u0007\u0018\u0002\u0002\u0342\u0336\u0003\u0002\u0002\u0002\u0342\u0343", - "\u0003\u0002\u0002\u0002\u0343\u0085\u0003\u0002\u0002\u0002\u0344\u0345", - "\u0007V\u0002\u0002\u0345\u0348\u0005\u008aF\u0002\u0346\u0347\u0007", - "W\u0002\u0002\u0347\u0349\u0005\u0082B\u0002\u0348\u0346\u0003\u0002", - "\u0002\u0002\u0348\u0349\u0003\u0002\u0002\u0002\u0349\u0087\u0003\u0002", - "\u0002\u0002\u034a\u034b\u0005\u008aF\u0002\u034b\u034c\u0007W\u0002", - "\u0002\u034c\u034d\u0005\u0082B\u0002\u034d\u0089\u0003\u0002\u0002", - "\u0002\u034e\u0354\u0005\u00a8U\u0002\u034f\u0350\u0007\u0017\u0002", - "\u0002\u0350\u0351\u0005\u008cG\u0002\u0351\u0352\u0007\u0018\u0002", - "\u0002\u0352\u0354\u0003\u0002\u0002\u0002\u0353\u034e\u0003\u0002\u0002", - "\u0002\u0353\u034f\u0003\u0002\u0002\u0002\u0354\u008b\u0003\u0002\u0002", - "\u0002\u0355\u035a\u0005\u00a8U\u0002\u0356\u0357\u0007\u0011\u0002", - "\u0002\u0357\u0359\u0005\u00a8U\u0002\u0358\u0356\u0003\u0002\u0002", - "\u0002\u0359\u035c\u0003\u0002\u0002\u0002\u035a\u0358\u0003\u0002\u0002", - "\u0002\u035a\u035b\u0003\u0002\u0002\u0002\u035b\u008d\u0003\u0002\u0002", - "\u0002\u035c\u035a\u0003\u0002\u0002\u0002\u035d\u035e\u0007X\u0002", - "\u0002\u035e\u035f\u0005\u00a8U\u0002\u035f\u008f\u0003\u0002\u0002", - "\u0002\u0360\u0361\u0005\u00a8U\u0002\u0361\u0362\u0007K\u0002\u0002", - "\u0362\u0091\u0003\u0002\u0002\u0002\u0363\u0364\u0007Y\u0002\u0002", - "\u0364\u0368\u0005\u0082B\u0002\u0365\u0367\u0005\u0094K\u0002\u0366", - "\u0365\u0003\u0002\u0002\u0002\u0367\u036a\u0003\u0002\u0002\u0002\u0368", - "\u0366\u0003\u0002\u0002\u0002\u0368\u0369\u0003\u0002\u0002\u0002\u0369", - "\u0093\u0003\u0002\u0002\u0002\u036a\u0368\u0003\u0002\u0002\u0002\u036b", - "\u036c\u0007Z\u0002\u0002\u036c\u036d\u0005\u009eP\u0002\u036d\u036e", - "\u0005~@\u0002\u036e\u0372\u0003\u0002\u0002\u0002\u036f\u0370\u0007", - "[\u0002\u0002\u0370\u0372\u0005~@\u0002\u0371\u036b\u0003\u0002\u0002", - "\u0002\u0371\u036f\u0003\u0002\u0002\u0002\u0372\u0095\u0003\u0002\u0002", - "\u0002\u0373\u0374\u0007\u001e\u0002\u0002\u0374\u0375\u0005\u00a8U", - "\u0002\u0375\u0377\u0007\u0017\u0002\u0002\u0376\u0378\u0005\u008cG", - "\u0002\u0377\u0376\u0003\u0002\u0002\u0002\u0377\u0378\u0003\u0002\u0002", - "\u0002\u0378\u0379\u0003\u0002\u0002\u0002\u0379\u037b\u0007\u0018\u0002", - "\u0002\u037a\u037c\u0005\u0098M\u0002\u037b\u037a\u0003\u0002\u0002", - "\u0002\u037b\u037c\u0003\u0002\u0002\u0002\u037c\u037d\u0003\u0002\u0002", - "\u0002\u037d\u037e\u0005~@\u0002\u037e\u0097\u0003\u0002\u0002\u0002", - "\u037f\u0380\u0007\\\u0002\u0002\u0380\u0381\u0005\u008cG\u0002\u0381", - "\u0099\u0003\u0002\u0002\u0002\u0382\u0385\u0007\u001a\u0002\u0002\u0383", - "\u0386\u0005~@\u0002\u0384\u0386\u0005\u0082B\u0002\u0385\u0383\u0003", - "\u0002\u0002\u0002\u0385\u0384\u0003\u0002\u0002\u0002\u0386\u0387\u0003", - "\u0002\u0002\u0002\u0387\u038a\u0005\u0082B\u0002\u0388\u038b\u0005", - "~@\u0002\u0389\u038b\u0005\u0082B\u0002\u038a\u0388\u0003\u0002\u0002", - "\u0002\u038a\u0389\u0003\u0002\u0002\u0002\u038b\u038c\u0003\u0002\u0002", - "\u0002\u038c\u038d\u0005~@\u0002\u038d\u009b\u0003\u0002\u0002\u0002", - "\u038e\u038f\u0007+\u0002\u0002\u038f\u0390\u0005\u0082B\u0002\u0390", - "\u0391\u0005~@\u0002\u0391\u009d\u0003\u0002\u0002\u0002\u0392\u0393", - "\t\u0010\u0002\u0002\u0393\u009f\u0003\u0002\u0002\u0002\u0394\u0395", - "\u0007.\u0002\u0002\u0395\u0396\u0005\u00a8U\u0002\u0396\u0397\u0005", - "~@\u0002\u0397\u00a1\u0003\u0002\u0002\u0002\u0398\u039a\u0007\u0017", - "\u0002\u0002\u0399\u039b\u0005p9\u0002\u039a\u0399\u0003\u0002\u0002", - "\u0002\u039a\u039b\u0003\u0002\u0002\u0002\u039b\u03a2\u0003\u0002\u0002", - "\u0002\u039c\u039e\u0007\u0011\u0002\u0002\u039d\u039f\u0005p9\u0002", - "\u039e\u039d\u0003\u0002\u0002\u0002\u039e\u039f\u0003\u0002\u0002\u0002", - "\u039f\u03a1\u0003\u0002\u0002\u0002\u03a0\u039c\u0003\u0002\u0002\u0002", - "\u03a1\u03a4\u0003\u0002\u0002\u0002\u03a2\u03a0\u0003\u0002\u0002\u0002", - "\u03a2\u03a3\u0003\u0002\u0002\u0002\u03a3\u03a5\u0003\u0002\u0002\u0002", - "\u03a4\u03a2\u0003\u0002\u0002\u0002\u03a5\u03b3\u0007\u0018\u0002\u0002", - "\u03a6\u03af\u0007\"\u0002\u0002\u03a7\u03ac\u0005p9\u0002\u03a8\u03a9", - "\u0007\u0011\u0002\u0002\u03a9\u03ab\u0005p9\u0002\u03aa\u03a8\u0003", - "\u0002\u0002\u0002\u03ab\u03ae\u0003\u0002\u0002\u0002\u03ac\u03aa\u0003", - "\u0002\u0002\u0002\u03ac\u03ad\u0003\u0002\u0002\u0002\u03ad\u03b0\u0003", - "\u0002\u0002\u0002\u03ae\u03ac\u0003\u0002\u0002\u0002\u03af\u03a7\u0003", - "\u0002\u0002\u0002\u03af\u03b0\u0003\u0002\u0002\u0002\u03b0\u03b1\u0003", - "\u0002\u0002\u0002\u03b1\u03b3\u0007#\u0002\u0002\u03b2\u0398\u0003", - "\u0002\u0002\u0002\u03b2\u03a6\u0003\u0002\u0002\u0002\u03b3\u00a3\u0003", - "\u0002\u0002\u0002\u03b4\u03b5\u0005n8\u0002\u03b5\u00a5\u0003\u0002", - "\u0002\u0002\u03b6\u03b8\t\u0011\u0002\u0002\u03b7\u03b9\u0007f\u0002", - "\u0002\u03b8\u03b7\u0003\u0002\u0002\u0002\u03b8\u03b9\u0003\u0002\u0002", - "\u0002\u03b9\u00a7\u0003\u0002\u0002\u0002\u03ba\u03bb\t\u0012\u0002", - "\u0002\u03bb\u00a9\u0003\u0002\u0002\u0002h\u00ad\u00af\u00bd\u00c1", - "\u00c6\u00cd\u00d3\u00d9\u00dd\u00e9\u00f1\u00fb\u00fe\u0104\u0110\u0115", - "\u011f\u0125\u012b\u0134\u0142\u0145\u0151\u0158\u015b\u015f\u0164\u0168", - "\u0173\u0175\u017c\u0186\u018c\u0197\u019a\u01a0\u01a3\u01ab\u01ae\u01b4", - "\u01b7\u01bf\u01c2\u01c8\u01cc\u01d7\u01dc\u01e1\u01e9\u01f8\u01fa\u01ff", - "\u0209\u021a\u0226\u0230\u0236\u0239\u023d\u0244\u0258\u026a\u026e\u0273", - "\u0277\u027b\u0280\u0285\u0289\u02a1\u02dc\u02de\u02e8\u02ef\u02f7\u02fb", - "\u0303\u0307\u0309\u0314\u032a\u032e\u0334\u0338\u033e\u0342\u0348\u0353", - "\u035a\u0368\u0371\u0377\u037b\u0385\u038a\u039a\u039e\u03a2\u03ac\u03af", - "\u03b2\u03b8"].join(""); - - -var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); - -var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); - -var sharedContextCache = new antlr4.PredictionContextCache(); - -var literalNames = [ null, "'pragma'", "';'", "'^'", "'~'", "'>='", "'>'", - "'<'", "'<='", "'='", "'as'", "'import'", "'*'", "'from'", - "'{'", "','", "'}'", "'contract'", "'interface'", "'library'", - "'is'", "'('", "')'", "'using'", "'for'", "'struct'", - "'constructor'", "'modifier'", "'function'", "'returns'", - "'event'", "'enum'", "'['", "']'", "'address'", "'.'", - "'mapping'", "'=>'", "'memory'", "'storage'", "'calldata'", - "'if'", "'else'", "'while'", "'assembly'", "'do'", - "'return'", "'throw'", "'emit'", "'var'", "'bool'", - "'string'", "'byte'", "'++'", "'--'", "'new'", "'+'", - "'-'", "'after'", "'delete'", "'!'", "'**'", "'/'", - "'%'", "'<<'", "'>>'", "'&'", "'|'", "'=='", "'!='", - "'&&'", "'||'", "'?'", "':'", "'|='", "'^='", "'&='", - "'<<='", "'>>='", "'+='", "'-='", "'*='", "'/='", "'%='", - "'let'", "':='", "'=:'", "'switch'", "'case'", "'default'", - "'->'", null, null, null, null, null, null, null, null, - null, null, null, null, "'anonymous'", "'break'", "'constant'", - "'continue'", "'external'", "'indexed'", "'internal'", - "'payable'", "'private'", "'public'", "'pure'", "'view'" ]; - -var symbolicNames = [ null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, - null, "Int", "Uint", "Byte", "Fixed", "Ufixed", "VersionLiteral", - "BooleanLiteral", "DecimalNumber", "HexNumber", "NumberUnit", - "HexLiteral", "ReservedKeyword", "AnonymousKeyword", - "BreakKeyword", "ConstantKeyword", "ContinueKeyword", - "ExternalKeyword", "IndexedKeyword", "InternalKeyword", - "PayableKeyword", "PrivateKeyword", "PublicKeyword", - "PureKeyword", "ViewKeyword", "Identifier", "StringLiteral", - "WS", "COMMENT", "LINE_COMMENT" ]; - -var ruleNames = [ "sourceUnit", "pragmaDirective", "pragmaName", "pragmaValue", - "version", "versionOperator", "versionConstraint", "importDeclaration", - "importDirective", "contractDefinition", "inheritanceSpecifier", - "contractPart", "stateVariableDeclaration", "usingForDeclaration", - "structDefinition", "constructorDefinition", "modifierDefinition", - "modifierInvocation", "functionDefinition", "returnParameters", - "modifierList", "eventDefinition", "enumValue", "enumDefinition", - "parameterList", "parameter", "eventParameterList", "eventParameter", - "functionTypeParameterList", "functionTypeParameter", - "variableDeclaration", "typeName", "userDefinedTypeName", - "mapping", "functionTypeName", "storageLocation", "stateMutability", - "block", "statement", "expressionStatement", "ifStatement", - "whileStatement", "simpleStatement", "forStatement", - "inlineAssemblyStatement", "doWhileStatement", "continueStatement", - "breakStatement", "returnStatement", "throwStatement", - "emitStatement", "variableDeclarationStatement", "variableDeclarationList", - "identifierList", "elementaryTypeName", "expression", - "primaryExpression", "expressionList", "nameValueList", - "nameValue", "functionCallArguments", "functionCall", - "assemblyBlock", "assemblyItem", "assemblyExpression", - "assemblyCall", "assemblyLocalDefinition", "assemblyAssignment", - "assemblyIdentifierOrList", "assemblyIdentifierList", - "assemblyStackAssignment", "labelDefinition", "assemblySwitch", - "assemblyCase", "assemblyFunctionDefinition", "assemblyFunctionReturns", - "assemblyFor", "assemblyIf", "assemblyLiteral", "subAssembly", - "tupleExpression", "elementaryTypeNameExpression", "numberLiteral", - "identifier" ]; - -function SolidityParser (input) { - antlr4.Parser.call(this, input); - this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache); - this.ruleNames = ruleNames; - this.literalNames = literalNames; - this.symbolicNames = symbolicNames; - return this; -} - -SolidityParser.prototype = Object.create(antlr4.Parser.prototype); -SolidityParser.prototype.constructor = SolidityParser; - -Object.defineProperty(SolidityParser.prototype, "atn", { - get : function() { - return atn; - } -}); - -SolidityParser.EOF = antlr4.Token.EOF; -SolidityParser.T__0 = 1; -SolidityParser.T__1 = 2; -SolidityParser.T__2 = 3; -SolidityParser.T__3 = 4; -SolidityParser.T__4 = 5; -SolidityParser.T__5 = 6; -SolidityParser.T__6 = 7; -SolidityParser.T__7 = 8; -SolidityParser.T__8 = 9; -SolidityParser.T__9 = 10; -SolidityParser.T__10 = 11; -SolidityParser.T__11 = 12; -SolidityParser.T__12 = 13; -SolidityParser.T__13 = 14; -SolidityParser.T__14 = 15; -SolidityParser.T__15 = 16; -SolidityParser.T__16 = 17; -SolidityParser.T__17 = 18; -SolidityParser.T__18 = 19; -SolidityParser.T__19 = 20; -SolidityParser.T__20 = 21; -SolidityParser.T__21 = 22; -SolidityParser.T__22 = 23; -SolidityParser.T__23 = 24; -SolidityParser.T__24 = 25; -SolidityParser.T__25 = 26; -SolidityParser.T__26 = 27; -SolidityParser.T__27 = 28; -SolidityParser.T__28 = 29; -SolidityParser.T__29 = 30; -SolidityParser.T__30 = 31; -SolidityParser.T__31 = 32; -SolidityParser.T__32 = 33; -SolidityParser.T__33 = 34; -SolidityParser.T__34 = 35; -SolidityParser.T__35 = 36; -SolidityParser.T__36 = 37; -SolidityParser.T__37 = 38; -SolidityParser.T__38 = 39; -SolidityParser.T__39 = 40; -SolidityParser.T__40 = 41; -SolidityParser.T__41 = 42; -SolidityParser.T__42 = 43; -SolidityParser.T__43 = 44; -SolidityParser.T__44 = 45; -SolidityParser.T__45 = 46; -SolidityParser.T__46 = 47; -SolidityParser.T__47 = 48; -SolidityParser.T__48 = 49; -SolidityParser.T__49 = 50; -SolidityParser.T__50 = 51; -SolidityParser.T__51 = 52; -SolidityParser.T__52 = 53; -SolidityParser.T__53 = 54; -SolidityParser.T__54 = 55; -SolidityParser.T__55 = 56; -SolidityParser.T__56 = 57; -SolidityParser.T__57 = 58; -SolidityParser.T__58 = 59; -SolidityParser.T__59 = 60; -SolidityParser.T__60 = 61; -SolidityParser.T__61 = 62; -SolidityParser.T__62 = 63; -SolidityParser.T__63 = 64; -SolidityParser.T__64 = 65; -SolidityParser.T__65 = 66; -SolidityParser.T__66 = 67; -SolidityParser.T__67 = 68; -SolidityParser.T__68 = 69; -SolidityParser.T__69 = 70; -SolidityParser.T__70 = 71; -SolidityParser.T__71 = 72; -SolidityParser.T__72 = 73; -SolidityParser.T__73 = 74; -SolidityParser.T__74 = 75; -SolidityParser.T__75 = 76; -SolidityParser.T__76 = 77; -SolidityParser.T__77 = 78; -SolidityParser.T__78 = 79; -SolidityParser.T__79 = 80; -SolidityParser.T__80 = 81; -SolidityParser.T__81 = 82; -SolidityParser.T__82 = 83; -SolidityParser.T__83 = 84; -SolidityParser.T__84 = 85; -SolidityParser.T__85 = 86; -SolidityParser.T__86 = 87; -SolidityParser.T__87 = 88; -SolidityParser.T__88 = 89; -SolidityParser.T__89 = 90; -SolidityParser.Int = 91; -SolidityParser.Uint = 92; -SolidityParser.Byte = 93; -SolidityParser.Fixed = 94; -SolidityParser.Ufixed = 95; -SolidityParser.VersionLiteral = 96; -SolidityParser.BooleanLiteral = 97; -SolidityParser.DecimalNumber = 98; -SolidityParser.HexNumber = 99; -SolidityParser.NumberUnit = 100; -SolidityParser.HexLiteral = 101; -SolidityParser.ReservedKeyword = 102; -SolidityParser.AnonymousKeyword = 103; -SolidityParser.BreakKeyword = 104; -SolidityParser.ConstantKeyword = 105; -SolidityParser.ContinueKeyword = 106; -SolidityParser.ExternalKeyword = 107; -SolidityParser.IndexedKeyword = 108; -SolidityParser.InternalKeyword = 109; -SolidityParser.PayableKeyword = 110; -SolidityParser.PrivateKeyword = 111; -SolidityParser.PublicKeyword = 112; -SolidityParser.PureKeyword = 113; -SolidityParser.ViewKeyword = 114; -SolidityParser.Identifier = 115; -SolidityParser.StringLiteral = 116; -SolidityParser.WS = 117; -SolidityParser.COMMENT = 118; -SolidityParser.LINE_COMMENT = 119; - -SolidityParser.RULE_sourceUnit = 0; -SolidityParser.RULE_pragmaDirective = 1; -SolidityParser.RULE_pragmaName = 2; -SolidityParser.RULE_pragmaValue = 3; -SolidityParser.RULE_version = 4; -SolidityParser.RULE_versionOperator = 5; -SolidityParser.RULE_versionConstraint = 6; -SolidityParser.RULE_importDeclaration = 7; -SolidityParser.RULE_importDirective = 8; -SolidityParser.RULE_contractDefinition = 9; -SolidityParser.RULE_inheritanceSpecifier = 10; -SolidityParser.RULE_contractPart = 11; -SolidityParser.RULE_stateVariableDeclaration = 12; -SolidityParser.RULE_usingForDeclaration = 13; -SolidityParser.RULE_structDefinition = 14; -SolidityParser.RULE_constructorDefinition = 15; -SolidityParser.RULE_modifierDefinition = 16; -SolidityParser.RULE_modifierInvocation = 17; -SolidityParser.RULE_functionDefinition = 18; -SolidityParser.RULE_returnParameters = 19; -SolidityParser.RULE_modifierList = 20; -SolidityParser.RULE_eventDefinition = 21; -SolidityParser.RULE_enumValue = 22; -SolidityParser.RULE_enumDefinition = 23; -SolidityParser.RULE_parameterList = 24; -SolidityParser.RULE_parameter = 25; -SolidityParser.RULE_eventParameterList = 26; -SolidityParser.RULE_eventParameter = 27; -SolidityParser.RULE_functionTypeParameterList = 28; -SolidityParser.RULE_functionTypeParameter = 29; -SolidityParser.RULE_variableDeclaration = 30; -SolidityParser.RULE_typeName = 31; -SolidityParser.RULE_userDefinedTypeName = 32; -SolidityParser.RULE_mapping = 33; -SolidityParser.RULE_functionTypeName = 34; -SolidityParser.RULE_storageLocation = 35; -SolidityParser.RULE_stateMutability = 36; -SolidityParser.RULE_block = 37; -SolidityParser.RULE_statement = 38; -SolidityParser.RULE_expressionStatement = 39; -SolidityParser.RULE_ifStatement = 40; -SolidityParser.RULE_whileStatement = 41; -SolidityParser.RULE_simpleStatement = 42; -SolidityParser.RULE_forStatement = 43; -SolidityParser.RULE_inlineAssemblyStatement = 44; -SolidityParser.RULE_doWhileStatement = 45; -SolidityParser.RULE_continueStatement = 46; -SolidityParser.RULE_breakStatement = 47; -SolidityParser.RULE_returnStatement = 48; -SolidityParser.RULE_throwStatement = 49; -SolidityParser.RULE_emitStatement = 50; -SolidityParser.RULE_variableDeclarationStatement = 51; -SolidityParser.RULE_variableDeclarationList = 52; -SolidityParser.RULE_identifierList = 53; -SolidityParser.RULE_elementaryTypeName = 54; -SolidityParser.RULE_expression = 55; -SolidityParser.RULE_primaryExpression = 56; -SolidityParser.RULE_expressionList = 57; -SolidityParser.RULE_nameValueList = 58; -SolidityParser.RULE_nameValue = 59; -SolidityParser.RULE_functionCallArguments = 60; -SolidityParser.RULE_functionCall = 61; -SolidityParser.RULE_assemblyBlock = 62; -SolidityParser.RULE_assemblyItem = 63; -SolidityParser.RULE_assemblyExpression = 64; -SolidityParser.RULE_assemblyCall = 65; -SolidityParser.RULE_assemblyLocalDefinition = 66; -SolidityParser.RULE_assemblyAssignment = 67; -SolidityParser.RULE_assemblyIdentifierOrList = 68; -SolidityParser.RULE_assemblyIdentifierList = 69; -SolidityParser.RULE_assemblyStackAssignment = 70; -SolidityParser.RULE_labelDefinition = 71; -SolidityParser.RULE_assemblySwitch = 72; -SolidityParser.RULE_assemblyCase = 73; -SolidityParser.RULE_assemblyFunctionDefinition = 74; -SolidityParser.RULE_assemblyFunctionReturns = 75; -SolidityParser.RULE_assemblyFor = 76; -SolidityParser.RULE_assemblyIf = 77; -SolidityParser.RULE_assemblyLiteral = 78; -SolidityParser.RULE_subAssembly = 79; -SolidityParser.RULE_tupleExpression = 80; -SolidityParser.RULE_elementaryTypeNameExpression = 81; -SolidityParser.RULE_numberLiteral = 82; -SolidityParser.RULE_identifier = 83; - -function SourceUnitContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_sourceUnit; - return this; -} - -SourceUnitContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -SourceUnitContext.prototype.constructor = SourceUnitContext; - -SourceUnitContext.prototype.EOF = function() { - return this.getToken(SolidityParser.EOF, 0); -}; - -SourceUnitContext.prototype.pragmaDirective = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(PragmaDirectiveContext); - } else { - return this.getTypedRuleContext(PragmaDirectiveContext,i); - } -}; - -SourceUnitContext.prototype.importDirective = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ImportDirectiveContext); - } else { - return this.getTypedRuleContext(ImportDirectiveContext,i); - } -}; - -SourceUnitContext.prototype.contractDefinition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ContractDefinitionContext); - } else { - return this.getTypedRuleContext(ContractDefinitionContext,i); - } -}; - -SourceUnitContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterSourceUnit(this); - } -}; - -SourceUnitContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitSourceUnit(this); - } -}; - - - - -SolidityParser.SourceUnitContext = SourceUnitContext; - -SolidityParser.prototype.sourceUnit = function() { - - var localctx = new SourceUnitContext(this, this._ctx, this.state); - this.enterRule(localctx, 0, SolidityParser.RULE_sourceUnit); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 173; - this._errHandler.sync(this); - _la = this._input.LA(1); - while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__0) | (1 << SolidityParser.T__10) | (1 << SolidityParser.T__16) | (1 << SolidityParser.T__17) | (1 << SolidityParser.T__18))) !== 0)) { - this.state = 171; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__0: - this.state = 168; - this.pragmaDirective(); - break; - case SolidityParser.T__10: - this.state = 169; - this.importDirective(); - break; - case SolidityParser.T__16: - case SolidityParser.T__17: - case SolidityParser.T__18: - this.state = 170; - this.contractDefinition(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 175; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 176; - this.match(SolidityParser.EOF); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function PragmaDirectiveContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_pragmaDirective; - return this; -} - -PragmaDirectiveContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -PragmaDirectiveContext.prototype.constructor = PragmaDirectiveContext; - -PragmaDirectiveContext.prototype.pragmaName = function() { - return this.getTypedRuleContext(PragmaNameContext,0); -}; - -PragmaDirectiveContext.prototype.pragmaValue = function() { - return this.getTypedRuleContext(PragmaValueContext,0); -}; - -PragmaDirectiveContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterPragmaDirective(this); - } -}; - -PragmaDirectiveContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitPragmaDirective(this); - } -}; - - - - -SolidityParser.PragmaDirectiveContext = PragmaDirectiveContext; - -SolidityParser.prototype.pragmaDirective = function() { - - var localctx = new PragmaDirectiveContext(this, this._ctx, this.state); - this.enterRule(localctx, 2, SolidityParser.RULE_pragmaDirective); - try { - this.enterOuterAlt(localctx, 1); - this.state = 178; - this.match(SolidityParser.T__0); - this.state = 179; - this.pragmaName(); - this.state = 180; - this.pragmaValue(); - this.state = 181; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function PragmaNameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_pragmaName; - return this; -} - -PragmaNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -PragmaNameContext.prototype.constructor = PragmaNameContext; - -PragmaNameContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -PragmaNameContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterPragmaName(this); - } -}; - -PragmaNameContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitPragmaName(this); - } -}; - - - - -SolidityParser.PragmaNameContext = PragmaNameContext; - -SolidityParser.prototype.pragmaName = function() { - - var localctx = new PragmaNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 4, SolidityParser.RULE_pragmaName); - try { - this.enterOuterAlt(localctx, 1); - this.state = 183; - this.identifier(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function PragmaValueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_pragmaValue; - return this; -} - -PragmaValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -PragmaValueContext.prototype.constructor = PragmaValueContext; - -PragmaValueContext.prototype.version = function() { - return this.getTypedRuleContext(VersionContext,0); -}; - -PragmaValueContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -PragmaValueContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterPragmaValue(this); - } -}; - -PragmaValueContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitPragmaValue(this); - } -}; - - - - -SolidityParser.PragmaValueContext = PragmaValueContext; - -SolidityParser.prototype.pragmaValue = function() { - - var localctx = new PragmaValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 6, SolidityParser.RULE_pragmaValue); - try { - this.state = 187; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,2,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 185; - this.version(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 186; - this.expression(0); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function VersionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_version; - return this; -} - -VersionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -VersionContext.prototype.constructor = VersionContext; - -VersionContext.prototype.versionConstraint = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(VersionConstraintContext); - } else { - return this.getTypedRuleContext(VersionConstraintContext,i); - } -}; - -VersionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterVersion(this); - } -}; - -VersionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitVersion(this); - } -}; - - - - -SolidityParser.VersionContext = VersionContext; - -SolidityParser.prototype.version = function() { - - var localctx = new VersionContext(this, this._ctx, this.state); - this.enterRule(localctx, 8, SolidityParser.RULE_version); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 189; - this.versionConstraint(); - this.state = 191; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__2) | (1 << SolidityParser.T__3) | (1 << SolidityParser.T__4) | (1 << SolidityParser.T__5) | (1 << SolidityParser.T__6) | (1 << SolidityParser.T__7) | (1 << SolidityParser.T__8))) !== 0) || _la===SolidityParser.VersionLiteral) { - this.state = 190; - this.versionConstraint(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function VersionOperatorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_versionOperator; - return this; -} - -VersionOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -VersionOperatorContext.prototype.constructor = VersionOperatorContext; - - -VersionOperatorContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterVersionOperator(this); - } -}; - -VersionOperatorContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitVersionOperator(this); - } -}; - - - - -SolidityParser.VersionOperatorContext = VersionOperatorContext; - -SolidityParser.prototype.versionOperator = function() { - - var localctx = new VersionOperatorContext(this, this._ctx, this.state); - this.enterRule(localctx, 10, SolidityParser.RULE_versionOperator); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 193; - _la = this._input.LA(1); - if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__2) | (1 << SolidityParser.T__3) | (1 << SolidityParser.T__4) | (1 << SolidityParser.T__5) | (1 << SolidityParser.T__6) | (1 << SolidityParser.T__7) | (1 << SolidityParser.T__8))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function VersionConstraintContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_versionConstraint; - return this; -} - -VersionConstraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -VersionConstraintContext.prototype.constructor = VersionConstraintContext; - -VersionConstraintContext.prototype.VersionLiteral = function() { - return this.getToken(SolidityParser.VersionLiteral, 0); -}; - -VersionConstraintContext.prototype.versionOperator = function() { - return this.getTypedRuleContext(VersionOperatorContext,0); -}; - -VersionConstraintContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterVersionConstraint(this); - } -}; - -VersionConstraintContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitVersionConstraint(this); - } -}; - - - - -SolidityParser.VersionConstraintContext = VersionConstraintContext; - -SolidityParser.prototype.versionConstraint = function() { - - var localctx = new VersionConstraintContext(this, this._ctx, this.state); - this.enterRule(localctx, 12, SolidityParser.RULE_versionConstraint); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 196; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__2) | (1 << SolidityParser.T__3) | (1 << SolidityParser.T__4) | (1 << SolidityParser.T__5) | (1 << SolidityParser.T__6) | (1 << SolidityParser.T__7) | (1 << SolidityParser.T__8))) !== 0)) { - this.state = 195; - this.versionOperator(); - } - - this.state = 198; - this.match(SolidityParser.VersionLiteral); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ImportDeclarationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_importDeclaration; - return this; -} - -ImportDeclarationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ImportDeclarationContext.prototype.constructor = ImportDeclarationContext; - -ImportDeclarationContext.prototype.identifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentifierContext); - } else { - return this.getTypedRuleContext(IdentifierContext,i); - } -}; - -ImportDeclarationContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterImportDeclaration(this); - } -}; - -ImportDeclarationContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitImportDeclaration(this); - } -}; - - - - -SolidityParser.ImportDeclarationContext = ImportDeclarationContext; - -SolidityParser.prototype.importDeclaration = function() { - - var localctx = new ImportDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 14, SolidityParser.RULE_importDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 200; - this.identifier(); - this.state = 203; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__9) { - this.state = 201; - this.match(SolidityParser.T__9); - this.state = 202; - this.identifier(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ImportDirectiveContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_importDirective; - return this; -} - -ImportDirectiveContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ImportDirectiveContext.prototype.constructor = ImportDirectiveContext; - -ImportDirectiveContext.prototype.StringLiteral = function() { - return this.getToken(SolidityParser.StringLiteral, 0); -}; - -ImportDirectiveContext.prototype.identifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentifierContext); - } else { - return this.getTypedRuleContext(IdentifierContext,i); - } -}; - -ImportDirectiveContext.prototype.importDeclaration = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ImportDeclarationContext); - } else { - return this.getTypedRuleContext(ImportDeclarationContext,i); - } -}; - -ImportDirectiveContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterImportDirective(this); - } -}; - -ImportDirectiveContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitImportDirective(this); - } -}; - - - - -SolidityParser.ImportDirectiveContext = ImportDirectiveContext; - -SolidityParser.prototype.importDirective = function() { - - var localctx = new ImportDirectiveContext(this, this._ctx, this.state); - this.enterRule(localctx, 16, SolidityParser.RULE_importDirective); - var _la = 0; // Token type - try { - this.state = 239; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,10,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 205; - this.match(SolidityParser.T__10); - this.state = 206; - this.match(SolidityParser.StringLiteral); - this.state = 209; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__9) { - this.state = 207; - this.match(SolidityParser.T__9); - this.state = 208; - this.identifier(); - } - - this.state = 211; - this.match(SolidityParser.T__1); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 212; - this.match(SolidityParser.T__10); - this.state = 215; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__11: - this.state = 213; - this.match(SolidityParser.T__11); - break; - case SolidityParser.T__12: - case SolidityParser.Identifier: - this.state = 214; - this.identifier(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 219; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__9) { - this.state = 217; - this.match(SolidityParser.T__9); - this.state = 218; - this.identifier(); - } - - this.state = 221; - this.match(SolidityParser.T__12); - this.state = 222; - this.match(SolidityParser.StringLiteral); - this.state = 223; - this.match(SolidityParser.T__1); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 224; - this.match(SolidityParser.T__10); - this.state = 225; - this.match(SolidityParser.T__13); - this.state = 226; - this.importDeclaration(); - this.state = 231; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 227; - this.match(SolidityParser.T__14); - this.state = 228; - this.importDeclaration(); - this.state = 233; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 234; - this.match(SolidityParser.T__15); - this.state = 235; - this.match(SolidityParser.T__12); - this.state = 236; - this.match(SolidityParser.StringLiteral); - this.state = 237; - this.match(SolidityParser.T__1); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ContractDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_contractDefinition; - return this; -} - -ContractDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ContractDefinitionContext.prototype.constructor = ContractDefinitionContext; - -ContractDefinitionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -ContractDefinitionContext.prototype.inheritanceSpecifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(InheritanceSpecifierContext); - } else { - return this.getTypedRuleContext(InheritanceSpecifierContext,i); - } -}; - -ContractDefinitionContext.prototype.contractPart = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ContractPartContext); - } else { - return this.getTypedRuleContext(ContractPartContext,i); - } -}; - -ContractDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterContractDefinition(this); - } -}; - -ContractDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitContractDefinition(this); - } -}; - - - - -SolidityParser.ContractDefinitionContext = ContractDefinitionContext; - -SolidityParser.prototype.contractDefinition = function() { - - var localctx = new ContractDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 18, SolidityParser.RULE_contractDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 241; - _la = this._input.LA(1); - if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__16) | (1 << SolidityParser.T__17) | (1 << SolidityParser.T__18))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 242; - this.identifier(); - this.state = 252; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__19) { - this.state = 243; - this.match(SolidityParser.T__19); - this.state = 244; - this.inheritanceSpecifier(); - this.state = 249; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 245; - this.match(SolidityParser.T__14); - this.state = 246; - this.inheritanceSpecifier(); - this.state = 251; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 254; - this.match(SolidityParser.T__13); - this.state = 258; - this._errHandler.sync(this); - _la = this._input.LA(1); - while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__12) | (1 << SolidityParser.T__22) | (1 << SolidityParser.T__24) | (1 << SolidityParser.T__25) | (1 << SolidityParser.T__26) | (1 << SolidityParser.T__27) | (1 << SolidityParser.T__29) | (1 << SolidityParser.T__30))) !== 0) || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__35 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.Identifier - 91)))) !== 0)) { - this.state = 255; - this.contractPart(); - this.state = 260; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 261; - this.match(SolidityParser.T__15); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function InheritanceSpecifierContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_inheritanceSpecifier; - return this; -} - -InheritanceSpecifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -InheritanceSpecifierContext.prototype.constructor = InheritanceSpecifierContext; - -InheritanceSpecifierContext.prototype.userDefinedTypeName = function() { - return this.getTypedRuleContext(UserDefinedTypeNameContext,0); -}; - -InheritanceSpecifierContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -InheritanceSpecifierContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterInheritanceSpecifier(this); - } -}; - -InheritanceSpecifierContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitInheritanceSpecifier(this); - } -}; - - - - -SolidityParser.InheritanceSpecifierContext = InheritanceSpecifierContext; - -SolidityParser.prototype.inheritanceSpecifier = function() { - - var localctx = new InheritanceSpecifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 20, SolidityParser.RULE_inheritanceSpecifier); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 263; - this.userDefinedTypeName(); - this.state = 275; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__20) { - this.state = 264; - this.match(SolidityParser.T__20); - this.state = 265; - this.expression(0); - this.state = 270; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 266; - this.match(SolidityParser.T__14); - this.state = 267; - this.expression(0); - this.state = 272; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 273; - this.match(SolidityParser.T__21); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ContractPartContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_contractPart; - return this; -} - -ContractPartContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ContractPartContext.prototype.constructor = ContractPartContext; - -ContractPartContext.prototype.stateVariableDeclaration = function() { - return this.getTypedRuleContext(StateVariableDeclarationContext,0); -}; - -ContractPartContext.prototype.usingForDeclaration = function() { - return this.getTypedRuleContext(UsingForDeclarationContext,0); -}; - -ContractPartContext.prototype.structDefinition = function() { - return this.getTypedRuleContext(StructDefinitionContext,0); -}; - -ContractPartContext.prototype.constructorDefinition = function() { - return this.getTypedRuleContext(ConstructorDefinitionContext,0); -}; - -ContractPartContext.prototype.modifierDefinition = function() { - return this.getTypedRuleContext(ModifierDefinitionContext,0); -}; - -ContractPartContext.prototype.functionDefinition = function() { - return this.getTypedRuleContext(FunctionDefinitionContext,0); -}; - -ContractPartContext.prototype.eventDefinition = function() { - return this.getTypedRuleContext(EventDefinitionContext,0); -}; - -ContractPartContext.prototype.enumDefinition = function() { - return this.getTypedRuleContext(EnumDefinitionContext,0); -}; - -ContractPartContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterContractPart(this); - } -}; - -ContractPartContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitContractPart(this); - } -}; - - - - -SolidityParser.ContractPartContext = ContractPartContext; - -SolidityParser.prototype.contractPart = function() { - - var localctx = new ContractPartContext(this, this._ctx, this.state); - this.enterRule(localctx, 22, SolidityParser.RULE_contractPart); - try { - this.state = 285; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,16,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 277; - this.stateVariableDeclaration(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 278; - this.usingForDeclaration(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 279; - this.structDefinition(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 280; - this.constructorDefinition(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 281; - this.modifierDefinition(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 282; - this.functionDefinition(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 283; - this.eventDefinition(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 284; - this.enumDefinition(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function StateVariableDeclarationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_stateVariableDeclaration; - return this; -} - -StateVariableDeclarationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -StateVariableDeclarationContext.prototype.constructor = StateVariableDeclarationContext; - -StateVariableDeclarationContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -StateVariableDeclarationContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -StateVariableDeclarationContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -StateVariableDeclarationContext.prototype.PublicKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.PublicKeyword); - } else { - return this.getToken(SolidityParser.PublicKeyword, i); - } -}; - - -StateVariableDeclarationContext.prototype.InternalKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.InternalKeyword); - } else { - return this.getToken(SolidityParser.InternalKeyword, i); - } -}; - - -StateVariableDeclarationContext.prototype.PrivateKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.PrivateKeyword); - } else { - return this.getToken(SolidityParser.PrivateKeyword, i); - } -}; - - -StateVariableDeclarationContext.prototype.ConstantKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.ConstantKeyword); - } else { - return this.getToken(SolidityParser.ConstantKeyword, i); - } -}; - - -StateVariableDeclarationContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterStateVariableDeclaration(this); - } -}; - -StateVariableDeclarationContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitStateVariableDeclaration(this); - } -}; - - - - -SolidityParser.StateVariableDeclarationContext = StateVariableDeclarationContext; - -SolidityParser.prototype.stateVariableDeclaration = function() { - - var localctx = new StateVariableDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 24, SolidityParser.RULE_stateVariableDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 287; - this.typeName(0); - this.state = 291; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(((((_la - 105)) & ~0x1f) == 0 && ((1 << (_la - 105)) & ((1 << (SolidityParser.ConstantKeyword - 105)) | (1 << (SolidityParser.InternalKeyword - 105)) | (1 << (SolidityParser.PrivateKeyword - 105)) | (1 << (SolidityParser.PublicKeyword - 105)))) !== 0)) { - this.state = 288; - _la = this._input.LA(1); - if(!(((((_la - 105)) & ~0x1f) == 0 && ((1 << (_la - 105)) & ((1 << (SolidityParser.ConstantKeyword - 105)) | (1 << (SolidityParser.InternalKeyword - 105)) | (1 << (SolidityParser.PrivateKeyword - 105)) | (1 << (SolidityParser.PublicKeyword - 105)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 293; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 294; - this.identifier(); - this.state = 297; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__8) { - this.state = 295; - this.match(SolidityParser.T__8); - this.state = 296; - this.expression(0); - } - - this.state = 299; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function UsingForDeclarationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_usingForDeclaration; - return this; -} - -UsingForDeclarationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -UsingForDeclarationContext.prototype.constructor = UsingForDeclarationContext; - -UsingForDeclarationContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -UsingForDeclarationContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -UsingForDeclarationContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterUsingForDeclaration(this); - } -}; - -UsingForDeclarationContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitUsingForDeclaration(this); - } -}; - - - - -SolidityParser.UsingForDeclarationContext = UsingForDeclarationContext; - -SolidityParser.prototype.usingForDeclaration = function() { - - var localctx = new UsingForDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 26, SolidityParser.RULE_usingForDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 301; - this.match(SolidityParser.T__22); - this.state = 302; - this.identifier(); - this.state = 303; - this.match(SolidityParser.T__23); - this.state = 306; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__11: - this.state = 304; - this.match(SolidityParser.T__11); - break; - case SolidityParser.T__12: - case SolidityParser.T__27: - case SolidityParser.T__33: - case SolidityParser.T__35: - case SolidityParser.T__48: - case SolidityParser.T__49: - case SolidityParser.T__50: - case SolidityParser.T__51: - case SolidityParser.Int: - case SolidityParser.Uint: - case SolidityParser.Byte: - case SolidityParser.Fixed: - case SolidityParser.Ufixed: - case SolidityParser.Identifier: - this.state = 305; - this.typeName(0); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 308; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function StructDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_structDefinition; - return this; -} - -StructDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -StructDefinitionContext.prototype.constructor = StructDefinitionContext; - -StructDefinitionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -StructDefinitionContext.prototype.variableDeclaration = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(VariableDeclarationContext); - } else { - return this.getTypedRuleContext(VariableDeclarationContext,i); - } -}; - -StructDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterStructDefinition(this); - } -}; - -StructDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitStructDefinition(this); - } -}; - - - - -SolidityParser.StructDefinitionContext = StructDefinitionContext; - -SolidityParser.prototype.structDefinition = function() { - - var localctx = new StructDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 28, SolidityParser.RULE_structDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 310; - this.match(SolidityParser.T__24); - this.state = 311; - this.identifier(); - this.state = 312; - this.match(SolidityParser.T__13); - this.state = 323; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.T__27 || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__35 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.Identifier - 91)))) !== 0)) { - this.state = 313; - this.variableDeclaration(); - this.state = 314; - this.match(SolidityParser.T__1); - this.state = 320; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__12 || _la===SolidityParser.T__27 || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__35 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.Identifier - 91)))) !== 0)) { - this.state = 315; - this.variableDeclaration(); - this.state = 316; - this.match(SolidityParser.T__1); - this.state = 322; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 325; - this.match(SolidityParser.T__15); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ConstructorDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_constructorDefinition; - return this; -} - -ConstructorDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ConstructorDefinitionContext.prototype.constructor = ConstructorDefinitionContext; - -ConstructorDefinitionContext.prototype.parameterList = function() { - return this.getTypedRuleContext(ParameterListContext,0); -}; - -ConstructorDefinitionContext.prototype.modifierList = function() { - return this.getTypedRuleContext(ModifierListContext,0); -}; - -ConstructorDefinitionContext.prototype.block = function() { - return this.getTypedRuleContext(BlockContext,0); -}; - -ConstructorDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterConstructorDefinition(this); - } -}; - -ConstructorDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitConstructorDefinition(this); - } -}; - - - - -SolidityParser.ConstructorDefinitionContext = ConstructorDefinitionContext; - -SolidityParser.prototype.constructorDefinition = function() { - - var localctx = new ConstructorDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 30, SolidityParser.RULE_constructorDefinition); - try { - this.enterOuterAlt(localctx, 1); - this.state = 327; - this.match(SolidityParser.T__25); - this.state = 328; - this.parameterList(); - this.state = 329; - this.modifierList(); - this.state = 330; - this.block(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ModifierDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_modifierDefinition; - return this; -} - -ModifierDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ModifierDefinitionContext.prototype.constructor = ModifierDefinitionContext; - -ModifierDefinitionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -ModifierDefinitionContext.prototype.block = function() { - return this.getTypedRuleContext(BlockContext,0); -}; - -ModifierDefinitionContext.prototype.parameterList = function() { - return this.getTypedRuleContext(ParameterListContext,0); -}; - -ModifierDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterModifierDefinition(this); - } -}; - -ModifierDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitModifierDefinition(this); - } -}; - - - - -SolidityParser.ModifierDefinitionContext = ModifierDefinitionContext; - -SolidityParser.prototype.modifierDefinition = function() { - - var localctx = new ModifierDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 32, SolidityParser.RULE_modifierDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 332; - this.match(SolidityParser.T__26); - this.state = 333; - this.identifier(); - this.state = 335; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__20) { - this.state = 334; - this.parameterList(); - } - - this.state = 337; - this.block(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ModifierInvocationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_modifierInvocation; - return this; -} - -ModifierInvocationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ModifierInvocationContext.prototype.constructor = ModifierInvocationContext; - -ModifierInvocationContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -ModifierInvocationContext.prototype.expressionList = function() { - return this.getTypedRuleContext(ExpressionListContext,0); -}; - -ModifierInvocationContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterModifierInvocation(this); - } -}; - -ModifierInvocationContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitModifierInvocation(this); - } -}; - - - - -SolidityParser.ModifierInvocationContext = ModifierInvocationContext; - -SolidityParser.prototype.modifierInvocation = function() { - - var localctx = new ModifierInvocationContext(this, this._ctx, this.state); - this.enterRule(localctx, 34, SolidityParser.RULE_modifierInvocation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 339; - this.identifier(); - this.state = 345; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__20) { - this.state = 340; - this.match(SolidityParser.T__20); - this.state = 342; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 341; - this.expressionList(); - } - - this.state = 344; - this.match(SolidityParser.T__21); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function FunctionDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_functionDefinition; - return this; -} - -FunctionDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -FunctionDefinitionContext.prototype.constructor = FunctionDefinitionContext; - -FunctionDefinitionContext.prototype.parameterList = function() { - return this.getTypedRuleContext(ParameterListContext,0); -}; - -FunctionDefinitionContext.prototype.modifierList = function() { - return this.getTypedRuleContext(ModifierListContext,0); -}; - -FunctionDefinitionContext.prototype.block = function() { - return this.getTypedRuleContext(BlockContext,0); -}; - -FunctionDefinitionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -FunctionDefinitionContext.prototype.returnParameters = function() { - return this.getTypedRuleContext(ReturnParametersContext,0); -}; - -FunctionDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterFunctionDefinition(this); - } -}; - -FunctionDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitFunctionDefinition(this); - } -}; - - - - -SolidityParser.FunctionDefinitionContext = FunctionDefinitionContext; - -SolidityParser.prototype.functionDefinition = function() { - - var localctx = new FunctionDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 36, SolidityParser.RULE_functionDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 347; - this.match(SolidityParser.T__27); - this.state = 349; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier) { - this.state = 348; - this.identifier(); - } - - this.state = 351; - this.parameterList(); - this.state = 352; - this.modifierList(); - this.state = 354; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__28) { - this.state = 353; - this.returnParameters(); - } - - this.state = 358; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__1: - this.state = 356; - this.match(SolidityParser.T__1); - break; - case SolidityParser.T__13: - this.state = 357; - this.block(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ReturnParametersContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_returnParameters; - return this; -} - -ReturnParametersContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ReturnParametersContext.prototype.constructor = ReturnParametersContext; - -ReturnParametersContext.prototype.parameterList = function() { - return this.getTypedRuleContext(ParameterListContext,0); -}; - -ReturnParametersContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterReturnParameters(this); - } -}; - -ReturnParametersContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitReturnParameters(this); - } -}; - - - - -SolidityParser.ReturnParametersContext = ReturnParametersContext; - -SolidityParser.prototype.returnParameters = function() { - - var localctx = new ReturnParametersContext(this, this._ctx, this.state); - this.enterRule(localctx, 38, SolidityParser.RULE_returnParameters); - try { - this.enterOuterAlt(localctx, 1); - this.state = 360; - this.match(SolidityParser.T__28); - this.state = 361; - this.parameterList(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ModifierListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_modifierList; - return this; -} - -ModifierListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ModifierListContext.prototype.constructor = ModifierListContext; - -ModifierListContext.prototype.modifierInvocation = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ModifierInvocationContext); - } else { - return this.getTypedRuleContext(ModifierInvocationContext,i); - } -}; - -ModifierListContext.prototype.stateMutability = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(StateMutabilityContext); - } else { - return this.getTypedRuleContext(StateMutabilityContext,i); - } -}; - -ModifierListContext.prototype.ExternalKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.ExternalKeyword); - } else { - return this.getToken(SolidityParser.ExternalKeyword, i); - } -}; - - -ModifierListContext.prototype.PublicKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.PublicKeyword); - } else { - return this.getToken(SolidityParser.PublicKeyword, i); - } -}; - - -ModifierListContext.prototype.InternalKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.InternalKeyword); - } else { - return this.getToken(SolidityParser.InternalKeyword, i); - } -}; - - -ModifierListContext.prototype.PrivateKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.PrivateKeyword); - } else { - return this.getToken(SolidityParser.PrivateKeyword, i); - } -}; - - -ModifierListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterModifierList(this); - } -}; - -ModifierListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitModifierList(this); - } -}; - - - - -SolidityParser.ModifierListContext = ModifierListContext; - -SolidityParser.prototype.modifierList = function() { - - var localctx = new ModifierListContext(this, this._ctx, this.state); - this.enterRule(localctx, 40, SolidityParser.RULE_modifierList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 371; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__12 || ((((_la - 105)) & ~0x1f) == 0 && ((1 << (_la - 105)) & ((1 << (SolidityParser.ConstantKeyword - 105)) | (1 << (SolidityParser.ExternalKeyword - 105)) | (1 << (SolidityParser.InternalKeyword - 105)) | (1 << (SolidityParser.PayableKeyword - 105)) | (1 << (SolidityParser.PrivateKeyword - 105)) | (1 << (SolidityParser.PublicKeyword - 105)) | (1 << (SolidityParser.PureKeyword - 105)) | (1 << (SolidityParser.ViewKeyword - 105)) | (1 << (SolidityParser.Identifier - 105)))) !== 0)) { - this.state = 369; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__12: - case SolidityParser.Identifier: - this.state = 363; - this.modifierInvocation(); - break; - case SolidityParser.ConstantKeyword: - case SolidityParser.PayableKeyword: - case SolidityParser.PureKeyword: - case SolidityParser.ViewKeyword: - this.state = 364; - this.stateMutability(); - break; - case SolidityParser.ExternalKeyword: - this.state = 365; - this.match(SolidityParser.ExternalKeyword); - break; - case SolidityParser.PublicKeyword: - this.state = 366; - this.match(SolidityParser.PublicKeyword); - break; - case SolidityParser.InternalKeyword: - this.state = 367; - this.match(SolidityParser.InternalKeyword); - break; - case SolidityParser.PrivateKeyword: - this.state = 368; - this.match(SolidityParser.PrivateKeyword); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 373; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function EventDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_eventDefinition; - return this; -} - -EventDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -EventDefinitionContext.prototype.constructor = EventDefinitionContext; - -EventDefinitionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -EventDefinitionContext.prototype.eventParameterList = function() { - return this.getTypedRuleContext(EventParameterListContext,0); -}; - -EventDefinitionContext.prototype.AnonymousKeyword = function() { - return this.getToken(SolidityParser.AnonymousKeyword, 0); -}; - -EventDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterEventDefinition(this); - } -}; - -EventDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitEventDefinition(this); - } -}; - - - - -SolidityParser.EventDefinitionContext = EventDefinitionContext; - -SolidityParser.prototype.eventDefinition = function() { - - var localctx = new EventDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 42, SolidityParser.RULE_eventDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 374; - this.match(SolidityParser.T__29); - this.state = 375; - this.identifier(); - this.state = 376; - this.eventParameterList(); - this.state = 378; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.AnonymousKeyword) { - this.state = 377; - this.match(SolidityParser.AnonymousKeyword); - } - - this.state = 380; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function EnumValueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_enumValue; - return this; -} - -EnumValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -EnumValueContext.prototype.constructor = EnumValueContext; - -EnumValueContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -EnumValueContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterEnumValue(this); - } -}; - -EnumValueContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitEnumValue(this); - } -}; - - - - -SolidityParser.EnumValueContext = EnumValueContext; - -SolidityParser.prototype.enumValue = function() { - - var localctx = new EnumValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 44, SolidityParser.RULE_enumValue); - try { - this.enterOuterAlt(localctx, 1); - this.state = 382; - this.identifier(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function EnumDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_enumDefinition; - return this; -} - -EnumDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -EnumDefinitionContext.prototype.constructor = EnumDefinitionContext; - -EnumDefinitionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -EnumDefinitionContext.prototype.enumValue = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(EnumValueContext); - } else { - return this.getTypedRuleContext(EnumValueContext,i); - } -}; - -EnumDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterEnumDefinition(this); - } -}; - -EnumDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitEnumDefinition(this); - } -}; - - - - -SolidityParser.EnumDefinitionContext = EnumDefinitionContext; - -SolidityParser.prototype.enumDefinition = function() { - - var localctx = new EnumDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 46, SolidityParser.RULE_enumDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 384; - this.match(SolidityParser.T__30); - this.state = 385; - this.identifier(); - this.state = 386; - this.match(SolidityParser.T__13); - this.state = 388; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier) { - this.state = 387; - this.enumValue(); - } - - this.state = 394; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 390; - this.match(SolidityParser.T__14); - this.state = 391; - this.enumValue(); - this.state = 396; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 397; - this.match(SolidityParser.T__15); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ParameterListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_parameterList; - return this; -} - -ParameterListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ParameterListContext.prototype.constructor = ParameterListContext; - -ParameterListContext.prototype.parameter = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ParameterContext); - } else { - return this.getTypedRuleContext(ParameterContext,i); - } -}; - -ParameterListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterParameterList(this); - } -}; - -ParameterListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitParameterList(this); - } -}; - - - - -SolidityParser.ParameterListContext = ParameterListContext; - -SolidityParser.prototype.parameterList = function() { - - var localctx = new ParameterListContext(this, this._ctx, this.state); - this.enterRule(localctx, 48, SolidityParser.RULE_parameterList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 399; - this.match(SolidityParser.T__20); - this.state = 408; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.T__27 || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__35 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.Identifier - 91)))) !== 0)) { - this.state = 400; - this.parameter(); - this.state = 405; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 401; - this.match(SolidityParser.T__14); - this.state = 402; - this.parameter(); - this.state = 407; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 410; - this.match(SolidityParser.T__21); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ParameterContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_parameter; - return this; -} - -ParameterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ParameterContext.prototype.constructor = ParameterContext; - -ParameterContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -ParameterContext.prototype.storageLocation = function() { - return this.getTypedRuleContext(StorageLocationContext,0); -}; - -ParameterContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -ParameterContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterParameter(this); - } -}; - -ParameterContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitParameter(this); - } -}; - - - - -SolidityParser.ParameterContext = ParameterContext; - -SolidityParser.prototype.parameter = function() { - - var localctx = new ParameterContext(this, this._ctx, this.state); - this.enterRule(localctx, 50, SolidityParser.RULE_parameter); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 412; - this.typeName(0); - this.state = 414; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(((((_la - 38)) & ~0x1f) == 0 && ((1 << (_la - 38)) & ((1 << (SolidityParser.T__37 - 38)) | (1 << (SolidityParser.T__38 - 38)) | (1 << (SolidityParser.T__39 - 38)))) !== 0)) { - this.state = 413; - this.storageLocation(); - } - - this.state = 417; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier) { - this.state = 416; - this.identifier(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function EventParameterListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_eventParameterList; - return this; -} - -EventParameterListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -EventParameterListContext.prototype.constructor = EventParameterListContext; - -EventParameterListContext.prototype.eventParameter = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(EventParameterContext); - } else { - return this.getTypedRuleContext(EventParameterContext,i); - } -}; - -EventParameterListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterEventParameterList(this); - } -}; - -EventParameterListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitEventParameterList(this); - } -}; - - - - -SolidityParser.EventParameterListContext = EventParameterListContext; - -SolidityParser.prototype.eventParameterList = function() { - - var localctx = new EventParameterListContext(this, this._ctx, this.state); - this.enterRule(localctx, 52, SolidityParser.RULE_eventParameterList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 419; - this.match(SolidityParser.T__20); - this.state = 428; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.T__27 || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__35 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.Identifier - 91)))) !== 0)) { - this.state = 420; - this.eventParameter(); - this.state = 425; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 421; - this.match(SolidityParser.T__14); - this.state = 422; - this.eventParameter(); - this.state = 427; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 430; - this.match(SolidityParser.T__21); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function EventParameterContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_eventParameter; - return this; -} - -EventParameterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -EventParameterContext.prototype.constructor = EventParameterContext; - -EventParameterContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -EventParameterContext.prototype.IndexedKeyword = function() { - return this.getToken(SolidityParser.IndexedKeyword, 0); -}; - -EventParameterContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -EventParameterContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterEventParameter(this); - } -}; - -EventParameterContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitEventParameter(this); - } -}; - - - - -SolidityParser.EventParameterContext = EventParameterContext; - -SolidityParser.prototype.eventParameter = function() { - - var localctx = new EventParameterContext(this, this._ctx, this.state); - this.enterRule(localctx, 54, SolidityParser.RULE_eventParameter); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 432; - this.typeName(0); - this.state = 434; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.IndexedKeyword) { - this.state = 433; - this.match(SolidityParser.IndexedKeyword); - } - - this.state = 437; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier) { - this.state = 436; - this.identifier(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function FunctionTypeParameterListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_functionTypeParameterList; - return this; -} - -FunctionTypeParameterListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -FunctionTypeParameterListContext.prototype.constructor = FunctionTypeParameterListContext; - -FunctionTypeParameterListContext.prototype.functionTypeParameter = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(FunctionTypeParameterContext); - } else { - return this.getTypedRuleContext(FunctionTypeParameterContext,i); - } -}; - -FunctionTypeParameterListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterFunctionTypeParameterList(this); - } -}; - -FunctionTypeParameterListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitFunctionTypeParameterList(this); - } -}; - - - - -SolidityParser.FunctionTypeParameterListContext = FunctionTypeParameterListContext; - -SolidityParser.prototype.functionTypeParameterList = function() { - - var localctx = new FunctionTypeParameterListContext(this, this._ctx, this.state); - this.enterRule(localctx, 56, SolidityParser.RULE_functionTypeParameterList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 439; - this.match(SolidityParser.T__20); - this.state = 448; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.T__27 || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__35 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.Identifier - 91)))) !== 0)) { - this.state = 440; - this.functionTypeParameter(); - this.state = 445; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 441; - this.match(SolidityParser.T__14); - this.state = 442; - this.functionTypeParameter(); - this.state = 447; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 450; - this.match(SolidityParser.T__21); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function FunctionTypeParameterContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_functionTypeParameter; - return this; -} - -FunctionTypeParameterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -FunctionTypeParameterContext.prototype.constructor = FunctionTypeParameterContext; - -FunctionTypeParameterContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -FunctionTypeParameterContext.prototype.storageLocation = function() { - return this.getTypedRuleContext(StorageLocationContext,0); -}; - -FunctionTypeParameterContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterFunctionTypeParameter(this); - } -}; - -FunctionTypeParameterContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitFunctionTypeParameter(this); - } -}; - - - - -SolidityParser.FunctionTypeParameterContext = FunctionTypeParameterContext; - -SolidityParser.prototype.functionTypeParameter = function() { - - var localctx = new FunctionTypeParameterContext(this, this._ctx, this.state); - this.enterRule(localctx, 58, SolidityParser.RULE_functionTypeParameter); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 452; - this.typeName(0); - this.state = 454; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(((((_la - 38)) & ~0x1f) == 0 && ((1 << (_la - 38)) & ((1 << (SolidityParser.T__37 - 38)) | (1 << (SolidityParser.T__38 - 38)) | (1 << (SolidityParser.T__39 - 38)))) !== 0)) { - this.state = 453; - this.storageLocation(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function VariableDeclarationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_variableDeclaration; - return this; -} - -VariableDeclarationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -VariableDeclarationContext.prototype.constructor = VariableDeclarationContext; - -VariableDeclarationContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -VariableDeclarationContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -VariableDeclarationContext.prototype.storageLocation = function() { - return this.getTypedRuleContext(StorageLocationContext,0); -}; - -VariableDeclarationContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterVariableDeclaration(this); - } -}; - -VariableDeclarationContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitVariableDeclaration(this); - } -}; - - - - -SolidityParser.VariableDeclarationContext = VariableDeclarationContext; - -SolidityParser.prototype.variableDeclaration = function() { - - var localctx = new VariableDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 60, SolidityParser.RULE_variableDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 456; - this.typeName(0); - this.state = 458; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(((((_la - 38)) & ~0x1f) == 0 && ((1 << (_la - 38)) & ((1 << (SolidityParser.T__37 - 38)) | (1 << (SolidityParser.T__38 - 38)) | (1 << (SolidityParser.T__39 - 38)))) !== 0)) { - this.state = 457; - this.storageLocation(); - } - - this.state = 460; - this.identifier(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function TypeNameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_typeName; - return this; -} - -TypeNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -TypeNameContext.prototype.constructor = TypeNameContext; - -TypeNameContext.prototype.elementaryTypeName = function() { - return this.getTypedRuleContext(ElementaryTypeNameContext,0); -}; - -TypeNameContext.prototype.userDefinedTypeName = function() { - return this.getTypedRuleContext(UserDefinedTypeNameContext,0); -}; - -TypeNameContext.prototype.mapping = function() { - return this.getTypedRuleContext(MappingContext,0); -}; - -TypeNameContext.prototype.functionTypeName = function() { - return this.getTypedRuleContext(FunctionTypeNameContext,0); -}; - -TypeNameContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -TypeNameContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -TypeNameContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterTypeName(this); - } -}; - -TypeNameContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitTypeName(this); - } -}; - - - -SolidityParser.prototype.typeName = function(_p) { - if(_p===undefined) { - _p = 0; - } - var _parentctx = this._ctx; - var _parentState = this.state; - var localctx = new TypeNameContext(this, this._ctx, _parentState); - var _prevctx = localctx; - var _startState = 62; - this.enterRecursionRule(localctx, 62, SolidityParser.RULE_typeName, _p); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 469; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,45,this._ctx); - switch(la_) { - case 1: - this.state = 463; - this.elementaryTypeName(); - break; - - case 2: - this.state = 464; - this.userDefinedTypeName(); - break; - - case 3: - this.state = 465; - this.mapping(); - break; - - case 4: - this.state = 466; - this.functionTypeName(); - break; - - case 5: - this.state = 467; - this.match(SolidityParser.T__33); - this.state = 468; - this.match(SolidityParser.PayableKeyword); - break; - - } - this._ctx.stop = this._input.LT(-1); - this.state = 479; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,47,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - localctx = new TypeNameContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_typeName); - this.state = 471; - if (!( this.precpred(this._ctx, 3))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); - } - this.state = 472; - this.match(SolidityParser.T__31); - this.state = 474; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 473; - this.expression(0); - } - - this.state = 476; - this.match(SolidityParser.T__32); - } - this.state = 481; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,47,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; -}; - -function UserDefinedTypeNameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_userDefinedTypeName; - return this; -} - -UserDefinedTypeNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -UserDefinedTypeNameContext.prototype.constructor = UserDefinedTypeNameContext; - -UserDefinedTypeNameContext.prototype.identifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentifierContext); - } else { - return this.getTypedRuleContext(IdentifierContext,i); - } -}; - -UserDefinedTypeNameContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterUserDefinedTypeName(this); - } -}; - -UserDefinedTypeNameContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitUserDefinedTypeName(this); - } -}; - - - - -SolidityParser.UserDefinedTypeNameContext = UserDefinedTypeNameContext; - -SolidityParser.prototype.userDefinedTypeName = function() { - - var localctx = new UserDefinedTypeNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 64, SolidityParser.RULE_userDefinedTypeName); - try { - this.enterOuterAlt(localctx, 1); - this.state = 482; - this.identifier(); - this.state = 487; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,48,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 483; - this.match(SolidityParser.T__34); - this.state = 484; - this.identifier(); - } - this.state = 489; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,48,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function MappingContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_mapping; - return this; -} - -MappingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -MappingContext.prototype.constructor = MappingContext; - -MappingContext.prototype.elementaryTypeName = function() { - return this.getTypedRuleContext(ElementaryTypeNameContext,0); -}; - -MappingContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -MappingContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterMapping(this); - } -}; - -MappingContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitMapping(this); - } -}; - - - - -SolidityParser.MappingContext = MappingContext; - -SolidityParser.prototype.mapping = function() { - - var localctx = new MappingContext(this, this._ctx, this.state); - this.enterRule(localctx, 66, SolidityParser.RULE_mapping); - try { - this.enterOuterAlt(localctx, 1); - this.state = 490; - this.match(SolidityParser.T__35); - this.state = 491; - this.match(SolidityParser.T__20); - this.state = 492; - this.elementaryTypeName(); - this.state = 493; - this.match(SolidityParser.T__36); - this.state = 494; - this.typeName(0); - this.state = 495; - this.match(SolidityParser.T__21); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function FunctionTypeNameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_functionTypeName; - return this; -} - -FunctionTypeNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -FunctionTypeNameContext.prototype.constructor = FunctionTypeNameContext; - -FunctionTypeNameContext.prototype.functionTypeParameterList = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(FunctionTypeParameterListContext); - } else { - return this.getTypedRuleContext(FunctionTypeParameterListContext,i); - } -}; - -FunctionTypeNameContext.prototype.InternalKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.InternalKeyword); - } else { - return this.getToken(SolidityParser.InternalKeyword, i); - } -}; - - -FunctionTypeNameContext.prototype.ExternalKeyword = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SolidityParser.ExternalKeyword); - } else { - return this.getToken(SolidityParser.ExternalKeyword, i); - } -}; - - -FunctionTypeNameContext.prototype.stateMutability = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(StateMutabilityContext); - } else { - return this.getTypedRuleContext(StateMutabilityContext,i); - } -}; - -FunctionTypeNameContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterFunctionTypeName(this); - } -}; - -FunctionTypeNameContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitFunctionTypeName(this); - } -}; - - - - -SolidityParser.FunctionTypeNameContext = FunctionTypeNameContext; - -SolidityParser.prototype.functionTypeName = function() { - - var localctx = new FunctionTypeNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 68, SolidityParser.RULE_functionTypeName); - try { - this.enterOuterAlt(localctx, 1); - this.state = 497; - this.match(SolidityParser.T__27); - this.state = 498; - this.functionTypeParameterList(); - this.state = 504; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,50,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 502; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.InternalKeyword: - this.state = 499; - this.match(SolidityParser.InternalKeyword); - break; - case SolidityParser.ExternalKeyword: - this.state = 500; - this.match(SolidityParser.ExternalKeyword); - break; - case SolidityParser.ConstantKeyword: - case SolidityParser.PayableKeyword: - case SolidityParser.PureKeyword: - case SolidityParser.ViewKeyword: - this.state = 501; - this.stateMutability(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - this.state = 506; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,50,this._ctx); - } - - this.state = 509; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,51,this._ctx); - if(la_===1) { - this.state = 507; - this.match(SolidityParser.T__28); - this.state = 508; - this.functionTypeParameterList(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function StorageLocationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_storageLocation; - return this; -} - -StorageLocationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -StorageLocationContext.prototype.constructor = StorageLocationContext; - - -StorageLocationContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterStorageLocation(this); - } -}; - -StorageLocationContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitStorageLocation(this); - } -}; - - - - -SolidityParser.StorageLocationContext = StorageLocationContext; - -SolidityParser.prototype.storageLocation = function() { - - var localctx = new StorageLocationContext(this, this._ctx, this.state); - this.enterRule(localctx, 70, SolidityParser.RULE_storageLocation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 511; - _la = this._input.LA(1); - if(!(((((_la - 38)) & ~0x1f) == 0 && ((1 << (_la - 38)) & ((1 << (SolidityParser.T__37 - 38)) | (1 << (SolidityParser.T__38 - 38)) | (1 << (SolidityParser.T__39 - 38)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function StateMutabilityContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_stateMutability; - return this; -} - -StateMutabilityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -StateMutabilityContext.prototype.constructor = StateMutabilityContext; - -StateMutabilityContext.prototype.PureKeyword = function() { - return this.getToken(SolidityParser.PureKeyword, 0); -}; - -StateMutabilityContext.prototype.ConstantKeyword = function() { - return this.getToken(SolidityParser.ConstantKeyword, 0); -}; - -StateMutabilityContext.prototype.ViewKeyword = function() { - return this.getToken(SolidityParser.ViewKeyword, 0); -}; - -StateMutabilityContext.prototype.PayableKeyword = function() { - return this.getToken(SolidityParser.PayableKeyword, 0); -}; - -StateMutabilityContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterStateMutability(this); - } -}; - -StateMutabilityContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitStateMutability(this); - } -}; - - - - -SolidityParser.StateMutabilityContext = StateMutabilityContext; - -SolidityParser.prototype.stateMutability = function() { - - var localctx = new StateMutabilityContext(this, this._ctx, this.state); - this.enterRule(localctx, 72, SolidityParser.RULE_stateMutability); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 513; - _la = this._input.LA(1); - if(!(((((_la - 105)) & ~0x1f) == 0 && ((1 << (_la - 105)) & ((1 << (SolidityParser.ConstantKeyword - 105)) | (1 << (SolidityParser.PayableKeyword - 105)) | (1 << (SolidityParser.PureKeyword - 105)) | (1 << (SolidityParser.ViewKeyword - 105)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function BlockContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_block; - return this; -} - -BlockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -BlockContext.prototype.constructor = BlockContext; - -BlockContext.prototype.statement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(StatementContext); - } else { - return this.getTypedRuleContext(StatementContext,i); - } -}; - -BlockContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterBlock(this); - } -}; - -BlockContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitBlock(this); - } -}; - - - - -SolidityParser.BlockContext = BlockContext; - -SolidityParser.prototype.block = function() { - - var localctx = new BlockContext(this, this._ctx, this.state); - this.enterRule(localctx, 74, SolidityParser.RULE_block); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 515; - this.match(SolidityParser.T__13); - this.state = 519; - this._errHandler.sync(this); - _la = this._input.LA(1); - while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__13) | (1 << SolidityParser.T__20) | (1 << SolidityParser.T__23) | (1 << SolidityParser.T__27))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__35 - 32)) | (1 << (SolidityParser.T__40 - 32)) | (1 << (SolidityParser.T__42 - 32)) | (1 << (SolidityParser.T__43 - 32)) | (1 << (SolidityParser.T__44 - 32)) | (1 << (SolidityParser.T__45 - 32)) | (1 << (SolidityParser.T__46 - 32)) | (1 << (SolidityParser.T__47 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.BreakKeyword - 91)) | (1 << (SolidityParser.ContinueKeyword - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 516; - this.statement(); - this.state = 521; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 522; - this.match(SolidityParser.T__15); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function StatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_statement; - return this; -} - -StatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -StatementContext.prototype.constructor = StatementContext; - -StatementContext.prototype.ifStatement = function() { - return this.getTypedRuleContext(IfStatementContext,0); -}; - -StatementContext.prototype.whileStatement = function() { - return this.getTypedRuleContext(WhileStatementContext,0); -}; - -StatementContext.prototype.forStatement = function() { - return this.getTypedRuleContext(ForStatementContext,0); -}; - -StatementContext.prototype.block = function() { - return this.getTypedRuleContext(BlockContext,0); -}; - -StatementContext.prototype.inlineAssemblyStatement = function() { - return this.getTypedRuleContext(InlineAssemblyStatementContext,0); -}; - -StatementContext.prototype.doWhileStatement = function() { - return this.getTypedRuleContext(DoWhileStatementContext,0); -}; - -StatementContext.prototype.continueStatement = function() { - return this.getTypedRuleContext(ContinueStatementContext,0); -}; - -StatementContext.prototype.breakStatement = function() { - return this.getTypedRuleContext(BreakStatementContext,0); -}; - -StatementContext.prototype.returnStatement = function() { - return this.getTypedRuleContext(ReturnStatementContext,0); -}; - -StatementContext.prototype.throwStatement = function() { - return this.getTypedRuleContext(ThrowStatementContext,0); -}; - -StatementContext.prototype.emitStatement = function() { - return this.getTypedRuleContext(EmitStatementContext,0); -}; - -StatementContext.prototype.simpleStatement = function() { - return this.getTypedRuleContext(SimpleStatementContext,0); -}; - -StatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterStatement(this); - } -}; - -StatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitStatement(this); - } -}; - - - - -SolidityParser.StatementContext = StatementContext; - -SolidityParser.prototype.statement = function() { - - var localctx = new StatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 76, SolidityParser.RULE_statement); - try { - this.state = 536; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__40: - this.enterOuterAlt(localctx, 1); - this.state = 524; - this.ifStatement(); - break; - case SolidityParser.T__42: - this.enterOuterAlt(localctx, 2); - this.state = 525; - this.whileStatement(); - break; - case SolidityParser.T__23: - this.enterOuterAlt(localctx, 3); - this.state = 526; - this.forStatement(); - break; - case SolidityParser.T__13: - this.enterOuterAlt(localctx, 4); - this.state = 527; - this.block(); - break; - case SolidityParser.T__43: - this.enterOuterAlt(localctx, 5); - this.state = 528; - this.inlineAssemblyStatement(); - break; - case SolidityParser.T__44: - this.enterOuterAlt(localctx, 6); - this.state = 529; - this.doWhileStatement(); - break; - case SolidityParser.ContinueKeyword: - this.enterOuterAlt(localctx, 7); - this.state = 530; - this.continueStatement(); - break; - case SolidityParser.BreakKeyword: - this.enterOuterAlt(localctx, 8); - this.state = 531; - this.breakStatement(); - break; - case SolidityParser.T__45: - this.enterOuterAlt(localctx, 9); - this.state = 532; - this.returnStatement(); - break; - case SolidityParser.T__46: - this.enterOuterAlt(localctx, 10); - this.state = 533; - this.throwStatement(); - break; - case SolidityParser.T__47: - this.enterOuterAlt(localctx, 11); - this.state = 534; - this.emitStatement(); - break; - case SolidityParser.T__3: - case SolidityParser.T__12: - case SolidityParser.T__20: - case SolidityParser.T__27: - case SolidityParser.T__31: - case SolidityParser.T__33: - case SolidityParser.T__35: - case SolidityParser.T__48: - case SolidityParser.T__49: - case SolidityParser.T__50: - case SolidityParser.T__51: - case SolidityParser.T__52: - case SolidityParser.T__53: - case SolidityParser.T__54: - case SolidityParser.T__55: - case SolidityParser.T__56: - case SolidityParser.T__57: - case SolidityParser.T__58: - case SolidityParser.T__59: - case SolidityParser.Int: - case SolidityParser.Uint: - case SolidityParser.Byte: - case SolidityParser.Fixed: - case SolidityParser.Ufixed: - case SolidityParser.BooleanLiteral: - case SolidityParser.DecimalNumber: - case SolidityParser.HexNumber: - case SolidityParser.HexLiteral: - case SolidityParser.Identifier: - case SolidityParser.StringLiteral: - this.enterOuterAlt(localctx, 12); - this.state = 535; - this.simpleStatement(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ExpressionStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_expressionStatement; - return this; -} - -ExpressionStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ExpressionStatementContext.prototype.constructor = ExpressionStatementContext; - -ExpressionStatementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -ExpressionStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterExpressionStatement(this); - } -}; - -ExpressionStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitExpressionStatement(this); - } -}; - - - - -SolidityParser.ExpressionStatementContext = ExpressionStatementContext; - -SolidityParser.prototype.expressionStatement = function() { - - var localctx = new ExpressionStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 78, SolidityParser.RULE_expressionStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 538; - this.expression(0); - this.state = 539; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function IfStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_ifStatement; - return this; -} - -IfStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -IfStatementContext.prototype.constructor = IfStatementContext; - -IfStatementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -IfStatementContext.prototype.statement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(StatementContext); - } else { - return this.getTypedRuleContext(StatementContext,i); - } -}; - -IfStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterIfStatement(this); - } -}; - -IfStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitIfStatement(this); - } -}; - - - - -SolidityParser.IfStatementContext = IfStatementContext; - -SolidityParser.prototype.ifStatement = function() { - - var localctx = new IfStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 80, SolidityParser.RULE_ifStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 541; - this.match(SolidityParser.T__40); - this.state = 542; - this.match(SolidityParser.T__20); - this.state = 543; - this.expression(0); - this.state = 544; - this.match(SolidityParser.T__21); - this.state = 545; - this.statement(); - this.state = 548; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,54,this._ctx); - if(la_===1) { - this.state = 546; - this.match(SolidityParser.T__41); - this.state = 547; - this.statement(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function WhileStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_whileStatement; - return this; -} - -WhileStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -WhileStatementContext.prototype.constructor = WhileStatementContext; - -WhileStatementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -WhileStatementContext.prototype.statement = function() { - return this.getTypedRuleContext(StatementContext,0); -}; - -WhileStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterWhileStatement(this); - } -}; - -WhileStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitWhileStatement(this); - } -}; - - - - -SolidityParser.WhileStatementContext = WhileStatementContext; - -SolidityParser.prototype.whileStatement = function() { - - var localctx = new WhileStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 82, SolidityParser.RULE_whileStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 550; - this.match(SolidityParser.T__42); - this.state = 551; - this.match(SolidityParser.T__20); - this.state = 552; - this.expression(0); - this.state = 553; - this.match(SolidityParser.T__21); - this.state = 554; - this.statement(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function SimpleStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_simpleStatement; - return this; -} - -SimpleStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -SimpleStatementContext.prototype.constructor = SimpleStatementContext; - -SimpleStatementContext.prototype.variableDeclarationStatement = function() { - return this.getTypedRuleContext(VariableDeclarationStatementContext,0); -}; - -SimpleStatementContext.prototype.expressionStatement = function() { - return this.getTypedRuleContext(ExpressionStatementContext,0); -}; - -SimpleStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterSimpleStatement(this); - } -}; - -SimpleStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitSimpleStatement(this); - } -}; - - - - -SolidityParser.SimpleStatementContext = SimpleStatementContext; - -SolidityParser.prototype.simpleStatement = function() { - - var localctx = new SimpleStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 84, SolidityParser.RULE_simpleStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 558; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,55,this._ctx); - switch(la_) { - case 1: - this.state = 556; - this.variableDeclarationStatement(); - break; - - case 2: - this.state = 557; - this.expressionStatement(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ForStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_forStatement; - return this; -} - -ForStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ForStatementContext.prototype.constructor = ForStatementContext; - -ForStatementContext.prototype.statement = function() { - return this.getTypedRuleContext(StatementContext,0); -}; - -ForStatementContext.prototype.simpleStatement = function() { - return this.getTypedRuleContext(SimpleStatementContext,0); -}; - -ForStatementContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -ForStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterForStatement(this); - } -}; - -ForStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitForStatement(this); - } -}; - - - - -SolidityParser.ForStatementContext = ForStatementContext; - -SolidityParser.prototype.forStatement = function() { - - var localctx = new ForStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 86, SolidityParser.RULE_forStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 560; - this.match(SolidityParser.T__23); - this.state = 561; - this.match(SolidityParser.T__20); - this.state = 564; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__3: - case SolidityParser.T__12: - case SolidityParser.T__20: - case SolidityParser.T__27: - case SolidityParser.T__31: - case SolidityParser.T__33: - case SolidityParser.T__35: - case SolidityParser.T__48: - case SolidityParser.T__49: - case SolidityParser.T__50: - case SolidityParser.T__51: - case SolidityParser.T__52: - case SolidityParser.T__53: - case SolidityParser.T__54: - case SolidityParser.T__55: - case SolidityParser.T__56: - case SolidityParser.T__57: - case SolidityParser.T__58: - case SolidityParser.T__59: - case SolidityParser.Int: - case SolidityParser.Uint: - case SolidityParser.Byte: - case SolidityParser.Fixed: - case SolidityParser.Ufixed: - case SolidityParser.BooleanLiteral: - case SolidityParser.DecimalNumber: - case SolidityParser.HexNumber: - case SolidityParser.HexLiteral: - case SolidityParser.Identifier: - case SolidityParser.StringLiteral: - this.state = 562; - this.simpleStatement(); - break; - case SolidityParser.T__1: - this.state = 563; - this.match(SolidityParser.T__1); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 567; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 566; - this.expression(0); - } - - this.state = 569; - this.match(SolidityParser.T__1); - this.state = 571; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 570; - this.expression(0); - } - - this.state = 573; - this.match(SolidityParser.T__21); - this.state = 574; - this.statement(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function InlineAssemblyStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_inlineAssemblyStatement; - return this; -} - -InlineAssemblyStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -InlineAssemblyStatementContext.prototype.constructor = InlineAssemblyStatementContext; - -InlineAssemblyStatementContext.prototype.assemblyBlock = function() { - return this.getTypedRuleContext(AssemblyBlockContext,0); -}; - -InlineAssemblyStatementContext.prototype.StringLiteral = function() { - return this.getToken(SolidityParser.StringLiteral, 0); -}; - -InlineAssemblyStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterInlineAssemblyStatement(this); - } -}; - -InlineAssemblyStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitInlineAssemblyStatement(this); - } -}; - - - - -SolidityParser.InlineAssemblyStatementContext = InlineAssemblyStatementContext; - -SolidityParser.prototype.inlineAssemblyStatement = function() { - - var localctx = new InlineAssemblyStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 88, SolidityParser.RULE_inlineAssemblyStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 576; - this.match(SolidityParser.T__43); - this.state = 578; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.StringLiteral) { - this.state = 577; - this.match(SolidityParser.StringLiteral); - } - - this.state = 580; - this.assemblyBlock(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function DoWhileStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_doWhileStatement; - return this; -} - -DoWhileStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -DoWhileStatementContext.prototype.constructor = DoWhileStatementContext; - -DoWhileStatementContext.prototype.statement = function() { - return this.getTypedRuleContext(StatementContext,0); -}; - -DoWhileStatementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -DoWhileStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterDoWhileStatement(this); - } -}; - -DoWhileStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitDoWhileStatement(this); - } -}; - - - - -SolidityParser.DoWhileStatementContext = DoWhileStatementContext; - -SolidityParser.prototype.doWhileStatement = function() { - - var localctx = new DoWhileStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 90, SolidityParser.RULE_doWhileStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 582; - this.match(SolidityParser.T__44); - this.state = 583; - this.statement(); - this.state = 584; - this.match(SolidityParser.T__42); - this.state = 585; - this.match(SolidityParser.T__20); - this.state = 586; - this.expression(0); - this.state = 587; - this.match(SolidityParser.T__21); - this.state = 588; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ContinueStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_continueStatement; - return this; -} - -ContinueStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ContinueStatementContext.prototype.constructor = ContinueStatementContext; - - -ContinueStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterContinueStatement(this); - } -}; - -ContinueStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitContinueStatement(this); - } -}; - - - - -SolidityParser.ContinueStatementContext = ContinueStatementContext; - -SolidityParser.prototype.continueStatement = function() { - - var localctx = new ContinueStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 92, SolidityParser.RULE_continueStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 590; - this.match(SolidityParser.ContinueKeyword); - this.state = 591; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function BreakStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_breakStatement; - return this; -} - -BreakStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -BreakStatementContext.prototype.constructor = BreakStatementContext; - - -BreakStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterBreakStatement(this); - } -}; - -BreakStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitBreakStatement(this); - } -}; - - - - -SolidityParser.BreakStatementContext = BreakStatementContext; - -SolidityParser.prototype.breakStatement = function() { - - var localctx = new BreakStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 94, SolidityParser.RULE_breakStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 593; - this.match(SolidityParser.BreakKeyword); - this.state = 594; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ReturnStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_returnStatement; - return this; -} - -ReturnStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ReturnStatementContext.prototype.constructor = ReturnStatementContext; - -ReturnStatementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -ReturnStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterReturnStatement(this); - } -}; - -ReturnStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitReturnStatement(this); - } -}; - - - - -SolidityParser.ReturnStatementContext = ReturnStatementContext; - -SolidityParser.prototype.returnStatement = function() { - - var localctx = new ReturnStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 96, SolidityParser.RULE_returnStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 596; - this.match(SolidityParser.T__45); - this.state = 598; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 597; - this.expression(0); - } - - this.state = 600; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ThrowStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_throwStatement; - return this; -} - -ThrowStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ThrowStatementContext.prototype.constructor = ThrowStatementContext; - - -ThrowStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterThrowStatement(this); - } -}; - -ThrowStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitThrowStatement(this); - } -}; - - - - -SolidityParser.ThrowStatementContext = ThrowStatementContext; - -SolidityParser.prototype.throwStatement = function() { - - var localctx = new ThrowStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 98, SolidityParser.RULE_throwStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 602; - this.match(SolidityParser.T__46); - this.state = 603; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function EmitStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_emitStatement; - return this; -} - -EmitStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -EmitStatementContext.prototype.constructor = EmitStatementContext; - -EmitStatementContext.prototype.functionCall = function() { - return this.getTypedRuleContext(FunctionCallContext,0); -}; - -EmitStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterEmitStatement(this); - } -}; - -EmitStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitEmitStatement(this); - } -}; - - - - -SolidityParser.EmitStatementContext = EmitStatementContext; - -SolidityParser.prototype.emitStatement = function() { - - var localctx = new EmitStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 100, SolidityParser.RULE_emitStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 605; - this.match(SolidityParser.T__47); - this.state = 606; - this.functionCall(); - this.state = 607; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function VariableDeclarationStatementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_variableDeclarationStatement; - return this; -} - -VariableDeclarationStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -VariableDeclarationStatementContext.prototype.constructor = VariableDeclarationStatementContext; - -VariableDeclarationStatementContext.prototype.identifierList = function() { - return this.getTypedRuleContext(IdentifierListContext,0); -}; - -VariableDeclarationStatementContext.prototype.variableDeclaration = function() { - return this.getTypedRuleContext(VariableDeclarationContext,0); -}; - -VariableDeclarationStatementContext.prototype.variableDeclarationList = function() { - return this.getTypedRuleContext(VariableDeclarationListContext,0); -}; - -VariableDeclarationStatementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -VariableDeclarationStatementContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterVariableDeclarationStatement(this); - } -}; - -VariableDeclarationStatementContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitVariableDeclarationStatement(this); - } -}; - - - - -SolidityParser.VariableDeclarationStatementContext = VariableDeclarationStatementContext; - -SolidityParser.prototype.variableDeclarationStatement = function() { - - var localctx = new VariableDeclarationStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 102, SolidityParser.RULE_variableDeclarationStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 616; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,61,this._ctx); - switch(la_) { - case 1: - this.state = 609; - this.match(SolidityParser.T__48); - this.state = 610; - this.identifierList(); - break; - - case 2: - this.state = 611; - this.variableDeclaration(); - break; - - case 3: - this.state = 612; - this.match(SolidityParser.T__20); - this.state = 613; - this.variableDeclarationList(); - this.state = 614; - this.match(SolidityParser.T__21); - break; - - } - this.state = 620; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__8) { - this.state = 618; - this.match(SolidityParser.T__8); - this.state = 619; - this.expression(0); - } - - this.state = 622; - this.match(SolidityParser.T__1); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function VariableDeclarationListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_variableDeclarationList; - return this; -} - -VariableDeclarationListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -VariableDeclarationListContext.prototype.constructor = VariableDeclarationListContext; - -VariableDeclarationListContext.prototype.variableDeclaration = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(VariableDeclarationContext); - } else { - return this.getTypedRuleContext(VariableDeclarationContext,i); - } -}; - -VariableDeclarationListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterVariableDeclarationList(this); - } -}; - -VariableDeclarationListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitVariableDeclarationList(this); - } -}; - - - - -SolidityParser.VariableDeclarationListContext = VariableDeclarationListContext; - -SolidityParser.prototype.variableDeclarationList = function() { - - var localctx = new VariableDeclarationListContext(this, this._ctx, this.state); - this.enterRule(localctx, 104, SolidityParser.RULE_variableDeclarationList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 625; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.T__27 || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__35 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.Identifier - 91)))) !== 0)) { - this.state = 624; - this.variableDeclaration(); - } - - this.state = 633; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 627; - this.match(SolidityParser.T__14); - this.state = 629; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.T__27 || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__35 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.Identifier - 91)))) !== 0)) { - this.state = 628; - this.variableDeclaration(); - } - - this.state = 635; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function IdentifierListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_identifierList; - return this; -} - -IdentifierListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -IdentifierListContext.prototype.constructor = IdentifierListContext; - -IdentifierListContext.prototype.identifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentifierContext); - } else { - return this.getTypedRuleContext(IdentifierContext,i); - } -}; - -IdentifierListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterIdentifierList(this); - } -}; - -IdentifierListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitIdentifierList(this); - } -}; - - - - -SolidityParser.IdentifierListContext = IdentifierListContext; - -SolidityParser.prototype.identifierList = function() { - - var localctx = new IdentifierListContext(this, this._ctx, this.state); - this.enterRule(localctx, 106, SolidityParser.RULE_identifierList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 636; - this.match(SolidityParser.T__20); - this.state = 643; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,67,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 638; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier) { - this.state = 637; - this.identifier(); - } - - this.state = 640; - this.match(SolidityParser.T__14); - } - this.state = 645; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,67,this._ctx); - } - - this.state = 647; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier) { - this.state = 646; - this.identifier(); - } - - this.state = 649; - this.match(SolidityParser.T__21); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ElementaryTypeNameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_elementaryTypeName; - return this; -} - -ElementaryTypeNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ElementaryTypeNameContext.prototype.constructor = ElementaryTypeNameContext; - -ElementaryTypeNameContext.prototype.Int = function() { - return this.getToken(SolidityParser.Int, 0); -}; - -ElementaryTypeNameContext.prototype.Uint = function() { - return this.getToken(SolidityParser.Uint, 0); -}; - -ElementaryTypeNameContext.prototype.Byte = function() { - return this.getToken(SolidityParser.Byte, 0); -}; - -ElementaryTypeNameContext.prototype.Fixed = function() { - return this.getToken(SolidityParser.Fixed, 0); -}; - -ElementaryTypeNameContext.prototype.Ufixed = function() { - return this.getToken(SolidityParser.Ufixed, 0); -}; - -ElementaryTypeNameContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterElementaryTypeName(this); - } -}; - -ElementaryTypeNameContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitElementaryTypeName(this); - } -}; - - - - -SolidityParser.ElementaryTypeNameContext = ElementaryTypeNameContext; - -SolidityParser.prototype.elementaryTypeName = function() { - - var localctx = new ElementaryTypeNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 108, SolidityParser.RULE_elementaryTypeName); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 651; - _la = this._input.LA(1); - if(!(((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__48 - 34)) | (1 << (SolidityParser.T__49 - 34)) | (1 << (SolidityParser.T__50 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ExpressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_expression; - return this; -} - -ExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ExpressionContext.prototype.constructor = ExpressionContext; - -ExpressionContext.prototype.typeName = function() { - return this.getTypedRuleContext(TypeNameContext,0); -}; - -ExpressionContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -ExpressionContext.prototype.primaryExpression = function() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); -}; - -ExpressionContext.prototype.functionCallArguments = function() { - return this.getTypedRuleContext(FunctionCallArgumentsContext,0); -}; - -ExpressionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -ExpressionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterExpression(this); - } -}; - -ExpressionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitExpression(this); - } -}; - - - -SolidityParser.prototype.expression = function(_p) { - if(_p===undefined) { - _p = 0; - } - var _parentctx = this._ctx; - var _parentState = this.state; - var localctx = new ExpressionContext(this, this._ctx, _parentState); - var _prevctx = localctx; - var _startState = 110; - this.enterRecursionRule(localctx, 110, SolidityParser.RULE_expression, _p); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 671; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,69,this._ctx); - switch(la_) { - case 1: - this.state = 654; - this.match(SolidityParser.T__54); - this.state = 655; - this.typeName(0); - break; - - case 2: - this.state = 656; - this.match(SolidityParser.T__20); - this.state = 657; - this.expression(0); - this.state = 658; - this.match(SolidityParser.T__21); - break; - - case 3: - this.state = 660; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__52 || _la===SolidityParser.T__53)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 661; - this.expression(19); - break; - - case 4: - this.state = 662; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__55 || _la===SolidityParser.T__56)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 663; - this.expression(18); - break; - - case 5: - this.state = 664; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__57 || _la===SolidityParser.T__58)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 665; - this.expression(17); - break; - - case 6: - this.state = 666; - this.match(SolidityParser.T__59); - this.state = 667; - this.expression(16); - break; - - case 7: - this.state = 668; - this.match(SolidityParser.T__3); - this.state = 669; - this.expression(15); - break; - - case 8: - this.state = 670; - this.primaryExpression(); - break; - - } - this._ctx.stop = this._input.LT(-1); - this.state = 732; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,71,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - this.state = 730; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,70,this._ctx); - switch(la_) { - case 1: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 673; - if (!( this.precpred(this._ctx, 14))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 14)"); - } - this.state = 674; - this.match(SolidityParser.T__60); - this.state = 675; - this.expression(15); - break; - - case 2: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 676; - if (!( this.precpred(this._ctx, 13))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 13)"); - } - this.state = 677; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__11 || _la===SolidityParser.T__61 || _la===SolidityParser.T__62)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 678; - this.expression(14); - break; - - case 3: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 679; - if (!( this.precpred(this._ctx, 12))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 12)"); - } - this.state = 680; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__55 || _la===SolidityParser.T__56)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 681; - this.expression(13); - break; - - case 4: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 682; - if (!( this.precpred(this._ctx, 11))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 11)"); - } - this.state = 683; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__63 || _la===SolidityParser.T__64)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 684; - this.expression(12); - break; - - case 5: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 685; - if (!( this.precpred(this._ctx, 10))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 10)"); - } - this.state = 686; - this.match(SolidityParser.T__65); - this.state = 687; - this.expression(11); - break; - - case 6: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 688; - if (!( this.precpred(this._ctx, 9))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 9)"); - } - this.state = 689; - this.match(SolidityParser.T__2); - this.state = 690; - this.expression(10); - break; - - case 7: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 691; - if (!( this.precpred(this._ctx, 8))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 8)"); - } - this.state = 692; - this.match(SolidityParser.T__66); - this.state = 693; - this.expression(9); - break; - - case 8: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 694; - if (!( this.precpred(this._ctx, 7))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 7)"); - } - this.state = 695; - _la = this._input.LA(1); - if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__4) | (1 << SolidityParser.T__5) | (1 << SolidityParser.T__6) | (1 << SolidityParser.T__7))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 696; - this.expression(8); - break; - - case 9: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 697; - if (!( this.precpred(this._ctx, 6))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 6)"); - } - this.state = 698; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__67 || _la===SolidityParser.T__68)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 699; - this.expression(7); - break; - - case 10: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 700; - if (!( this.precpred(this._ctx, 5))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 5)"); - } - this.state = 701; - this.match(SolidityParser.T__69); - this.state = 702; - this.expression(6); - break; - - case 11: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 703; - if (!( this.precpred(this._ctx, 4))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 4)"); - } - this.state = 704; - this.match(SolidityParser.T__70); - this.state = 705; - this.expression(5); - break; - - case 12: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 706; - if (!( this.precpred(this._ctx, 3))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); - } - this.state = 707; - this.match(SolidityParser.T__71); - this.state = 708; - this.expression(0); - this.state = 709; - this.match(SolidityParser.T__72); - this.state = 710; - this.expression(4); - break; - - case 13: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 712; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 713; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__8 || ((((_la - 74)) & ~0x1f) == 0 && ((1 << (_la - 74)) & ((1 << (SolidityParser.T__73 - 74)) | (1 << (SolidityParser.T__74 - 74)) | (1 << (SolidityParser.T__75 - 74)) | (1 << (SolidityParser.T__76 - 74)) | (1 << (SolidityParser.T__77 - 74)) | (1 << (SolidityParser.T__78 - 74)) | (1 << (SolidityParser.T__79 - 74)) | (1 << (SolidityParser.T__80 - 74)) | (1 << (SolidityParser.T__81 - 74)) | (1 << (SolidityParser.T__82 - 74)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 714; - this.expression(3); - break; - - case 14: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 715; - if (!( this.precpred(this._ctx, 25))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 25)"); - } - this.state = 716; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__52 || _la===SolidityParser.T__53)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 15: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 717; - if (!( this.precpred(this._ctx, 23))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 23)"); - } - this.state = 718; - this.match(SolidityParser.T__31); - this.state = 719; - this.expression(0); - this.state = 720; - this.match(SolidityParser.T__32); - break; - - case 16: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 722; - if (!( this.precpred(this._ctx, 22))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 22)"); - } - this.state = 723; - this.match(SolidityParser.T__20); - this.state = 724; - this.functionCallArguments(); - this.state = 725; - this.match(SolidityParser.T__21); - break; - - case 17: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, SolidityParser.RULE_expression); - this.state = 727; - if (!( this.precpred(this._ctx, 21))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 21)"); - } - this.state = 728; - this.match(SolidityParser.T__34); - this.state = 729; - this.identifier(); - break; - - } - } - this.state = 734; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,71,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; -}; - -function PrimaryExpressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_primaryExpression; - return this; -} - -PrimaryExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -PrimaryExpressionContext.prototype.constructor = PrimaryExpressionContext; - -PrimaryExpressionContext.prototype.BooleanLiteral = function() { - return this.getToken(SolidityParser.BooleanLiteral, 0); -}; - -PrimaryExpressionContext.prototype.numberLiteral = function() { - return this.getTypedRuleContext(NumberLiteralContext,0); -}; - -PrimaryExpressionContext.prototype.HexLiteral = function() { - return this.getToken(SolidityParser.HexLiteral, 0); -}; - -PrimaryExpressionContext.prototype.StringLiteral = function() { - return this.getToken(SolidityParser.StringLiteral, 0); -}; - -PrimaryExpressionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -PrimaryExpressionContext.prototype.tupleExpression = function() { - return this.getTypedRuleContext(TupleExpressionContext,0); -}; - -PrimaryExpressionContext.prototype.elementaryTypeNameExpression = function() { - return this.getTypedRuleContext(ElementaryTypeNameExpressionContext,0); -}; - -PrimaryExpressionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterPrimaryExpression(this); - } -}; - -PrimaryExpressionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitPrimaryExpression(this); - } -}; - - - - -SolidityParser.PrimaryExpressionContext = PrimaryExpressionContext; - -SolidityParser.prototype.primaryExpression = function() { - - var localctx = new PrimaryExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 112, SolidityParser.RULE_primaryExpression); - try { - this.state = 742; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.BooleanLiteral: - this.enterOuterAlt(localctx, 1); - this.state = 735; - this.match(SolidityParser.BooleanLiteral); - break; - case SolidityParser.DecimalNumber: - case SolidityParser.HexNumber: - this.enterOuterAlt(localctx, 2); - this.state = 736; - this.numberLiteral(); - break; - case SolidityParser.HexLiteral: - this.enterOuterAlt(localctx, 3); - this.state = 737; - this.match(SolidityParser.HexLiteral); - break; - case SolidityParser.StringLiteral: - this.enterOuterAlt(localctx, 4); - this.state = 738; - this.match(SolidityParser.StringLiteral); - break; - case SolidityParser.T__12: - case SolidityParser.Identifier: - this.enterOuterAlt(localctx, 5); - this.state = 739; - this.identifier(); - break; - case SolidityParser.T__20: - case SolidityParser.T__31: - this.enterOuterAlt(localctx, 6); - this.state = 740; - this.tupleExpression(); - break; - case SolidityParser.T__33: - case SolidityParser.T__48: - case SolidityParser.T__49: - case SolidityParser.T__50: - case SolidityParser.T__51: - case SolidityParser.Int: - case SolidityParser.Uint: - case SolidityParser.Byte: - case SolidityParser.Fixed: - case SolidityParser.Ufixed: - this.enterOuterAlt(localctx, 7); - this.state = 741; - this.elementaryTypeNameExpression(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ExpressionListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_expressionList; - return this; -} - -ExpressionListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ExpressionListContext.prototype.constructor = ExpressionListContext; - -ExpressionListContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -ExpressionListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterExpressionList(this); - } -}; - -ExpressionListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitExpressionList(this); - } -}; - - - - -SolidityParser.ExpressionListContext = ExpressionListContext; - -SolidityParser.prototype.expressionList = function() { - - var localctx = new ExpressionListContext(this, this._ctx, this.state); - this.enterRule(localctx, 114, SolidityParser.RULE_expressionList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 744; - this.expression(0); - this.state = 749; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 745; - this.match(SolidityParser.T__14); - this.state = 746; - this.expression(0); - this.state = 751; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function NameValueListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_nameValueList; - return this; -} - -NameValueListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -NameValueListContext.prototype.constructor = NameValueListContext; - -NameValueListContext.prototype.nameValue = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(NameValueContext); - } else { - return this.getTypedRuleContext(NameValueContext,i); - } -}; - -NameValueListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterNameValueList(this); - } -}; - -NameValueListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitNameValueList(this); - } -}; - - - - -SolidityParser.NameValueListContext = NameValueListContext; - -SolidityParser.prototype.nameValueList = function() { - - var localctx = new NameValueListContext(this, this._ctx, this.state); - this.enterRule(localctx, 116, SolidityParser.RULE_nameValueList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 752; - this.nameValue(); - this.state = 757; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,74,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 753; - this.match(SolidityParser.T__14); - this.state = 754; - this.nameValue(); - } - this.state = 759; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,74,this._ctx); - } - - this.state = 761; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__14) { - this.state = 760; - this.match(SolidityParser.T__14); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function NameValueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_nameValue; - return this; -} - -NameValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -NameValueContext.prototype.constructor = NameValueContext; - -NameValueContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -NameValueContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -NameValueContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterNameValue(this); - } -}; - -NameValueContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitNameValue(this); - } -}; - - - - -SolidityParser.NameValueContext = NameValueContext; - -SolidityParser.prototype.nameValue = function() { - - var localctx = new NameValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 118, SolidityParser.RULE_nameValue); - try { - this.enterOuterAlt(localctx, 1); - this.state = 763; - this.identifier(); - this.state = 764; - this.match(SolidityParser.T__72); - this.state = 765; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function FunctionCallArgumentsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_functionCallArguments; - return this; -} - -FunctionCallArgumentsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -FunctionCallArgumentsContext.prototype.constructor = FunctionCallArgumentsContext; - -FunctionCallArgumentsContext.prototype.nameValueList = function() { - return this.getTypedRuleContext(NameValueListContext,0); -}; - -FunctionCallArgumentsContext.prototype.expressionList = function() { - return this.getTypedRuleContext(ExpressionListContext,0); -}; - -FunctionCallArgumentsContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterFunctionCallArguments(this); - } -}; - -FunctionCallArgumentsContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitFunctionCallArguments(this); - } -}; - - - - -SolidityParser.FunctionCallArgumentsContext = FunctionCallArgumentsContext; - -SolidityParser.prototype.functionCallArguments = function() { - - var localctx = new FunctionCallArgumentsContext(this, this._ctx, this.state); - this.enterRule(localctx, 120, SolidityParser.RULE_functionCallArguments); - var _la = 0; // Token type - try { - this.state = 775; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__13: - this.enterOuterAlt(localctx, 1); - this.state = 767; - this.match(SolidityParser.T__13); - this.state = 769; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier) { - this.state = 768; - this.nameValueList(); - } - - this.state = 771; - this.match(SolidityParser.T__15); - break; - case SolidityParser.T__3: - case SolidityParser.T__12: - case SolidityParser.T__20: - case SolidityParser.T__21: - case SolidityParser.T__31: - case SolidityParser.T__33: - case SolidityParser.T__48: - case SolidityParser.T__49: - case SolidityParser.T__50: - case SolidityParser.T__51: - case SolidityParser.T__52: - case SolidityParser.T__53: - case SolidityParser.T__54: - case SolidityParser.T__55: - case SolidityParser.T__56: - case SolidityParser.T__57: - case SolidityParser.T__58: - case SolidityParser.T__59: - case SolidityParser.Int: - case SolidityParser.Uint: - case SolidityParser.Byte: - case SolidityParser.Fixed: - case SolidityParser.Ufixed: - case SolidityParser.BooleanLiteral: - case SolidityParser.DecimalNumber: - case SolidityParser.HexNumber: - case SolidityParser.HexLiteral: - case SolidityParser.Identifier: - case SolidityParser.StringLiteral: - this.enterOuterAlt(localctx, 2); - this.state = 773; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 772; - this.expressionList(); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function FunctionCallContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_functionCall; - return this; -} - -FunctionCallContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -FunctionCallContext.prototype.constructor = FunctionCallContext; - -FunctionCallContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -FunctionCallContext.prototype.functionCallArguments = function() { - return this.getTypedRuleContext(FunctionCallArgumentsContext,0); -}; - -FunctionCallContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterFunctionCall(this); - } -}; - -FunctionCallContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitFunctionCall(this); - } -}; - - - - -SolidityParser.FunctionCallContext = FunctionCallContext; - -SolidityParser.prototype.functionCall = function() { - - var localctx = new FunctionCallContext(this, this._ctx, this.state); - this.enterRule(localctx, 122, SolidityParser.RULE_functionCall); - try { - this.enterOuterAlt(localctx, 1); - this.state = 777; - this.expression(0); - this.state = 778; - this.match(SolidityParser.T__20); - this.state = 779; - this.functionCallArguments(); - this.state = 780; - this.match(SolidityParser.T__21); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyBlockContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyBlock; - return this; -} - -AssemblyBlockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyBlockContext.prototype.constructor = AssemblyBlockContext; - -AssemblyBlockContext.prototype.assemblyItem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AssemblyItemContext); - } else { - return this.getTypedRuleContext(AssemblyItemContext,i); - } -}; - -AssemblyBlockContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyBlock(this); - } -}; - -AssemblyBlockContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyBlock(this); - } -}; - - - - -SolidityParser.AssemblyBlockContext = AssemblyBlockContext; - -SolidityParser.prototype.assemblyBlock = function() { - - var localctx = new AssemblyBlockContext(this, this._ctx, this.state); - this.enterRule(localctx, 124, SolidityParser.RULE_assemblyBlock); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 782; - this.match(SolidityParser.T__13); - this.state = 786; - this._errHandler.sync(this); - _la = this._input.LA(1); - while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__12) | (1 << SolidityParser.T__13) | (1 << SolidityParser.T__20) | (1 << SolidityParser.T__23) | (1 << SolidityParser.T__27))) !== 0) || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__40 - 34)) | (1 << (SolidityParser.T__43 - 34)) | (1 << (SolidityParser.T__45 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 84)) & ~0x1f) == 0 && ((1 << (_la - 84)) & ((1 << (SolidityParser.T__83 - 84)) | (1 << (SolidityParser.T__85 - 84)) | (1 << (SolidityParser.T__86 - 84)) | (1 << (SolidityParser.DecimalNumber - 84)) | (1 << (SolidityParser.HexNumber - 84)) | (1 << (SolidityParser.HexLiteral - 84)) | (1 << (SolidityParser.BreakKeyword - 84)) | (1 << (SolidityParser.ContinueKeyword - 84)) | (1 << (SolidityParser.Identifier - 84)))) !== 0) || _la===SolidityParser.StringLiteral) { - this.state = 783; - this.assemblyItem(); - this.state = 788; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 789; - this.match(SolidityParser.T__15); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyItemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyItem; - return this; -} - -AssemblyItemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyItemContext.prototype.constructor = AssemblyItemContext; - -AssemblyItemContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -AssemblyItemContext.prototype.assemblyBlock = function() { - return this.getTypedRuleContext(AssemblyBlockContext,0); -}; - -AssemblyItemContext.prototype.assemblyExpression = function() { - return this.getTypedRuleContext(AssemblyExpressionContext,0); -}; - -AssemblyItemContext.prototype.assemblyLocalDefinition = function() { - return this.getTypedRuleContext(AssemblyLocalDefinitionContext,0); -}; - -AssemblyItemContext.prototype.assemblyAssignment = function() { - return this.getTypedRuleContext(AssemblyAssignmentContext,0); -}; - -AssemblyItemContext.prototype.assemblyStackAssignment = function() { - return this.getTypedRuleContext(AssemblyStackAssignmentContext,0); -}; - -AssemblyItemContext.prototype.labelDefinition = function() { - return this.getTypedRuleContext(LabelDefinitionContext,0); -}; - -AssemblyItemContext.prototype.assemblySwitch = function() { - return this.getTypedRuleContext(AssemblySwitchContext,0); -}; - -AssemblyItemContext.prototype.assemblyFunctionDefinition = function() { - return this.getTypedRuleContext(AssemblyFunctionDefinitionContext,0); -}; - -AssemblyItemContext.prototype.assemblyFor = function() { - return this.getTypedRuleContext(AssemblyForContext,0); -}; - -AssemblyItemContext.prototype.assemblyIf = function() { - return this.getTypedRuleContext(AssemblyIfContext,0); -}; - -AssemblyItemContext.prototype.BreakKeyword = function() { - return this.getToken(SolidityParser.BreakKeyword, 0); -}; - -AssemblyItemContext.prototype.ContinueKeyword = function() { - return this.getToken(SolidityParser.ContinueKeyword, 0); -}; - -AssemblyItemContext.prototype.subAssembly = function() { - return this.getTypedRuleContext(SubAssemblyContext,0); -}; - -AssemblyItemContext.prototype.numberLiteral = function() { - return this.getTypedRuleContext(NumberLiteralContext,0); -}; - -AssemblyItemContext.prototype.StringLiteral = function() { - return this.getToken(SolidityParser.StringLiteral, 0); -}; - -AssemblyItemContext.prototype.HexLiteral = function() { - return this.getToken(SolidityParser.HexLiteral, 0); -}; - -AssemblyItemContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyItem(this); - } -}; - -AssemblyItemContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyItem(this); - } -}; - - - - -SolidityParser.AssemblyItemContext = AssemblyItemContext; - -SolidityParser.prototype.assemblyItem = function() { - - var localctx = new AssemblyItemContext(this, this._ctx, this.state); - this.enterRule(localctx, 126, SolidityParser.RULE_assemblyItem); - try { - this.state = 808; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,80,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 791; - this.identifier(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 792; - this.assemblyBlock(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 793; - this.assemblyExpression(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 794; - this.assemblyLocalDefinition(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 795; - this.assemblyAssignment(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 796; - this.assemblyStackAssignment(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 797; - this.labelDefinition(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 798; - this.assemblySwitch(); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 799; - this.assemblyFunctionDefinition(); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 800; - this.assemblyFor(); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 801; - this.assemblyIf(); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 802; - this.match(SolidityParser.BreakKeyword); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 803; - this.match(SolidityParser.ContinueKeyword); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 804; - this.subAssembly(); - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 805; - this.numberLiteral(); - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 806; - this.match(SolidityParser.StringLiteral); - break; - - case 17: - this.enterOuterAlt(localctx, 17); - this.state = 807; - this.match(SolidityParser.HexLiteral); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyExpressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyExpression; - return this; -} - -AssemblyExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyExpressionContext.prototype.constructor = AssemblyExpressionContext; - -AssemblyExpressionContext.prototype.assemblyCall = function() { - return this.getTypedRuleContext(AssemblyCallContext,0); -}; - -AssemblyExpressionContext.prototype.assemblyLiteral = function() { - return this.getTypedRuleContext(AssemblyLiteralContext,0); -}; - -AssemblyExpressionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyExpression(this); - } -}; - -AssemblyExpressionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyExpression(this); - } -}; - - - - -SolidityParser.AssemblyExpressionContext = AssemblyExpressionContext; - -SolidityParser.prototype.assemblyExpression = function() { - - var localctx = new AssemblyExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 128, SolidityParser.RULE_assemblyExpression); - try { - this.state = 812; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__12: - case SolidityParser.T__33: - case SolidityParser.T__45: - case SolidityParser.T__51: - case SolidityParser.Identifier: - this.enterOuterAlt(localctx, 1); - this.state = 810; - this.assemblyCall(); - break; - case SolidityParser.DecimalNumber: - case SolidityParser.HexNumber: - case SolidityParser.HexLiteral: - case SolidityParser.StringLiteral: - this.enterOuterAlt(localctx, 2); - this.state = 811; - this.assemblyLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyCallContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyCall; - return this; -} - -AssemblyCallContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyCallContext.prototype.constructor = AssemblyCallContext; - -AssemblyCallContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -AssemblyCallContext.prototype.assemblyExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AssemblyExpressionContext); - } else { - return this.getTypedRuleContext(AssemblyExpressionContext,i); - } -}; - -AssemblyCallContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyCall(this); - } -}; - -AssemblyCallContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyCall(this); - } -}; - - - - -SolidityParser.AssemblyCallContext = AssemblyCallContext; - -SolidityParser.prototype.assemblyCall = function() { - - var localctx = new AssemblyCallContext(this, this._ctx, this.state); - this.enterRule(localctx, 130, SolidityParser.RULE_assemblyCall); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 818; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__45: - this.state = 814; - this.match(SolidityParser.T__45); - break; - case SolidityParser.T__33: - this.state = 815; - this.match(SolidityParser.T__33); - break; - case SolidityParser.T__51: - this.state = 816; - this.match(SolidityParser.T__51); - break; - case SolidityParser.T__12: - case SolidityParser.Identifier: - this.state = 817; - this.identifier(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 832; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,85,this._ctx); - if(la_===1) { - this.state = 820; - this.match(SolidityParser.T__20); - this.state = 822; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || ((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SolidityParser.T__33 - 34)) | (1 << (SolidityParser.T__45 - 34)) | (1 << (SolidityParser.T__51 - 34)))) !== 0) || ((((_la - 98)) & ~0x1f) == 0 && ((1 << (_la - 98)) & ((1 << (SolidityParser.DecimalNumber - 98)) | (1 << (SolidityParser.HexNumber - 98)) | (1 << (SolidityParser.HexLiteral - 98)) | (1 << (SolidityParser.Identifier - 98)) | (1 << (SolidityParser.StringLiteral - 98)))) !== 0)) { - this.state = 821; - this.assemblyExpression(); - } - - this.state = 828; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 824; - this.match(SolidityParser.T__14); - this.state = 825; - this.assemblyExpression(); - this.state = 830; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 831; - this.match(SolidityParser.T__21); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyLocalDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyLocalDefinition; - return this; -} - -AssemblyLocalDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyLocalDefinitionContext.prototype.constructor = AssemblyLocalDefinitionContext; - -AssemblyLocalDefinitionContext.prototype.assemblyIdentifierOrList = function() { - return this.getTypedRuleContext(AssemblyIdentifierOrListContext,0); -}; - -AssemblyLocalDefinitionContext.prototype.assemblyExpression = function() { - return this.getTypedRuleContext(AssemblyExpressionContext,0); -}; - -AssemblyLocalDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyLocalDefinition(this); - } -}; - -AssemblyLocalDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyLocalDefinition(this); - } -}; - - - - -SolidityParser.AssemblyLocalDefinitionContext = AssemblyLocalDefinitionContext; - -SolidityParser.prototype.assemblyLocalDefinition = function() { - - var localctx = new AssemblyLocalDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 132, SolidityParser.RULE_assemblyLocalDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 834; - this.match(SolidityParser.T__83); - this.state = 835; - this.assemblyIdentifierOrList(); - this.state = 838; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__84) { - this.state = 836; - this.match(SolidityParser.T__84); - this.state = 837; - this.assemblyExpression(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyAssignmentContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyAssignment; - return this; -} - -AssemblyAssignmentContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyAssignmentContext.prototype.constructor = AssemblyAssignmentContext; - -AssemblyAssignmentContext.prototype.assemblyIdentifierOrList = function() { - return this.getTypedRuleContext(AssemblyIdentifierOrListContext,0); -}; - -AssemblyAssignmentContext.prototype.assemblyExpression = function() { - return this.getTypedRuleContext(AssemblyExpressionContext,0); -}; - -AssemblyAssignmentContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyAssignment(this); - } -}; - -AssemblyAssignmentContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyAssignment(this); - } -}; - - - - -SolidityParser.AssemblyAssignmentContext = AssemblyAssignmentContext; - -SolidityParser.prototype.assemblyAssignment = function() { - - var localctx = new AssemblyAssignmentContext(this, this._ctx, this.state); - this.enterRule(localctx, 134, SolidityParser.RULE_assemblyAssignment); - try { - this.enterOuterAlt(localctx, 1); - this.state = 840; - this.assemblyIdentifierOrList(); - this.state = 841; - this.match(SolidityParser.T__84); - this.state = 842; - this.assemblyExpression(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyIdentifierOrListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyIdentifierOrList; - return this; -} - -AssemblyIdentifierOrListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyIdentifierOrListContext.prototype.constructor = AssemblyIdentifierOrListContext; - -AssemblyIdentifierOrListContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -AssemblyIdentifierOrListContext.prototype.assemblyIdentifierList = function() { - return this.getTypedRuleContext(AssemblyIdentifierListContext,0); -}; - -AssemblyIdentifierOrListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyIdentifierOrList(this); - } -}; - -AssemblyIdentifierOrListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyIdentifierOrList(this); - } -}; - - - - -SolidityParser.AssemblyIdentifierOrListContext = AssemblyIdentifierOrListContext; - -SolidityParser.prototype.assemblyIdentifierOrList = function() { - - var localctx = new AssemblyIdentifierOrListContext(this, this._ctx, this.state); - this.enterRule(localctx, 136, SolidityParser.RULE_assemblyIdentifierOrList); - try { - this.state = 849; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__12: - case SolidityParser.Identifier: - this.enterOuterAlt(localctx, 1); - this.state = 844; - this.identifier(); - break; - case SolidityParser.T__20: - this.enterOuterAlt(localctx, 2); - this.state = 845; - this.match(SolidityParser.T__20); - this.state = 846; - this.assemblyIdentifierList(); - this.state = 847; - this.match(SolidityParser.T__21); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyIdentifierListContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyIdentifierList; - return this; -} - -AssemblyIdentifierListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyIdentifierListContext.prototype.constructor = AssemblyIdentifierListContext; - -AssemblyIdentifierListContext.prototype.identifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentifierContext); - } else { - return this.getTypedRuleContext(IdentifierContext,i); - } -}; - -AssemblyIdentifierListContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyIdentifierList(this); - } -}; - -AssemblyIdentifierListContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyIdentifierList(this); - } -}; - - - - -SolidityParser.AssemblyIdentifierListContext = AssemblyIdentifierListContext; - -SolidityParser.prototype.assemblyIdentifierList = function() { - - var localctx = new AssemblyIdentifierListContext(this, this._ctx, this.state); - this.enterRule(localctx, 138, SolidityParser.RULE_assemblyIdentifierList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 851; - this.identifier(); - this.state = 856; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 852; - this.match(SolidityParser.T__14); - this.state = 853; - this.identifier(); - this.state = 858; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyStackAssignmentContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyStackAssignment; - return this; -} - -AssemblyStackAssignmentContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyStackAssignmentContext.prototype.constructor = AssemblyStackAssignmentContext; - -AssemblyStackAssignmentContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -AssemblyStackAssignmentContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyStackAssignment(this); - } -}; - -AssemblyStackAssignmentContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyStackAssignment(this); - } -}; - - - - -SolidityParser.AssemblyStackAssignmentContext = AssemblyStackAssignmentContext; - -SolidityParser.prototype.assemblyStackAssignment = function() { - - var localctx = new AssemblyStackAssignmentContext(this, this._ctx, this.state); - this.enterRule(localctx, 140, SolidityParser.RULE_assemblyStackAssignment); - try { - this.enterOuterAlt(localctx, 1); - this.state = 859; - this.match(SolidityParser.T__85); - this.state = 860; - this.identifier(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function LabelDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_labelDefinition; - return this; -} - -LabelDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -LabelDefinitionContext.prototype.constructor = LabelDefinitionContext; - -LabelDefinitionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -LabelDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterLabelDefinition(this); - } -}; - -LabelDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitLabelDefinition(this); - } -}; - - - - -SolidityParser.LabelDefinitionContext = LabelDefinitionContext; - -SolidityParser.prototype.labelDefinition = function() { - - var localctx = new LabelDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 142, SolidityParser.RULE_labelDefinition); - try { - this.enterOuterAlt(localctx, 1); - this.state = 862; - this.identifier(); - this.state = 863; - this.match(SolidityParser.T__72); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblySwitchContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblySwitch; - return this; -} - -AssemblySwitchContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblySwitchContext.prototype.constructor = AssemblySwitchContext; - -AssemblySwitchContext.prototype.assemblyExpression = function() { - return this.getTypedRuleContext(AssemblyExpressionContext,0); -}; - -AssemblySwitchContext.prototype.assemblyCase = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AssemblyCaseContext); - } else { - return this.getTypedRuleContext(AssemblyCaseContext,i); - } -}; - -AssemblySwitchContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblySwitch(this); - } -}; - -AssemblySwitchContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblySwitch(this); - } -}; - - - - -SolidityParser.AssemblySwitchContext = AssemblySwitchContext; - -SolidityParser.prototype.assemblySwitch = function() { - - var localctx = new AssemblySwitchContext(this, this._ctx, this.state); - this.enterRule(localctx, 144, SolidityParser.RULE_assemblySwitch); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 865; - this.match(SolidityParser.T__86); - this.state = 866; - this.assemblyExpression(); - this.state = 870; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__87 || _la===SolidityParser.T__88) { - this.state = 867; - this.assemblyCase(); - this.state = 872; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyCaseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyCase; - return this; -} - -AssemblyCaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyCaseContext.prototype.constructor = AssemblyCaseContext; - -AssemblyCaseContext.prototype.assemblyLiteral = function() { - return this.getTypedRuleContext(AssemblyLiteralContext,0); -}; - -AssemblyCaseContext.prototype.assemblyBlock = function() { - return this.getTypedRuleContext(AssemblyBlockContext,0); -}; - -AssemblyCaseContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyCase(this); - } -}; - -AssemblyCaseContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyCase(this); - } -}; - - - - -SolidityParser.AssemblyCaseContext = AssemblyCaseContext; - -SolidityParser.prototype.assemblyCase = function() { - - var localctx = new AssemblyCaseContext(this, this._ctx, this.state); - this.enterRule(localctx, 146, SolidityParser.RULE_assemblyCase); - try { - this.state = 879; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__87: - this.enterOuterAlt(localctx, 1); - this.state = 873; - this.match(SolidityParser.T__87); - this.state = 874; - this.assemblyLiteral(); - this.state = 875; - this.assemblyBlock(); - break; - case SolidityParser.T__88: - this.enterOuterAlt(localctx, 2); - this.state = 877; - this.match(SolidityParser.T__88); - this.state = 878; - this.assemblyBlock(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyFunctionDefinitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyFunctionDefinition; - return this; -} - -AssemblyFunctionDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyFunctionDefinitionContext.prototype.constructor = AssemblyFunctionDefinitionContext; - -AssemblyFunctionDefinitionContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -AssemblyFunctionDefinitionContext.prototype.assemblyBlock = function() { - return this.getTypedRuleContext(AssemblyBlockContext,0); -}; - -AssemblyFunctionDefinitionContext.prototype.assemblyIdentifierList = function() { - return this.getTypedRuleContext(AssemblyIdentifierListContext,0); -}; - -AssemblyFunctionDefinitionContext.prototype.assemblyFunctionReturns = function() { - return this.getTypedRuleContext(AssemblyFunctionReturnsContext,0); -}; - -AssemblyFunctionDefinitionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyFunctionDefinition(this); - } -}; - -AssemblyFunctionDefinitionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyFunctionDefinition(this); - } -}; - - - - -SolidityParser.AssemblyFunctionDefinitionContext = AssemblyFunctionDefinitionContext; - -SolidityParser.prototype.assemblyFunctionDefinition = function() { - - var localctx = new AssemblyFunctionDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 148, SolidityParser.RULE_assemblyFunctionDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 881; - this.match(SolidityParser.T__27); - this.state = 882; - this.identifier(); - this.state = 883; - this.match(SolidityParser.T__20); - this.state = 885; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier) { - this.state = 884; - this.assemblyIdentifierList(); - } - - this.state = 887; - this.match(SolidityParser.T__21); - this.state = 889; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===SolidityParser.T__89) { - this.state = 888; - this.assemblyFunctionReturns(); - } - - this.state = 891; - this.assemblyBlock(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyFunctionReturnsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyFunctionReturns; - return this; -} - -AssemblyFunctionReturnsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyFunctionReturnsContext.prototype.constructor = AssemblyFunctionReturnsContext; - -AssemblyFunctionReturnsContext.prototype.assemblyIdentifierList = function() { - return this.getTypedRuleContext(AssemblyIdentifierListContext,0); -}; - -AssemblyFunctionReturnsContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyFunctionReturns(this); - } -}; - -AssemblyFunctionReturnsContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyFunctionReturns(this); - } -}; - - - - -SolidityParser.AssemblyFunctionReturnsContext = AssemblyFunctionReturnsContext; - -SolidityParser.prototype.assemblyFunctionReturns = function() { - - var localctx = new AssemblyFunctionReturnsContext(this, this._ctx, this.state); - this.enterRule(localctx, 150, SolidityParser.RULE_assemblyFunctionReturns); - try { - this.enterOuterAlt(localctx, 1); - this.state = 893; - this.match(SolidityParser.T__89); - this.state = 894; - this.assemblyIdentifierList(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyForContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyFor; - return this; -} - -AssemblyForContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyForContext.prototype.constructor = AssemblyForContext; - -AssemblyForContext.prototype.assemblyExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AssemblyExpressionContext); - } else { - return this.getTypedRuleContext(AssemblyExpressionContext,i); - } -}; - -AssemblyForContext.prototype.assemblyBlock = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AssemblyBlockContext); - } else { - return this.getTypedRuleContext(AssemblyBlockContext,i); - } -}; - -AssemblyForContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyFor(this); - } -}; - -AssemblyForContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyFor(this); - } -}; - - - - -SolidityParser.AssemblyForContext = AssemblyForContext; - -SolidityParser.prototype.assemblyFor = function() { - - var localctx = new AssemblyForContext(this, this._ctx, this.state); - this.enterRule(localctx, 152, SolidityParser.RULE_assemblyFor); - try { - this.enterOuterAlt(localctx, 1); - this.state = 896; - this.match(SolidityParser.T__23); - this.state = 899; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__13: - this.state = 897; - this.assemblyBlock(); - break; - case SolidityParser.T__12: - case SolidityParser.T__33: - case SolidityParser.T__45: - case SolidityParser.T__51: - case SolidityParser.DecimalNumber: - case SolidityParser.HexNumber: - case SolidityParser.HexLiteral: - case SolidityParser.Identifier: - case SolidityParser.StringLiteral: - this.state = 898; - this.assemblyExpression(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 901; - this.assemblyExpression(); - this.state = 904; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__13: - this.state = 902; - this.assemblyBlock(); - break; - case SolidityParser.T__12: - case SolidityParser.T__33: - case SolidityParser.T__45: - case SolidityParser.T__51: - case SolidityParser.DecimalNumber: - case SolidityParser.HexNumber: - case SolidityParser.HexLiteral: - case SolidityParser.Identifier: - case SolidityParser.StringLiteral: - this.state = 903; - this.assemblyExpression(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 906; - this.assemblyBlock(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyIfContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyIf; - return this; -} - -AssemblyIfContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyIfContext.prototype.constructor = AssemblyIfContext; - -AssemblyIfContext.prototype.assemblyExpression = function() { - return this.getTypedRuleContext(AssemblyExpressionContext,0); -}; - -AssemblyIfContext.prototype.assemblyBlock = function() { - return this.getTypedRuleContext(AssemblyBlockContext,0); -}; - -AssemblyIfContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyIf(this); - } -}; - -AssemblyIfContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyIf(this); - } -}; - - - - -SolidityParser.AssemblyIfContext = AssemblyIfContext; - -SolidityParser.prototype.assemblyIf = function() { - - var localctx = new AssemblyIfContext(this, this._ctx, this.state); - this.enterRule(localctx, 154, SolidityParser.RULE_assemblyIf); - try { - this.enterOuterAlt(localctx, 1); - this.state = 908; - this.match(SolidityParser.T__40); - this.state = 909; - this.assemblyExpression(); - this.state = 910; - this.assemblyBlock(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function AssemblyLiteralContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_assemblyLiteral; - return this; -} - -AssemblyLiteralContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AssemblyLiteralContext.prototype.constructor = AssemblyLiteralContext; - -AssemblyLiteralContext.prototype.StringLiteral = function() { - return this.getToken(SolidityParser.StringLiteral, 0); -}; - -AssemblyLiteralContext.prototype.DecimalNumber = function() { - return this.getToken(SolidityParser.DecimalNumber, 0); -}; - -AssemblyLiteralContext.prototype.HexNumber = function() { - return this.getToken(SolidityParser.HexNumber, 0); -}; - -AssemblyLiteralContext.prototype.HexLiteral = function() { - return this.getToken(SolidityParser.HexLiteral, 0); -}; - -AssemblyLiteralContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterAssemblyLiteral(this); - } -}; - -AssemblyLiteralContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitAssemblyLiteral(this); - } -}; - - - - -SolidityParser.AssemblyLiteralContext = AssemblyLiteralContext; - -SolidityParser.prototype.assemblyLiteral = function() { - - var localctx = new AssemblyLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 156, SolidityParser.RULE_assemblyLiteral); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 912; - _la = this._input.LA(1); - if(!(((((_la - 98)) & ~0x1f) == 0 && ((1 << (_la - 98)) & ((1 << (SolidityParser.DecimalNumber - 98)) | (1 << (SolidityParser.HexNumber - 98)) | (1 << (SolidityParser.HexLiteral - 98)) | (1 << (SolidityParser.StringLiteral - 98)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function SubAssemblyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_subAssembly; - return this; -} - -SubAssemblyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -SubAssemblyContext.prototype.constructor = SubAssemblyContext; - -SubAssemblyContext.prototype.identifier = function() { - return this.getTypedRuleContext(IdentifierContext,0); -}; - -SubAssemblyContext.prototype.assemblyBlock = function() { - return this.getTypedRuleContext(AssemblyBlockContext,0); -}; - -SubAssemblyContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterSubAssembly(this); - } -}; - -SubAssemblyContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitSubAssembly(this); - } -}; - - - - -SolidityParser.SubAssemblyContext = SubAssemblyContext; - -SolidityParser.prototype.subAssembly = function() { - - var localctx = new SubAssemblyContext(this, this._ctx, this.state); - this.enterRule(localctx, 158, SolidityParser.RULE_subAssembly); - try { - this.enterOuterAlt(localctx, 1); - this.state = 914; - this.match(SolidityParser.T__43); - this.state = 915; - this.identifier(); - this.state = 916; - this.assemblyBlock(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function TupleExpressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_tupleExpression; - return this; -} - -TupleExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -TupleExpressionContext.prototype.constructor = TupleExpressionContext; - -TupleExpressionContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -TupleExpressionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterTupleExpression(this); - } -}; - -TupleExpressionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitTupleExpression(this); - } -}; - - - - -SolidityParser.TupleExpressionContext = TupleExpressionContext; - -SolidityParser.prototype.tupleExpression = function() { - - var localctx = new TupleExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 160, SolidityParser.RULE_tupleExpression); - var _la = 0; // Token type - try { - this.state = 944; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case SolidityParser.T__20: - this.enterOuterAlt(localctx, 1); - this.state = 918; - this.match(SolidityParser.T__20); - - this.state = 920; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 919; - this.expression(0); - } - - this.state = 928; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 922; - this.match(SolidityParser.T__14); - this.state = 924; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 923; - this.expression(0); - } - - this.state = 930; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 931; - this.match(SolidityParser.T__21); - break; - case SolidityParser.T__31: - this.enterOuterAlt(localctx, 2); - this.state = 932; - this.match(SolidityParser.T__31); - this.state = 941; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SolidityParser.T__3) | (1 << SolidityParser.T__12) | (1 << SolidityParser.T__20))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SolidityParser.T__31 - 32)) | (1 << (SolidityParser.T__33 - 32)) | (1 << (SolidityParser.T__48 - 32)) | (1 << (SolidityParser.T__49 - 32)) | (1 << (SolidityParser.T__50 - 32)) | (1 << (SolidityParser.T__51 - 32)) | (1 << (SolidityParser.T__52 - 32)) | (1 << (SolidityParser.T__53 - 32)) | (1 << (SolidityParser.T__54 - 32)) | (1 << (SolidityParser.T__55 - 32)) | (1 << (SolidityParser.T__56 - 32)) | (1 << (SolidityParser.T__57 - 32)) | (1 << (SolidityParser.T__58 - 32)) | (1 << (SolidityParser.T__59 - 32)))) !== 0) || ((((_la - 91)) & ~0x1f) == 0 && ((1 << (_la - 91)) & ((1 << (SolidityParser.Int - 91)) | (1 << (SolidityParser.Uint - 91)) | (1 << (SolidityParser.Byte - 91)) | (1 << (SolidityParser.Fixed - 91)) | (1 << (SolidityParser.Ufixed - 91)) | (1 << (SolidityParser.BooleanLiteral - 91)) | (1 << (SolidityParser.DecimalNumber - 91)) | (1 << (SolidityParser.HexNumber - 91)) | (1 << (SolidityParser.HexLiteral - 91)) | (1 << (SolidityParser.Identifier - 91)) | (1 << (SolidityParser.StringLiteral - 91)))) !== 0)) { - this.state = 933; - this.expression(0); - this.state = 938; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===SolidityParser.T__14) { - this.state = 934; - this.match(SolidityParser.T__14); - this.state = 935; - this.expression(0); - this.state = 940; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 943; - this.match(SolidityParser.T__32); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function ElementaryTypeNameExpressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_elementaryTypeNameExpression; - return this; -} - -ElementaryTypeNameExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ElementaryTypeNameExpressionContext.prototype.constructor = ElementaryTypeNameExpressionContext; - -ElementaryTypeNameExpressionContext.prototype.elementaryTypeName = function() { - return this.getTypedRuleContext(ElementaryTypeNameContext,0); -}; - -ElementaryTypeNameExpressionContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterElementaryTypeNameExpression(this); - } -}; - -ElementaryTypeNameExpressionContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitElementaryTypeNameExpression(this); - } -}; - - - - -SolidityParser.ElementaryTypeNameExpressionContext = ElementaryTypeNameExpressionContext; - -SolidityParser.prototype.elementaryTypeNameExpression = function() { - - var localctx = new ElementaryTypeNameExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 162, SolidityParser.RULE_elementaryTypeNameExpression); - try { - this.enterOuterAlt(localctx, 1); - this.state = 946; - this.elementaryTypeName(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function NumberLiteralContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_numberLiteral; - return this; -} - -NumberLiteralContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -NumberLiteralContext.prototype.constructor = NumberLiteralContext; - -NumberLiteralContext.prototype.DecimalNumber = function() { - return this.getToken(SolidityParser.DecimalNumber, 0); -}; - -NumberLiteralContext.prototype.HexNumber = function() { - return this.getToken(SolidityParser.HexNumber, 0); -}; - -NumberLiteralContext.prototype.NumberUnit = function() { - return this.getToken(SolidityParser.NumberUnit, 0); -}; - -NumberLiteralContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterNumberLiteral(this); - } -}; - -NumberLiteralContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitNumberLiteral(this); - } -}; - - - - -SolidityParser.NumberLiteralContext = NumberLiteralContext; - -SolidityParser.prototype.numberLiteral = function() { - - var localctx = new NumberLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 164, SolidityParser.RULE_numberLiteral); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 948; - _la = this._input.LA(1); - if(!(_la===SolidityParser.DecimalNumber || _la===SolidityParser.HexNumber)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 950; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,101,this._ctx); - if(la_===1) { - this.state = 949; - this.match(SolidityParser.NumberUnit); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - -function IdentifierContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = SolidityParser.RULE_identifier; - return this; -} - -IdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -IdentifierContext.prototype.constructor = IdentifierContext; - -IdentifierContext.prototype.Identifier = function() { - return this.getToken(SolidityParser.Identifier, 0); -}; - -IdentifierContext.prototype.enterRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.enterIdentifier(this); - } -}; - -IdentifierContext.prototype.exitRule = function(listener) { - if(listener instanceof SolidityListener ) { - listener.exitIdentifier(this); - } -}; - - - - -SolidityParser.IdentifierContext = IdentifierContext; - -SolidityParser.prototype.identifier = function() { - - var localctx = new IdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 166, SolidityParser.RULE_identifier); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 952; - _la = this._input.LA(1); - if(!(_la===SolidityParser.T__12 || _la===SolidityParser.Identifier)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -SolidityParser.prototype.sempred = function(localctx, ruleIndex, predIndex) { - switch(ruleIndex) { - case 31: - return this.typeName_sempred(localctx, predIndex); - case 55: - return this.expression_sempred(localctx, predIndex); - default: - throw "No predicate with index:" + ruleIndex; - } -}; - -SolidityParser.prototype.typeName_sempred = function(localctx, predIndex) { - switch(predIndex) { - case 0: - return this.precpred(this._ctx, 3); - default: - throw "No predicate with index:" + predIndex; - } -}; - -SolidityParser.prototype.expression_sempred = function(localctx, predIndex) { - switch(predIndex) { - case 1: - return this.precpred(this._ctx, 14); - case 2: - return this.precpred(this._ctx, 13); - case 3: - return this.precpred(this._ctx, 12); - case 4: - return this.precpred(this._ctx, 11); - case 5: - return this.precpred(this._ctx, 10); - case 6: - return this.precpred(this._ctx, 9); - case 7: - return this.precpred(this._ctx, 8); - case 8: - return this.precpred(this._ctx, 7); - case 9: - return this.precpred(this._ctx, 6); - case 10: - return this.precpred(this._ctx, 5); - case 11: - return this.precpred(this._ctx, 4); - case 12: - return this.precpred(this._ctx, 3); - case 13: - return this.precpred(this._ctx, 2); - case 14: - return this.precpred(this._ctx, 25); - case 15: - return this.precpred(this._ctx, 23); - case 16: - return this.precpred(this._ctx, 22); - case 17: - return this.precpred(this._ctx, 21); - default: - throw "No predicate with index:" + predIndex; - } -}; - - -exports.SolidityParser = SolidityParser; diff --git a/package.json b/package.json index 8c15fd4e..684d0f33 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "homepage": "https://protofire.github.io/solhint/", "repository": "https://github.com/protofire/solhint", "scripts": { - "exec-tests": "nyc -x \"**/grammar/**\" mocha --recursive && nyc report --reporter=text-lcov | coveralls", + "exec-tests": "mocha --recursive && nyc report --reporter=text-lcov | coveralls", "test": "npm run exec-tests", "test-only": "mocha --recursive", "test-mutation": "stryker run",