
# parsetab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.10'

_lr_method = 'LALR'

_lr_signature = 'compstmtBEGIN class ensure nil self when END def false not super while alias defined for or then yield and do if redo true begin else in rescue undef break elsif module retry unless case end next return until Array puts gets print new CONSTANT_RESOLUTION ELEMENT_REFERENCE ELEMENT_SET POWER SYMBOL_NOT COMPLEMENT MULTIPLY DIVIDE MODULO PLUS MINUS LEFT_SHIFT RIGHT_SHIFT BIT_AND BIT_OR BIT_XOR GREATER GREATER_EQUALS LESS LESS_EQUALS COMPARISON DOUBLE_EQUALS TRIPLE_EQUALS NOT_EQUALS EQUAL_TILDE BANG_TILDE LOGICAL_AND LOGICAL_OR INCL_RANGE EXCL_RANGE EQUALS MODULO_EQUALS DIVIDE_EQUALS MINUS_EQUALS PLUS_EQUALS OR_EQUALS AND_EQUALS XOR_EQUALS RIGHT_SHIFT_EQUALS LEFT_SHIFT_EQUALS MULTIPLY_EQUALS LOGICAL_AND_EQUALS LOGICAL_OR_EQUALS POWER_EQUALS WORD_NOT WORD_AND WORD_OR MAP PLUS_AT MINUS_AT IDENTIFIER FLOAT NUMBER GLOBAL STRING STRING2 HEREDOC REGEXP DOUBLE_QUOTE DOLLAR COLON QUESTION_MARK OPEN_BRACKET CLOSE_BRACKET OPEN_FLOWER CLOSE_FLOWER OPEN_SQUARE CLOSE_SQUARE COMMA DOT SEMI_COLON AT_THE_RATE NEWLINEcompstmt : stmt1 multcompstmt\n    multcompstmt : compnewline stmt1 multcompstmt\n                | newline\n    stmt1 : stmt\n    stmt : keydef argdecl newline multstmt keyend\n            | puts OPEN_BRACKET STRING CLOSE_BRACKET\n            | print OPEN_BRACKET primary CLOSE_BRACKET\n            | gets OPEN_BRACKET IDENTIFIER CLOSE_BRACKET\n            | keyclass IDENTIFIER newline multstmt keyend\n            | break\n            | expr\n    keyclass : class\n    keydef : def IDENTIFIER\n    keyend : end\n    multstmt : stmt compnewline multstmt\n                | newline\n    multstmt : stmt\n    expr : if expr1 pthen M_1 multstmt else newline M_1 multstmt end M_1\n            | if expr1 pthen M_1 multstmt M_1 multelsif end M_1\n            | if expr1 pthen M_1 multstmt end M_1\n            | while M_1 expr1 pdo M_1 multstmt end M_1\n            | until M_1 expr1 pdo M_1 multstmt end M_1\n            | case expr1 newline multcase end M_1\n            | for M_1 mlhs in expr1 pdo M_1 multstmt end M_1\n            | expr1\n    M_1 : empty\n    expr1 : return term2\n            | return\n            | expr2\n    expr2 : arg\n    expr2 : call\n    call : function\n    function : IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET\n                | IDENTIFIER OPEN_BRACKET CLOSE_BRACKET\n    arg : term0\n    term0 : mlhs EQUALS IDENTIFIER OPEN_BRACKET CLOSE_BRACKET\n           | mlhs EQUALS IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET\n           | mlhs EQUALS IDENTIFIER DOT new OPEN_BRACKET CLOSE_BRACKET\n           | term1\n    term1 : mlhs EQUALS mrhs\n              | mlhs opasgn mrhs\n              | term2\n    term2 : term3 INCL_RANGE term3\n            | term3 EXCL_RANGE term3\n            | term3\n    term3 : term3 LOGICAL_OR term4\n            |  term3 LOGICAL_AND term4\n            |  term4\n    term4 : term5 DOUBLE_EQUALS term5\n             | term5 NOT_EQUALS term5\n             | term5 EQUAL_TILDE term5\n             | term5 COMPARISON term5\n             | term5\n    term5 : term5 LESS term6\n            | term5 LESS_EQUALS term6\n            | term5 GREATER term6\n            | term5 GREATER_EQUALS term6\n            | term6\n    term6 : term6 BIT_XOR term7\n            | term6 BIT_OR term7\n            | term7\n    term7 : term7 BIT_AND term8\n            | term8\n    term8 : term8 LEFT_SHIFT term9\n            | term8 RIGHT_SHIFT term9\n            | term9\n    term9 : term9 PLUS term10\n            | term9 MINUS term10\n            | term10\n    term10 : term10 MULTIPLY term11\n            | term10 DIVIDE term11\n            | term10 MODULO term11\n            | term11\n    term11 : MINUS term11\n            | term12\n    term12 : PLUS term12\n            | term13\n    term13 : primary \n    primary : OPEN_BRACKET expr2 CLOSE_BRACKET\n            | arrayd\n            | arraya\n            | classvar\n            | literal\n            | varname\n    classvar : IDENTIFIER DOT IDENTIFIER\n    arrayd : Array OPEN_BRACKET array_size CLOSE_BRACKET\n    array_size : term2 COMMA array_size\n                | term2\n    arrayal : variable OPEN_SQUARE array_args CLOSE_SQUARE\n    arraya : variable OPEN_SQUARE array_args CLOSE_SQUARE\n    array_args : primary COMMA array_args\n                  | primary\n    multcase : when whenargs pthen M_1 multstmt M_1 multcase\n                | when whenargs pthen M_1 multstmt M_1\n    multelsif : elsif expr pthen M_1 multstmt M_1 multelsif M_1\n                 | else newline multstmt\n                 | empty\n    literal : NUMBER\n               | true\n               | false\n    whenargs : arg\n    mlhs : mlhsitem\n    mlhsitem : IDENTIFIER\n    mlhsitem : arrayal\n    mlhsitem : classvar\n    mrhs : term2\n    callargs : callarglist\n    callarglist : term2 callmultarglist\n               | empty\n    callmultarglist : COMMA term2 callmultarglist\n                       | empty\n    argdecl : OPEN_BRACKET arglist CLOSE_BRACKET\n    arglist : IDENTIFIER multarglist\n               | empty\n    multarglist : COMMA IDENTIFIER multarglist\n                 | empty\n    variable : varname\n                | nil\n                | self\n    pthen : newline\n             | then\n             | newline then\n    pdo : newline\n           | do newline\n           | newline do\n    opasgn : MODULO_EQUALS\n              | DIVIDE_EQUALS\n              | MINUS_EQUALS\n              | PLUS_EQUALS\n              | OR_EQUALS\n              | AND_EQUALS\n              | XOR_EQUALS\n              | RIGHT_SHIFT_EQUALS\n              | LEFT_SHIFT_EQUALS\n              | MULTIPLY_EQUALS\n    varname : GLOBAL \n              | IDENTIFIER\n    compnewline : SEMI_COLON\n                   | NEWLINE\n    newline : compnewline\n               | empty\n    empty :'
    
_lr_action_items = {'puts':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[5,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,5,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,5,-140,-79,-34,-85,5,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,5,-122,-142,-123,-142,-142,-90,-86,5,5,-125,-124,5,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,5,5,-38,-142,-142,5,5,-21,-22,-19,-142,-142,5,-142,-24,-18,]),'print':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[7,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,7,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,7,-140,-79,-34,-85,7,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,7,-122,-142,-123,-142,-142,-90,-86,7,7,-125,-124,7,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,7,7,-38,-142,-142,7,7,-21,-22,-19,-142,-142,7,-142,-24,-18,]),'gets':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[9,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,9,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,9,-140,-79,-34,-85,9,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,9,-122,-142,-123,-142,-142,-90,-86,9,9,-125,-124,9,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,9,9,-38,-142,-142,9,9,-21,-22,-19,-142,-142,9,-142,-24,-18,]),'break':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[12,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,12,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,12,-140,-79,-34,-85,12,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,12,-122,-142,-123,-142,-142,-90,-86,12,12,-125,-124,12,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,12,12,-38,-142,-142,12,12,-21,-22,-19,-142,-142,12,-142,-24,-18,]),'def':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[14,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,14,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,14,-140,-79,-34,-85,14,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,14,-122,-142,-123,-142,-142,-90,-86,14,14,-125,-124,14,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,14,14,-38,-142,-142,14,14,-21,-22,-19,-142,-142,14,-142,-24,-18,]),'class':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[15,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,15,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,15,-140,-79,-34,-85,15,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,15,-122,-142,-123,-142,-142,-90,-86,15,15,-125,-124,15,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,15,15,-38,-142,-142,15,15,-21,-22,-19,-142,-142,15,-142,-24,-18,]),'if':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[16,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,16,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,16,-140,-79,-34,-85,16,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,16,-122,-142,-123,-142,-142,-90,-86,16,16,-125,-124,16,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,16,-142,-142,-20,-142,-142,16,16,-38,-142,-142,16,16,-21,-22,-19,-142,-142,16,-142,-24,-18,]),'while':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[18,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,18,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,18,-140,-79,-34,-85,18,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,18,-122,-142,-123,-142,-142,-90,-86,18,18,-125,-124,18,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,18,-142,-142,-20,-142,-142,18,18,-38,-142,-142,18,18,-21,-22,-19,-142,-142,18,-142,-24,-18,]),'until':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[19,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,19,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,19,-140,-79,-34,-85,19,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,19,-122,-142,-123,-142,-142,-90,-86,19,19,-125,-124,19,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,19,-142,-142,-20,-142,-142,19,19,-38,-142,-142,19,19,-21,-22,-19,-142,-142,19,-142,-24,-18,]),'case':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[20,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,20,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,20,-140,-79,-34,-85,20,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,20,-122,-142,-123,-142,-142,-90,-86,20,20,-125,-124,20,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,20,-142,-142,-20,-142,-142,20,20,-38,-142,-142,20,20,-21,-22,-19,-142,-142,20,-142,-24,-18,]),'for':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[21,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,21,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,21,-140,-79,-34,-85,21,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,21,-122,-142,-123,-142,-142,-90,-86,21,21,-125,-124,21,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,21,-142,-142,-20,-142,-142,21,21,-38,-142,-142,21,21,-21,-22,-19,-142,-142,21,-142,-24,-18,]),'return':([0,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,76,77,78,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,207,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[23,-78,-137,23,-25,-142,-142,23,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,23,-138,-139,-141,-142,-142,-142,23,-26,23,-27,-82,-84,-137,-76,-74,23,-140,-79,-34,-85,23,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,23,-122,-142,-123,-142,-142,23,-90,-86,23,23,-125,-124,23,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,23,-142,-142,-20,-142,-142,23,23,-38,-142,-142,23,23,-21,-22,-19,-142,-142,23,-142,-24,-18,]),'IDENTIFIER':([0,6,8,10,11,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,66,69,70,71,72,73,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,189,194,196,199,200,201,202,203,204,206,207,208,209,210,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[10,10,-78,-137,73,74,-12,10,-25,-142,-142,10,-142,97,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,97,-69,97,-73,-75,-77,-80,-81,-83,-98,-99,-100,10,-138,-139,-141,-142,128,97,133,97,139,-142,-142,10,-26,10,148,152,97,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,-76,97,97,97,-74,97,10,-140,-79,-34,-85,10,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,97,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,219,-33,97,10,-122,-142,-123,-142,-142,148,10,97,97,139,-90,97,-86,97,10,10,-125,-124,10,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,10,-142,-142,-20,-142,-142,10,10,-38,-142,-142,10,10,-21,-22,-19,-142,-142,10,-142,-24,-18,]),'nil':([0,6,8,10,16,17,18,19,20,21,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[38,38,-78,-137,38,-25,-142,-142,38,-142,38,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,38,-69,38,-73,-75,-77,-80,-81,-83,-98,-99,-100,38,-138,-139,-141,-142,38,38,-142,-142,38,-26,38,38,38,38,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,-76,38,38,38,-74,38,38,-140,-79,-34,-85,38,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,38,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,38,38,-122,-142,-123,-142,-142,38,38,38,38,-90,38,-86,38,38,38,-125,-124,38,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,38,-142,-142,-20,-142,-142,38,38,-38,-142,-142,38,38,-21,-22,-19,-142,-142,38,-142,-24,-18,]),'self':([0,6,8,10,16,17,18,19,20,21,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[39,39,-78,-137,39,-25,-142,-142,39,-142,39,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,39,-69,39,-73,-75,-77,-80,-81,-83,-98,-99,-100,39,-138,-139,-141,-142,39,39,-142,-142,39,-26,39,39,39,39,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,-76,39,39,39,-74,39,39,-140,-79,-34,-85,39,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,39,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,39,39,-122,-142,-123,-142,-142,39,39,39,39,-90,39,-86,39,39,39,-125,-124,39,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,39,-142,-142,-20,-142,-142,39,39,-38,-142,-142,39,39,-21,-22,-19,-142,-142,39,-142,-24,-18,]),'GLOBAL':([0,6,8,10,16,17,18,19,20,21,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[41,41,-78,-137,41,-25,-142,-142,41,-142,41,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,41,-69,41,-73,-75,-77,-80,-81,-83,-98,-99,-100,41,-138,-139,-141,-142,41,41,-142,-142,41,-26,41,41,41,41,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,-76,41,41,41,-74,41,41,-140,-79,-34,-85,41,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,41,41,-122,-142,-123,-142,-142,41,41,41,41,-90,41,-86,41,41,41,-125,-124,41,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,41,-142,-142,-20,-142,-142,41,41,-38,-142,-142,41,41,-21,-22,-19,-142,-142,41,-142,-24,-18,]),'MINUS':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,209,212,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[48,48,-78,-137,48,-25,-142,-142,48,48,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,117,-69,48,-73,-75,-77,-80,-81,-83,-98,-99,-100,48,-138,-139,-141,-142,48,-142,-142,48,-26,48,48,48,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,-76,48,48,48,-74,48,48,-140,-79,-34,-85,48,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,117,117,-67,-68,-70,-71,-72,-112,-33,48,48,-122,-142,-123,-142,-142,48,48,48,-90,-86,48,48,48,-125,-124,48,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,48,-142,-142,-20,-142,-142,48,48,-38,-142,-142,48,48,-21,-22,-19,-142,-142,48,-142,-24,-18,]),'PLUS':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,209,212,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[46,46,-78,-137,46,-25,-142,-142,46,46,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,116,46,-69,46,-73,-75,-77,-80,-81,-83,-98,-99,-100,46,-138,-139,-141,-142,46,-142,-142,46,-26,46,46,46,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,-76,46,46,46,-74,46,46,-140,-79,-34,-85,46,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,116,116,-67,-68,-70,-71,-72,-112,-33,46,46,-122,-142,-123,-142,-142,46,46,46,-90,-86,46,46,46,-125,-124,46,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,46,-142,-142,-20,-142,-142,46,46,-38,-142,-142,46,46,-21,-22,-19,-142,-142,46,-142,-24,-18,]),'OPEN_BRACKET':([0,4,5,6,7,8,9,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,63,64,65,69,71,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,234,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[6,66,67,6,69,-78,70,71,6,-25,-142,-142,6,6,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,6,-69,6,-73,-75,-77,-80,-81,-83,123,-98,-99,-100,6,-138,-139,-141,-142,6,6,-142,-13,-142,6,-26,6,6,6,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-76,6,6,6,-74,6,6,-140,-79,-34,-85,6,-142,-120,-121,-142,-142,-137,209,-40,-106,-41,6,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,6,6,-122,-142,-123,-142,-142,6,6,6,6,-90,6,-86,6,6,6,-125,-124,6,-142,-142,-101,-142,-36,251,-90,-142,-142,-23,-142,-142,-37,6,-142,-142,-20,-142,-142,6,6,-38,-142,-142,6,6,-21,-22,-19,-142,-142,6,-142,-24,-18,]),'Array':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[55,55,-78,-137,55,-25,-142,-142,55,55,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,55,-69,55,-73,-75,-77,-80,-81,-83,-98,-99,-100,55,-138,-139,-141,-142,55,55,-142,-142,55,-26,55,55,55,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,-76,55,55,55,-74,55,55,-140,-79,-34,-85,55,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,55,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,55,55,-122,-142,-123,-142,-142,55,55,55,55,-90,55,-86,55,55,55,-125,-124,55,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,55,-142,-142,-20,-142,-142,55,55,-38,-142,-142,55,55,-21,-22,-19,-142,-142,55,-142,-24,-18,]),'NUMBER':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[56,56,-78,-137,56,-25,-142,-142,56,56,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,56,-69,56,-73,-75,-77,-80,-81,-83,-98,-99,-100,56,-138,-139,-141,-142,56,56,-142,-142,56,-26,56,56,56,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,-76,56,56,56,-74,56,56,-140,-79,-34,-85,56,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,56,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,56,56,-122,-142,-123,-142,-142,56,56,56,56,-90,56,-86,56,56,56,-125,-124,56,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,56,-142,-142,-20,-142,-142,56,56,-38,-142,-142,56,56,-21,-22,-19,-142,-142,56,-142,-24,-18,]),'true':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[57,57,-78,-137,57,-25,-142,-142,57,57,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,57,-69,57,-73,-75,-77,-80,-81,-83,-98,-99,-100,57,-138,-139,-141,-142,57,57,-142,-142,57,-26,57,57,57,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,-76,57,57,57,-74,57,57,-140,-79,-34,-85,57,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,57,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,57,57,-122,-142,-123,-142,-142,57,57,57,57,-90,57,-86,57,57,57,-125,-124,57,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,57,-142,-142,-20,-142,-142,57,57,-38,-142,-142,57,57,-21,-22,-19,-142,-142,57,-142,-24,-18,]),'false':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[58,58,-78,-137,58,-25,-142,-142,58,58,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,58,-69,58,-73,-75,-77,-80,-81,-83,-98,-99,-100,58,-138,-139,-141,-142,58,58,-142,-142,58,-26,58,58,58,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,-76,58,58,58,-74,58,58,-140,-79,-34,-85,58,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,58,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,58,58,-122,-142,-123,-142,-142,58,58,58,58,-90,58,-86,58,58,58,-125,-124,58,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,58,-142,-142,-20,-142,-142,58,58,-38,-142,-142,58,58,-21,-22,-19,-142,-142,58,-142,-24,-18,]),'$end':([1,2,3,8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,77,93,94,95,97,118,122,124,131,135,139,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,183,191,192,193,194,212,214,216,217,221,227,232,235,243,246,250,257,258,259,262,263,267,268,271,276,278,280,282,],[0,-142,-4,-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-1,-140,-3,-138,-139,-141,-26,-27,-82,-84,-137,-76,-74,-142,-79,-34,-85,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-2,-6,-7,-8,-33,-90,-86,-5,-14,-9,-142,-36,-90,-142,-23,-37,-20,-142,-142,-38,-142,-21,-22,-19,-142,-142,-24,-18,]),'SEMI_COLON':([2,3,8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,65,73,75,77,79,93,94,95,97,118,122,124,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,186,187,191,192,193,194,199,200,201,202,203,204,212,214,216,217,218,221,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[62,-4,-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,62,62,62,-26,62,-27,-82,-84,-137,-76,-74,62,62,-140,-79,-34,-85,62,-142,-120,-121,62,62,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,62,-112,-6,-7,-8,-33,62,-122,-142,-123,62,-142,-90,-86,-5,-14,62,-9,62,-125,-124,62,-142,62,-101,62,-36,-90,62,-142,-23,-142,-142,-37,62,-142,-20,-142,-142,62,62,-38,-142,62,62,62,-21,-22,-19,-142,-142,62,-142,-24,-18,]),'NEWLINE':([2,3,8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,65,73,75,77,79,93,94,95,97,118,122,124,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,186,187,191,192,193,194,199,200,201,202,203,204,212,214,216,217,218,221,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[63,-4,-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,63,63,63,-26,63,-27,-82,-84,-137,-76,-74,63,63,-140,-79,-34,-85,63,-142,-120,-121,63,63,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,63,-112,-6,-7,-8,-33,63,-122,-142,-123,63,-142,-90,-86,-5,-14,63,-9,63,-125,-124,63,-142,63,-101,63,-36,-90,63,-142,-23,-142,-142,-37,63,-142,-20,-142,-142,63,63,-38,-142,63,63,63,-21,-22,-19,-142,-142,63,-142,-24,-18,]),'MULTIPLY':([8,10,33,37,41,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,119,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,119,119,-70,-71,-72,-90,-86,-90,]),'DIVIDE':([8,10,33,37,41,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,120,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,120,120,-70,-71,-72,-90,-86,-90,]),'MODULO':([8,10,33,37,41,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,121,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,121,121,-70,-71,-72,-90,-86,-90,]),'LEFT_SHIFT':([8,10,33,37,41,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,114,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,114,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'RIGHT_SHIFT':([8,10,33,37,41,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,115,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,115,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'BIT_AND':([8,10,33,37,41,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,113,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,113,113,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'BIT_XOR':([8,10,33,37,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,111,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,111,111,111,111,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'BIT_OR':([8,10,33,37,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,112,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,112,112,112,112,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'DOUBLE_EQUALS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,103,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'NOT_EQUALS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,104,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'EQUAL_TILDE':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,105,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'COMPARISON':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,106,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'LESS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,107,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,107,107,107,107,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'LESS_EQUALS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,108,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,108,108,108,108,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'GREATER':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,109,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,109,109,109,109,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'GREATER_EQUALS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,110,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,110,110,110,110,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'INCL_RANGE':([8,10,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,98,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'EXCL_RANGE':([8,10,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,99,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'LOGICAL_OR':([8,10,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,100,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,100,100,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'LOGICAL_AND':([8,10,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,101,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,101,101,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'CLOSE_BRACKET':([8,10,24,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,66,68,71,94,95,97,118,122,127,128,129,130,131,132,133,134,135,136,137,138,139,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,188,190,194,195,197,209,212,214,219,220,232,233,235,237,239,240,250,251,262,],[-78,-137,-42,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-142,131,135,-82,-84,-137,-76,-74,187,-142,-114,191,-79,192,193,194,-34,-107,-142,-109,-85,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,214,-88,-113,-116,-33,-108,-111,232,-90,-86,-142,-142,-36,250,-90,-87,-115,-110,-37,262,-38,]),'then':([8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,75,77,93,94,95,97,118,122,126,131,135,139,142,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,194,212,214,227,228,229,232,235,243,246,250,257,258,259,262,263,264,267,268,271,276,278,280,282,],[-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,143,-26,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,200,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-33,-90,-86,-142,143,-101,-36,-90,-142,-23,-37,-20,-142,-142,-38,-142,143,-21,-22,-19,-142,-142,-24,-18,]),'else':([8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,75,77,93,94,95,97,118,122,126,131,135,139,141,142,143,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,184,186,191,192,193,194,199,200,212,214,216,217,218,221,222,227,232,235,238,241,243,246,250,257,258,259,262,263,264,267,268,271,272,276,277,278,280,281,282,283,],[-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-142,-26,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,-142,-120,-121,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-16,-17,-6,-7,-8,-33,-142,-122,-90,-86,-5,-14,-142,-9,242,-142,-36,-90,-15,254,-142,-23,-37,-20,-142,-142,-38,-142,-142,-21,-22,-19,-142,-142,-142,-142,-24,-142,-18,254,]),'end':([8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,184,185,186,187,191,192,193,194,198,199,200,201,202,203,204,205,212,214,216,217,218,221,222,223,224,225,226,227,228,229,230,232,235,238,241,242,243,244,245,246,247,248,250,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,],[-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,-142,-140,-79,-34,-85,-142,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-16,217,-17,-112,-6,-7,-8,-33,217,-142,-122,-142,-123,-142,-142,227,-90,-86,-5,-14,-142,-9,243,-142,-125,-124,-142,-142,-142,-101,-142,-36,-90,-15,-142,-142,-142,258,259,-23,-142,-142,-37,263,-142,-97,-142,-20,-142,-142,-142,-142,-38,-142,-142,-142,-142,-21,-22,-142,276,-19,-142,-96,278,-94,-142,-142,-142,-93,-24,-142,-18,-142,-142,-95,]),'elsif':([8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,75,77,93,94,95,97,118,122,126,131,135,139,141,142,143,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,184,186,191,192,193,194,199,200,212,214,216,217,218,221,222,227,232,235,238,241,243,246,250,257,258,259,262,263,264,267,268,271,272,276,277,278,280,281,282,283,],[-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-142,-26,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,-142,-120,-121,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-16,-17,-6,-7,-8,-33,-142,-122,-90,-86,-5,-14,-142,-9,-142,-142,-36,-90,-15,253,-142,-23,-37,-20,-142,-142,-38,-142,-142,-21,-22,-19,-142,-142,-142,-142,-24,-142,-18,253,]),'when':([8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,77,79,93,94,95,97,118,122,126,131,135,139,142,143,146,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,184,186,191,192,193,194,200,212,214,216,217,218,221,227,228,229,232,235,238,243,246,247,250,257,258,259,260,262,263,267,268,269,271,275,276,278,280,282,],[-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-26,-142,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,-120,-121,206,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-16,-17,-6,-7,-8,-33,-122,-90,-86,-5,-14,-142,-9,-142,-142,-101,-36,-90,-15,-142,-23,-142,-37,-20,-142,-142,-142,-38,-142,-21,-22,-142,-19,206,-142,-142,-24,-18,]),'do':([8,10,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,93,94,95,97,118,122,126,131,135,139,144,145,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,194,202,212,214,230,232,235,250,262,],[-78,-137,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,203,203,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-33,224,-90,-86,203,-36,-90,-37,-38,]),'COMMA':([8,34,36,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,128,131,137,139,157,158,159,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,214,219,220,235,],[-78,-45,-48,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,189,-79,196,-85,-43,-44,-46,-47,213,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,215,-86,189,196,-90,]),'EQUALS':([10,22,31,32,33,139,148,212,],[-103,81,-102,-104,-105,-85,-103,-89,]),'MODULO_EQUALS':([10,22,31,32,33,139,148,212,],[-103,83,-102,-104,-105,-85,-103,-89,]),'DIVIDE_EQUALS':([10,22,31,32,33,139,148,212,],[-103,84,-102,-104,-105,-85,-103,-89,]),'MINUS_EQUALS':([10,22,31,32,33,139,148,212,],[-103,85,-102,-104,-105,-85,-103,-89,]),'PLUS_EQUALS':([10,22,31,32,33,139,148,212,],[-103,86,-102,-104,-105,-85,-103,-89,]),'OR_EQUALS':([10,22,31,32,33,139,148,212,],[-103,87,-102,-104,-105,-85,-103,-89,]),'AND_EQUALS':([10,22,31,32,33,139,148,212,],[-103,88,-102,-104,-105,-85,-103,-89,]),'XOR_EQUALS':([10,22,31,32,33,139,148,212,],[-103,89,-102,-104,-105,-85,-103,-89,]),'RIGHT_SHIFT_EQUALS':([10,22,31,32,33,139,148,212,],[-103,90,-102,-104,-105,-85,-103,-89,]),'LEFT_SHIFT_EQUALS':([10,22,31,32,33,139,148,212,],[-103,91,-102,-104,-105,-85,-103,-89,]),'MULTIPLY_EQUALS':([10,22,31,32,33,139,148,212,],[-103,92,-102,-104,-105,-85,-103,-89,]),'DOT':([10,97,148,152,],[72,72,72,210,]),'OPEN_SQUARE':([10,35,37,38,39,41,95,96,97,148,150,151,152,],[-137,102,-117,-118,-119,-136,-117,156,-137,-137,208,-117,-137,]),'in':([31,32,139,147,148,149,249,],[-102,-104,-85,207,-103,-105,-89,]),'CLOSE_SQUARE':([41,52,53,54,56,57,58,94,95,97,131,139,161,162,211,214,231,235,236,],[-136,-80,-81,-83,-98,-99,-100,-82,-84,-137,-79,-85,212,-92,235,-86,249,-90,-91,]),'STRING':([67,],[130,]),'new':([210,],[234,]),}

_lr_action = {}
for _k, _v in _lr_action_items.items():
   for _x,_y in zip(_v[0],_v[1]):
      if not _x in _lr_action:  _lr_action[_x] = {}
      _lr_action[_x][_k] = _y
del _lr_action_items

_lr_goto_items = {'compstmt':([0,],[1,]),'stmt1':([0,60,],[2,124,]),'stmt':([0,60,125,140,199,218,223,226,260,261,265,266,277,],[3,3,186,186,186,186,186,186,186,186,186,186,186,]),'keydef':([0,60,125,140,199,218,223,226,260,261,265,266,277,],[4,4,4,4,4,4,4,4,4,4,4,4,4,]),'primary':([0,6,16,20,23,46,48,60,69,71,76,78,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[8,8,8,8,8,8,8,8,132,8,8,8,8,8,8,8,8,8,162,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,162,8,8,8,8,162,8,162,8,8,8,8,8,8,8,8,8,8,]),'keyclass':([0,60,125,140,199,218,223,226,260,261,265,266,277,],[11,11,11,11,11,11,11,11,11,11,11,11,11,]),'expr':([0,60,125,140,199,218,223,226,253,260,261,265,266,277,],[13,13,13,13,13,13,13,13,264,13,13,13,13,13,]),'expr1':([0,16,20,60,76,78,125,140,199,207,218,223,226,253,260,261,265,266,277,],[17,75,79,17,144,145,17,17,17,230,17,17,17,17,17,17,17,17,17,]),'mlhs':([0,6,16,20,60,76,78,80,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[22,22,22,22,22,22,22,147,22,22,22,22,22,22,22,22,22,22,22,22,22,22,]),'term2':([0,6,16,20,23,60,71,76,78,81,82,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[24,24,24,24,93,24,137,24,24,154,154,182,24,24,220,24,24,24,137,182,24,24,24,24,24,24,24,24,24,]),'expr2':([0,6,16,20,60,76,78,125,140,199,207,218,223,226,253,260,261,265,266,277,],[25,68,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,]),'arg':([0,6,16,20,60,76,78,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[26,26,26,26,26,26,26,26,26,26,229,26,26,26,26,26,26,26,26,26,26,]),'call':([0,6,16,20,60,76,78,125,140,199,207,218,223,226,253,260,261,265,266,277,],[27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,]),'term0':([0,6,16,20,60,76,78,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,]),'function':([0,6,16,20,60,76,78,125,140,199,207,218,223,226,253,260,261,265,266,277,],[29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,]),'term1':([0,6,16,20,60,76,78,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,]),'mlhsitem':([0,6,16,20,60,76,78,80,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,]),'arrayal':([0,6,16,20,60,76,78,80,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,]),'classvar':([0,6,16,20,23,46,48,60,69,71,76,78,80,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[33,33,33,33,94,94,94,33,94,94,33,33,149,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,33,33,94,94,33,33,33,94,94,94,94,33,33,33,33,33,33,33,33,33,]),'term3':([0,6,16,20,23,60,71,76,78,81,82,98,99,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[34,34,34,34,34,34,34,34,34,34,34,157,158,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,]),'variable':([0,6,16,20,23,46,48,60,69,71,76,78,80,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[35,35,35,35,96,96,96,35,96,96,35,35,150,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,35,35,96,96,35,35,35,96,96,96,96,35,35,35,35,35,35,35,35,35,]),'term4':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[36,36,36,36,36,36,36,36,36,36,36,36,36,159,160,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,]),'varname':([0,6,16,20,23,46,48,60,69,71,76,78,80,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[37,37,37,37,95,95,95,37,95,95,37,37,151,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,37,37,95,95,37,37,37,95,95,95,95,37,37,37,37,37,37,37,37,37,]),'term5':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,163,164,165,166,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,]),'term6':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,167,168,169,170,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,]),'term7':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,171,172,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,]),'term8':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,173,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,]),'term9':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,174,175,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,]),'term10':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,176,177,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,]),'term11':([0,6,16,20,23,48,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[49,49,49,49,49,122,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,178,179,180,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,]),'term12':([0,6,16,20,23,46,48,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[50,50,50,50,50,118,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,]),'term13':([0,6,16,20,23,46,48,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,]),'arrayd':([0,6,16,20,23,46,48,60,69,71,76,78,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,]),'arraya':([0,6,16,20,23,46,48,60,69,71,76,78,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,]),'literal':([0,6,16,20,23,46,48,60,69,71,76,78,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,]),'multcompstmt':([2,124,],[59,183,]),'compnewline':([2,65,73,75,79,124,125,140,144,145,186,199,203,218,223,226,228,230,242,254,260,261,264,265,266,277,],[60,126,126,126,126,60,126,126,126,126,218,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,]),'newline':([2,65,73,75,79,124,125,140,144,145,199,203,218,223,226,228,230,242,254,260,261,264,265,266,277,],[61,125,140,142,146,61,184,184,202,202,184,225,184,184,184,142,202,256,265,184,184,142,184,184,184,]),'empty':([2,18,19,21,65,66,71,73,75,79,124,125,128,137,140,141,144,145,199,201,203,204,209,218,219,220,222,223,226,227,228,230,241,242,243,247,248,254,256,258,259,260,261,263,264,265,266,269,272,276,277,278,281,283,284,],[64,77,77,77,64,129,138,64,64,64,64,64,190,197,64,77,64,64,64,77,64,77,138,64,190,197,77,64,64,77,64,64,255,64,77,77,77,64,77,77,77,64,64,77,64,64,64,77,77,77,64,77,77,255,77,]),'argdecl':([4,],[65,]),'M_1':([18,19,21,141,201,204,222,227,243,247,248,256,258,259,263,269,272,276,278,281,284,],[76,78,80,199,223,226,241,246,257,260,261,266,267,268,271,275,277,280,282,283,285,]),'opasgn':([22,],[82,]),'arglist':([66,],[127,]),'callargs':([71,209,],[134,233,]),'callarglist':([71,209,],[136,136,]),'pthen':([75,228,264,],[141,247,272,]),'mrhs':([81,82,],[153,155,]),'array_args':([102,156,208,213,],[161,211,231,236,]),'array_size':([123,215,],[181,237,]),'multstmt':([125,140,199,218,223,226,260,261,265,266,277,],[185,198,222,238,244,245,269,270,273,274,281,]),'multarglist':([128,219,],[188,239,]),'callmultarglist':([137,220,],[195,240,]),'pdo':([144,145,230,],[201,204,248,]),'multcase':([146,275,],[205,279,]),'keyend':([185,198,],[216,221,]),'whenargs':([206,],[228,]),'multelsif':([241,283,],[252,284,]),}

_lr_goto = {}
for _k, _v in _lr_goto_items.items():
   for _x, _y in zip(_v[0], _v[1]):
       if not _x in _lr_goto: _lr_goto[_x] = {}
       _lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
  ("S' -> compstmt","S'",1,None,None,None),
  ('compstmt -> stmt1 multcompstmt','compstmt',2,'p_compstmt','parser.py',33),
  ('multcompstmt -> compnewline stmt1 multcompstmt','multcompstmt',3,'p_multcompstmt','parser.py',38),
  ('multcompstmt -> newline','multcompstmt',1,'p_multcompstmt','parser.py',39),
  ('stmt1 -> stmt','stmt1',1,'p_stmt1','parser.py',44),
  ('stmt -> keydef argdecl newline multstmt keyend','stmt',5,'p_stmt','parser.py',53),
  ('stmt -> puts OPEN_BRACKET STRING CLOSE_BRACKET','stmt',4,'p_stmt','parser.py',54),
  ('stmt -> print OPEN_BRACKET primary CLOSE_BRACKET','stmt',4,'p_stmt','parser.py',55),
  ('stmt -> gets OPEN_BRACKET IDENTIFIER CLOSE_BRACKET','stmt',4,'p_stmt','parser.py',56),
  ('stmt -> keyclass IDENTIFIER newline multstmt keyend','stmt',5,'p_stmt','parser.py',57),
  ('stmt -> break','stmt',1,'p_stmt','parser.py',58),
  ('stmt -> expr','stmt',1,'p_stmt','parser.py',59),
  ('keyclass -> class','keyclass',1,'p_keyclass','parser.py',88),
  ('keydef -> def IDENTIFIER','keydef',2,'p_keydef','parser.py',97),
  ('keyend -> end','keyend',1,'p_keyend','parser.py',108),
  ('multstmt -> stmt compnewline multstmt','multstmt',3,'p_multstmt','parser.py',115),
  ('multstmt -> newline','multstmt',1,'p_multstmt','parser.py',116),
  ('multstmt -> stmt','multstmt',1,'p_multstmt2','parser.py',127),
  ('expr -> if expr1 pthen M_1 multstmt else newline M_1 multstmt end M_1','expr',11,'p_expr','parser.py',137),
  ('expr -> if expr1 pthen M_1 multstmt M_1 multelsif end M_1','expr',9,'p_expr','parser.py',138),
  ('expr -> if expr1 pthen M_1 multstmt end M_1','expr',7,'p_expr','parser.py',139),
  ('expr -> while M_1 expr1 pdo M_1 multstmt end M_1','expr',8,'p_expr','parser.py',140),
  ('expr -> until M_1 expr1 pdo M_1 multstmt end M_1','expr',8,'p_expr','parser.py',141),
  ('expr -> case expr1 newline multcase end M_1','expr',6,'p_expr','parser.py',142),
  ('expr -> for M_1 mlhs in expr1 pdo M_1 multstmt end M_1','expr',10,'p_expr','parser.py',143),
  ('expr -> expr1','expr',1,'p_expr','parser.py',144),
  ('M_1 -> empty','M_1',1,'p_M_1','parser.py',233),
  ('expr1 -> return term2','expr1',2,'p_expr1','parser.py',241),
  ('expr1 -> return','expr1',1,'p_expr1','parser.py',242),
  ('expr1 -> expr2','expr1',1,'p_expr1','parser.py',243),
  ('expr2 -> arg','expr2',1,'p_expr2_1','parser.py',260),
  ('expr2 -> call','expr2',1,'p_expr2_2','parser.py',268),
  ('call -> function','call',1,'p_call','parser.py',275),
  ('function -> IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET','function',4,'p_function','parser.py',282),
  ('function -> IDENTIFIER OPEN_BRACKET CLOSE_BRACKET','function',3,'p_function','parser.py',283),
  ('arg -> term0','arg',1,'p_arg','parser.py',312),
  ('term0 -> mlhs EQUALS IDENTIFIER OPEN_BRACKET CLOSE_BRACKET','term0',5,'p_term0','parser.py',320),
  ('term0 -> mlhs EQUALS IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET','term0',6,'p_term0','parser.py',321),
  ('term0 -> mlhs EQUALS IDENTIFIER DOT new OPEN_BRACKET CLOSE_BRACKET','term0',7,'p_term0','parser.py',322),
  ('term0 -> term1','term0',1,'p_term0','parser.py',323),
  ('term1 -> mlhs EQUALS mrhs','term1',3,'p_term1','parser.py',387),
  ('term1 -> mlhs opasgn mrhs','term1',3,'p_term1','parser.py',388),
  ('term1 -> term2','term1',1,'p_term1','parser.py',389),
  ('term2 -> term3 INCL_RANGE term3','term2',3,'p_term2','parser.py',428),
  ('term2 -> term3 EXCL_RANGE term3','term2',3,'p_term2','parser.py',429),
  ('term2 -> term3','term2',1,'p_term2','parser.py',430),
  ('term3 -> term3 LOGICAL_OR term4','term3',3,'p_term3','parser.py',469),
  ('term3 -> term3 LOGICAL_AND term4','term3',3,'p_term3','parser.py',470),
  ('term3 -> term4','term3',1,'p_term3','parser.py',471),
  ('term4 -> term5 DOUBLE_EQUALS term5','term4',3,'p_term4','parser.py',492),
  ('term4 -> term5 NOT_EQUALS term5','term4',3,'p_term4','parser.py',493),
  ('term4 -> term5 EQUAL_TILDE term5','term4',3,'p_term4','parser.py',494),
  ('term4 -> term5 COMPARISON term5','term4',3,'p_term4','parser.py',495),
  ('term4 -> term5','term4',1,'p_term4','parser.py',496),
  ('term5 -> term5 LESS term6','term5',3,'p_term5','parser.py',524),
  ('term5 -> term5 LESS_EQUALS term6','term5',3,'p_term5','parser.py',525),
  ('term5 -> term5 GREATER term6','term5',3,'p_term5','parser.py',526),
  ('term5 -> term5 GREATER_EQUALS term6','term5',3,'p_term5','parser.py',527),
  ('term5 -> term6','term5',1,'p_term5','parser.py',528),
  ('term6 -> term6 BIT_XOR term7','term6',3,'p_term6','parser.py',556),
  ('term6 -> term6 BIT_OR term7','term6',3,'p_term6','parser.py',557),
  ('term6 -> term7','term6',1,'p_term6','parser.py',558),
  ('term7 -> term7 BIT_AND term8','term7',3,'p_term7','parser.py',578),
  ('term7 -> term8','term7',1,'p_term7','parser.py',579),
  ('term8 -> term8 LEFT_SHIFT term9','term8',3,'p_term8','parser.py',599),
  ('term8 -> term8 RIGHT_SHIFT term9','term8',3,'p_term8','parser.py',600),
  ('term8 -> term9','term8',1,'p_term8','parser.py',601),
  ('term9 -> term9 PLUS term10','term9',3,'p_term9','parser.py',621),
  ('term9 -> term9 MINUS term10','term9',3,'p_term9','parser.py',622),
  ('term9 -> term10','term9',1,'p_term9','parser.py',623),
  ('term10 -> term10 MULTIPLY term11','term10',3,'p_term10','parser.py',645),
  ('term10 -> term10 DIVIDE term11','term10',3,'p_term10','parser.py',646),
  ('term10 -> term10 MODULO term11','term10',3,'p_term10','parser.py',647),
  ('term10 -> term11','term10',1,'p_term10','parser.py',648),
  ('term11 -> MINUS term11','term11',2,'p_term11','parser.py',668),
  ('term11 -> term12','term11',1,'p_term11','parser.py',669),
  ('term12 -> PLUS term12','term12',2,'p_term12','parser.py',689),
  ('term12 -> term13','term12',1,'p_term12','parser.py',690),
  ('term13 -> primary','term13',1,'p_term13','parser.py',710),
  ('primary -> OPEN_BRACKET expr2 CLOSE_BRACKET','primary',3,'p_y','parser.py',719),
  ('primary -> arrayd','primary',1,'p_y','parser.py',720),
  ('primary -> arraya','primary',1,'p_y','parser.py',721),
  ('primary -> classvar','primary',1,'p_y','parser.py',722),
  ('primary -> literal','primary',1,'p_y','parser.py',723),
  ('primary -> varname','primary',1,'p_y','parser.py',724),
  ('classvar -> IDENTIFIER DOT IDENTIFIER','classvar',3,'p_classvar','parser.py',737),
  ('arrayd -> Array OPEN_BRACKET array_size CLOSE_BRACKET','arrayd',4,'p_arrayd','parser.py',745),
  ('array_size -> term2 COMMA array_size','array_size',3,'p_array_size','parser.py',755),
  ('array_size -> term2','array_size',1,'p_array_size','parser.py',756),
  ('arrayal -> variable OPEN_SQUARE array_args CLOSE_SQUARE','arrayal',4,'p_arrayal','parser.py',770),
  ('arraya -> variable OPEN_SQUARE array_args CLOSE_SQUARE','arraya',4,'p_arraya','parser.py',779),
  ('array_args -> primary COMMA array_args','array_args',3,'p_array_args','parser.py',788),
  ('array_args -> primary','array_args',1,'p_array_args','parser.py',789),
  ('multcase -> when whenargs pthen M_1 multstmt M_1 multcase','multcase',7,'p_multcase','parser.py',802),
  ('multcase -> when whenargs pthen M_1 multstmt M_1','multcase',6,'p_multcase','parser.py',803),
  ('multelsif -> elsif expr pthen M_1 multstmt M_1 multelsif M_1','multelsif',8,'p_multelsif','parser.py',820),
  ('multelsif -> else newline multstmt','multelsif',3,'p_multelsif','parser.py',821),
  ('multelsif -> empty','multelsif',1,'p_multelsif','parser.py',822),
  ('literal -> NUMBER','literal',1,'p_literal','parser.py',846),
  ('literal -> true','literal',1,'p_literal','parser.py',847),
  ('literal -> false','literal',1,'p_literal','parser.py',848),
  ('whenargs -> arg','whenargs',1,'p_whenargs','parser.py',865),
  ('mlhs -> mlhsitem','mlhs',1,'p_mlhs','parser.py',883),
  ('mlhsitem -> IDENTIFIER','mlhsitem',1,'p_mlhsitem_1','parser.py',891),
  ('mlhsitem -> arrayal','mlhsitem',1,'p_mlhsitem_2','parser.py',900),
  ('mlhsitem -> classvar','mlhsitem',1,'p_mlhsitem_3','parser.py',908),
  ('mrhs -> term2','mrhs',1,'p_mrhs','parser.py',916),
  ('callargs -> callarglist','callargs',1,'p_callargs','parser.py',926),
  ('callarglist -> term2 callmultarglist','callarglist',2,'p_callarglist','parser.py',933),
  ('callarglist -> empty','callarglist',1,'p_callarglist','parser.py',934),
  ('callmultarglist -> COMMA term2 callmultarglist','callmultarglist',3,'p_callmultarglist','parser.py',949),
  ('callmultarglist -> empty','callmultarglist',1,'p_callmultarglist','parser.py',950),
  ('argdecl -> OPEN_BRACKET arglist CLOSE_BRACKET','argdecl',3,'p_argdecl','parser.py',965),
  ('arglist -> IDENTIFIER multarglist','arglist',2,'p_arglist','parser.py',972),
  ('arglist -> empty','arglist',1,'p_arglist','parser.py',973),
  ('multarglist -> COMMA IDENTIFIER multarglist','multarglist',3,'p_multarglist','parser.py',988),
  ('multarglist -> empty','multarglist',1,'p_multarglist','parser.py',989),
  ('variable -> varname','variable',1,'p_variable','parser.py',1004),
  ('variable -> nil','variable',1,'p_variable','parser.py',1005),
  ('variable -> self','variable',1,'p_variable','parser.py',1006),
  ('pthen -> newline','pthen',1,'p_pthen','parser.py',1014),
  ('pthen -> then','pthen',1,'p_pthen','parser.py',1015),
  ('pthen -> newline then','pthen',2,'p_pthen','parser.py',1016),
  ('pdo -> newline','pdo',1,'p_pdo','parser.py',1021),
  ('pdo -> do newline','pdo',2,'p_pdo','parser.py',1022),
  ('pdo -> newline do','pdo',2,'p_pdo','parser.py',1023),
  ('opasgn -> MODULO_EQUALS','opasgn',1,'p_opasgn','parser.py',1028),
  ('opasgn -> DIVIDE_EQUALS','opasgn',1,'p_opasgn','parser.py',1029),
  ('opasgn -> MINUS_EQUALS','opasgn',1,'p_opasgn','parser.py',1030),
  ('opasgn -> PLUS_EQUALS','opasgn',1,'p_opasgn','parser.py',1031),
  ('opasgn -> OR_EQUALS','opasgn',1,'p_opasgn','parser.py',1032),
  ('opasgn -> AND_EQUALS','opasgn',1,'p_opasgn','parser.py',1033),
  ('opasgn -> XOR_EQUALS','opasgn',1,'p_opasgn','parser.py',1034),
  ('opasgn -> RIGHT_SHIFT_EQUALS','opasgn',1,'p_opasgn','parser.py',1035),
  ('opasgn -> LEFT_SHIFT_EQUALS','opasgn',1,'p_opasgn','parser.py',1036),
  ('opasgn -> MULTIPLY_EQUALS','opasgn',1,'p_opasgn','parser.py',1037),
  ('varname -> GLOBAL','varname',1,'p_varname','parser.py',1042),
  ('varname -> IDENTIFIER','varname',1,'p_varname','parser.py',1043),
  ('compnewline -> SEMI_COLON','compnewline',1,'p_compnewline','parser.py',1056),
  ('compnewline -> NEWLINE','compnewline',1,'p_compnewline','parser.py',1057),
  ('newline -> compnewline','newline',1,'p_newline','parser.py',1061),
  ('newline -> empty','newline',1,'p_newline','parser.py',1062),
  ('empty -> <empty>','empty',0,'p_empty','parser.py',1068),
]

39fef13322f99d7227cae701ed9c901df60f366a
<mask token>

<mask token>
for _k, _v in _lr_action_items.items():
    for _x, _y in zip(_v[0], _v[1]):
        if not _x in _lr_action:
            _lr_action[_x] = {}
        _lr_action[_x][_k] = _y
del _lr_action_items
<mask token>
for _k, _v in _lr_goto_items.items():
    for _x, _y in zip(_v[0], _v[1]):
        if not _x in _lr_goto:
            _lr_goto[_x] = {}
        _lr_goto[_x][_k] = _y
del _lr_goto_items
<mask token>

_tabversion = '3.10'
_lr_method = 'LALR'
_lr_signature = """compstmtBEGIN class ensure nil self when END def false not super while alias defined for or then yield and do if redo true begin else in rescue undef break elsif module retry unless case end next return until Array puts gets print new CONSTANT_RESOLUTION ELEMENT_REFERENCE ELEMENT_SET POWER SYMBOL_NOT COMPLEMENT MULTIPLY DIVIDE MODULO PLUS MINUS LEFT_SHIFT RIGHT_SHIFT BIT_AND BIT_OR BIT_XOR GREATER GREATER_EQUALS LESS LESS_EQUALS COMPARISON DOUBLE_EQUALS TRIPLE_EQUALS NOT_EQUALS EQUAL_TILDE BANG_TILDE LOGICAL_AND LOGICAL_OR INCL_RANGE EXCL_RANGE EQUALS MODULO_EQUALS DIVIDE_EQUALS MINUS_EQUALS PLUS_EQUALS OR_EQUALS AND_EQUALS XOR_EQUALS RIGHT_SHIFT_EQUALS LEFT_SHIFT_EQUALS MULTIPLY_EQUALS LOGICAL_AND_EQUALS LOGICAL_OR_EQUALS POWER_EQUALS WORD_NOT WORD_AND WORD_OR MAP PLUS_AT MINUS_AT IDENTIFIER FLOAT NUMBER GLOBAL STRING STRING2 HEREDOC REGEXP DOUBLE_QUOTE DOLLAR COLON QUESTION_MARK OPEN_BRACKET CLOSE_BRACKET OPEN_FLOWER CLOSE_FLOWER OPEN_SQUARE CLOSE_SQUARE COMMA DOT SEMI_COLON AT_THE_RATE NEWLINEcompstmt : stmt1 multcompstmt
    multcompstmt : compnewline stmt1 multcompstmt
                | newline
    stmt1 : stmt
    stmt : keydef argdecl newline multstmt keyend
            | puts OPEN_BRACKET STRING CLOSE_BRACKET
            | print OPEN_BRACKET primary CLOSE_BRACKET
            | gets OPEN_BRACKET IDENTIFIER CLOSE_BRACKET
            | keyclass IDENTIFIER newline multstmt keyend
            | break
            | expr
    keyclass : class
    keydef : def IDENTIFIER
    keyend : end
    multstmt : stmt compnewline multstmt
                | newline
    multstmt : stmt
    expr : if expr1 pthen M_1 multstmt else newline M_1 multstmt end M_1
            | if expr1 pthen M_1 multstmt M_1 multelsif end M_1
            | if expr1 pthen M_1 multstmt end M_1
            | while M_1 expr1 pdo M_1 multstmt end M_1
            | until M_1 expr1 pdo M_1 multstmt end M_1
            | case expr1 newline multcase end M_1
            | for M_1 mlhs in expr1 pdo M_1 multstmt end M_1
            | expr1
    M_1 : empty
    expr1 : return term2
            | return
            | expr2
    expr2 : arg
    expr2 : call
    call : function
    function : IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET
                | IDENTIFIER OPEN_BRACKET CLOSE_BRACKET
    arg : term0
    term0 : mlhs EQUALS IDENTIFIER OPEN_BRACKET CLOSE_BRACKET
           | mlhs EQUALS IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET
           | mlhs EQUALS IDENTIFIER DOT new OPEN_BRACKET CLOSE_BRACKET
           | term1
    term1 : mlhs EQUALS mrhs
              | mlhs opasgn mrhs
              | term2
    term2 : term3 INCL_RANGE term3
            | term3 EXCL_RANGE term3
            | term3
    term3 : term3 LOGICAL_OR term4
            |  term3 LOGICAL_AND term4
            |  term4
    term4 : term5 DOUBLE_EQUALS term5
             | term5 NOT_EQUALS term5
             | term5 EQUAL_TILDE term5
             | term5 COMPARISON term5
             | term5
    term5 : term5 LESS term6
            | term5 LESS_EQUALS term6
            | term5 GREATER term6
            | term5 GREATER_EQUALS term6
            | term6
    term6 : term6 BIT_XOR term7
            | term6 BIT_OR term7
            | term7
    term7 : term7 BIT_AND term8
            | term8
    term8 : term8 LEFT_SHIFT term9
            | term8 RIGHT_SHIFT term9
            | term9
    term9 : term9 PLUS term10
            | term9 MINUS term10
            | term10
    term10 : term10 MULTIPLY term11
            | term10 DIVIDE term11
            | term10 MODULO term11
            | term11
    term11 : MINUS term11
            | term12
    term12 : PLUS term12
            | term13
    term13 : primary 
    primary : OPEN_BRACKET expr2 CLOSE_BRACKET
            | arrayd
            | arraya
            | classvar
            | literal
            | varname
    classvar : IDENTIFIER DOT IDENTIFIER
    arrayd : Array OPEN_BRACKET array_size CLOSE_BRACKET
    array_size : term2 COMMA array_size
                | term2
    arrayal : variable OPEN_SQUARE array_args CLOSE_SQUARE
    arraya : variable OPEN_SQUARE array_args CLOSE_SQUARE
    array_args : primary COMMA array_args
                  | primary
    multcase : when whenargs pthen M_1 multstmt M_1 multcase
                | when whenargs pthen M_1 multstmt M_1
    multelsif : elsif expr pthen M_1 multstmt M_1 multelsif M_1
                 | else newline multstmt
                 | empty
    literal : NUMBER
               | true
               | false
    whenargs : arg
    mlhs : mlhsitem
    mlhsitem : IDENTIFIER
    mlhsitem : arrayal
    mlhsitem : classvar
    mrhs : term2
    callargs : callarglist
    callarglist : term2 callmultarglist
               | empty
    callmultarglist : COMMA term2 callmultarglist
                       | empty
    argdecl : OPEN_BRACKET arglist CLOSE_BRACKET
    arglist : IDENTIFIER multarglist
               | empty
    multarglist : COMMA IDENTIFIER multarglist
                 | empty
    variable : varname
                | nil
                | self
    pthen : newline
             | then
             | newline then
    pdo : newline
           | do newline
           | newline do
    opasgn : MODULO_EQUALS
              | DIVIDE_EQUALS
              | MINUS_EQUALS
              | PLUS_EQUALS
              | OR_EQUALS
              | AND_EQUALS
              | XOR_EQUALS
              | RIGHT_SHIFT_EQUALS
              | LEFT_SHIFT_EQUALS
              | MULTIPLY_EQUALS
    varname : GLOBAL 
              | IDENTIFIER
    compnewline : SEMI_COLON
                   | NEWLINE
    newline : compnewline
               | empty
    empty :"""
_lr_action_items = {'puts': ([0, 8, 10, 17, 23, 24, 25, 26, 27, 28, 29, 30,
    33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56,
    57, 58, 60, 62, 63, 64, 65, 73, 75, 77, 93, 94, 95, 97, 118, 122, 125, 
    126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 
    155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 
    172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 199, 200, 201, 
    202, 203, 204, 212, 214, 218, 223, 224, 225, 226, 227, 228, 229, 230, 
    232, 235, 242, 243, 246, 247, 248, 250, 254, 256, 257, 258, 259, 260, 
    261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 280, 
    282], [5, -78, -137, -25, -28, -42, -29, -30, -31, -35, -32, -39, -82, 
    -45, -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, 
    -81, -83, -98, -99, -100, 5, -138, -139, -141, -142, -142, -142, -26, -
    27, -82, -84, -137, -76, -74, 5, -140, -79, -34, -85, 5, -142, -120, -
    121, -142, -142, -137, -137, -40, -106, -41, -43, -44, -46, -47, -49, -
    50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -
    70, -71, -72, -112, -33, 5, -122, -142, -123, -142, -142, -90, -86, 5, 
    5, -125, -124, 5, -142, -142, -101, -142, -36, -90, -142, -142, -23, -
    142, -142, -37, -142, -142, -20, -142, -142, 5, 5, -38, -142, -142, 5, 
    5, -21, -22, -19, -142, -142, 5, -142, -24, -18]), 'print': ([0, 8, 10,
    17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44,
    45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64, 65, 73, 75,
    77, 93, 94, 95, 97, 118, 122, 125, 126, 131, 135, 139, 140, 141, 142, 
    143, 144, 145, 148, 152, 153, 154, 155, 157, 158, 159, 160, 163, 164, 
    165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 
    179, 180, 187, 194, 199, 200, 201, 202, 203, 204, 212, 214, 218, 223, 
    224, 225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 248, 
    250, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 
    268, 271, 272, 276, 277, 278, 280, 282], [7, -78, -137, -25, -28, -42, 
    -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, 
    -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, 7, -138, -
    139, -141, -142, -142, -142, -26, -27, -82, -84, -137, -76, -74, 7, -
    140, -79, -34, -85, 7, -142, -120, -121, -142, -142, -137, -137, -40, -
    106, -41, -43, -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -
    59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -112, -33, 7, -122, -
    142, -123, -142, -142, -90, -86, 7, 7, -125, -124, 7, -142, -142, -101,
    -142, -36, -90, -142, -142, -23, -142, -142, -37, -142, -142, -20, -142,
    -142, 7, 7, -38, -142, -142, 7, 7, -21, -22, -19, -142, -142, 7, -142, 
    -24, -18]), 'gets': ([0, 8, 10, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33,
    34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57,
    58, 60, 62, 63, 64, 65, 73, 75, 77, 93, 94, 95, 97, 118, 122, 125, 126,
    131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 155, 
    157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 
    173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 199, 200, 201, 202, 
    203, 204, 212, 214, 218, 223, 224, 225, 226, 227, 228, 229, 230, 232, 
    235, 242, 243, 246, 247, 248, 250, 254, 256, 257, 258, 259, 260, 261, 
    262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 280, 282],
    [9, -78, -137, -25, -28, -42, -29, -30, -31, -35, -32, -39, -82, -45, -
    48, -84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -
    83, -98, -99, -100, 9, -138, -139, -141, -142, -142, -142, -26, -27, -
    82, -84, -137, -76, -74, 9, -140, -79, -34, -85, 9, -142, -120, -121, -
    142, -142, -137, -137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -
    51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -
    71, -72, -112, -33, 9, -122, -142, -123, -142, -142, -90, -86, 9, 9, -
    125, -124, 9, -142, -142, -101, -142, -36, -90, -142, -142, -23, -142, 
    -142, -37, -142, -142, -20, -142, -142, 9, 9, -38, -142, -142, 9, 9, -
    21, -22, -19, -142, -142, 9, -142, -24, -18]), 'break': ([0, 8, 10, 17,
    23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45,
    47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64, 65, 73, 75, 77,
    93, 94, 95, 97, 118, 122, 125, 126, 131, 135, 139, 140, 141, 142, 143, 
    144, 145, 148, 152, 153, 154, 155, 157, 158, 159, 160, 163, 164, 165, 
    166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 
    180, 187, 194, 199, 200, 201, 202, 203, 204, 212, 214, 218, 223, 224, 
    225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 248, 250, 
    254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 
    271, 272, 276, 277, 278, 280, 282], [12, -78, -137, -25, -28, -42, -29,
    -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, -63, 
    -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, 12, -138, -139,
    -141, -142, -142, -142, -26, -27, -82, -84, -137, -76, -74, 12, -140, -
    79, -34, -85, 12, -142, -120, -121, -142, -142, -137, -137, -40, -106, 
    -41, -43, -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -
    60, -62, -64, -65, -67, -68, -70, -71, -72, -112, -33, 12, -122, -142, 
    -123, -142, -142, -90, -86, 12, 12, -125, -124, 12, -142, -142, -101, -
    142, -36, -90, -142, -142, -23, -142, -142, -37, -142, -142, -20, -142,
    -142, 12, 12, -38, -142, -142, 12, 12, -21, -22, -19, -142, -142, 12, -
    142, -24, -18]), 'def': ([0, 8, 10, 17, 23, 24, 25, 26, 27, 28, 29, 30,
    33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56,
    57, 58, 60, 62, 63, 64, 65, 73, 75, 77, 93, 94, 95, 97, 118, 122, 125, 
    126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 
    155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 
    172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 199, 200, 201, 
    202, 203, 204, 212, 214, 218, 223, 224, 225, 226, 227, 228, 229, 230, 
    232, 235, 242, 243, 246, 247, 248, 250, 254, 256, 257, 258, 259, 260, 
    261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 280, 
    282], [14, -78, -137, -25, -28, -42, -29, -30, -31, -35, -32, -39, -82,
    -45, -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, 
    -81, -83, -98, -99, -100, 14, -138, -139, -141, -142, -142, -142, -26, 
    -27, -82, -84, -137, -76, -74, 14, -140, -79, -34, -85, 14, -142, -120,
    -121, -142, -142, -137, -137, -40, -106, -41, -43, -44, -46, -47, -49, 
    -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -
    70, -71, -72, -112, -33, 14, -122, -142, -123, -142, -142, -90, -86, 14,
    14, -125, -124, 14, -142, -142, -101, -142, -36, -90, -142, -142, -23, 
    -142, -142, -37, -142, -142, -20, -142, -142, 14, 14, -38, -142, -142, 
    14, 14, -21, -22, -19, -142, -142, 14, -142, -24, -18]), 'class': ([0, 
    8, 10, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 
    43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64, 65,
    73, 75, 77, 93, 94, 95, 97, 118, 122, 125, 126, 131, 135, 139, 140, 141,
    142, 143, 144, 145, 148, 152, 153, 154, 155, 157, 158, 159, 160, 163, 
    164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 
    178, 179, 180, 187, 194, 199, 200, 201, 202, 203, 204, 212, 214, 218, 
    223, 224, 225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 
    248, 250, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 
    267, 268, 271, 272, 276, 277, 278, 280, 282], [15, -78, -137, -25, -28,
    -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, 
    -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, 15, -
    138, -139, -141, -142, -142, -142, -26, -27, -82, -84, -137, -76, -74, 
    15, -140, -79, -34, -85, 15, -142, -120, -121, -142, -142, -137, -137, 
    -40, -106, -41, -43, -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, 
    -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -112, -33, 15, -
    122, -142, -123, -142, -142, -90, -86, 15, 15, -125, -124, 15, -142, -
    142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37, -142, -142,
    -20, -142, -142, 15, 15, -38, -142, -142, 15, 15, -21, -22, -19, -142, 
    -142, 15, -142, -24, -18]), 'if': ([0, 8, 10, 17, 23, 24, 25, 26, 27, 
    28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52,
    53, 54, 56, 57, 58, 60, 62, 63, 64, 65, 73, 75, 77, 93, 94, 95, 97, 118,
    122, 125, 126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 
    153, 154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 
    170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 199, 
    200, 201, 202, 203, 204, 212, 214, 218, 223, 224, 225, 226, 227, 228, 
    229, 230, 232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 256, 257, 
    258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 
    277, 278, 280, 282], [16, -78, -137, -25, -28, -42, -29, -30, -31, -35,
    -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, 
    -75, -77, -80, -81, -83, -98, -99, -100, 16, -138, -139, -141, -142, -
    142, -142, -26, -27, -82, -84, -137, -76, -74, 16, -140, -79, -34, -85,
    16, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41, -43, -44,
    -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -
    65, -67, -68, -70, -71, -72, -112, -33, 16, -122, -142, -123, -142, -
    142, -90, -86, 16, 16, -125, -124, 16, -142, -142, -101, -142, -36, -90,
    -142, -142, -23, -142, -142, -37, 16, -142, -142, -20, -142, -142, 16, 
    16, -38, -142, -142, 16, 16, -21, -22, -19, -142, -142, 16, -142, -24, 
    -18]), 'while': ([0, 8, 10, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34,
    36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58,
    60, 62, 63, 64, 65, 73, 75, 77, 93, 94, 95, 97, 118, 122, 125, 126, 131,
    135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 155, 157, 
    158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 
    174, 175, 176, 177, 178, 179, 180, 187, 194, 199, 200, 201, 202, 203, 
    204, 212, 214, 218, 223, 224, 225, 226, 227, 228, 229, 230, 232, 235, 
    242, 243, 246, 247, 248, 250, 253, 254, 256, 257, 258, 259, 260, 261, 
    262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 280, 282],
    [18, -78, -137, -25, -28, -42, -29, -30, -31, -35, -32, -39, -82, -45, 
    -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, 
    -83, -98, -99, -100, 18, -138, -139, -141, -142, -142, -142, -26, -27, 
    -82, -84, -137, -76, -74, 18, -140, -79, -34, -85, 18, -142, -120, -121,
    -142, -142, -137, -137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -
    51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -
    71, -72, -112, -33, 18, -122, -142, -123, -142, -142, -90, -86, 18, 18,
    -125, -124, 18, -142, -142, -101, -142, -36, -90, -142, -142, -23, -142,
    -142, -37, 18, -142, -142, -20, -142, -142, 18, 18, -38, -142, -142, 18,
    18, -21, -22, -19, -142, -142, 18, -142, -24, -18]), 'until': ([0, 8, 
    10, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43,
    44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64, 65, 73,
    75, 77, 93, 94, 95, 97, 118, 122, 125, 126, 131, 135, 139, 140, 141, 
    142, 143, 144, 145, 148, 152, 153, 154, 155, 157, 158, 159, 160, 163, 
    164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 
    178, 179, 180, 187, 194, 199, 200, 201, 202, 203, 204, 212, 214, 218, 
    223, 224, 225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 
    248, 250, 253, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 
    266, 267, 268, 271, 272, 276, 277, 278, 280, 282], [19, -78, -137, -25,
    -28, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, 
    -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, 
    19, -138, -139, -141, -142, -142, -142, -26, -27, -82, -84, -137, -76, 
    -74, 19, -140, -79, -34, -85, 19, -142, -120, -121, -142, -142, -137, -
    137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -51, -52, -54, -55, 
    -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -112, -33, 
    19, -122, -142, -123, -142, -142, -90, -86, 19, 19, -125, -124, 19, -
    142, -142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37, 19, 
    -142, -142, -20, -142, -142, 19, 19, -38, -142, -142, 19, 19, -21, -22,
    -19, -142, -142, 19, -142, -24, -18]), 'case': ([0, 8, 10, 17, 23, 24, 
    25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49,
    50, 51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64, 65, 73, 75, 77, 93, 94,
    95, 97, 118, 122, 125, 126, 131, 135, 139, 140, 141, 142, 143, 144, 145,
    148, 152, 153, 154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 
    168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 
    194, 199, 200, 201, 202, 203, 204, 212, 214, 218, 223, 224, 225, 226, 
    227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 
    256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 
    272, 276, 277, 278, 280, 282], [20, -78, -137, -25, -28, -42, -29, -30,
    -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, -63, -66, 
    -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, 20, -138, -139, -141,
    -142, -142, -142, -26, -27, -82, -84, -137, -76, -74, 20, -140, -79, -
    34, -85, 20, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41, 
    -43, -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -
    62, -64, -65, -67, -68, -70, -71, -72, -112, -33, 20, -122, -142, -123,
    -142, -142, -90, -86, 20, 20, -125, -124, 20, -142, -142, -101, -142, -
    36, -90, -142, -142, -23, -142, -142, -37, 20, -142, -142, -20, -142, -
    142, 20, 20, -38, -142, -142, 20, 20, -21, -22, -19, -142, -142, 20, -
    142, -24, -18]), 'for': ([0, 8, 10, 17, 23, 24, 25, 26, 27, 28, 29, 30,
    33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56,
    57, 58, 60, 62, 63, 64, 65, 73, 75, 77, 93, 94, 95, 97, 118, 122, 125, 
    126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 
    155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 
    172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 199, 200, 201, 
    202, 203, 204, 212, 214, 218, 223, 224, 225, 226, 227, 228, 229, 230, 
    232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 256, 257, 258, 259, 
    260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 
    280, 282], [21, -78, -137, -25, -28, -42, -29, -30, -31, -35, -32, -39,
    -82, -45, -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, 
    -80, -81, -83, -98, -99, -100, 21, -138, -139, -141, -142, -142, -142, 
    -26, -27, -82, -84, -137, -76, -74, 21, -140, -79, -34, -85, 21, -142, 
    -120, -121, -142, -142, -137, -137, -40, -106, -41, -43, -44, -46, -47,
    -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -
    68, -70, -71, -72, -112, -33, 21, -122, -142, -123, -142, -142, -90, -
    86, 21, 21, -125, -124, 21, -142, -142, -101, -142, -36, -90, -142, -
    142, -23, -142, -142, -37, 21, -142, -142, -20, -142, -142, 21, 21, -38,
    -142, -142, 21, 21, -21, -22, -19, -142, -142, 21, -142, -24, -18]),
    'return': ([0, 8, 10, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 
    30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54,
    56, 57, 58, 60, 62, 63, 64, 65, 73, 75, 76, 77, 78, 93, 94, 95, 97, 118,
    122, 125, 126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 
    153, 154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 
    170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 199, 
    200, 201, 202, 203, 204, 207, 212, 214, 218, 223, 224, 225, 226, 227, 
    228, 229, 230, 232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 256, 
    257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 
    276, 277, 278, 280, 282], [23, -78, -137, 23, -25, -142, -142, 23, -28,
    -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, 
    -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, 23, -
    138, -139, -141, -142, -142, -142, 23, -26, 23, -27, -82, -84, -137, -
    76, -74, 23, -140, -79, -34, -85, 23, -142, -120, -121, -142, -142, -
    137, -137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -51, -52, -54,
    -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -112, 
    -33, 23, -122, -142, -123, -142, -142, 23, -90, -86, 23, 23, -125, -124,
    23, -142, -142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37,
    23, -142, -142, -20, -142, -142, 23, 23, -38, -142, -142, 23, 23, -21, 
    -22, -19, -142, -142, 23, -142, -24, -18]), 'IDENTIFIER': ([0, 6, 8, 10,
    11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 33,
    34, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
    56, 57, 58, 60, 62, 63, 64, 65, 66, 69, 70, 71, 72, 73, 75, 76, 77, 78,
    80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98,
    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 
    113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 126, 131, 
    135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 155, 156, 
    157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 
    173, 174, 175, 176, 177, 178, 179, 180, 187, 189, 194, 196, 199, 200, 
    201, 202, 203, 204, 206, 207, 208, 209, 210, 212, 213, 214, 215, 218, 
    223, 224, 225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 
    248, 250, 253, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 
    266, 267, 268, 271, 272, 276, 277, 278, 280, 282], [10, 10, -78, -137, 
    73, 74, -12, 10, -25, -142, -142, 10, -142, 97, -42, -29, -30, -31, -35,
    -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, -63, -66, 97, -69, 
    97, -73, -75, -77, -80, -81, -83, -98, -99, -100, 10, -138, -139, -141,
    -142, 128, 97, 133, 97, 139, -142, -142, 10, -26, 10, 148, 152, 97, -
    126, -127, -128, -129, -130, -131, -132, -133, -134, -135, -27, -82, -
    84, -137, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 
    97, 97, 97, 97, 97, -76, 97, 97, 97, -74, 97, 10, -140, -79, -34, -85, 
    10, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41, 97, -43, 
    -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -
    64, -65, -67, -68, -70, -71, -72, -112, 219, -33, 97, 10, -122, -142, -
    123, -142, -142, 148, 10, 97, 97, 139, -90, 97, -86, 97, 10, 10, -125, 
    -124, 10, -142, -142, -101, -142, -36, -90, -142, -142, -23, -142, -142,
    -37, 10, -142, -142, -20, -142, -142, 10, 10, -38, -142, -142, 10, 10, 
    -21, -22, -19, -142, -142, 10, -142, -24, -18]), 'nil': ([0, 6, 8, 10, 
    16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37,
    40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58,
    60, 62, 63, 64, 65, 69, 71, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85,
    86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103,
    104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 
    118, 119, 120, 121, 122, 123, 125, 126, 131, 135, 139, 140, 141, 142, 
    143, 144, 145, 148, 152, 153, 154, 155, 156, 157, 158, 159, 160, 163, 
    164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 
    178, 179, 180, 187, 194, 196, 199, 200, 201, 202, 203, 204, 206, 207, 
    208, 209, 212, 213, 214, 215, 218, 223, 224, 225, 226, 227, 228, 229, 
    230, 232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 256, 257, 258, 
    259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 
    278, 280, 282], [38, 38, -78, -137, 38, -25, -142, -142, 38, -142, 38, 
    -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, 
    -61, -63, -66, 38, -69, 38, -73, -75, -77, -80, -81, -83, -98, -99, -
    100, 38, -138, -139, -141, -142, 38, 38, -142, -142, 38, -26, 38, 38, 
    38, 38, -126, -127, -128, -129, -130, -131, -132, -133, -134, -135, -27,
    -82, -84, -137, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    38, 38, 38, 38, 38, 38, -76, 38, 38, 38, -74, 38, 38, -140, -79, -34, -
    85, 38, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41, 38, -
    43, -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -
    62, -64, -65, -67, -68, -70, -71, -72, -112, -33, 38, 38, -122, -142, -
    123, -142, -142, 38, 38, 38, 38, -90, 38, -86, 38, 38, 38, -125, -124, 
    38, -142, -142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37,
    38, -142, -142, -20, -142, -142, 38, 38, -38, -142, -142, 38, 38, -21, 
    -22, -19, -142, -142, 38, -142, -24, -18]), 'self': ([0, 6, 8, 10, 16, 
    17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40,
    41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60,
    62, 63, 64, 65, 69, 71, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86,
    87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104,
    105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 
    119, 120, 121, 122, 123, 125, 126, 131, 135, 139, 140, 141, 142, 143, 
    144, 145, 148, 152, 153, 154, 155, 156, 157, 158, 159, 160, 163, 164, 
    165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 
    179, 180, 187, 194, 196, 199, 200, 201, 202, 203, 204, 206, 207, 208, 
    209, 212, 213, 214, 215, 218, 223, 224, 225, 226, 227, 228, 229, 230, 
    232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 256, 257, 258, 259, 
    260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 
    280, 282], [39, 39, -78, -137, 39, -25, -142, -142, 39, -142, 39, -42, 
    -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, 
    -63, -66, 39, -69, 39, -73, -75, -77, -80, -81, -83, -98, -99, -100, 39,
    -138, -139, -141, -142, 39, 39, -142, -142, 39, -26, 39, 39, 39, 39, -
    126, -127, -128, -129, -130, -131, -132, -133, -134, -135, -27, -82, -
    84, -137, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 
    39, 39, 39, 39, 39, -76, 39, 39, 39, -74, 39, 39, -140, -79, -34, -85, 
    39, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41, 39, -43, 
    -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -
    64, -65, -67, -68, -70, -71, -72, -112, -33, 39, 39, -122, -142, -123, 
    -142, -142, 39, 39, 39, 39, -90, 39, -86, 39, 39, 39, -125, -124, 39, -
    142, -142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37, 39, 
    -142, -142, -20, -142, -142, 39, 39, -38, -142, -142, 39, 39, -21, -22,
    -19, -142, -142, 39, -142, -24, -18]), 'GLOBAL': ([0, 6, 8, 10, 16, 17,
    18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41,
    42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 62,
    63, 64, 65, 69, 71, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87,
    88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 
    105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 
    119, 120, 121, 122, 123, 125, 126, 131, 135, 139, 140, 141, 142, 143, 
    144, 145, 148, 152, 153, 154, 155, 156, 157, 158, 159, 160, 163, 164, 
    165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 
    179, 180, 187, 194, 196, 199, 200, 201, 202, 203, 204, 206, 207, 208, 
    209, 212, 213, 214, 215, 218, 223, 224, 225, 226, 227, 228, 229, 230, 
    232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 256, 257, 258, 259, 
    260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 
    280, 282], [41, 41, -78, -137, 41, -25, -142, -142, 41, -142, 41, -42, 
    -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, 
    -63, -66, 41, -69, 41, -73, -75, -77, -80, -81, -83, -98, -99, -100, 41,
    -138, -139, -141, -142, 41, 41, -142, -142, 41, -26, 41, 41, 41, 41, -
    126, -127, -128, -129, -130, -131, -132, -133, -134, -135, -27, -82, -
    84, -137, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
    41, 41, 41, 41, 41, -76, 41, 41, 41, -74, 41, 41, -140, -79, -34, -85, 
    41, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41, 41, -43, 
    -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -
    64, -65, -67, -68, -70, -71, -72, -112, -33, 41, 41, -122, -142, -123, 
    -142, -142, 41, 41, 41, 41, -90, 41, -86, 41, 41, 41, -125, -124, 41, -
    142, -142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37, 41, 
    -142, -142, -20, -142, -142, 41, 41, -38, -142, -142, 41, 41, -21, -22,
    -19, -142, -142, 41, -142, -24, -18]), 'MINUS': ([0, 6, 8, 10, 16, 17, 
    18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42,
    43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64,
    65, 71, 73, 75, 76, 77, 78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
    92, 93, 94, 95, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109,
    110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 
    125, 126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 
    154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 
    171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 196, 199, 
    200, 201, 202, 203, 204, 206, 207, 209, 212, 214, 215, 218, 223, 224, 
    225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 248, 250, 
    253, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 
    268, 271, 272, 276, 277, 278, 280, 282], [48, 48, -78, -137, 48, -25, -
    142, -142, 48, 48, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -
    84, -53, -136, -58, -61, -63, 117, -69, 48, -73, -75, -77, -80, -81, -
    83, -98, -99, -100, 48, -138, -139, -141, -142, 48, -142, -142, 48, -26,
    48, 48, 48, -126, -127, -128, -129, -130, -131, -132, -133, -134, -135,
    -27, -82, -84, -137, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
    48, 48, 48, 48, 48, 48, -76, 48, 48, 48, -74, 48, 48, -140, -79, -34, -
    85, 48, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41, -43, 
    -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, 
    117, 117, -67, -68, -70, -71, -72, -112, -33, 48, 48, -122, -142, -123,
    -142, -142, 48, 48, 48, -90, -86, 48, 48, 48, -125, -124, 48, -142, -
    142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37, 48, -142, 
    -142, -20, -142, -142, 48, 48, -38, -142, -142, 48, 48, -21, -22, -19, 
    -142, -142, 48, -142, -24, -18]), 'PLUS': ([0, 6, 8, 10, 16, 17, 18, 19,
    20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64, 65,
    71, 73, 75, 76, 77, 78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
    93, 94, 95, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 
    110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 
    125, 126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 
    154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 
    171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 196, 199, 
    200, 201, 202, 203, 204, 206, 207, 209, 212, 214, 215, 218, 223, 224, 
    225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 248, 250, 
    253, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 
    268, 271, 272, 276, 277, 278, 280, 282], [46, 46, -78, -137, 46, -25, -
    142, -142, 46, 46, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -
    84, -53, -136, -58, -61, -63, 116, 46, -69, 46, -73, -75, -77, -80, -81,
    -83, -98, -99, -100, 46, -138, -139, -141, -142, 46, -142, -142, 46, -
    26, 46, 46, 46, -126, -127, -128, -129, -130, -131, -132, -133, -134, -
    135, -27, -82, -84, -137, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 
    46, 46, 46, 46, 46, 46, 46, 46, -76, 46, 46, 46, -74, 46, 46, -140, -79,
    -34, -85, 46, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41,
    -43, -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -
    62, 116, 116, -67, -68, -70, -71, -72, -112, -33, 46, 46, -122, -142, -
    123, -142, -142, 46, 46, 46, -90, -86, 46, 46, 46, -125, -124, 46, -142,
    -142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37, 46, -142,
    -142, -20, -142, -142, 46, 46, -38, -142, -142, 46, 46, -21, -22, -19, 
    -142, -142, 46, -142, -24, -18]), 'OPEN_BRACKET': ([0, 4, 5, 6, 7, 8, 9,
    10, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37,
    40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
    58, 60, 62, 63, 64, 65, 69, 71, 73, 74, 75, 76, 77, 78, 81, 82, 83, 84,
    85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 
    103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 
    117, 118, 119, 120, 121, 122, 123, 125, 126, 131, 135, 139, 140, 141, 
    142, 143, 144, 145, 148, 152, 153, 154, 155, 156, 157, 158, 159, 160, 
    163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 
    177, 178, 179, 180, 187, 194, 196, 199, 200, 201, 202, 203, 204, 206, 
    207, 208, 209, 212, 213, 214, 215, 218, 223, 224, 225, 226, 227, 228, 
    229, 230, 232, 234, 235, 242, 243, 246, 247, 248, 250, 253, 254, 256, 
    257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 
    276, 277, 278, 280, 282], [6, 66, 67, 6, 69, -78, 70, 71, 6, -25, -142,
    -142, 6, 6, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53,
    -136, -58, -61, -63, -66, 6, -69, 6, -73, -75, -77, -80, -81, -83, 123,
    -98, -99, -100, 6, -138, -139, -141, -142, 6, 6, -142, -13, -142, 6, -
    26, 6, 6, 6, -126, -127, -128, -129, -130, -131, -132, -133, -134, -135,
    -27, -82, -84, -137, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    6, 6, 6, -76, 6, 6, 6, -74, 6, 6, -140, -79, -34, -85, 6, -142, -120, -
    121, -142, -142, -137, 209, -40, -106, -41, 6, -43, -44, -46, -47, -49,
    -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -
    70, -71, -72, -112, -33, 6, 6, -122, -142, -123, -142, -142, 6, 6, 6, 6,
    -90, 6, -86, 6, 6, 6, -125, -124, 6, -142, -142, -101, -142, -36, 251, 
    -90, -142, -142, -23, -142, -142, -37, 6, -142, -142, -20, -142, -142, 
    6, 6, -38, -142, -142, 6, 6, -21, -22, -19, -142, -142, 6, -142, -24, -
    18]), 'Array': ([0, 6, 8, 10, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 
    28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
    51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64, 65, 69, 71, 73, 75, 76, 77,
    78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98,
    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 
    113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 126, 131, 
    135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 155, 156, 
    157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 
    173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 196, 199, 200, 201, 
    202, 203, 204, 206, 207, 208, 209, 212, 213, 214, 215, 218, 223, 224, 
    225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 248, 250, 
    253, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 
    268, 271, 272, 276, 277, 278, 280, 282], [55, 55, -78, -137, 55, -25, -
    142, -142, 55, 55, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -
    84, -53, -136, -58, -61, -63, -66, 55, -69, 55, -73, -75, -77, -80, -81,
    -83, -98, -99, -100, 55, -138, -139, -141, -142, 55, 55, -142, -142, 55,
    -26, 55, 55, 55, -126, -127, -128, -129, -130, -131, -132, -133, -134, 
    -135, -27, -82, -84, -137, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 
    55, 55, 55, 55, 55, 55, 55, 55, 55, -76, 55, 55, 55, -74, 55, 55, -140,
    -79, -34, -85, 55, -142, -120, -121, -142, -142, -137, -137, -40, -106,
    -41, 55, -43, -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -
    59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -112, -33, 55, 55, -
    122, -142, -123, -142, -142, 55, 55, 55, 55, -90, 55, -86, 55, 55, 55, 
    -125, -124, 55, -142, -142, -101, -142, -36, -90, -142, -142, -23, -142,
    -142, -37, 55, -142, -142, -20, -142, -142, 55, 55, -38, -142, -142, 55,
    55, -21, -22, -19, -142, -142, 55, -142, -24, -18]), 'NUMBER': ([0, 6, 
    8, 10, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 
    37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57,
    58, 60, 62, 63, 64, 65, 69, 71, 73, 75, 76, 77, 78, 81, 82, 83, 84, 85,
    86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103,
    104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 
    118, 119, 120, 121, 122, 123, 125, 126, 131, 135, 139, 140, 141, 142, 
    143, 144, 145, 148, 152, 153, 154, 155, 156, 157, 158, 159, 160, 163, 
    164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 
    178, 179, 180, 187, 194, 196, 199, 200, 201, 202, 203, 204, 206, 207, 
    208, 209, 212, 213, 214, 215, 218, 223, 224, 225, 226, 227, 228, 229, 
    230, 232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 256, 257, 258, 
    259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 
    278, 280, 282], [56, 56, -78, -137, 56, -25, -142, -142, 56, 56, -42, -
    29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, -
    63, -66, 56, -69, 56, -73, -75, -77, -80, -81, -83, -98, -99, -100, 56,
    -138, -139, -141, -142, 56, 56, -142, -142, 56, -26, 56, 56, 56, -126, 
    -127, -128, -129, -130, -131, -132, -133, -134, -135, -27, -82, -84, -
    137, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
    56, 56, 56, -76, 56, 56, 56, -74, 56, 56, -140, -79, -34, -85, 56, -142,
    -120, -121, -142, -142, -137, -137, -40, -106, -41, 56, -43, -44, -46, 
    -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -
    67, -68, -70, -71, -72, -112, -33, 56, 56, -122, -142, -123, -142, -142,
    56, 56, 56, 56, -90, 56, -86, 56, 56, 56, -125, -124, 56, -142, -142, -
    101, -142, -36, -90, -142, -142, -23, -142, -142, -37, 56, -142, -142, 
    -20, -142, -142, 56, 56, -38, -142, -142, 56, 56, -21, -22, -19, -142, 
    -142, 56, -142, -24, -18]), 'true': ([0, 6, 8, 10, 16, 17, 18, 19, 20, 
    23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45,
    46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 62, 63, 64, 65, 69,
    71, 73, 75, 76, 77, 78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
    93, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 
    109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 
    123, 125, 126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 
    153, 154, 155, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 
    169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 187, 194, 
    196, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 212, 213, 214, 
    215, 218, 223, 224, 225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 
    246, 247, 248, 250, 253, 254, 256, 257, 258, 259, 260, 261, 262, 263, 
    264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 280, 282], [57, 57, -
    78, -137, 57, -25, -142, -142, 57, 57, -42, -29, -30, -31, -35, -32, -
    39, -82, -45, -48, -84, -53, -136, -58, -61, -63, -66, 57, -69, 57, -73,
    -75, -77, -80, -81, -83, -98, -99, -100, 57, -138, -139, -141, -142, 57,
    57, -142, -142, 57, -26, 57, 57, 57, -126, -127, -128, -129, -130, -131,
    -132, -133, -134, -135, -27, -82, -84, -137, 57, 57, 57, 57, 57, 57, 57,
    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, -76, 57, 57, 57, -
    74, 57, 57, -140, -79, -34, -85, 57, -142, -120, -121, -142, -142, -137,
    -137, -40, -106, -41, 57, -43, -44, -46, -47, -49, -50, -51, -52, -54, 
    -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -112, 
    -33, 57, 57, -122, -142, -123, -142, -142, 57, 57, 57, 57, -90, 57, -86,
    57, 57, 57, -125, -124, 57, -142, -142, -101, -142, -36, -90, -142, -
    142, -23, -142, -142, -37, 57, -142, -142, -20, -142, -142, 57, 57, -38,
    -142, -142, 57, 57, -21, -22, -19, -142, -142, 57, -142, -24, -18]),
    'false': ([0, 6, 8, 10, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29,
    30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
    53, 54, 56, 57, 58, 60, 62, 63, 64, 65, 69, 71, 73, 75, 76, 77, 78, 81,
    82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100,
    101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 
    115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 126, 131, 135, 139, 
    140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 155, 156, 157, 158, 
    159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 
    175, 176, 177, 178, 179, 180, 187, 194, 196, 199, 200, 201, 202, 203, 
    204, 206, 207, 208, 209, 212, 213, 214, 215, 218, 223, 224, 225, 226, 
    227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 248, 250, 253, 254, 
    256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 271, 
    272, 276, 277, 278, 280, 282], [58, 58, -78, -137, 58, -25, -142, -142,
    58, 58, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -
    136, -58, -61, -63, -66, 58, -69, 58, -73, -75, -77, -80, -81, -83, -98,
    -99, -100, 58, -138, -139, -141, -142, 58, 58, -142, -142, 58, -26, 58,
    58, 58, -126, -127, -128, -129, -130, -131, -132, -133, -134, -135, -27,
    -82, -84, -137, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
    58, 58, 58, 58, 58, 58, -76, 58, 58, 58, -74, 58, 58, -140, -79, -34, -
    85, 58, -142, -120, -121, -142, -142, -137, -137, -40, -106, -41, 58, -
    43, -44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -
    62, -64, -65, -67, -68, -70, -71, -72, -112, -33, 58, 58, -122, -142, -
    123, -142, -142, 58, 58, 58, 58, -90, 58, -86, 58, 58, 58, -125, -124, 
    58, -142, -142, -101, -142, -36, -90, -142, -142, -23, -142, -142, -37,
    58, -142, -142, -20, -142, -142, 58, 58, -38, -142, -142, 58, 58, -21, 
    -22, -19, -142, -142, 58, -142, -24, -18]), '$end': ([1, 2, 3, 8, 10, 
    12, 13, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42,
    43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63,
    64, 77, 93, 94, 95, 97, 118, 122, 124, 131, 135, 139, 152, 153, 154, 
    155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 
    172, 173, 174, 175, 176, 177, 178, 179, 180, 183, 191, 192, 193, 194, 
    212, 214, 216, 217, 221, 227, 232, 235, 243, 246, 250, 257, 258, 259, 
    262, 263, 267, 268, 271, 276, 278, 280, 282], [0, -142, -4, -78, -137, 
    -10, -11, -25, -28, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -
    84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -
    98, -99, -100, -1, -140, -3, -138, -139, -141, -26, -27, -82, -84, -137,
    -76, -74, -142, -79, -34, -85, -137, -40, -106, -41, -43, -44, -46, -47,
    -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -
    68, -70, -71, -72, -2, -6, -7, -8, -33, -90, -86, -5, -14, -9, -142, -
    36, -90, -142, -23, -37, -20, -142, -142, -38, -142, -21, -22, -19, -
    142, -142, -24, -18]), 'SEMI_COLON': ([2, 3, 8, 10, 12, 13, 17, 23, 24,
    25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49,
    50, 51, 52, 53, 54, 56, 57, 58, 62, 63, 64, 65, 73, 75, 77, 79, 93, 94,
    95, 97, 118, 122, 124, 125, 126, 131, 135, 139, 140, 141, 142, 143, 144,
    145, 148, 152, 153, 154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 
    167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 
    186, 187, 191, 192, 193, 194, 199, 200, 201, 202, 203, 204, 212, 214, 
    216, 217, 218, 221, 223, 224, 225, 226, 227, 228, 229, 230, 232, 235, 
    242, 243, 246, 247, 248, 250, 254, 256, 257, 258, 259, 260, 261, 262, 
    263, 264, 265, 266, 267, 268, 271, 272, 276, 277, 278, 280, 282], [62, 
    -4, -78, -137, -10, -11, -25, -28, -42, -29, -30, -31, -35, -32, -39, -
    82, -45, -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -
    80, -81, -83, -98, -99, -100, -138, -139, -141, 62, 62, 62, -26, 62, -
    27, -82, -84, -137, -76, -74, 62, 62, -140, -79, -34, -85, 62, -142, -
    120, -121, 62, 62, -137, -137, -40, -106, -41, -43, -44, -46, -47, -49,
    -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -
    70, -71, -72, 62, -112, -6, -7, -8, -33, 62, -122, -142, -123, 62, -142,
    -90, -86, -5, -14, 62, -9, 62, -125, -124, 62, -142, 62, -101, 62, -36,
    -90, 62, -142, -23, -142, -142, -37, 62, -142, -20, -142, -142, 62, 62,
    -38, -142, 62, 62, 62, -21, -22, -19, -142, -142, 62, -142, -24, -18]),
    'NEWLINE': ([2, 3, 8, 10, 12, 13, 17, 23, 24, 25, 26, 27, 28, 29, 30, 
    33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56,
    57, 58, 62, 63, 64, 65, 73, 75, 77, 79, 93, 94, 95, 97, 118, 122, 124, 
    125, 126, 131, 135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 
    154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 
    171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 186, 187, 191, 192, 
    193, 194, 199, 200, 201, 202, 203, 204, 212, 214, 216, 217, 218, 221, 
    223, 224, 225, 226, 227, 228, 229, 230, 232, 235, 242, 243, 246, 247, 
    248, 250, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 
    267, 268, 271, 272, 276, 277, 278, 280, 282], [63, -4, -78, -137, -10, 
    -11, -25, -28, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -
    53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -
    99, -100, -138, -139, -141, 63, 63, 63, -26, 63, -27, -82, -84, -137, -
    76, -74, 63, 63, -140, -79, -34, -85, 63, -142, -120, -121, 63, 63, -
    137, -137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -51, -52, -54,
    -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, 63, -
    112, -6, -7, -8, -33, 63, -122, -142, -123, 63, -142, -90, -86, -5, -14,
    63, -9, 63, -125, -124, 63, -142, 63, -101, 63, -36, -90, 63, -142, -23,
    -142, -142, -37, 63, -142, -20, -142, -142, 63, 63, -38, -142, 63, 63, 
    63, -21, -22, -19, -142, -142, 63, -142, -24, -18]), 'MULTIPLY': ([8, 
    10, 33, 37, 41, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118,
    122, 131, 139, 148, 152, 176, 177, 178, 179, 180, 212, 214, 235], [-78,
    -137, -82, -84, -136, 119, -73, -75, -77, -80, -81, -83, -98, -99, -100,
    -82, -84, -137, -76, -74, -79, -85, -137, -137, 119, 119, -70, -71, -72,
    -90, -86, -90]), 'DIVIDE': ([8, 10, 33, 37, 41, 47, 49, 50, 51, 52, 53,
    54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 139, 148, 152, 176, 177, 178,
    179, 180, 212, 214, 235], [-78, -137, -82, -84, -136, 120, -73, -75, -
    77, -80, -81, -83, -98, -99, -100, -82, -84, -137, -76, -74, -79, -85, 
    -137, -137, 120, 120, -70, -71, -72, -90, -86, -90]), 'MODULO': ([8, 10,
    33, 37, 41, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 
    122, 131, 139, 148, 152, 176, 177, 178, 179, 180, 212, 214, 235], [-78,
    -137, -82, -84, -136, 121, -73, -75, -77, -80, -81, -83, -98, -99, -100,
    -82, -84, -137, -76, -74, -79, -85, -137, -137, 121, 121, -70, -71, -72,
    -90, -86, -90]), 'LEFT_SHIFT': ([8, 10, 33, 37, 41, 44, 45, 47, 49, 50,
    51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 139, 148, 152, 
    173, 174, 175, 176, 177, 178, 179, 180, 212, 214, 235], [-78, -137, -82,
    -84, -136, 114, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100,
    -82, -84, -137, -76, -74, -79, -85, -137, -137, 114, -64, -65, -67, -68,
    -70, -71, -72, -90, -86, -90]), 'RIGHT_SHIFT': ([8, 10, 33, 37, 41, 44,
    45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 
    139, 148, 152, 173, 174, 175, 176, 177, 178, 179, 180, 212, 214, 235],
    [-78, -137, -82, -84, -136, 115, -66, -69, -73, -75, -77, -80, -81, -83,
    -98, -99, -100, -82, -84, -137, -76, -74, -79, -85, -137, -137, 115, -
    64, -65, -67, -68, -70, -71, -72, -90, -86, -90]), 'BIT_AND': ([8, 10, 
    33, 37, 41, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95,
    97, 118, 122, 131, 139, 148, 152, 171, 172, 173, 174, 175, 176, 177, 
    178, 179, 180, 212, 214, 235], [-78, -137, -82, -84, -136, 113, -63, -
    66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -82, -84, -137, 
    -76, -74, -79, -85, -137, -137, 113, 113, -62, -64, -65, -67, -68, -70,
    -71, -72, -90, -86, -90]), 'BIT_XOR': ([8, 10, 33, 37, 41, 42, 43, 44, 
    45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 
    139, 148, 152, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 
    178, 179, 180, 212, 214, 235], [-78, -137, -82, -84, -136, 111, -61, -
    63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -82, -84, -
    137, -76, -74, -79, -85, -137, -137, 111, 111, 111, 111, -59, -60, -62,
    -64, -65, -67, -68, -70, -71, -72, -90, -86, -90]), 'BIT_OR': ([8, 10, 
    33, 37, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94,
    95, 97, 118, 122, 131, 139, 148, 152, 167, 168, 169, 170, 171, 172, 173,
    174, 175, 176, 177, 178, 179, 180, 212, 214, 235], [-78, -137, -82, -84,
    -136, 112, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, 
    -100, -82, -84, -137, -76, -74, -79, -85, -137, -137, 112, 112, 112, 
    112, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -90, -86, -90]),
    'DOUBLE_EQUALS': ([8, 10, 33, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 
    51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 139, 148, 152, 
    167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 
    212, 214, 235], [-78, -137, -82, -84, 103, -136, -58, -61, -63, -66, -
    69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -82, -84, -137, -76, 
    -74, -79, -85, -137, -137, -54, -55, -56, -57, -59, -60, -62, -64, -65,
    -67, -68, -70, -71, -72, -90, -86, -90]), 'NOT_EQUALS': ([8, 10, 33, 37,
    40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95,
    97, 118, 122, 131, 139, 148, 152, 167, 168, 169, 170, 171, 172, 173, 
    174, 175, 176, 177, 178, 179, 180, 212, 214, 235], [-78, -137, -82, -84,
    104, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, 
    -99, -100, -82, -84, -137, -76, -74, -79, -85, -137, -137, -54, -55, -
    56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -90, -86, -
    90]), 'EQUAL_TILDE': ([8, 10, 33, 37, 40, 41, 42, 43, 44, 45, 47, 49, 
    50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 139, 148, 
    152, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 
    180, 212, 214, 235], [-78, -137, -82, -84, 105, -136, -58, -61, -63, -
    66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -82, -84, -137, 
    -76, -74, -79, -85, -137, -137, -54, -55, -56, -57, -59, -60, -62, -64,
    -65, -67, -68, -70, -71, -72, -90, -86, -90]), 'COMPARISON': ([8, 10, 
    33, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58,
    94, 95, 97, 118, 122, 131, 139, 148, 152, 167, 168, 169, 170, 171, 172,
    173, 174, 175, 176, 177, 178, 179, 180, 212, 214, 235], [-78, -137, -82,
    -84, 106, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, 
    -98, -99, -100, -82, -84, -137, -76, -74, -79, -85, -137, -137, -54, -
    55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -90, -
    86, -90]), 'LESS': ([8, 10, 33, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50,
    51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 139, 148, 152, 
    163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 
    177, 178, 179, 180, 212, 214, 235], [-78, -137, -82, -84, 107, -136, -
    58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -
    82, -84, -137, -76, -74, -79, -85, -137, -137, 107, 107, 107, 107, -54,
    -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -90, -
    86, -90]), 'LESS_EQUALS': ([8, 10, 33, 37, 40, 41, 42, 43, 44, 45, 47, 
    49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 139, 148,
    152, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 
    176, 177, 178, 179, 180, 212, 214, 235], [-78, -137, -82, -84, 108, -
    136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -
    100, -82, -84, -137, -76, -74, -79, -85, -137, -137, 108, 108, 108, 108,
    -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -
    90, -86, -90]), 'GREATER': ([8, 10, 33, 37, 40, 41, 42, 43, 44, 45, 47,
    49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 139, 148,
    152, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 
    176, 177, 178, 179, 180, 212, 214, 235], [-78, -137, -82, -84, 109, -
    136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -
    100, -82, -84, -137, -76, -74, -79, -85, -137, -137, 109, 109, 109, 109,
    -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -
    90, -86, -90]), 'GREATER_EQUALS': ([8, 10, 33, 37, 40, 41, 42, 43, 44, 
    45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 
    139, 148, 152, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 
    174, 175, 176, 177, 178, 179, 180, 212, 214, 235], [-78, -137, -82, -84,
    110, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, 
    -99, -100, -82, -84, -137, -76, -74, -79, -85, -137, -137, 110, 110, 
    110, 110, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -
    71, -72, -90, -86, -90]), 'INCL_RANGE': ([8, 10, 33, 34, 36, 37, 40, 41,
    42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118,
    122, 131, 139, 148, 152, 159, 160, 163, 164, 165, 166, 167, 168, 169, 
    170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 212, 214, 235],
    [-78, -137, -82, 98, -48, -84, -53, -136, -58, -61, -63, -66, -69, -73,
    -75, -77, -80, -81, -83, -98, -99, -100, -82, -84, -137, -76, -74, -79,
    -85, -137, -137, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59,
    -60, -62, -64, -65, -67, -68, -70, -71, -72, -90, -86, -90]),
    'EXCL_RANGE': ([8, 10, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 
    50, 51, 52, 53, 54, 56, 57, 58, 94, 95, 97, 118, 122, 131, 139, 148, 
    152, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 
    174, 175, 176, 177, 178, 179, 180, 212, 214, 235], [-78, -137, -82, 99,
    -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, 
    -83, -98, -99, -100, -82, -84, -137, -76, -74, -79, -85, -137, -137, -
    46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -
    65, -67, -68, -70, -71, -72, -90, -86, -90]), 'LOGICAL_OR': ([8, 10, 33,
    34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57,
    58, 94, 95, 97, 118, 122, 131, 139, 148, 152, 157, 158, 159, 160, 163, 
    164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 
    178, 179, 180, 212, 214, 235], [-78, -137, -82, 100, -48, -84, -53, -
    136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -
    100, -82, -84, -137, -76, -74, -79, -85, -137, -137, 100, 100, -46, -47,
    -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -
    68, -70, -71, -72, -90, -86, -90]), 'LOGICAL_AND': ([8, 10, 33, 34, 36,
    37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 94,
    95, 97, 118, 122, 131, 139, 148, 152, 157, 158, 159, 160, 163, 164, 165,
    166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 
    180, 212, 214, 235], [-78, -137, -82, 101, -48, -84, -53, -136, -58, -
    61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -82, -
    84, -137, -76, -74, -79, -85, -137, -137, 101, 101, -46, -47, -49, -50,
    -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -
    71, -72, -90, -86, -90]), 'CLOSE_BRACKET': ([8, 10, 24, 26, 27, 28, 29,
    30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54,
    56, 57, 58, 66, 68, 71, 94, 95, 97, 118, 122, 127, 128, 129, 130, 131, 
    132, 133, 134, 135, 136, 137, 138, 139, 152, 153, 154, 155, 157, 158, 
    159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 
    175, 176, 177, 178, 179, 180, 181, 182, 188, 190, 194, 195, 197, 209, 
    212, 214, 219, 220, 232, 233, 235, 237, 239, 240, 250, 251, 262], [-78,
    -137, -42, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58,
    -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -142,
    131, 135, -82, -84, -137, -76, -74, 187, -142, -114, 191, -79, 192, 193,
    194, -34, -107, -142, -109, -85, -137, -40, -106, -41, -43, -44, -46, -
    47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -
    67, -68, -70, -71, -72, 214, -88, -113, -116, -33, -108, -111, 232, -90,
    -86, -142, -142, -36, 250, -90, -87, -115, -110, -37, 262, -38]),
    'then': ([8, 10, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40,
    41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 62, 63, 64,
    75, 77, 93, 94, 95, 97, 118, 122, 126, 131, 135, 139, 142, 148, 152, 
    153, 154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 
    170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 194, 212, 214, 
    227, 228, 229, 232, 235, 243, 246, 250, 257, 258, 259, 262, 263, 264, 
    267, 268, 271, 276, 278, 280, 282], [-78, -137, -25, -28, -42, -29, -30,
    -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, -63, -66, 
    -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -138, -139, -141, 
    143, -26, -27, -82, -84, -137, -76, -74, -140, -79, -34, -85, 200, -137,
    -137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -51, -52, -54, -55,
    -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -33, -90, -
    86, -142, 143, -101, -36, -90, -142, -23, -37, -20, -142, -142, -38, -
    142, 143, -21, -22, -19, -142, -142, -24, -18]), 'else': ([8, 10, 12, 
    13, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43,
    44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 62, 63, 64, 75, 77, 93,
    94, 95, 97, 118, 122, 126, 131, 135, 139, 141, 142, 143, 152, 153, 154,
    155, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 
    172, 173, 174, 175, 176, 177, 178, 179, 180, 184, 186, 191, 192, 193, 
    194, 199, 200, 212, 214, 216, 217, 218, 221, 222, 227, 232, 235, 238, 
    241, 243, 246, 250, 257, 258, 259, 262, 263, 264, 267, 268, 271, 272, 
    276, 277, 278, 280, 281, 282, 283], [-78, -137, -10, -11, -25, -28, -42,
    -29, -30, -31, -35, -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, 
    -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -138, -139,
    -141, -142, -26, -27, -82, -84, -137, -76, -74, -140, -79, -34, -85, -
    142, -120, -121, -137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -
    51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -
    71, -72, -16, -17, -6, -7, -8, -33, -142, -122, -90, -86, -5, -14, -142,
    -9, 242, -142, -36, -90, -15, 254, -142, -23, -37, -20, -142, -142, -38,
    -142, -142, -21, -22, -19, -142, -142, -142, -142, -24, -142, -18, 254]
    ), 'end': ([8, 10, 12, 13, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 
    36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58,
    62, 63, 64, 65, 73, 75, 77, 93, 94, 95, 97, 118, 122, 125, 126, 131, 
    135, 139, 140, 141, 142, 143, 144, 145, 148, 152, 153, 154, 155, 157, 
    158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 
    174, 175, 176, 177, 178, 179, 180, 184, 185, 186, 187, 191, 192, 193, 
    194, 198, 199, 200, 201, 202, 203, 204, 205, 212, 214, 216, 217, 218, 
    221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 235, 238, 241, 
    242, 243, 244, 245, 246, 247, 248, 250, 252, 254, 255, 256, 257, 258, 
    259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 
    273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], [-78,
    -137, -10, -11, -25, -28, -42, -29, -30, -31, -35, -32, -39, -82, -45, 
    -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, 
    -83, -98, -99, -100, -138, -139, -141, -142, -142, -142, -26, -27, -82,
    -84, -137, -76, -74, -142, -140, -79, -34, -85, -142, -142, -120, -121,
    -142, -142, -137, -137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -
    51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -
    71, -72, -16, 217, -17, -112, -6, -7, -8, -33, 217, -142, -122, -142, -
    123, -142, -142, 227, -90, -86, -5, -14, -142, -9, 243, -142, -125, -
    124, -142, -142, -142, -101, -142, -36, -90, -15, -142, -142, -142, 258,
    259, -23, -142, -142, -37, 263, -142, -97, -142, -20, -142, -142, -142,
    -142, -38, -142, -142, -142, -142, -21, -22, -142, 276, -19, -142, -96,
    278, -94, -142, -142, -142, -93, -24, -142, -18, -142, -142, -95]),
    'elsif': ([8, 10, 12, 13, 17, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 
    36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58,
    62, 63, 64, 75, 77, 93, 94, 95, 97, 118, 122, 126, 131, 135, 139, 141, 
    142, 143, 152, 153, 154, 155, 157, 158, 159, 160, 163, 164, 165, 166, 
    167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 
    184, 186, 191, 192, 193, 194, 199, 200, 212, 214, 216, 217, 218, 221, 
    222, 227, 232, 235, 238, 241, 243, 246, 250, 257, 258, 259, 262, 263, 
    264, 267, 268, 271, 272, 276, 277, 278, 280, 281, 282, 283], [-78, -137,
    -10, -11, -25, -28, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -
    84, -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -
    98, -99, -100, -138, -139, -141, -142, -26, -27, -82, -84, -137, -76, -
    74, -140, -79, -34, -85, -142, -120, -121, -137, -40, -106, -41, -43, -
    44, -46, -47, -49, -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -
    64, -65, -67, -68, -70, -71, -72, -16, -17, -6, -7, -8, -33, -142, -122,
    -90, -86, -5, -14, -142, -9, -142, -142, -36, -90, -15, 253, -142, -23,
    -37, -20, -142, -142, -38, -142, -142, -21, -22, -19, -142, -142, -142,
    -142, -24, -142, -18, 253]), 'when': ([8, 10, 12, 13, 17, 23, 24, 25, 
    26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45, 47, 49, 50,
    51, 52, 53, 54, 56, 57, 58, 62, 63, 64, 77, 79, 93, 94, 95, 97, 118, 
    122, 126, 131, 135, 139, 142, 143, 146, 148, 152, 153, 154, 155, 157, 
    158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 
    174, 175, 176, 177, 178, 179, 180, 184, 186, 191, 192, 193, 194, 200, 
    212, 214, 216, 217, 218, 221, 227, 228, 229, 232, 235, 238, 243, 246, 
    247, 250, 257, 258, 259, 260, 262, 263, 267, 268, 269, 271, 275, 276, 
    278, 280, 282], [-78, -137, -10, -11, -25, -28, -42, -29, -30, -31, -35,
    -32, -39, -82, -45, -48, -84, -53, -136, -58, -61, -63, -66, -69, -73, 
    -75, -77, -80, -81, -83, -98, -99, -100, -138, -139, -141, -26, -142, -
    27, -82, -84, -137, -76, -74, -140, -79, -34, -85, -120, -121, 206, -
    137, -137, -40, -106, -41, -43, -44, -46, -47, -49, -50, -51, -52, -54,
    -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -71, -72, -16, -
    17, -6, -7, -8, -33, -122, -90, -86, -5, -14, -142, -9, -142, -142, -
    101, -36, -90, -15, -142, -23, -142, -37, -20, -142, -142, -142, -38, -
    142, -21, -22, -142, -19, 206, -142, -142, -24, -18]), 'do': ([8, 10, 
    23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 40, 41, 42, 43, 44, 45,
    47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 62, 63, 64, 93, 94, 95, 97, 118,
    122, 126, 131, 135, 139, 144, 145, 152, 153, 154, 155, 157, 158, 159, 
    160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 
    176, 177, 178, 179, 180, 194, 202, 212, 214, 230, 232, 235, 250, 262],
    [-78, -137, -28, -42, -29, -30, -31, -35, -32, -39, -82, -45, -48, -84,
    -53, -136, -58, -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, 
    -99, -100, -138, -139, -141, -27, -82, -84, -137, -76, -74, -140, -79, 
    -34, -85, 203, 203, -137, -40, -106, -41, -43, -44, -46, -47, -49, -50,
    -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -70, -
    71, -72, -33, 224, -90, -86, 203, -36, -90, -37, -38]), 'COMMA': ([8, 
    34, 36, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58,
    94, 95, 97, 118, 122, 128, 131, 137, 139, 157, 158, 159, 160, 162, 163,
    164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 
    178, 179, 180, 182, 214, 219, 220, 235], [-78, -45, -48, -53, -136, -58,
    -61, -63, -66, -69, -73, -75, -77, -80, -81, -83, -98, -99, -100, -82, 
    -84, -137, -76, -74, 189, -79, 196, -85, -43, -44, -46, -47, 213, -49, 
    -50, -51, -52, -54, -55, -56, -57, -59, -60, -62, -64, -65, -67, -68, -
    70, -71, -72, 215, -86, 189, 196, -90]), 'EQUALS': ([10, 22, 31, 32, 33,
    139, 148, 212], [-103, 81, -102, -104, -105, -85, -103, -89]),
    'MODULO_EQUALS': ([10, 22, 31, 32, 33, 139, 148, 212], [-103, 83, -102,
    -104, -105, -85, -103, -89]), 'DIVIDE_EQUALS': ([10, 22, 31, 32, 33, 
    139, 148, 212], [-103, 84, -102, -104, -105, -85, -103, -89]),
    'MINUS_EQUALS': ([10, 22, 31, 32, 33, 139, 148, 212], [-103, 85, -102, 
    -104, -105, -85, -103, -89]), 'PLUS_EQUALS': ([10, 22, 31, 32, 33, 139,
    148, 212], [-103, 86, -102, -104, -105, -85, -103, -89]), 'OR_EQUALS':
    ([10, 22, 31, 32, 33, 139, 148, 212], [-103, 87, -102, -104, -105, -85,
    -103, -89]), 'AND_EQUALS': ([10, 22, 31, 32, 33, 139, 148, 212], [-103,
    88, -102, -104, -105, -85, -103, -89]), 'XOR_EQUALS': ([10, 22, 31, 32,
    33, 139, 148, 212], [-103, 89, -102, -104, -105, -85, -103, -89]),
    'RIGHT_SHIFT_EQUALS': ([10, 22, 31, 32, 33, 139, 148, 212], [-103, 90, 
    -102, -104, -105, -85, -103, -89]), 'LEFT_SHIFT_EQUALS': ([10, 22, 31, 
    32, 33, 139, 148, 212], [-103, 91, -102, -104, -105, -85, -103, -89]),
    'MULTIPLY_EQUALS': ([10, 22, 31, 32, 33, 139, 148, 212], [-103, 92, -
    102, -104, -105, -85, -103, -89]), 'DOT': ([10, 97, 148, 152], [72, 72,
    72, 210]), 'OPEN_SQUARE': ([10, 35, 37, 38, 39, 41, 95, 96, 97, 148, 
    150, 151, 152], [-137, 102, -117, -118, -119, -136, -117, 156, -137, -
    137, 208, -117, -137]), 'in': ([31, 32, 139, 147, 148, 149, 249], [-102,
    -104, -85, 207, -103, -105, -89]), 'CLOSE_SQUARE': ([41, 52, 53, 54, 56,
    57, 58, 94, 95, 97, 131, 139, 161, 162, 211, 214, 231, 235, 236], [-136,
    -80, -81, -83, -98, -99, -100, -82, -84, -137, -79, -85, 212, -92, 235,
    -86, 249, -90, -91]), 'STRING': ([67], [130]), 'new': ([210], [234])}
_lr_action = {}
for _k, _v in _lr_action_items.items():
    for _x, _y in zip(_v[0], _v[1]):
        if not _x in _lr_action:
            _lr_action[_x] = {}
        _lr_action[_x][_k] = _y
del _lr_action_items
_lr_goto_items = {'compstmt': ([0], [1]), 'stmt1': ([0, 60], [2, 124]),
    'stmt': ([0, 60, 125, 140, 199, 218, 223, 226, 260, 261, 265, 266, 277],
    [3, 3, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186]),
    'keydef': ([0, 60, 125, 140, 199, 218, 223, 226, 260, 261, 265, 266, 
    277], [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]), 'primary': ([0, 6, 16, 
    20, 23, 46, 48, 60, 69, 71, 76, 78, 81, 82, 98, 99, 100, 101, 102, 103,
    104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 
    119, 120, 121, 123, 125, 140, 156, 196, 199, 206, 207, 208, 209, 213, 
    215, 218, 223, 226, 253, 260, 261, 265, 266, 277], [8, 8, 8, 8, 8, 8, 8,
    8, 132, 8, 8, 8, 8, 8, 8, 8, 8, 8, 162, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 162, 8, 8, 8, 8, 162, 8, 162, 8, 8, 8, 8,
    8, 8, 8, 8, 8, 8]), 'keyclass': ([0, 60, 125, 140, 199, 218, 223, 226, 
    260, 261, 265, 266, 277], [11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 
    11, 11]), 'expr': ([0, 60, 125, 140, 199, 218, 223, 226, 253, 260, 261,
    265, 266, 277], [13, 13, 13, 13, 13, 13, 13, 13, 264, 13, 13, 13, 13, 
    13]), 'expr1': ([0, 16, 20, 60, 76, 78, 125, 140, 199, 207, 218, 223, 
    226, 253, 260, 261, 265, 266, 277], [17, 75, 79, 17, 144, 145, 17, 17, 
    17, 230, 17, 17, 17, 17, 17, 17, 17, 17, 17]), 'mlhs': ([0, 6, 16, 20, 
    60, 76, 78, 80, 125, 140, 199, 206, 207, 218, 223, 226, 253, 260, 261, 
    265, 266, 277], [22, 22, 22, 22, 22, 22, 22, 147, 22, 22, 22, 22, 22, 
    22, 22, 22, 22, 22, 22, 22, 22, 22]), 'term2': ([0, 6, 16, 20, 23, 60, 
    71, 76, 78, 81, 82, 123, 125, 140, 196, 199, 206, 207, 209, 215, 218, 
    223, 226, 253, 260, 261, 265, 266, 277], [24, 24, 24, 24, 93, 24, 137, 
    24, 24, 154, 154, 182, 24, 24, 220, 24, 24, 24, 137, 182, 24, 24, 24, 
    24, 24, 24, 24, 24, 24]), 'expr2': ([0, 6, 16, 20, 60, 76, 78, 125, 140,
    199, 207, 218, 223, 226, 253, 260, 261, 265, 266, 277], [25, 68, 25, 25,
    25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25]), 'arg':
    ([0, 6, 16, 20, 60, 76, 78, 125, 140, 199, 206, 207, 218, 223, 226, 253,
    260, 261, 265, 266, 277], [26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 229,
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26]), 'call': ([0, 6, 16, 20, 60, 
    76, 78, 125, 140, 199, 207, 218, 223, 226, 253, 260, 261, 265, 266, 277
    ], [27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
    27, 27, 27]), 'term0': ([0, 6, 16, 20, 60, 76, 78, 125, 140, 199, 206, 
    207, 218, 223, 226, 253, 260, 261, 265, 266, 277], [28, 28, 28, 28, 28,
    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28]),
    'function': ([0, 6, 16, 20, 60, 76, 78, 125, 140, 199, 207, 218, 223, 
    226, 253, 260, 261, 265, 266, 277], [29, 29, 29, 29, 29, 29, 29, 29, 29,
    29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29]), 'term1': ([0, 6, 16, 20, 
    60, 76, 78, 125, 140, 199, 206, 207, 218, 223, 226, 253, 260, 261, 265,
    266, 277], [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    30, 30, 30, 30, 30, 30]), 'mlhsitem': ([0, 6, 16, 20, 60, 76, 78, 80, 
    125, 140, 199, 206, 207, 218, 223, 226, 253, 260, 261, 265, 266, 277],
    [31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    31, 31, 31, 31]), 'arrayal': ([0, 6, 16, 20, 60, 76, 78, 80, 125, 140, 
    199, 206, 207, 218, 223, 226, 253, 260, 261, 265, 266, 277], [32, 32, 
    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
    32, 32]), 'classvar': ([0, 6, 16, 20, 23, 46, 48, 60, 69, 71, 76, 78, 
    80, 81, 82, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 
    110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 140, 
    156, 196, 199, 206, 207, 208, 209, 213, 215, 218, 223, 226, 253, 260, 
    261, 265, 266, 277], [33, 33, 33, 33, 94, 94, 94, 33, 94, 94, 33, 33, 
    149, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
    94, 94, 94, 94, 94, 94, 94, 94, 94, 33, 33, 94, 94, 33, 33, 33, 94, 94,
    94, 94, 33, 33, 33, 33, 33, 33, 33, 33, 33]), 'term3': ([0, 6, 16, 20, 
    23, 60, 71, 76, 78, 81, 82, 98, 99, 123, 125, 140, 196, 199, 206, 207, 
    209, 215, 218, 223, 226, 253, 260, 261, 265, 266, 277], [34, 34, 34, 34,
    34, 34, 34, 34, 34, 34, 34, 157, 158, 34, 34, 34, 34, 34, 34, 34, 34, 
    34, 34, 34, 34, 34, 34, 34, 34, 34, 34]), 'variable': ([0, 6, 16, 20, 
    23, 46, 48, 60, 69, 71, 76, 78, 80, 81, 82, 98, 99, 100, 101, 102, 103,
    104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 
    119, 120, 121, 123, 125, 140, 156, 196, 199, 206, 207, 208, 209, 213, 
    215, 218, 223, 226, 253, 260, 261, 265, 266, 277], [35, 35, 35, 35, 96,
    96, 96, 35, 96, 96, 35, 35, 150, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 35, 35,
    96, 96, 35, 35, 35, 96, 96, 96, 96, 35, 35, 35, 35, 35, 35, 35, 35, 35]
    ), 'term4': ([0, 6, 16, 20, 23, 60, 71, 76, 78, 81, 82, 98, 99, 100, 
    101, 123, 125, 140, 196, 199, 206, 207, 209, 215, 218, 223, 226, 253, 
    260, 261, 265, 266, 277], [36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 
    36, 36, 159, 160, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 
    36, 36, 36, 36, 36]), 'varname': ([0, 6, 16, 20, 23, 46, 48, 60, 69, 71,
    76, 78, 80, 81, 82, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
    109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 
    140, 156, 196, 199, 206, 207, 208, 209, 213, 215, 218, 223, 226, 253, 
    260, 261, 265, 266, 277], [37, 37, 37, 37, 95, 95, 95, 37, 95, 95, 37, 
    37, 151, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 37, 37, 95, 95, 37, 37, 37, 95,
    95, 95, 95, 37, 37, 37, 37, 37, 37, 37, 37, 37]), 'term5': ([0, 6, 16, 
    20, 23, 60, 71, 76, 78, 81, 82, 98, 99, 100, 101, 103, 104, 105, 106, 
    123, 125, 140, 196, 199, 206, 207, 209, 215, 218, 223, 226, 253, 260, 
    261, 265, 266, 277], [40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
    40, 40, 40, 163, 164, 165, 166, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
    40, 40, 40, 40, 40, 40, 40, 40]), 'term6': ([0, 6, 16, 20, 23, 60, 71, 
    76, 78, 81, 82, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 
    110, 123, 125, 140, 196, 199, 206, 207, 209, 215, 218, 223, 226, 253, 
    260, 261, 265, 266, 277], [42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 
    42, 42, 42, 42, 42, 42, 42, 42, 167, 168, 169, 170, 42, 42, 42, 42, 42,
    42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42]), 'term7': ([0, 6, 
    16, 20, 23, 60, 71, 76, 78, 81, 82, 98, 99, 100, 101, 103, 104, 105, 
    106, 107, 108, 109, 110, 111, 112, 123, 125, 140, 196, 199, 206, 207, 
    209, 215, 218, 223, 226, 253, 260, 261, 265, 266, 277], [43, 43, 43, 43,
    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    43, 171, 172, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
    43, 43, 43, 43]), 'term8': ([0, 6, 16, 20, 23, 60, 71, 76, 78, 81, 82, 
    98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
    123, 125, 140, 196, 199, 206, 207, 209, 215, 218, 223, 226, 253, 260, 
    261, 265, 266, 277], [44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 173, 44, 44, 44, 44,
    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44]), 'term9': ([0,
    6, 16, 20, 23, 60, 71, 76, 78, 81, 82, 98, 99, 100, 101, 103, 104, 105,
    106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 123, 125, 140, 196, 
    199, 206, 207, 209, 215, 218, 223, 226, 253, 260, 261, 265, 266, 277],
    [45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
    45, 45, 45, 45, 45, 45, 45, 45, 174, 175, 45, 45, 45, 45, 45, 45, 45, 
    45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45]), 'term10': ([0, 6, 16, 20,
    23, 60, 71, 76, 78, 81, 82, 98, 99, 100, 101, 103, 104, 105, 106, 107, 
    108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 123, 125, 140, 196, 
    199, 206, 207, 209, 215, 218, 223, 226, 253, 260, 261, 265, 266, 277],
    [47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 176, 177, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47]), 'term11': ([0, 6,
    16, 20, 23, 48, 60, 71, 76, 78, 81, 82, 98, 99, 100, 101, 103, 104, 105,
    106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 
    121, 123, 125, 140, 196, 199, 206, 207, 209, 215, 218, 223, 226, 253, 
    260, 261, 265, 266, 277], [49, 49, 49, 49, 49, 122, 49, 49, 49, 49, 49,
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
    49, 49, 178, 179, 180, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49]), 'term12': ([0, 6, 16, 20, 23, 46, 48, 60, 71,
    76, 78, 81, 82, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 
    110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 140, 
    196, 199, 206, 207, 209, 215, 218, 223, 226, 253, 260, 261, 265, 266, 
    277], [50, 50, 50, 50, 50, 118, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
    50]), 'term13': ([0, 6, 16, 20, 23, 46, 48, 60, 71, 76, 78, 81, 82, 98,
    99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 
    114, 115, 116, 117, 119, 120, 121, 123, 125, 140, 196, 199, 206, 207, 
    209, 215, 218, 223, 226, 253, 260, 261, 265, 266, 277], [51, 51, 51, 51,
    51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
    51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
    51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51]), 'arrayd': ([0, 6,
    16, 20, 23, 46, 48, 60, 69, 71, 76, 78, 81, 82, 98, 99, 100, 101, 102, 
    103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 
    117, 119, 120, 121, 123, 125, 140, 156, 196, 199, 206, 207, 208, 209, 
    213, 215, 218, 223, 226, 253, 260, 261, 265, 266, 277], [52, 52, 52, 52,
    52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
    52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
    52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52]
    ), 'arraya': ([0, 6, 16, 20, 23, 46, 48, 60, 69, 71, 76, 78, 81, 82, 98,
    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 
    113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 140, 156, 196, 199, 
    206, 207, 208, 209, 213, 215, 218, 223, 226, 253, 260, 261, 265, 266, 
    277], [53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 
    53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
    53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
    53, 53, 53, 53, 53, 53]), 'literal': ([0, 6, 16, 20, 23, 46, 48, 60, 69,
    71, 76, 78, 81, 82, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
    109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 
    140, 156, 196, 199, 206, 207, 208, 209, 213, 215, 218, 223, 226, 253, 
    260, 261, 265, 266, 277], [54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 
    54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54]), 'multcompstmt': ([2, 124],
    [59, 183]), 'compnewline': ([2, 65, 73, 75, 79, 124, 125, 140, 144, 145,
    186, 199, 203, 218, 223, 226, 228, 230, 242, 254, 260, 261, 264, 265, 
    266, 277], [60, 126, 126, 126, 126, 60, 126, 126, 126, 126, 218, 126, 
    126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126]),
    'newline': ([2, 65, 73, 75, 79, 124, 125, 140, 144, 145, 199, 203, 218,
    223, 226, 228, 230, 242, 254, 260, 261, 264, 265, 266, 277], [61, 125, 
    140, 142, 146, 61, 184, 184, 202, 202, 184, 225, 184, 184, 184, 142, 
    202, 256, 265, 184, 184, 142, 184, 184, 184]), 'empty': ([2, 18, 19, 21,
    65, 66, 71, 73, 75, 79, 124, 125, 128, 137, 140, 141, 144, 145, 199, 
    201, 203, 204, 209, 218, 219, 220, 222, 223, 226, 227, 228, 230, 241, 
    242, 243, 247, 248, 254, 256, 258, 259, 260, 261, 263, 264, 265, 266, 
    269, 272, 276, 277, 278, 281, 283, 284], [64, 77, 77, 77, 64, 129, 138,
    64, 64, 64, 64, 64, 190, 197, 64, 77, 64, 64, 64, 77, 64, 77, 138, 64, 
    190, 197, 77, 64, 64, 77, 64, 64, 255, 64, 77, 77, 77, 64, 77, 77, 77, 
    64, 64, 77, 64, 64, 64, 77, 77, 77, 64, 77, 77, 255, 77]), 'argdecl': (
    [4], [65]), 'M_1': ([18, 19, 21, 141, 201, 204, 222, 227, 243, 247, 248,
    256, 258, 259, 263, 269, 272, 276, 278, 281, 284], [76, 78, 80, 199, 
    223, 226, 241, 246, 257, 260, 261, 266, 267, 268, 271, 275, 277, 280, 
    282, 283, 285]), 'opasgn': ([22], [82]), 'arglist': ([66], [127]),
    'callargs': ([71, 209], [134, 233]), 'callarglist': ([71, 209], [136, 
    136]), 'pthen': ([75, 228, 264], [141, 247, 272]), 'mrhs': ([81, 82], [
    153, 155]), 'array_args': ([102, 156, 208, 213], [161, 211, 231, 236]),
    'array_size': ([123, 215], [181, 237]), 'multstmt': ([125, 140, 199, 
    218, 223, 226, 260, 261, 265, 266, 277], [185, 198, 222, 238, 244, 245,
    269, 270, 273, 274, 281]), 'multarglist': ([128, 219], [188, 239]),
    'callmultarglist': ([137, 220], [195, 240]), 'pdo': ([144, 145, 230], [
    201, 204, 248]), 'multcase': ([146, 275], [205, 279]), 'keyend': ([185,
    198], [216, 221]), 'whenargs': ([206], [228]), 'multelsif': ([241, 283],
    [252, 284])}
_lr_goto = {}
for _k, _v in _lr_goto_items.items():
    for _x, _y in zip(_v[0], _v[1]):
        if not _x in _lr_goto:
            _lr_goto[_x] = {}
        _lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [("S' -> compstmt", "S'", 1, None, None, None), (
    'compstmt -> stmt1 multcompstmt', 'compstmt', 2, 'p_compstmt',
    'parser.py', 33), ('multcompstmt -> compnewline stmt1 multcompstmt',
    'multcompstmt', 3, 'p_multcompstmt', 'parser.py', 38), (
    'multcompstmt -> newline', 'multcompstmt', 1, 'p_multcompstmt',
    'parser.py', 39), ('stmt1 -> stmt', 'stmt1', 1, 'p_stmt1', 'parser.py',
    44), ('stmt -> keydef argdecl newline multstmt keyend', 'stmt', 5,
    'p_stmt', 'parser.py', 53), (
    'stmt -> puts OPEN_BRACKET STRING CLOSE_BRACKET', 'stmt', 4, 'p_stmt',
    'parser.py', 54), ('stmt -> print OPEN_BRACKET primary CLOSE_BRACKET',
    'stmt', 4, 'p_stmt', 'parser.py', 55), (
    'stmt -> gets OPEN_BRACKET IDENTIFIER CLOSE_BRACKET', 'stmt', 4,
    'p_stmt', 'parser.py', 56), (
    'stmt -> keyclass IDENTIFIER newline multstmt keyend', 'stmt', 5,
    'p_stmt', 'parser.py', 57), ('stmt -> break', 'stmt', 1, 'p_stmt',
    'parser.py', 58), ('stmt -> expr', 'stmt', 1, 'p_stmt', 'parser.py', 59
    ), ('keyclass -> class', 'keyclass', 1, 'p_keyclass', 'parser.py', 88),
    ('keydef -> def IDENTIFIER', 'keydef', 2, 'p_keydef', 'parser.py', 97),
    ('keyend -> end', 'keyend', 1, 'p_keyend', 'parser.py', 108), (
    'multstmt -> stmt compnewline multstmt', 'multstmt', 3, 'p_multstmt',
    'parser.py', 115), ('multstmt -> newline', 'multstmt', 1, 'p_multstmt',
    'parser.py', 116), ('multstmt -> stmt', 'multstmt', 1, 'p_multstmt2',
    'parser.py', 127), (
    'expr -> if expr1 pthen M_1 multstmt else newline M_1 multstmt end M_1',
    'expr', 11, 'p_expr', 'parser.py', 137), (
    'expr -> if expr1 pthen M_1 multstmt M_1 multelsif end M_1', 'expr', 9,
    'p_expr', 'parser.py', 138), (
    'expr -> if expr1 pthen M_1 multstmt end M_1', 'expr', 7, 'p_expr',
    'parser.py', 139), ('expr -> while M_1 expr1 pdo M_1 multstmt end M_1',
    'expr', 8, 'p_expr', 'parser.py', 140), (
    'expr -> until M_1 expr1 pdo M_1 multstmt end M_1', 'expr', 8, 'p_expr',
    'parser.py', 141), ('expr -> case expr1 newline multcase end M_1',
    'expr', 6, 'p_expr', 'parser.py', 142), (
    'expr -> for M_1 mlhs in expr1 pdo M_1 multstmt end M_1', 'expr', 10,
    'p_expr', 'parser.py', 143), ('expr -> expr1', 'expr', 1, 'p_expr',
    'parser.py', 144), ('M_1 -> empty', 'M_1', 1, 'p_M_1', 'parser.py', 233
    ), ('expr1 -> return term2', 'expr1', 2, 'p_expr1', 'parser.py', 241),
    ('expr1 -> return', 'expr1', 1, 'p_expr1', 'parser.py', 242), (
    'expr1 -> expr2', 'expr1', 1, 'p_expr1', 'parser.py', 243), (
    'expr2 -> arg', 'expr2', 1, 'p_expr2_1', 'parser.py', 260), (
    'expr2 -> call', 'expr2', 1, 'p_expr2_2', 'parser.py', 268), (
    'call -> function', 'call', 1, 'p_call', 'parser.py', 275), (
    'function -> IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET',
    'function', 4, 'p_function', 'parser.py', 282), (
    'function -> IDENTIFIER OPEN_BRACKET CLOSE_BRACKET', 'function', 3,
    'p_function', 'parser.py', 283), ('arg -> term0', 'arg', 1, 'p_arg',
    'parser.py', 312), (
    'term0 -> mlhs EQUALS IDENTIFIER OPEN_BRACKET CLOSE_BRACKET', 'term0', 
    5, 'p_term0', 'parser.py', 320), (
    'term0 -> mlhs EQUALS IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET',
    'term0', 6, 'p_term0', 'parser.py', 321), (
    'term0 -> mlhs EQUALS IDENTIFIER DOT new OPEN_BRACKET CLOSE_BRACKET',
    'term0', 7, 'p_term0', 'parser.py', 322), ('term0 -> term1', 'term0', 1,
    'p_term0', 'parser.py', 323), ('term1 -> mlhs EQUALS mrhs', 'term1', 3,
    'p_term1', 'parser.py', 387), ('term1 -> mlhs opasgn mrhs', 'term1', 3,
    'p_term1', 'parser.py', 388), ('term1 -> term2', 'term1', 1, 'p_term1',
    'parser.py', 389), ('term2 -> term3 INCL_RANGE term3', 'term2', 3,
    'p_term2', 'parser.py', 428), ('term2 -> term3 EXCL_RANGE term3',
    'term2', 3, 'p_term2', 'parser.py', 429), ('term2 -> term3', 'term2', 1,
    'p_term2', 'parser.py', 430), ('term3 -> term3 LOGICAL_OR term4',
    'term3', 3, 'p_term3', 'parser.py', 469), (
    'term3 -> term3 LOGICAL_AND term4', 'term3', 3, 'p_term3', 'parser.py',
    470), ('term3 -> term4', 'term3', 1, 'p_term3', 'parser.py', 471), (
    'term4 -> term5 DOUBLE_EQUALS term5', 'term4', 3, 'p_term4',
    'parser.py', 492), ('term4 -> term5 NOT_EQUALS term5', 'term4', 3,
    'p_term4', 'parser.py', 493), ('term4 -> term5 EQUAL_TILDE term5',
    'term4', 3, 'p_term4', 'parser.py', 494), (
    'term4 -> term5 COMPARISON term5', 'term4', 3, 'p_term4', 'parser.py', 
    495), ('term4 -> term5', 'term4', 1, 'p_term4', 'parser.py', 496), (
    'term5 -> term5 LESS term6', 'term5', 3, 'p_term5', 'parser.py', 524),
    ('term5 -> term5 LESS_EQUALS term6', 'term5', 3, 'p_term5', 'parser.py',
    525), ('term5 -> term5 GREATER term6', 'term5', 3, 'p_term5',
    'parser.py', 526), ('term5 -> term5 GREATER_EQUALS term6', 'term5', 3,
    'p_term5', 'parser.py', 527), ('term5 -> term6', 'term5', 1, 'p_term5',
    'parser.py', 528), ('term6 -> term6 BIT_XOR term7', 'term6', 3,
    'p_term6', 'parser.py', 556), ('term6 -> term6 BIT_OR term7', 'term6', 
    3, 'p_term6', 'parser.py', 557), ('term6 -> term7', 'term6', 1,
    'p_term6', 'parser.py', 558), ('term7 -> term7 BIT_AND term8', 'term7',
    3, 'p_term7', 'parser.py', 578), ('term7 -> term8', 'term7', 1,
    'p_term7', 'parser.py', 579), ('term8 -> term8 LEFT_SHIFT term9',
    'term8', 3, 'p_term8', 'parser.py', 599), (
    'term8 -> term8 RIGHT_SHIFT term9', 'term8', 3, 'p_term8', 'parser.py',
    600), ('term8 -> term9', 'term8', 1, 'p_term8', 'parser.py', 601), (
    'term9 -> term9 PLUS term10', 'term9', 3, 'p_term9', 'parser.py', 621),
    ('term9 -> term9 MINUS term10', 'term9', 3, 'p_term9', 'parser.py', 622
    ), ('term9 -> term10', 'term9', 1, 'p_term9', 'parser.py', 623), (
    'term10 -> term10 MULTIPLY term11', 'term10', 3, 'p_term10',
    'parser.py', 645), ('term10 -> term10 DIVIDE term11', 'term10', 3,
    'p_term10', 'parser.py', 646), ('term10 -> term10 MODULO term11',
    'term10', 3, 'p_term10', 'parser.py', 647), ('term10 -> term11',
    'term10', 1, 'p_term10', 'parser.py', 648), ('term11 -> MINUS term11',
    'term11', 2, 'p_term11', 'parser.py', 668), ('term11 -> term12',
    'term11', 1, 'p_term11', 'parser.py', 669), ('term12 -> PLUS term12',
    'term12', 2, 'p_term12', 'parser.py', 689), ('term12 -> term13',
    'term12', 1, 'p_term12', 'parser.py', 690), ('term13 -> primary',
    'term13', 1, 'p_term13', 'parser.py', 710), (
    'primary -> OPEN_BRACKET expr2 CLOSE_BRACKET', 'primary', 3, 'p_y',
    'parser.py', 719), ('primary -> arrayd', 'primary', 1, 'p_y',
    'parser.py', 720), ('primary -> arraya', 'primary', 1, 'p_y',
    'parser.py', 721), ('primary -> classvar', 'primary', 1, 'p_y',
    'parser.py', 722), ('primary -> literal', 'primary', 1, 'p_y',
    'parser.py', 723), ('primary -> varname', 'primary', 1, 'p_y',
    'parser.py', 724), ('classvar -> IDENTIFIER DOT IDENTIFIER', 'classvar',
    3, 'p_classvar', 'parser.py', 737), (
    'arrayd -> Array OPEN_BRACKET array_size CLOSE_BRACKET', 'arrayd', 4,
    'p_arrayd', 'parser.py', 745), ('array_size -> term2 COMMA array_size',
    'array_size', 3, 'p_array_size', 'parser.py', 755), (
    'array_size -> term2', 'array_size', 1, 'p_array_size', 'parser.py', 
    756), ('arrayal -> variable OPEN_SQUARE array_args CLOSE_SQUARE',
    'arrayal', 4, 'p_arrayal', 'parser.py', 770), (
    'arraya -> variable OPEN_SQUARE array_args CLOSE_SQUARE', 'arraya', 4,
    'p_arraya', 'parser.py', 779), (
    'array_args -> primary COMMA array_args', 'array_args', 3,
    'p_array_args', 'parser.py', 788), ('array_args -> primary',
    'array_args', 1, 'p_array_args', 'parser.py', 789), (
    'multcase -> when whenargs pthen M_1 multstmt M_1 multcase', 'multcase',
    7, 'p_multcase', 'parser.py', 802), (
    'multcase -> when whenargs pthen M_1 multstmt M_1', 'multcase', 6,
    'p_multcase', 'parser.py', 803), (
    'multelsif -> elsif expr pthen M_1 multstmt M_1 multelsif M_1',
    'multelsif', 8, 'p_multelsif', 'parser.py', 820), (
    'multelsif -> else newline multstmt', 'multelsif', 3, 'p_multelsif',
    'parser.py', 821), ('multelsif -> empty', 'multelsif', 1, 'p_multelsif',
    'parser.py', 822), ('literal -> NUMBER', 'literal', 1, 'p_literal',
    'parser.py', 846), ('literal -> true', 'literal', 1, 'p_literal',
    'parser.py', 847), ('literal -> false', 'literal', 1, 'p_literal',
    'parser.py', 848), ('whenargs -> arg', 'whenargs', 1, 'p_whenargs',
    'parser.py', 865), ('mlhs -> mlhsitem', 'mlhs', 1, 'p_mlhs',
    'parser.py', 883), ('mlhsitem -> IDENTIFIER', 'mlhsitem', 1,
    'p_mlhsitem_1', 'parser.py', 891), ('mlhsitem -> arrayal', 'mlhsitem', 
    1, 'p_mlhsitem_2', 'parser.py', 900), ('mlhsitem -> classvar',
    'mlhsitem', 1, 'p_mlhsitem_3', 'parser.py', 908), ('mrhs -> term2',
    'mrhs', 1, 'p_mrhs', 'parser.py', 916), ('callargs -> callarglist',
    'callargs', 1, 'p_callargs', 'parser.py', 926), (
    'callarglist -> term2 callmultarglist', 'callarglist', 2,
    'p_callarglist', 'parser.py', 933), ('callarglist -> empty',
    'callarglist', 1, 'p_callarglist', 'parser.py', 934), (
    'callmultarglist -> COMMA term2 callmultarglist', 'callmultarglist', 3,
    'p_callmultarglist', 'parser.py', 949), ('callmultarglist -> empty',
    'callmultarglist', 1, 'p_callmultarglist', 'parser.py', 950), (
    'argdecl -> OPEN_BRACKET arglist CLOSE_BRACKET', 'argdecl', 3,
    'p_argdecl', 'parser.py', 965), ('arglist -> IDENTIFIER multarglist',
    'arglist', 2, 'p_arglist', 'parser.py', 972), ('arglist -> empty',
    'arglist', 1, 'p_arglist', 'parser.py', 973), (
    'multarglist -> COMMA IDENTIFIER multarglist', 'multarglist', 3,
    'p_multarglist', 'parser.py', 988), ('multarglist -> empty',
    'multarglist', 1, 'p_multarglist', 'parser.py', 989), (
    'variable -> varname', 'variable', 1, 'p_variable', 'parser.py', 1004),
    ('variable -> nil', 'variable', 1, 'p_variable', 'parser.py', 1005), (
    'variable -> self', 'variable', 1, 'p_variable', 'parser.py', 1006), (
    'pthen -> newline', 'pthen', 1, 'p_pthen', 'parser.py', 1014), (
    'pthen -> then', 'pthen', 1, 'p_pthen', 'parser.py', 1015), (
    'pthen -> newline then', 'pthen', 2, 'p_pthen', 'parser.py', 1016), (
    'pdo -> newline', 'pdo', 1, 'p_pdo', 'parser.py', 1021), (
    'pdo -> do newline', 'pdo', 2, 'p_pdo', 'parser.py', 1022), (
    'pdo -> newline do', 'pdo', 2, 'p_pdo', 'parser.py', 1023), (
    'opasgn -> MODULO_EQUALS', 'opasgn', 1, 'p_opasgn', 'parser.py', 1028),
    ('opasgn -> DIVIDE_EQUALS', 'opasgn', 1, 'p_opasgn', 'parser.py', 1029),
    ('opasgn -> MINUS_EQUALS', 'opasgn', 1, 'p_opasgn', 'parser.py', 1030),
    ('opasgn -> PLUS_EQUALS', 'opasgn', 1, 'p_opasgn', 'parser.py', 1031),
    ('opasgn -> OR_EQUALS', 'opasgn', 1, 'p_opasgn', 'parser.py', 1032), (
    'opasgn -> AND_EQUALS', 'opasgn', 1, 'p_opasgn', 'parser.py', 1033), (
    'opasgn -> XOR_EQUALS', 'opasgn', 1, 'p_opasgn', 'parser.py', 1034), (
    'opasgn -> RIGHT_SHIFT_EQUALS', 'opasgn', 1, 'p_opasgn', 'parser.py', 
    1035), ('opasgn -> LEFT_SHIFT_EQUALS', 'opasgn', 1, 'p_opasgn',
    'parser.py', 1036), ('opasgn -> MULTIPLY_EQUALS', 'opasgn', 1,
    'p_opasgn', 'parser.py', 1037), ('varname -> GLOBAL', 'varname', 1,
    'p_varname', 'parser.py', 1042), ('varname -> IDENTIFIER', 'varname', 1,
    'p_varname', 'parser.py', 1043), ('compnewline -> SEMI_COLON',
    'compnewline', 1, 'p_compnewline', 'parser.py', 1056), (
    'compnewline -> NEWLINE', 'compnewline', 1, 'p_compnewline',
    'parser.py', 1057), ('newline -> compnewline', 'newline', 1,
    'p_newline', 'parser.py', 1061), ('newline -> empty', 'newline', 1,
    'p_newline', 'parser.py', 1062), ('empty -> <empty>', 'empty', 0,
    'p_empty', 'parser.py', 1068)]


# parsetab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.10'

_lr_method = 'LALR'

_lr_signature = 'compstmtBEGIN class ensure nil self when END def false not super while alias defined for or then yield and do if redo true begin else in rescue undef break elsif module retry unless case end next return until Array puts gets print new CONSTANT_RESOLUTION ELEMENT_REFERENCE ELEMENT_SET POWER SYMBOL_NOT COMPLEMENT MULTIPLY DIVIDE MODULO PLUS MINUS LEFT_SHIFT RIGHT_SHIFT BIT_AND BIT_OR BIT_XOR GREATER GREATER_EQUALS LESS LESS_EQUALS COMPARISON DOUBLE_EQUALS TRIPLE_EQUALS NOT_EQUALS EQUAL_TILDE BANG_TILDE LOGICAL_AND LOGICAL_OR INCL_RANGE EXCL_RANGE EQUALS MODULO_EQUALS DIVIDE_EQUALS MINUS_EQUALS PLUS_EQUALS OR_EQUALS AND_EQUALS XOR_EQUALS RIGHT_SHIFT_EQUALS LEFT_SHIFT_EQUALS MULTIPLY_EQUALS LOGICAL_AND_EQUALS LOGICAL_OR_EQUALS POWER_EQUALS WORD_NOT WORD_AND WORD_OR MAP PLUS_AT MINUS_AT IDENTIFIER FLOAT NUMBER GLOBAL STRING STRING2 HEREDOC REGEXP DOUBLE_QUOTE DOLLAR COLON QUESTION_MARK OPEN_BRACKET CLOSE_BRACKET OPEN_FLOWER CLOSE_FLOWER OPEN_SQUARE CLOSE_SQUARE COMMA DOT SEMI_COLON AT_THE_RATE NEWLINEcompstmt : stmt1 multcompstmt\n    multcompstmt : compnewline stmt1 multcompstmt\n                | newline\n    stmt1 : stmt\n    stmt : keydef argdecl newline multstmt keyend\n            | puts OPEN_BRACKET STRING CLOSE_BRACKET\n            | print OPEN_BRACKET primary CLOSE_BRACKET\n            | gets OPEN_BRACKET IDENTIFIER CLOSE_BRACKET\n            | keyclass IDENTIFIER newline multstmt keyend\n            | break\n            | expr\n    keyclass : class\n    keydef : def IDENTIFIER\n    keyend : end\n    multstmt : stmt compnewline multstmt\n                | newline\n    multstmt : stmt\n    expr : if expr1 pthen M_1 multstmt else newline M_1 multstmt end M_1\n            | if expr1 pthen M_1 multstmt M_1 multelsif end M_1\n            | if expr1 pthen M_1 multstmt end M_1\n            | while M_1 expr1 pdo M_1 multstmt end M_1\n            | until M_1 expr1 pdo M_1 multstmt end M_1\n            | case expr1 newline multcase end M_1\n            | for M_1 mlhs in expr1 pdo M_1 multstmt end M_1\n            | expr1\n    M_1 : empty\n    expr1 : return term2\n            | return\n            | expr2\n    expr2 : arg\n    expr2 : call\n    call : function\n    function : IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET\n                | IDENTIFIER OPEN_BRACKET CLOSE_BRACKET\n    arg : term0\n    term0 : mlhs EQUALS IDENTIFIER OPEN_BRACKET CLOSE_BRACKET\n           | mlhs EQUALS IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET\n           | mlhs EQUALS IDENTIFIER DOT new OPEN_BRACKET CLOSE_BRACKET\n           | term1\n    term1 : mlhs EQUALS mrhs\n              | mlhs opasgn mrhs\n              | term2\n    term2 : term3 INCL_RANGE term3\n            | term3 EXCL_RANGE term3\n            | term3\n    term3 : term3 LOGICAL_OR term4\n            |  term3 LOGICAL_AND term4\n            |  term4\n    term4 : term5 DOUBLE_EQUALS term5\n             | term5 NOT_EQUALS term5\n             | term5 EQUAL_TILDE term5\n             | term5 COMPARISON term5\n             | term5\n    term5 : term5 LESS term6\n            | term5 LESS_EQUALS term6\n            | term5 GREATER term6\n            | term5 GREATER_EQUALS term6\n            | term6\n    term6 : term6 BIT_XOR term7\n            | term6 BIT_OR term7\n            | term7\n    term7 : term7 BIT_AND term8\n            | term8\n    term8 : term8 LEFT_SHIFT term9\n            | term8 RIGHT_SHIFT term9\n            | term9\n    term9 : term9 PLUS term10\n            | term9 MINUS term10\n            | term10\n    term10 : term10 MULTIPLY term11\n            | term10 DIVIDE term11\n            | term10 MODULO term11\n            | term11\n    term11 : MINUS term11\n            | term12\n    term12 : PLUS term12\n            | term13\n    term13 : primary \n    primary : OPEN_BRACKET expr2 CLOSE_BRACKET\n            | arrayd\n            | arraya\n            | classvar\n            | literal\n            | varname\n    classvar : IDENTIFIER DOT IDENTIFIER\n    arrayd : Array OPEN_BRACKET array_size CLOSE_BRACKET\n    array_size : term2 COMMA array_size\n                | term2\n    arrayal : variable OPEN_SQUARE array_args CLOSE_SQUARE\n    arraya : variable OPEN_SQUARE array_args CLOSE_SQUARE\n    array_args : primary COMMA array_args\n                  | primary\n    multcase : when whenargs pthen M_1 multstmt M_1 multcase\n                | when whenargs pthen M_1 multstmt M_1\n    multelsif : elsif expr pthen M_1 multstmt M_1 multelsif M_1\n                 | else newline multstmt\n                 | empty\n    literal : NUMBER\n               | true\n               | false\n    whenargs : arg\n    mlhs : mlhsitem\n    mlhsitem : IDENTIFIER\n    mlhsitem : arrayal\n    mlhsitem : classvar\n    mrhs : term2\n    callargs : callarglist\n    callarglist : term2 callmultarglist\n               | empty\n    callmultarglist : COMMA term2 callmultarglist\n                       | empty\n    argdecl : OPEN_BRACKET arglist CLOSE_BRACKET\n    arglist : IDENTIFIER multarglist\n               | empty\n    multarglist : COMMA IDENTIFIER multarglist\n                 | empty\n    variable : varname\n                | nil\n                | self\n    pthen : newline\n             | then\n             | newline then\n    pdo : newline\n           | do newline\n           | newline do\n    opasgn : MODULO_EQUALS\n              | DIVIDE_EQUALS\n              | MINUS_EQUALS\n              | PLUS_EQUALS\n              | OR_EQUALS\n              | AND_EQUALS\n              | XOR_EQUALS\n              | RIGHT_SHIFT_EQUALS\n              | LEFT_SHIFT_EQUALS\n              | MULTIPLY_EQUALS\n    varname : GLOBAL \n              | IDENTIFIER\n    compnewline : SEMI_COLON\n                   | NEWLINE\n    newline : compnewline\n               | empty\n    empty :'
    
_lr_action_items = {'puts':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[5,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,5,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,5,-140,-79,-34,-85,5,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,5,-122,-142,-123,-142,-142,-90,-86,5,5,-125,-124,5,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,5,5,-38,-142,-142,5,5,-21,-22,-19,-142,-142,5,-142,-24,-18,]),'print':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[7,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,7,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,7,-140,-79,-34,-85,7,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,7,-122,-142,-123,-142,-142,-90,-86,7,7,-125,-124,7,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,7,7,-38,-142,-142,7,7,-21,-22,-19,-142,-142,7,-142,-24,-18,]),'gets':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[9,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,9,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,9,-140,-79,-34,-85,9,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,9,-122,-142,-123,-142,-142,-90,-86,9,9,-125,-124,9,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,9,9,-38,-142,-142,9,9,-21,-22,-19,-142,-142,9,-142,-24,-18,]),'break':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[12,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,12,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,12,-140,-79,-34,-85,12,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,12,-122,-142,-123,-142,-142,-90,-86,12,12,-125,-124,12,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,12,12,-38,-142,-142,12,12,-21,-22,-19,-142,-142,12,-142,-24,-18,]),'def':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[14,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,14,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,14,-140,-79,-34,-85,14,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,14,-122,-142,-123,-142,-142,-90,-86,14,14,-125,-124,14,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,14,14,-38,-142,-142,14,14,-21,-22,-19,-142,-142,14,-142,-24,-18,]),'class':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[15,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,15,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,15,-140,-79,-34,-85,15,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,15,-122,-142,-123,-142,-142,-90,-86,15,15,-125,-124,15,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,-142,-142,-20,-142,-142,15,15,-38,-142,-142,15,15,-21,-22,-19,-142,-142,15,-142,-24,-18,]),'if':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[16,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,16,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,16,-140,-79,-34,-85,16,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,16,-122,-142,-123,-142,-142,-90,-86,16,16,-125,-124,16,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,16,-142,-142,-20,-142,-142,16,16,-38,-142,-142,16,16,-21,-22,-19,-142,-142,16,-142,-24,-18,]),'while':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[18,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,18,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,18,-140,-79,-34,-85,18,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,18,-122,-142,-123,-142,-142,-90,-86,18,18,-125,-124,18,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,18,-142,-142,-20,-142,-142,18,18,-38,-142,-142,18,18,-21,-22,-19,-142,-142,18,-142,-24,-18,]),'until':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[19,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,19,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,19,-140,-79,-34,-85,19,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,19,-122,-142,-123,-142,-142,-90,-86,19,19,-125,-124,19,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,19,-142,-142,-20,-142,-142,19,19,-38,-142,-142,19,19,-21,-22,-19,-142,-142,19,-142,-24,-18,]),'case':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[20,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,20,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,20,-140,-79,-34,-85,20,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,20,-122,-142,-123,-142,-142,-90,-86,20,20,-125,-124,20,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,20,-142,-142,-20,-142,-142,20,20,-38,-142,-142,20,20,-21,-22,-19,-142,-142,20,-142,-24,-18,]),'for':([0,8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[21,-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,21,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,21,-140,-79,-34,-85,21,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,21,-122,-142,-123,-142,-142,-90,-86,21,21,-125,-124,21,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,21,-142,-142,-20,-142,-142,21,21,-38,-142,-142,21,21,-21,-22,-19,-142,-142,21,-142,-24,-18,]),'return':([0,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,60,62,63,64,65,73,75,76,77,78,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,199,200,201,202,203,204,207,212,214,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[23,-78,-137,23,-25,-142,-142,23,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,23,-138,-139,-141,-142,-142,-142,23,-26,23,-27,-82,-84,-137,-76,-74,23,-140,-79,-34,-85,23,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,23,-122,-142,-123,-142,-142,23,-90,-86,23,23,-125,-124,23,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,23,-142,-142,-20,-142,-142,23,23,-38,-142,-142,23,23,-21,-22,-19,-142,-142,23,-142,-24,-18,]),'IDENTIFIER':([0,6,8,10,11,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,66,69,70,71,72,73,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,189,194,196,199,200,201,202,203,204,206,207,208,209,210,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[10,10,-78,-137,73,74,-12,10,-25,-142,-142,10,-142,97,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,97,-69,97,-73,-75,-77,-80,-81,-83,-98,-99,-100,10,-138,-139,-141,-142,128,97,133,97,139,-142,-142,10,-26,10,148,152,97,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,-76,97,97,97,-74,97,10,-140,-79,-34,-85,10,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,97,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,219,-33,97,10,-122,-142,-123,-142,-142,148,10,97,97,139,-90,97,-86,97,10,10,-125,-124,10,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,10,-142,-142,-20,-142,-142,10,10,-38,-142,-142,10,10,-21,-22,-19,-142,-142,10,-142,-24,-18,]),'nil':([0,6,8,10,16,17,18,19,20,21,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[38,38,-78,-137,38,-25,-142,-142,38,-142,38,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,38,-69,38,-73,-75,-77,-80,-81,-83,-98,-99,-100,38,-138,-139,-141,-142,38,38,-142,-142,38,-26,38,38,38,38,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,-76,38,38,38,-74,38,38,-140,-79,-34,-85,38,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,38,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,38,38,-122,-142,-123,-142,-142,38,38,38,38,-90,38,-86,38,38,38,-125,-124,38,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,38,-142,-142,-20,-142,-142,38,38,-38,-142,-142,38,38,-21,-22,-19,-142,-142,38,-142,-24,-18,]),'self':([0,6,8,10,16,17,18,19,20,21,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[39,39,-78,-137,39,-25,-142,-142,39,-142,39,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,39,-69,39,-73,-75,-77,-80,-81,-83,-98,-99,-100,39,-138,-139,-141,-142,39,39,-142,-142,39,-26,39,39,39,39,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,-76,39,39,39,-74,39,39,-140,-79,-34,-85,39,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,39,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,39,39,-122,-142,-123,-142,-142,39,39,39,39,-90,39,-86,39,39,39,-125,-124,39,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,39,-142,-142,-20,-142,-142,39,39,-38,-142,-142,39,39,-21,-22,-19,-142,-142,39,-142,-24,-18,]),'GLOBAL':([0,6,8,10,16,17,18,19,20,21,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[41,41,-78,-137,41,-25,-142,-142,41,-142,41,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,41,-69,41,-73,-75,-77,-80,-81,-83,-98,-99,-100,41,-138,-139,-141,-142,41,41,-142,-142,41,-26,41,41,41,41,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,-76,41,41,41,-74,41,41,-140,-79,-34,-85,41,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,41,41,-122,-142,-123,-142,-142,41,41,41,41,-90,41,-86,41,41,41,-125,-124,41,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,41,-142,-142,-20,-142,-142,41,41,-38,-142,-142,41,41,-21,-22,-19,-142,-142,41,-142,-24,-18,]),'MINUS':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,209,212,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[48,48,-78,-137,48,-25,-142,-142,48,48,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,117,-69,48,-73,-75,-77,-80,-81,-83,-98,-99,-100,48,-138,-139,-141,-142,48,-142,-142,48,-26,48,48,48,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,-76,48,48,48,-74,48,48,-140,-79,-34,-85,48,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,117,117,-67,-68,-70,-71,-72,-112,-33,48,48,-122,-142,-123,-142,-142,48,48,48,-90,-86,48,48,48,-125,-124,48,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,48,-142,-142,-20,-142,-142,48,48,-38,-142,-142,48,48,-21,-22,-19,-142,-142,48,-142,-24,-18,]),'PLUS':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,209,212,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[46,46,-78,-137,46,-25,-142,-142,46,46,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,116,46,-69,46,-73,-75,-77,-80,-81,-83,-98,-99,-100,46,-138,-139,-141,-142,46,-142,-142,46,-26,46,46,46,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,-76,46,46,46,-74,46,46,-140,-79,-34,-85,46,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,116,116,-67,-68,-70,-71,-72,-112,-33,46,46,-122,-142,-123,-142,-142,46,46,46,-90,-86,46,46,46,-125,-124,46,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,46,-142,-142,-20,-142,-142,46,46,-38,-142,-142,46,46,-21,-22,-19,-142,-142,46,-142,-24,-18,]),'OPEN_BRACKET':([0,4,5,6,7,8,9,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,63,64,65,69,71,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,234,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[6,66,67,6,69,-78,70,71,6,-25,-142,-142,6,6,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,6,-69,6,-73,-75,-77,-80,-81,-83,123,-98,-99,-100,6,-138,-139,-141,-142,6,6,-142,-13,-142,6,-26,6,6,6,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-76,6,6,6,-74,6,6,-140,-79,-34,-85,6,-142,-120,-121,-142,-142,-137,209,-40,-106,-41,6,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,6,6,-122,-142,-123,-142,-142,6,6,6,6,-90,6,-86,6,6,6,-125,-124,6,-142,-142,-101,-142,-36,251,-90,-142,-142,-23,-142,-142,-37,6,-142,-142,-20,-142,-142,6,6,-38,-142,-142,6,6,-21,-22,-19,-142,-142,6,-142,-24,-18,]),'Array':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[55,55,-78,-137,55,-25,-142,-142,55,55,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,55,-69,55,-73,-75,-77,-80,-81,-83,-98,-99,-100,55,-138,-139,-141,-142,55,55,-142,-142,55,-26,55,55,55,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,-76,55,55,55,-74,55,55,-140,-79,-34,-85,55,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,55,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,55,55,-122,-142,-123,-142,-142,55,55,55,55,-90,55,-86,55,55,55,-125,-124,55,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,55,-142,-142,-20,-142,-142,55,55,-38,-142,-142,55,55,-21,-22,-19,-142,-142,55,-142,-24,-18,]),'NUMBER':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[56,56,-78,-137,56,-25,-142,-142,56,56,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,56,-69,56,-73,-75,-77,-80,-81,-83,-98,-99,-100,56,-138,-139,-141,-142,56,56,-142,-142,56,-26,56,56,56,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,-76,56,56,56,-74,56,56,-140,-79,-34,-85,56,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,56,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,56,56,-122,-142,-123,-142,-142,56,56,56,56,-90,56,-86,56,56,56,-125,-124,56,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,56,-142,-142,-20,-142,-142,56,56,-38,-142,-142,56,56,-21,-22,-19,-142,-142,56,-142,-24,-18,]),'true':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[57,57,-78,-137,57,-25,-142,-142,57,57,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,57,-69,57,-73,-75,-77,-80,-81,-83,-98,-99,-100,57,-138,-139,-141,-142,57,57,-142,-142,57,-26,57,57,57,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,-76,57,57,57,-74,57,57,-140,-79,-34,-85,57,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,57,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,57,57,-122,-142,-123,-142,-142,57,57,57,57,-90,57,-86,57,57,57,-125,-124,57,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,57,-142,-142,-20,-142,-142,57,57,-38,-142,-142,57,57,-21,-22,-19,-142,-142,57,-142,-24,-18,]),'false':([0,6,8,10,16,17,18,19,20,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,60,62,63,64,65,69,71,73,75,76,77,78,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,156,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,187,194,196,199,200,201,202,203,204,206,207,208,209,212,213,214,215,218,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[58,58,-78,-137,58,-25,-142,-142,58,58,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,58,-69,58,-73,-75,-77,-80,-81,-83,-98,-99,-100,58,-138,-139,-141,-142,58,58,-142,-142,58,-26,58,58,58,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-27,-82,-84,-137,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,-76,58,58,58,-74,58,58,-140,-79,-34,-85,58,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,58,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-112,-33,58,58,-122,-142,-123,-142,-142,58,58,58,58,-90,58,-86,58,58,58,-125,-124,58,-142,-142,-101,-142,-36,-90,-142,-142,-23,-142,-142,-37,58,-142,-142,-20,-142,-142,58,58,-38,-142,-142,58,58,-21,-22,-19,-142,-142,58,-142,-24,-18,]),'$end':([1,2,3,8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,77,93,94,95,97,118,122,124,131,135,139,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,183,191,192,193,194,212,214,216,217,221,227,232,235,243,246,250,257,258,259,262,263,267,268,271,276,278,280,282,],[0,-142,-4,-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-1,-140,-3,-138,-139,-141,-26,-27,-82,-84,-137,-76,-74,-142,-79,-34,-85,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-2,-6,-7,-8,-33,-90,-86,-5,-14,-9,-142,-36,-90,-142,-23,-37,-20,-142,-142,-38,-142,-21,-22,-19,-142,-142,-24,-18,]),'SEMI_COLON':([2,3,8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,65,73,75,77,79,93,94,95,97,118,122,124,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,186,187,191,192,193,194,199,200,201,202,203,204,212,214,216,217,218,221,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[62,-4,-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,62,62,62,-26,62,-27,-82,-84,-137,-76,-74,62,62,-140,-79,-34,-85,62,-142,-120,-121,62,62,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,62,-112,-6,-7,-8,-33,62,-122,-142,-123,62,-142,-90,-86,-5,-14,62,-9,62,-125,-124,62,-142,62,-101,62,-36,-90,62,-142,-23,-142,-142,-37,62,-142,-20,-142,-142,62,62,-38,-142,62,62,62,-21,-22,-19,-142,-142,62,-142,-24,-18,]),'NEWLINE':([2,3,8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,65,73,75,77,79,93,94,95,97,118,122,124,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,186,187,191,192,193,194,199,200,201,202,203,204,212,214,216,217,218,221,223,224,225,226,227,228,229,230,232,235,242,243,246,247,248,250,254,256,257,258,259,260,261,262,263,264,265,266,267,268,271,272,276,277,278,280,282,],[63,-4,-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,63,63,63,-26,63,-27,-82,-84,-137,-76,-74,63,63,-140,-79,-34,-85,63,-142,-120,-121,63,63,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,63,-112,-6,-7,-8,-33,63,-122,-142,-123,63,-142,-90,-86,-5,-14,63,-9,63,-125,-124,63,-142,63,-101,63,-36,-90,63,-142,-23,-142,-142,-37,63,-142,-20,-142,-142,63,63,-38,-142,63,63,63,-21,-22,-19,-142,-142,63,-142,-24,-18,]),'MULTIPLY':([8,10,33,37,41,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,119,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,119,119,-70,-71,-72,-90,-86,-90,]),'DIVIDE':([8,10,33,37,41,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,120,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,120,120,-70,-71,-72,-90,-86,-90,]),'MODULO':([8,10,33,37,41,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,121,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,121,121,-70,-71,-72,-90,-86,-90,]),'LEFT_SHIFT':([8,10,33,37,41,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,114,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,114,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'RIGHT_SHIFT':([8,10,33,37,41,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,115,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,115,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'BIT_AND':([8,10,33,37,41,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,113,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,113,113,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'BIT_XOR':([8,10,33,37,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,111,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,111,111,111,111,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'BIT_OR':([8,10,33,37,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,-136,112,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,112,112,112,112,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'DOUBLE_EQUALS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,103,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'NOT_EQUALS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,104,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'EQUAL_TILDE':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,105,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'COMPARISON':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,106,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'LESS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,107,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,107,107,107,107,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'LESS_EQUALS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,108,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,108,108,108,108,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'GREATER':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,109,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,109,109,109,109,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'GREATER_EQUALS':([8,10,33,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,-84,110,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,110,110,110,110,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'INCL_RANGE':([8,10,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,98,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'EXCL_RANGE':([8,10,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,99,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'LOGICAL_OR':([8,10,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,100,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,100,100,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'LOGICAL_AND':([8,10,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,131,139,148,152,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,212,214,235,],[-78,-137,-82,101,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,-79,-85,-137,-137,101,101,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-90,-86,-90,]),'CLOSE_BRACKET':([8,10,24,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,66,68,71,94,95,97,118,122,127,128,129,130,131,132,133,134,135,136,137,138,139,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,188,190,194,195,197,209,212,214,219,220,232,233,235,237,239,240,250,251,262,],[-78,-137,-42,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-142,131,135,-82,-84,-137,-76,-74,187,-142,-114,191,-79,192,193,194,-34,-107,-142,-109,-85,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,214,-88,-113,-116,-33,-108,-111,232,-90,-86,-142,-142,-36,250,-90,-87,-115,-110,-37,262,-38,]),'then':([8,10,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,75,77,93,94,95,97,118,122,126,131,135,139,142,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,194,212,214,227,228,229,232,235,243,246,250,257,258,259,262,263,264,267,268,271,276,278,280,282,],[-78,-137,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,143,-26,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,200,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-33,-90,-86,-142,143,-101,-36,-90,-142,-23,-37,-20,-142,-142,-38,-142,143,-21,-22,-19,-142,-142,-24,-18,]),'else':([8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,75,77,93,94,95,97,118,122,126,131,135,139,141,142,143,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,184,186,191,192,193,194,199,200,212,214,216,217,218,221,222,227,232,235,238,241,243,246,250,257,258,259,262,263,264,267,268,271,272,276,277,278,280,281,282,283,],[-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-142,-26,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,-142,-120,-121,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-16,-17,-6,-7,-8,-33,-142,-122,-90,-86,-5,-14,-142,-9,242,-142,-36,-90,-15,254,-142,-23,-37,-20,-142,-142,-38,-142,-142,-21,-22,-19,-142,-142,-142,-142,-24,-142,-18,254,]),'end':([8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,65,73,75,77,93,94,95,97,118,122,125,126,131,135,139,140,141,142,143,144,145,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,184,185,186,187,191,192,193,194,198,199,200,201,202,203,204,205,212,214,216,217,218,221,222,223,224,225,226,227,228,229,230,232,235,238,241,242,243,244,245,246,247,248,250,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,],[-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-142,-142,-142,-26,-27,-82,-84,-137,-76,-74,-142,-140,-79,-34,-85,-142,-142,-120,-121,-142,-142,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-16,217,-17,-112,-6,-7,-8,-33,217,-142,-122,-142,-123,-142,-142,227,-90,-86,-5,-14,-142,-9,243,-142,-125,-124,-142,-142,-142,-101,-142,-36,-90,-15,-142,-142,-142,258,259,-23,-142,-142,-37,263,-142,-97,-142,-20,-142,-142,-142,-142,-38,-142,-142,-142,-142,-21,-22,-142,276,-19,-142,-96,278,-94,-142,-142,-142,-93,-24,-142,-18,-142,-142,-95,]),'elsif':([8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,75,77,93,94,95,97,118,122,126,131,135,139,141,142,143,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,184,186,191,192,193,194,199,200,212,214,216,217,218,221,222,227,232,235,238,241,243,246,250,257,258,259,262,263,264,267,268,271,272,276,277,278,280,281,282,283,],[-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-142,-26,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,-142,-120,-121,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-16,-17,-6,-7,-8,-33,-142,-122,-90,-86,-5,-14,-142,-9,-142,-142,-36,-90,-15,253,-142,-23,-37,-20,-142,-142,-38,-142,-142,-21,-22,-19,-142,-142,-142,-142,-24,-142,-18,253,]),'when':([8,10,12,13,17,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,77,79,93,94,95,97,118,122,126,131,135,139,142,143,146,148,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,184,186,191,192,193,194,200,212,214,216,217,218,221,227,228,229,232,235,238,243,246,247,250,257,258,259,260,262,263,267,268,269,271,275,276,278,280,282,],[-78,-137,-10,-11,-25,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-26,-142,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,-120,-121,206,-137,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-16,-17,-6,-7,-8,-33,-122,-90,-86,-5,-14,-142,-9,-142,-142,-101,-36,-90,-15,-142,-23,-142,-37,-20,-142,-142,-142,-38,-142,-21,-22,-142,-19,206,-142,-142,-24,-18,]),'do':([8,10,23,24,25,26,27,28,29,30,33,34,36,37,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,62,63,64,93,94,95,97,118,122,126,131,135,139,144,145,152,153,154,155,157,158,159,160,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,194,202,212,214,230,232,235,250,262,],[-78,-137,-28,-42,-29,-30,-31,-35,-32,-39,-82,-45,-48,-84,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-138,-139,-141,-27,-82,-84,-137,-76,-74,-140,-79,-34,-85,203,203,-137,-40,-106,-41,-43,-44,-46,-47,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,-33,224,-90,-86,203,-36,-90,-37,-38,]),'COMMA':([8,34,36,40,41,42,43,44,45,47,49,50,51,52,53,54,56,57,58,94,95,97,118,122,128,131,137,139,157,158,159,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,214,219,220,235,],[-78,-45,-48,-53,-136,-58,-61,-63,-66,-69,-73,-75,-77,-80,-81,-83,-98,-99,-100,-82,-84,-137,-76,-74,189,-79,196,-85,-43,-44,-46,-47,213,-49,-50,-51,-52,-54,-55,-56,-57,-59,-60,-62,-64,-65,-67,-68,-70,-71,-72,215,-86,189,196,-90,]),'EQUALS':([10,22,31,32,33,139,148,212,],[-103,81,-102,-104,-105,-85,-103,-89,]),'MODULO_EQUALS':([10,22,31,32,33,139,148,212,],[-103,83,-102,-104,-105,-85,-103,-89,]),'DIVIDE_EQUALS':([10,22,31,32,33,139,148,212,],[-103,84,-102,-104,-105,-85,-103,-89,]),'MINUS_EQUALS':([10,22,31,32,33,139,148,212,],[-103,85,-102,-104,-105,-85,-103,-89,]),'PLUS_EQUALS':([10,22,31,32,33,139,148,212,],[-103,86,-102,-104,-105,-85,-103,-89,]),'OR_EQUALS':([10,22,31,32,33,139,148,212,],[-103,87,-102,-104,-105,-85,-103,-89,]),'AND_EQUALS':([10,22,31,32,33,139,148,212,],[-103,88,-102,-104,-105,-85,-103,-89,]),'XOR_EQUALS':([10,22,31,32,33,139,148,212,],[-103,89,-102,-104,-105,-85,-103,-89,]),'RIGHT_SHIFT_EQUALS':([10,22,31,32,33,139,148,212,],[-103,90,-102,-104,-105,-85,-103,-89,]),'LEFT_SHIFT_EQUALS':([10,22,31,32,33,139,148,212,],[-103,91,-102,-104,-105,-85,-103,-89,]),'MULTIPLY_EQUALS':([10,22,31,32,33,139,148,212,],[-103,92,-102,-104,-105,-85,-103,-89,]),'DOT':([10,97,148,152,],[72,72,72,210,]),'OPEN_SQUARE':([10,35,37,38,39,41,95,96,97,148,150,151,152,],[-137,102,-117,-118,-119,-136,-117,156,-137,-137,208,-117,-137,]),'in':([31,32,139,147,148,149,249,],[-102,-104,-85,207,-103,-105,-89,]),'CLOSE_SQUARE':([41,52,53,54,56,57,58,94,95,97,131,139,161,162,211,214,231,235,236,],[-136,-80,-81,-83,-98,-99,-100,-82,-84,-137,-79,-85,212,-92,235,-86,249,-90,-91,]),'STRING':([67,],[130,]),'new':([210,],[234,]),}

_lr_action = {}
for _k, _v in _lr_action_items.items():
   for _x,_y in zip(_v[0],_v[1]):
      if not _x in _lr_action:  _lr_action[_x] = {}
      _lr_action[_x][_k] = _y
del _lr_action_items

_lr_goto_items = {'compstmt':([0,],[1,]),'stmt1':([0,60,],[2,124,]),'stmt':([0,60,125,140,199,218,223,226,260,261,265,266,277,],[3,3,186,186,186,186,186,186,186,186,186,186,186,]),'keydef':([0,60,125,140,199,218,223,226,260,261,265,266,277,],[4,4,4,4,4,4,4,4,4,4,4,4,4,]),'primary':([0,6,16,20,23,46,48,60,69,71,76,78,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[8,8,8,8,8,8,8,8,132,8,8,8,8,8,8,8,8,8,162,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,162,8,8,8,8,162,8,162,8,8,8,8,8,8,8,8,8,8,]),'keyclass':([0,60,125,140,199,218,223,226,260,261,265,266,277,],[11,11,11,11,11,11,11,11,11,11,11,11,11,]),'expr':([0,60,125,140,199,218,223,226,253,260,261,265,266,277,],[13,13,13,13,13,13,13,13,264,13,13,13,13,13,]),'expr1':([0,16,20,60,76,78,125,140,199,207,218,223,226,253,260,261,265,266,277,],[17,75,79,17,144,145,17,17,17,230,17,17,17,17,17,17,17,17,17,]),'mlhs':([0,6,16,20,60,76,78,80,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[22,22,22,22,22,22,22,147,22,22,22,22,22,22,22,22,22,22,22,22,22,22,]),'term2':([0,6,16,20,23,60,71,76,78,81,82,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[24,24,24,24,93,24,137,24,24,154,154,182,24,24,220,24,24,24,137,182,24,24,24,24,24,24,24,24,24,]),'expr2':([0,6,16,20,60,76,78,125,140,199,207,218,223,226,253,260,261,265,266,277,],[25,68,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,]),'arg':([0,6,16,20,60,76,78,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[26,26,26,26,26,26,26,26,26,26,229,26,26,26,26,26,26,26,26,26,26,]),'call':([0,6,16,20,60,76,78,125,140,199,207,218,223,226,253,260,261,265,266,277,],[27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,]),'term0':([0,6,16,20,60,76,78,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,]),'function':([0,6,16,20,60,76,78,125,140,199,207,218,223,226,253,260,261,265,266,277,],[29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,]),'term1':([0,6,16,20,60,76,78,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,]),'mlhsitem':([0,6,16,20,60,76,78,80,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,]),'arrayal':([0,6,16,20,60,76,78,80,125,140,199,206,207,218,223,226,253,260,261,265,266,277,],[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,]),'classvar':([0,6,16,20,23,46,48,60,69,71,76,78,80,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[33,33,33,33,94,94,94,33,94,94,33,33,149,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,33,33,94,94,33,33,33,94,94,94,94,33,33,33,33,33,33,33,33,33,]),'term3':([0,6,16,20,23,60,71,76,78,81,82,98,99,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[34,34,34,34,34,34,34,34,34,34,34,157,158,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,]),'variable':([0,6,16,20,23,46,48,60,69,71,76,78,80,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[35,35,35,35,96,96,96,35,96,96,35,35,150,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,35,35,96,96,35,35,35,96,96,96,96,35,35,35,35,35,35,35,35,35,]),'term4':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[36,36,36,36,36,36,36,36,36,36,36,36,36,159,160,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,]),'varname':([0,6,16,20,23,46,48,60,69,71,76,78,80,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[37,37,37,37,95,95,95,37,95,95,37,37,151,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,37,37,95,95,37,37,37,95,95,95,95,37,37,37,37,37,37,37,37,37,]),'term5':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,163,164,165,166,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,]),'term6':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,167,168,169,170,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,]),'term7':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,171,172,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,]),'term8':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,173,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,]),'term9':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,174,175,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,]),'term10':([0,6,16,20,23,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,176,177,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,]),'term11':([0,6,16,20,23,48,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[49,49,49,49,49,122,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,178,179,180,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,]),'term12':([0,6,16,20,23,46,48,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[50,50,50,50,50,118,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,]),'term13':([0,6,16,20,23,46,48,60,71,76,78,81,82,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,196,199,206,207,209,215,218,223,226,253,260,261,265,266,277,],[51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,]),'arrayd':([0,6,16,20,23,46,48,60,69,71,76,78,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,]),'arraya':([0,6,16,20,23,46,48,60,69,71,76,78,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,]),'literal':([0,6,16,20,23,46,48,60,69,71,76,78,81,82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,123,125,140,156,196,199,206,207,208,209,213,215,218,223,226,253,260,261,265,266,277,],[54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,]),'multcompstmt':([2,124,],[59,183,]),'compnewline':([2,65,73,75,79,124,125,140,144,145,186,199,203,218,223,226,228,230,242,254,260,261,264,265,266,277,],[60,126,126,126,126,60,126,126,126,126,218,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,]),'newline':([2,65,73,75,79,124,125,140,144,145,199,203,218,223,226,228,230,242,254,260,261,264,265,266,277,],[61,125,140,142,146,61,184,184,202,202,184,225,184,184,184,142,202,256,265,184,184,142,184,184,184,]),'empty':([2,18,19,21,65,66,71,73,75,79,124,125,128,137,140,141,144,145,199,201,203,204,209,218,219,220,222,223,226,227,228,230,241,242,243,247,248,254,256,258,259,260,261,263,264,265,266,269,272,276,277,278,281,283,284,],[64,77,77,77,64,129,138,64,64,64,64,64,190,197,64,77,64,64,64,77,64,77,138,64,190,197,77,64,64,77,64,64,255,64,77,77,77,64,77,77,77,64,64,77,64,64,64,77,77,77,64,77,77,255,77,]),'argdecl':([4,],[65,]),'M_1':([18,19,21,141,201,204,222,227,243,247,248,256,258,259,263,269,272,276,278,281,284,],[76,78,80,199,223,226,241,246,257,260,261,266,267,268,271,275,277,280,282,283,285,]),'opasgn':([22,],[82,]),'arglist':([66,],[127,]),'callargs':([71,209,],[134,233,]),'callarglist':([71,209,],[136,136,]),'pthen':([75,228,264,],[141,247,272,]),'mrhs':([81,82,],[153,155,]),'array_args':([102,156,208,213,],[161,211,231,236,]),'array_size':([123,215,],[181,237,]),'multstmt':([125,140,199,218,223,226,260,261,265,266,277,],[185,198,222,238,244,245,269,270,273,274,281,]),'multarglist':([128,219,],[188,239,]),'callmultarglist':([137,220,],[195,240,]),'pdo':([144,145,230,],[201,204,248,]),'multcase':([146,275,],[205,279,]),'keyend':([185,198,],[216,221,]),'whenargs':([206,],[228,]),'multelsif':([241,283,],[252,284,]),}

_lr_goto = {}
for _k, _v in _lr_goto_items.items():
   for _x, _y in zip(_v[0], _v[1]):
       if not _x in _lr_goto: _lr_goto[_x] = {}
       _lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
  ("S' -> compstmt","S'",1,None,None,None),
  ('compstmt -> stmt1 multcompstmt','compstmt',2,'p_compstmt','parser.py',33),
  ('multcompstmt -> compnewline stmt1 multcompstmt','multcompstmt',3,'p_multcompstmt','parser.py',38),
  ('multcompstmt -> newline','multcompstmt',1,'p_multcompstmt','parser.py',39),
  ('stmt1 -> stmt','stmt1',1,'p_stmt1','parser.py',44),
  ('stmt -> keydef argdecl newline multstmt keyend','stmt',5,'p_stmt','parser.py',53),
  ('stmt -> puts OPEN_BRACKET STRING CLOSE_BRACKET','stmt',4,'p_stmt','parser.py',54),
  ('stmt -> print OPEN_BRACKET primary CLOSE_BRACKET','stmt',4,'p_stmt','parser.py',55),
  ('stmt -> gets OPEN_BRACKET IDENTIFIER CLOSE_BRACKET','stmt',4,'p_stmt','parser.py',56),
  ('stmt -> keyclass IDENTIFIER newline multstmt keyend','stmt',5,'p_stmt','parser.py',57),
  ('stmt -> break','stmt',1,'p_stmt','parser.py',58),
  ('stmt -> expr','stmt',1,'p_stmt','parser.py',59),
  ('keyclass -> class','keyclass',1,'p_keyclass','parser.py',88),
  ('keydef -> def IDENTIFIER','keydef',2,'p_keydef','parser.py',97),
  ('keyend -> end','keyend',1,'p_keyend','parser.py',108),
  ('multstmt -> stmt compnewline multstmt','multstmt',3,'p_multstmt','parser.py',115),
  ('multstmt -> newline','multstmt',1,'p_multstmt','parser.py',116),
  ('multstmt -> stmt','multstmt',1,'p_multstmt2','parser.py',127),
  ('expr -> if expr1 pthen M_1 multstmt else newline M_1 multstmt end M_1','expr',11,'p_expr','parser.py',137),
  ('expr -> if expr1 pthen M_1 multstmt M_1 multelsif end M_1','expr',9,'p_expr','parser.py',138),
  ('expr -> if expr1 pthen M_1 multstmt end M_1','expr',7,'p_expr','parser.py',139),
  ('expr -> while M_1 expr1 pdo M_1 multstmt end M_1','expr',8,'p_expr','parser.py',140),
  ('expr -> until M_1 expr1 pdo M_1 multstmt end M_1','expr',8,'p_expr','parser.py',141),
  ('expr -> case expr1 newline multcase end M_1','expr',6,'p_expr','parser.py',142),
  ('expr -> for M_1 mlhs in expr1 pdo M_1 multstmt end M_1','expr',10,'p_expr','parser.py',143),
  ('expr -> expr1','expr',1,'p_expr','parser.py',144),
  ('M_1 -> empty','M_1',1,'p_M_1','parser.py',233),
  ('expr1 -> return term2','expr1',2,'p_expr1','parser.py',241),
  ('expr1 -> return','expr1',1,'p_expr1','parser.py',242),
  ('expr1 -> expr2','expr1',1,'p_expr1','parser.py',243),
  ('expr2 -> arg','expr2',1,'p_expr2_1','parser.py',260),
  ('expr2 -> call','expr2',1,'p_expr2_2','parser.py',268),
  ('call -> function','call',1,'p_call','parser.py',275),
  ('function -> IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET','function',4,'p_function','parser.py',282),
  ('function -> IDENTIFIER OPEN_BRACKET CLOSE_BRACKET','function',3,'p_function','parser.py',283),
  ('arg -> term0','arg',1,'p_arg','parser.py',312),
  ('term0 -> mlhs EQUALS IDENTIFIER OPEN_BRACKET CLOSE_BRACKET','term0',5,'p_term0','parser.py',320),
  ('term0 -> mlhs EQUALS IDENTIFIER OPEN_BRACKET callargs CLOSE_BRACKET','term0',6,'p_term0','parser.py',321),
  ('term0 -> mlhs EQUALS IDENTIFIER DOT new OPEN_BRACKET CLOSE_BRACKET','term0',7,'p_term0','parser.py',322),
  ('term0 -> term1','term0',1,'p_term0','parser.py',323),
  ('term1 -> mlhs EQUALS mrhs','term1',3,'p_term1','parser.py',387),
  ('term1 -> mlhs opasgn mrhs','term1',3,'p_term1','parser.py',388),
  ('term1 -> term2','term1',1,'p_term1','parser.py',389),
  ('term2 -> term3 INCL_RANGE term3','term2',3,'p_term2','parser.py',428),
  ('term2 -> term3 EXCL_RANGE term3','term2',3,'p_term2','parser.py',429),
  ('term2 -> term3','term2',1,'p_term2','parser.py',430),
  ('term3 -> term3 LOGICAL_OR term4','term3',3,'p_term3','parser.py',469),
  ('term3 -> term3 LOGICAL_AND term4','term3',3,'p_term3','parser.py',470),
  ('term3 -> term4','term3',1,'p_term3','parser.py',471),
  ('term4 -> term5 DOUBLE_EQUALS term5','term4',3,'p_term4','parser.py',492),
  ('term4 -> term5 NOT_EQUALS term5','term4',3,'p_term4','parser.py',493),
  ('term4 -> term5 EQUAL_TILDE term5','term4',3,'p_term4','parser.py',494),
  ('term4 -> term5 COMPARISON term5','term4',3,'p_term4','parser.py',495),
  ('term4 -> term5','term4',1,'p_term4','parser.py',496),
  ('term5 -> term5 LESS term6','term5',3,'p_term5','parser.py',524),
  ('term5 -> term5 LESS_EQUALS term6','term5',3,'p_term5','parser.py',525),
  ('term5 -> term5 GREATER term6','term5',3,'p_term5','parser.py',526),
  ('term5 -> term5 GREATER_EQUALS term6','term5',3,'p_term5','parser.py',527),
  ('term5 -> term6','term5',1,'p_term5','parser.py',528),
  ('term6 -> term6 BIT_XOR term7','term6',3,'p_term6','parser.py',556),
  ('term6 -> term6 BIT_OR term7','term6',3,'p_term6','parser.py',557),
  ('term6 -> term7','term6',1,'p_term6','parser.py',558),
  ('term7 -> term7 BIT_AND term8','term7',3,'p_term7','parser.py',578),
  ('term7 -> term8','term7',1,'p_term7','parser.py',579),
  ('term8 -> term8 LEFT_SHIFT term9','term8',3,'p_term8','parser.py',599),
  ('term8 -> term8 RIGHT_SHIFT term9','term8',3,'p_term8','parser.py',600),
  ('term8 -> term9','term8',1,'p_term8','parser.py',601),
  ('term9 -> term9 PLUS term10','term9',3,'p_term9','parser.py',621),
  ('term9 -> term9 MINUS term10','term9',3,'p_term9','parser.py',622),
  ('term9 -> term10','term9',1,'p_term9','parser.py',623),
  ('term10 -> term10 MULTIPLY term11','term10',3,'p_term10','parser.py',645),
  ('term10 -> term10 DIVIDE term11','term10',3,'p_term10','parser.py',646),
  ('term10 -> term10 MODULO term11','term10',3,'p_term10','parser.py',647),
  ('term10 -> term11','term10',1,'p_term10','parser.py',648),
  ('term11 -> MINUS term11','term11',2,'p_term11','parser.py',668),
  ('term11 -> term12','term11',1,'p_term11','parser.py',669),
  ('term12 -> PLUS term12','term12',2,'p_term12','parser.py',689),
  ('term12 -> term13','term12',1,'p_term12','parser.py',690),
  ('term13 -> primary','term13',1,'p_term13','parser.py',710),
  ('primary -> OPEN_BRACKET expr2 CLOSE_BRACKET','primary',3,'p_y','parser.py',719),
  ('primary -> arrayd','primary',1,'p_y','parser.py',720),
  ('primary -> arraya','primary',1,'p_y','parser.py',721),
  ('primary -> classvar','primary',1,'p_y','parser.py',722),
  ('primary -> literal','primary',1,'p_y','parser.py',723),
  ('primary -> varname','primary',1,'p_y','parser.py',724),
  ('classvar -> IDENTIFIER DOT IDENTIFIER','classvar',3,'p_classvar','parser.py',737),
  ('arrayd -> Array OPEN_BRACKET array_size CLOSE_BRACKET','arrayd',4,'p_arrayd','parser.py',745),
  ('array_size -> term2 COMMA array_size','array_size',3,'p_array_size','parser.py',755),
  ('array_size -> term2','array_size',1,'p_array_size','parser.py',756),
  ('arrayal -> variable OPEN_SQUARE array_args CLOSE_SQUARE','arrayal',4,'p_arrayal','parser.py',770),
  ('arraya -> variable OPEN_SQUARE array_args CLOSE_SQUARE','arraya',4,'p_arraya','parser.py',779),
  ('array_args -> primary COMMA array_args','array_args',3,'p_array_args','parser.py',788),
  ('array_args -> primary','array_args',1,'p_array_args','parser.py',789),
  ('multcase -> when whenargs pthen M_1 multstmt M_1 multcase','multcase',7,'p_multcase','parser.py',802),
  ('multcase -> when whenargs pthen M_1 multstmt M_1','multcase',6,'p_multcase','parser.py',803),
  ('multelsif -> elsif expr pthen M_1 multstmt M_1 multelsif M_1','multelsif',8,'p_multelsif','parser.py',820),
  ('multelsif -> else newline multstmt','multelsif',3,'p_multelsif','parser.py',821),
  ('multelsif -> empty','multelsif',1,'p_multelsif','parser.py',822),
  ('literal -> NUMBER','literal',1,'p_literal','parser.py',846),
  ('literal -> true','literal',1,'p_literal','parser.py',847),
  ('literal -> false','literal',1,'p_literal','parser.py',848),
  ('whenargs -> arg','whenargs',1,'p_whenargs','parser.py',865),
  ('mlhs -> mlhsitem','mlhs',1,'p_mlhs','parser.py',883),
  ('mlhsitem -> IDENTIFIER','mlhsitem',1,'p_mlhsitem_1','parser.py',891),
  ('mlhsitem -> arrayal','mlhsitem',1,'p_mlhsitem_2','parser.py',900),
  ('mlhsitem -> classvar','mlhsitem',1,'p_mlhsitem_3','parser.py',908),
  ('mrhs -> term2','mrhs',1,'p_mrhs','parser.py',916),
  ('callargs -> callarglist','callargs',1,'p_callargs','parser.py',926),
  ('callarglist -> term2 callmultarglist','callarglist',2,'p_callarglist','parser.py',933),
  ('callarglist -> empty','callarglist',1,'p_callarglist','parser.py',934),
  ('callmultarglist -> COMMA term2 callmultarglist','callmultarglist',3,'p_callmultarglist','parser.py',949),
  ('callmultarglist -> empty','callmultarglist',1,'p_callmultarglist','parser.py',950),
  ('argdecl -> OPEN_BRACKET arglist CLOSE_BRACKET','argdecl',3,'p_argdecl','parser.py',965),
  ('arglist -> IDENTIFIER multarglist','arglist',2,'p_arglist','parser.py',972),
  ('arglist -> empty','arglist',1,'p_arglist','parser.py',973),
  ('multarglist -> COMMA IDENTIFIER multarglist','multarglist',3,'p_multarglist','parser.py',988),
  ('multarglist -> empty','multarglist',1,'p_multarglist','parser.py',989),
  ('variable -> varname','variable',1,'p_variable','parser.py',1004),
  ('variable -> nil','variable',1,'p_variable','parser.py',1005),
  ('variable -> self','variable',1,'p_variable','parser.py',1006),
  ('pthen -> newline','pthen',1,'p_pthen','parser.py',1014),
  ('pthen -> then','pthen',1,'p_pthen','parser.py',1015),
  ('pthen -> newline then','pthen',2,'p_pthen','parser.py',1016),
  ('pdo -> newline','pdo',1,'p_pdo','parser.py',1021),
  ('pdo -> do newline','pdo',2,'p_pdo','parser.py',1022),
  ('pdo -> newline do','pdo',2,'p_pdo','parser.py',1023),
  ('opasgn -> MODULO_EQUALS','opasgn',1,'p_opasgn','parser.py',1028),
  ('opasgn -> DIVIDE_EQUALS','opasgn',1,'p_opasgn','parser.py',1029),
  ('opasgn -> MINUS_EQUALS','opasgn',1,'p_opasgn','parser.py',1030),
  ('opasgn -> PLUS_EQUALS','opasgn',1,'p_opasgn','parser.py',1031),
  ('opasgn -> OR_EQUALS','opasgn',1,'p_opasgn','parser.py',1032),
  ('opasgn -> AND_EQUALS','opasgn',1,'p_opasgn','parser.py',1033),
  ('opasgn -> XOR_EQUALS','opasgn',1,'p_opasgn','parser.py',1034),
  ('opasgn -> RIGHT_SHIFT_EQUALS','opasgn',1,'p_opasgn','parser.py',1035),
  ('opasgn -> LEFT_SHIFT_EQUALS','opasgn',1,'p_opasgn','parser.py',1036),
  ('opasgn -> MULTIPLY_EQUALS','opasgn',1,'p_opasgn','parser.py',1037),
  ('varname -> GLOBAL','varname',1,'p_varname','parser.py',1042),
  ('varname -> IDENTIFIER','varname',1,'p_varname','parser.py',1043),
  ('compnewline -> SEMI_COLON','compnewline',1,'p_compnewline','parser.py',1056),
  ('compnewline -> NEWLINE','compnewline',1,'p_compnewline','parser.py',1057),
  ('newline -> compnewline','newline',1,'p_newline','parser.py',1061),
  ('newline -> empty','newline',1,'p_newline','parser.py',1062),
  ('empty -> <empty>','empty',0,'p_empty','parser.py',1068),
]
