diff options
Diffstat (limited to 'mrbgems/mruby-compiler')
| -rw-r--r-- | mrbgems/mruby-compiler/core/parse.y | 89 | ||||
| -rw-r--r-- | mrbgems/mruby-compiler/core/y.tab.c | 8316 |
2 files changed, 4039 insertions, 4366 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 709bc08ee..091e77323 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -1436,12 +1436,21 @@ heredoc_end(parser_state *p) keyword__FILE__ keyword__ENCODING__ -%token <id> tIDENTIFIER tFID tGVAR tIVAR tCONSTANT tCVAR tLABEL_TAG -%token <nd> tINTEGER tFLOAT tCHAR tXSTRING tREGEXP +%token <id> tIDENTIFIER "local variable or method" +%token <id> tFID "method" +%token <id> tGVAR "global variable" +%token <id> tIVAR "instance variable" +%token <id> tCONSTANT "constant" +%token <id> tCVAR "class variable" +%token <id> tLABEL_TAG "label" +%token <nd> tINTEGER "integer literal" +%token <nd> tFLOAT "float literal" +%token <nd> tCHAR "character literal" +%token <nd> tXSTRING tREGEXP %token <nd> tSTRING tSTRING_PART tSTRING_MID %token <nd> tNTH_REF tBACK_REF %token <num> tREGEXP_END -%token <num> tNUMPARAM +%token <num> tNUMPARAM "numbered paraemeter" %type <nd> singleton string string_fragment string_rep string_interp xstring regexp %type <nd> literal numeric cpath symbol defn_head defs_head @@ -1469,39 +1478,41 @@ heredoc_end(parser_state *p) %type <nd> f_block_kwarg f_block_kw block_args_tail opt_block_args_tail %type <id> f_label -%token tUPLUS /* unary+ */ -%token tUMINUS /* unary- */ -%token tPOW /* ** */ -%token tCMP /* <=> */ -%token tEQ /* == */ -%token tEQQ /* === */ -%token tNEQ /* != */ -%token tGEQ /* >= */ -%token tLEQ /* <= */ -%token tANDOP tOROP /* && and || */ -%token tMATCH tNMATCH /* =~ and !~ */ -%token tDOT2 tDOT3 /* .. and ... */ +%token tUPLUS "unary plus" +%token tUMINUS "unary minus" +%token tCMP "<=>" +%token tEQ "==" +%token tEQQ "===" +%token tNEQ "!=" +%token tGEQ ">=" +%token tLEQ "<=" +%token tANDOP "&&" +%token tOROP "||" +%token tMATCH "=~" +%token tNMATCH "!~" +%token tDOT2 ".." +%token tDOT3 "..." %token tBDOT2 tBDOT3 /* (.. and (... */ %token tAREF tASET /* [] and []= */ -%token tLSHFT tRSHFT /* << and >> */ -%token tCOLON2 /* :: */ +%token tLSHFT "<<" +%token tRSHFT ">>" +%token tCOLON2 "::" %token tCOLON3 /* :: at EXPR_BEG */ %token <id> tOP_ASGN /* +=, -= etc. */ -%token tASSOC /* => */ -%token tLPAREN /* ( */ -%token tLPAREN_ARG /* ( */ -%token tRPAREN /* ) */ -%token tLBRACK /* [ */ -%token tLBRACE /* { */ -%token tLBRACE_ARG /* { */ -%token tSTAR /* * */ -%token tDSTAR /* ** */ -%token tAMPER /* & */ -%token tLAMBDA /* -> */ -%token tANDDOT /* &. */ -%token tSYMBEG tREGEXP_BEG tWORDS_BEG tSYMBOLS_BEG -%token tSTRING_BEG tXSTRING_BEG tSTRING_DVAR tLAMBEG -%token <nd> tHEREDOC_BEG /* <<, <<-, <<~ */ +%token tASSOC "=>" +%token tLPAREN tLPAREN_ARG "(" +%token tRPAREN ")" +%token tLBRACK "[" +%token tLBRACE tLBRACE_ARG "{" +%token tSTAR "*" +%token tPOW tDSTAR "**" +%token tAMPER "&" +%token tLAMBDA "->" +%token tANDDOT "&." +%token tSYMBEG "symbol" +%token tSTRING_BEG "string literal" +%token tXSTRING_BEG tSTRING_DVAR tREGEXP_BEG tWORDS_BEG tSYMBOLS_BEG tLAMBEG +%token <nd> tHEREDOC_BEG "here document" %token tHEREDOC_END tLITERAL_DELIM tHD_LITERAL_DELIM %token <nd> tHD_STRING_PART tHD_STRING_MID @@ -5883,14 +5894,14 @@ parser_yylex(parser_state *p) p->lstate = EXPR_BEG; return tLABEL_TAG; } - if (!ISSPACE(c) || IS_BEG()) { + if (IS_END() || ISSPACE(c) || c == '#') { pushback(p, c); - p->lstate = EXPR_FNAME; - return tSYMBEG; + p->lstate = EXPR_BEG; + return ':'; } pushback(p, c); - p->lstate = EXPR_BEG; - return ':'; + p->lstate = EXPR_FNAME; + return tSYMBEG; case '/': if (IS_BEG()) { @@ -6298,7 +6309,7 @@ parser_yylex(parser_state *p) break; case '_': - if (toklen(p) == 2 && ISDIGIT(tok(p)[1]) && p->nvars) { + if (p->lstate != EXPR_FNAME && toklen(p) == 2 && ISDIGIT(tok(p)[1]) && p->nvars) { int n = tok(p)[1] - '0'; int nvar; @@ -6784,7 +6795,7 @@ mrb_load_exec(mrb_state *mrb, struct mrb_parser_state *p, mrbc_context *c) } MRB_PROC_SET_TARGET_CLASS(proc, target); if (mrb->c->ci) { - mrb->c->ci->target_class = target; + mrb_vm_ci_target_class_set(mrb->c->ci, target); } v = mrb_top_run(mrb, proc, mrb_top_self(mrb), keep); if (mrb->exc) return mrb_nil_value(); diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index e08d3bb91..b71fee1cc 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.4. */ +/* A Bison parser, made by GNU Bison 3.5.1. */ /* Bison implementation for Yacc-like parsers in C @@ -34,10 +34,6 @@ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ -/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, - especially those whose name start with YY_ or yy_. They are - private implementation details that can be changed or removed. */ - /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. @@ -45,11 +41,14 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ -/* Identify Bison output, and Bison version. */ -#define YYBISON 30704 +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + +/* Identify Bison output. */ +#define YYBISON 1 -/* Bison version string. */ -#define YYBISON_VERSION "3.7.4" +/* Bison version. */ +#define YYBISON_VERSION "3.5.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -1434,7 +1433,7 @@ heredoc_end(parser_state *p) /* xxx ----------------------------- */ -#line 1438 "mrbgems/mruby-compiler/core/y.tab.c" +#line 1437 "mrbgems/mruby-compiler/core/y.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -1457,6 +1456,14 @@ heredoc_end(parser_state *p) # endif # endif +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 1 +#endif + /* Debug traces. */ #ifndef YYDEBUG @@ -1466,137 +1473,132 @@ heredoc_end(parser_state *p) extern int yydebug; #endif -/* Token kinds. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { - YYEMPTY = -2, - YYEOF = 0, /* "end of file" */ - YYerror = 256, /* error */ - YYUNDEF = 257, /* "invalid token" */ - keyword_class = 258, /* keyword_class */ - keyword_module = 259, /* keyword_module */ - keyword_def = 260, /* keyword_def */ - keyword_begin = 261, /* keyword_begin */ - keyword_if = 262, /* keyword_if */ - keyword_unless = 263, /* keyword_unless */ - keyword_while = 264, /* keyword_while */ - keyword_until = 265, /* keyword_until */ - keyword_for = 266, /* keyword_for */ - keyword_undef = 267, /* keyword_undef */ - keyword_rescue = 268, /* keyword_rescue */ - keyword_ensure = 269, /* keyword_ensure */ - keyword_end = 270, /* keyword_end */ - keyword_then = 271, /* keyword_then */ - keyword_elsif = 272, /* keyword_elsif */ - keyword_else = 273, /* keyword_else */ - keyword_case = 274, /* keyword_case */ - keyword_when = 275, /* keyword_when */ - keyword_break = 276, /* keyword_break */ - keyword_next = 277, /* keyword_next */ - keyword_redo = 278, /* keyword_redo */ - keyword_retry = 279, /* keyword_retry */ - keyword_in = 280, /* keyword_in */ - keyword_do = 281, /* keyword_do */ - keyword_do_cond = 282, /* keyword_do_cond */ - keyword_do_block = 283, /* keyword_do_block */ - keyword_do_LAMBDA = 284, /* keyword_do_LAMBDA */ - keyword_return = 285, /* keyword_return */ - keyword_yield = 286, /* keyword_yield */ - keyword_super = 287, /* keyword_super */ - keyword_self = 288, /* keyword_self */ - keyword_nil = 289, /* keyword_nil */ - keyword_true = 290, /* keyword_true */ - keyword_false = 291, /* keyword_false */ - keyword_and = 292, /* keyword_and */ - keyword_or = 293, /* keyword_or */ - keyword_not = 294, /* keyword_not */ - modifier_if = 295, /* modifier_if */ - modifier_unless = 296, /* modifier_unless */ - modifier_while = 297, /* modifier_while */ - modifier_until = 298, /* modifier_until */ - modifier_rescue = 299, /* modifier_rescue */ - keyword_alias = 300, /* keyword_alias */ - keyword_BEGIN = 301, /* keyword_BEGIN */ - keyword_END = 302, /* keyword_END */ - keyword__LINE__ = 303, /* keyword__LINE__ */ - keyword__FILE__ = 304, /* keyword__FILE__ */ - keyword__ENCODING__ = 305, /* keyword__ENCODING__ */ - tIDENTIFIER = 306, /* tIDENTIFIER */ - tFID = 307, /* tFID */ - tGVAR = 308, /* tGVAR */ - tIVAR = 309, /* tIVAR */ - tCONSTANT = 310, /* tCONSTANT */ - tCVAR = 311, /* tCVAR */ - tLABEL_TAG = 312, /* tLABEL_TAG */ - tINTEGER = 313, /* tINTEGER */ - tFLOAT = 314, /* tFLOAT */ - tCHAR = 315, /* tCHAR */ - tXSTRING = 316, /* tXSTRING */ - tREGEXP = 317, /* tREGEXP */ - tSTRING = 318, /* tSTRING */ - tSTRING_PART = 319, /* tSTRING_PART */ - tSTRING_MID = 320, /* tSTRING_MID */ - tNTH_REF = 321, /* tNTH_REF */ - tBACK_REF = 322, /* tBACK_REF */ - tREGEXP_END = 323, /* tREGEXP_END */ - tNUMPARAM = 324, /* tNUMPARAM */ - tUPLUS = 325, /* tUPLUS */ - tUMINUS = 326, /* tUMINUS */ - tPOW = 327, /* tPOW */ - tCMP = 328, /* tCMP */ - tEQ = 329, /* tEQ */ - tEQQ = 330, /* tEQQ */ - tNEQ = 331, /* tNEQ */ - tGEQ = 332, /* tGEQ */ - tLEQ = 333, /* tLEQ */ - tANDOP = 334, /* tANDOP */ - tOROP = 335, /* tOROP */ - tMATCH = 336, /* tMATCH */ - tNMATCH = 337, /* tNMATCH */ - tDOT2 = 338, /* tDOT2 */ - tDOT3 = 339, /* tDOT3 */ - tBDOT2 = 340, /* tBDOT2 */ - tBDOT3 = 341, /* tBDOT3 */ - tAREF = 342, /* tAREF */ - tASET = 343, /* tASET */ - tLSHFT = 344, /* tLSHFT */ - tRSHFT = 345, /* tRSHFT */ - tCOLON2 = 346, /* tCOLON2 */ - tCOLON3 = 347, /* tCOLON3 */ - tOP_ASGN = 348, /* tOP_ASGN */ - tASSOC = 349, /* tASSOC */ - tLPAREN = 350, /* tLPAREN */ - tLPAREN_ARG = 351, /* tLPAREN_ARG */ - tRPAREN = 352, /* tRPAREN */ - tLBRACK = 353, /* tLBRACK */ - tLBRACE = 354, /* tLBRACE */ - tLBRACE_ARG = 355, /* tLBRACE_ARG */ - tSTAR = 356, /* tSTAR */ - tDSTAR = 357, /* tDSTAR */ - tAMPER = 358, /* tAMPER */ - tLAMBDA = 359, /* tLAMBDA */ - tANDDOT = 360, /* tANDDOT */ - tSYMBEG = 361, /* tSYMBEG */ - tREGEXP_BEG = 362, /* tREGEXP_BEG */ - tWORDS_BEG = 363, /* tWORDS_BEG */ - tSYMBOLS_BEG = 364, /* tSYMBOLS_BEG */ - tSTRING_BEG = 365, /* tSTRING_BEG */ - tXSTRING_BEG = 366, /* tXSTRING_BEG */ - tSTRING_DVAR = 367, /* tSTRING_DVAR */ - tLAMBEG = 368, /* tLAMBEG */ - tHEREDOC_BEG = 369, /* tHEREDOC_BEG */ - tHEREDOC_END = 370, /* tHEREDOC_END */ - tLITERAL_DELIM = 371, /* tLITERAL_DELIM */ - tHD_LITERAL_DELIM = 372, /* tHD_LITERAL_DELIM */ - tHD_STRING_PART = 373, /* tHD_STRING_PART */ - tHD_STRING_MID = 374, /* tHD_STRING_MID */ - tLOWEST = 375, /* tLOWEST */ - tUMINUS_NUM = 376, /* tUMINUS_NUM */ - tLAST_TOKEN = 377 /* tLAST_TOKEN */ + keyword_class = 258, + keyword_module = 259, + keyword_def = 260, + keyword_begin = 261, + keyword_if = 262, + keyword_unless = 263, + keyword_while = 264, + keyword_until = 265, + keyword_for = 266, + keyword_undef = 267, + keyword_rescue = 268, + keyword_ensure = 269, + keyword_end = 270, + keyword_then = 271, + keyword_elsif = 272, + keyword_else = 273, + keyword_case = 274, + keyword_when = 275, + keyword_break = 276, + keyword_next = 277, + keyword_redo = 278, + keyword_retry = 279, + keyword_in = 280, + keyword_do = 281, + keyword_do_cond = 282, + keyword_do_block = 283, + keyword_do_LAMBDA = 284, + keyword_return = 285, + keyword_yield = 286, + keyword_super = 287, + keyword_self = 288, + keyword_nil = 289, + keyword_true = 290, + keyword_false = 291, + keyword_and = 292, + keyword_or = 293, + keyword_not = 294, + modifier_if = 295, + modifier_unless = 296, + modifier_while = 297, + modifier_until = 298, + modifier_rescue = 299, + keyword_alias = 300, + keyword_BEGIN = 301, + keyword_END = 302, + keyword__LINE__ = 303, + keyword__FILE__ = 304, + keyword__ENCODING__ = 305, + tIDENTIFIER = 306, + tFID = 307, + tGVAR = 308, + tIVAR = 309, + tCONSTANT = 310, + tCVAR = 311, + tLABEL_TAG = 312, + tINTEGER = 313, + tFLOAT = 314, + tCHAR = 315, + tXSTRING = 316, + tREGEXP = 317, + tSTRING = 318, + tSTRING_PART = 319, + tSTRING_MID = 320, + tNTH_REF = 321, + tBACK_REF = 322, + tREGEXP_END = 323, + tNUMPARAM = 324, + tUPLUS = 325, + tUMINUS = 326, + tCMP = 327, + tEQ = 328, + tEQQ = 329, + tNEQ = 330, + tGEQ = 331, + tLEQ = 332, + tANDOP = 333, + tOROP = 334, + tMATCH = 335, + tNMATCH = 336, + tDOT2 = 337, + tDOT3 = 338, + tBDOT2 = 339, + tBDOT3 = 340, + tAREF = 341, + tASET = 342, + tLSHFT = 343, + tRSHFT = 344, + tCOLON2 = 345, + tCOLON3 = 346, + tOP_ASGN = 347, + tASSOC = 348, + tLPAREN = 349, + tLPAREN_ARG = 350, + tRPAREN = 351, + tLBRACK = 352, + tLBRACE = 353, + tLBRACE_ARG = 354, + tSTAR = 355, + tPOW = 356, + tDSTAR = 357, + tAMPER = 358, + tLAMBDA = 359, + tANDDOT = 360, + tSYMBEG = 361, + tSTRING_BEG = 362, + tXSTRING_BEG = 363, + tSTRING_DVAR = 364, + tREGEXP_BEG = 365, + tWORDS_BEG = 366, + tSYMBOLS_BEG = 367, + tLAMBEG = 368, + tHEREDOC_BEG = 369, + tHEREDOC_END = 370, + tLITERAL_DELIM = 371, + tHD_LITERAL_DELIM = 372, + tHD_STRING_PART = 373, + tHD_STRING_MID = 374, + tLOWEST = 375, + tUMINUS_NUM = 376, + tLAST_TOKEN = 377 }; - typedef enum yytokentype yytoken_kind_t; #endif /* Value type. */ @@ -1611,7 +1613,7 @@ union YYSTYPE stack_type stack; const struct vtable *vars; -#line 1615 "mrbgems/mruby-compiler/core/y.tab.c" +#line 1617 "mrbgems/mruby-compiler/core/y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -1624,338 +1626,6 @@ typedef union YYSTYPE YYSTYPE; int yyparse (parser_state *p); -/* Symbol kind. */ -enum yysymbol_kind_t -{ - YYSYMBOL_YYEMPTY = -2, - YYSYMBOL_YYEOF = 0, /* "end of file" */ - YYSYMBOL_YYerror = 1, /* error */ - YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ - YYSYMBOL_keyword_class = 3, /* keyword_class */ - YYSYMBOL_keyword_module = 4, /* keyword_module */ - YYSYMBOL_keyword_def = 5, /* keyword_def */ - YYSYMBOL_keyword_begin = 6, /* keyword_begin */ - YYSYMBOL_keyword_if = 7, /* keyword_if */ - YYSYMBOL_keyword_unless = 8, /* keyword_unless */ - YYSYMBOL_keyword_while = 9, /* keyword_while */ - YYSYMBOL_keyword_until = 10, /* keyword_until */ - YYSYMBOL_keyword_for = 11, /* keyword_for */ - YYSYMBOL_keyword_undef = 12, /* keyword_undef */ - YYSYMBOL_keyword_rescue = 13, /* keyword_rescue */ - YYSYMBOL_keyword_ensure = 14, /* keyword_ensure */ - YYSYMBOL_keyword_end = 15, /* keyword_end */ - YYSYMBOL_keyword_then = 16, /* keyword_then */ - YYSYMBOL_keyword_elsif = 17, /* keyword_elsif */ - YYSYMBOL_keyword_else = 18, /* keyword_else */ - YYSYMBOL_keyword_case = 19, /* keyword_case */ - YYSYMBOL_keyword_when = 20, /* keyword_when */ - YYSYMBOL_keyword_break = 21, /* keyword_break */ - YYSYMBOL_keyword_next = 22, /* keyword_next */ - YYSYMBOL_keyword_redo = 23, /* keyword_redo */ - YYSYMBOL_keyword_retry = 24, /* keyword_retry */ - YYSYMBOL_keyword_in = 25, /* keyword_in */ - YYSYMBOL_keyword_do = 26, /* keyword_do */ - YYSYMBOL_keyword_do_cond = 27, /* keyword_do_cond */ - YYSYMBOL_keyword_do_block = 28, /* keyword_do_block */ - YYSYMBOL_keyword_do_LAMBDA = 29, /* keyword_do_LAMBDA */ - YYSYMBOL_keyword_return = 30, /* keyword_return */ - YYSYMBOL_keyword_yield = 31, /* keyword_yield */ - YYSYMBOL_keyword_super = 32, /* keyword_super */ - YYSYMBOL_keyword_self = 33, /* keyword_self */ - YYSYMBOL_keyword_nil = 34, /* keyword_nil */ - YYSYMBOL_keyword_true = 35, /* keyword_true */ - YYSYMBOL_keyword_false = 36, /* keyword_false */ - YYSYMBOL_keyword_and = 37, /* keyword_and */ - YYSYMBOL_keyword_or = 38, /* keyword_or */ - YYSYMBOL_keyword_not = 39, /* keyword_not */ - YYSYMBOL_modifier_if = 40, /* modifier_if */ - YYSYMBOL_modifier_unless = 41, /* modifier_unless */ - YYSYMBOL_modifier_while = 42, /* modifier_while */ - YYSYMBOL_modifier_until = 43, /* modifier_until */ - YYSYMBOL_modifier_rescue = 44, /* modifier_rescue */ - YYSYMBOL_keyword_alias = 45, /* keyword_alias */ - YYSYMBOL_keyword_BEGIN = 46, /* keyword_BEGIN */ - YYSYMBOL_keyword_END = 47, /* keyword_END */ - YYSYMBOL_keyword__LINE__ = 48, /* keyword__LINE__ */ - YYSYMBOL_keyword__FILE__ = 49, /* keyword__FILE__ */ - YYSYMBOL_keyword__ENCODING__ = 50, /* keyword__ENCODING__ */ - YYSYMBOL_tIDENTIFIER = 51, /* tIDENTIFIER */ - YYSYMBOL_tFID = 52, /* tFID */ - YYSYMBOL_tGVAR = 53, /* tGVAR */ - YYSYMBOL_tIVAR = 54, /* tIVAR */ - YYSYMBOL_tCONSTANT = 55, /* tCONSTANT */ - YYSYMBOL_tCVAR = 56, /* tCVAR */ - YYSYMBOL_tLABEL_TAG = 57, /* tLABEL_TAG */ - YYSYMBOL_tINTEGER = 58, /* tINTEGER */ - YYSYMBOL_tFLOAT = 59, /* tFLOAT */ - YYSYMBOL_tCHAR = 60, /* tCHAR */ - YYSYMBOL_tXSTRING = 61, /* tXSTRING */ - YYSYMBOL_tREGEXP = 62, /* tREGEXP */ - YYSYMBOL_tSTRING = 63, /* tSTRING */ - YYSYMBOL_tSTRING_PART = 64, /* tSTRING_PART */ - YYSYMBOL_tSTRING_MID = 65, /* tSTRING_MID */ - YYSYMBOL_tNTH_REF = 66, /* tNTH_REF */ - YYSYMBOL_tBACK_REF = 67, /* tBACK_REF */ - YYSYMBOL_tREGEXP_END = 68, /* tREGEXP_END */ - YYSYMBOL_tNUMPARAM = 69, /* tNUMPARAM */ - YYSYMBOL_tUPLUS = 70, /* tUPLUS */ - YYSYMBOL_tUMINUS = 71, /* tUMINUS */ - YYSYMBOL_tPOW = 72, /* tPOW */ - YYSYMBOL_tCMP = 73, /* tCMP */ - YYSYMBOL_tEQ = 74, /* tEQ */ - YYSYMBOL_tEQQ = 75, /* tEQQ */ - YYSYMBOL_tNEQ = 76, /* tNEQ */ - YYSYMBOL_tGEQ = 77, /* tGEQ */ - YYSYMBOL_tLEQ = 78, /* tLEQ */ - YYSYMBOL_tANDOP = 79, /* tANDOP */ - YYSYMBOL_tOROP = 80, /* tOROP */ - YYSYMBOL_tMATCH = 81, /* tMATCH */ - YYSYMBOL_tNMATCH = 82, /* tNMATCH */ - YYSYMBOL_tDOT2 = 83, /* tDOT2 */ - YYSYMBOL_tDOT3 = 84, /* tDOT3 */ - YYSYMBOL_tBDOT2 = 85, /* tBDOT2 */ - YYSYMBOL_tBDOT3 = 86, /* tBDOT3 */ - YYSYMBOL_tAREF = 87, /* tAREF */ - YYSYMBOL_tASET = 88, /* tASET */ - YYSYMBOL_tLSHFT = 89, /* tLSHFT */ - YYSYMBOL_tRSHFT = 90, /* tRSHFT */ - YYSYMBOL_tCOLON2 = 91, /* tCOLON2 */ - YYSYMBOL_tCOLON3 = 92, /* tCOLON3 */ - YYSYMBOL_tOP_ASGN = 93, /* tOP_ASGN */ - YYSYMBOL_tASSOC = 94, /* tASSOC */ - YYSYMBOL_tLPAREN = 95, /* tLPAREN */ - YYSYMBOL_tLPAREN_ARG = 96, /* tLPAREN_ARG */ - YYSYMBOL_tRPAREN = 97, /* tRPAREN */ - YYSYMBOL_tLBRACK = 98, /* tLBRACK */ - YYSYMBOL_tLBRACE = 99, /* tLBRACE */ - YYSYMBOL_tLBRACE_ARG = 100, /* tLBRACE_ARG */ - YYSYMBOL_tSTAR = 101, /* tSTAR */ - YYSYMBOL_tDSTAR = 102, /* tDSTAR */ - YYSYMBOL_tAMPER = 103, /* tAMPER */ - YYSYMBOL_tLAMBDA = 104, /* tLAMBDA */ - YYSYMBOL_tANDDOT = 105, /* tANDDOT */ - YYSYMBOL_tSYMBEG = 106, /* tSYMBEG */ - YYSYMBOL_tREGEXP_BEG = 107, /* tREGEXP_BEG */ - YYSYMBOL_tWORDS_BEG = 108, /* tWORDS_BEG */ - YYSYMBOL_tSYMBOLS_BEG = 109, /* tSYMBOLS_BEG */ - YYSYMBOL_tSTRING_BEG = 110, /* tSTRING_BEG */ - YYSYMBOL_tXSTRING_BEG = 111, /* tXSTRING_BEG */ - YYSYMBOL_tSTRING_DVAR = 112, /* tSTRING_DVAR */ - YYSYMBOL_tLAMBEG = 113, /* tLAMBEG */ - YYSYMBOL_tHEREDOC_BEG = 114, /* tHEREDOC_BEG */ - YYSYMBOL_tHEREDOC_END = 115, /* tHEREDOC_END */ - YYSYMBOL_tLITERAL_DELIM = 116, /* tLITERAL_DELIM */ - YYSYMBOL_tHD_LITERAL_DELIM = 117, /* tHD_LITERAL_DELIM */ - YYSYMBOL_tHD_STRING_PART = 118, /* tHD_STRING_PART */ - YYSYMBOL_tHD_STRING_MID = 119, /* tHD_STRING_MID */ - YYSYMBOL_tLOWEST = 120, /* tLOWEST */ - YYSYMBOL_121_ = 121, /* '=' */ - YYSYMBOL_122_ = 122, /* '?' */ - YYSYMBOL_123_ = 123, /* ':' */ - YYSYMBOL_124_ = 124, /* '>' */ - YYSYMBOL_125_ = 125, /* '<' */ - YYSYMBOL_126_ = 126, /* '|' */ - YYSYMBOL_127_ = 127, /* '^' */ - YYSYMBOL_128_ = 128, /* '&' */ - YYSYMBOL_129_ = 129, /* '+' */ - YYSYMBOL_130_ = 130, /* '-' */ - YYSYMBOL_131_ = 131, /* '*' */ - YYSYMBOL_132_ = 132, /* '/' */ - YYSYMBOL_133_ = 133, /* '%' */ - YYSYMBOL_tUMINUS_NUM = 134, /* tUMINUS_NUM */ - YYSYMBOL_135_ = 135, /* '!' */ - YYSYMBOL_136_ = 136, /* '~' */ - YYSYMBOL_tLAST_TOKEN = 137, /* tLAST_TOKEN */ - YYSYMBOL_138_ = 138, /* '{' */ - YYSYMBOL_139_ = 139, /* '}' */ - YYSYMBOL_140_ = 140, /* '[' */ - YYSYMBOL_141_ = 141, /* ']' */ - YYSYMBOL_142_ = 142, /* ',' */ - YYSYMBOL_143_ = 143, /* '`' */ - YYSYMBOL_144_ = 144, /* '(' */ - YYSYMBOL_145_ = 145, /* ')' */ - YYSYMBOL_146_ = 146, /* ';' */ - YYSYMBOL_147_ = 147, /* '.' */ - YYSYMBOL_148_n_ = 148, /* '\n' */ - YYSYMBOL_YYACCEPT = 149, /* $accept */ - YYSYMBOL_program = 150, /* program */ - YYSYMBOL_151_1 = 151, /* $@1 */ - YYSYMBOL_top_compstmt = 152, /* top_compstmt */ - YYSYMBOL_top_stmts = 153, /* top_stmts */ - YYSYMBOL_top_stmt = 154, /* top_stmt */ - YYSYMBOL_155_2 = 155, /* @2 */ - YYSYMBOL_bodystmt = 156, /* bodystmt */ - YYSYMBOL_compstmt = 157, /* compstmt */ - YYSYMBOL_stmts = 158, /* stmts */ - YYSYMBOL_stmt = 159, /* stmt */ - YYSYMBOL_160_3 = 160, /* $@3 */ - YYSYMBOL_command_asgn = 161, /* command_asgn */ - YYSYMBOL_command_rhs = 162, /* command_rhs */ - YYSYMBOL_expr = 163, /* expr */ - YYSYMBOL_defn_head = 164, /* defn_head */ - YYSYMBOL_defs_head = 165, /* defs_head */ - YYSYMBOL_166_4 = 166, /* $@4 */ - YYSYMBOL_expr_value = 167, /* expr_value */ - YYSYMBOL_command_call = 168, /* command_call */ - YYSYMBOL_block_command = 169, /* block_command */ - YYSYMBOL_cmd_brace_block = 170, /* cmd_brace_block */ - YYSYMBOL_171_5 = 171, /* $@5 */ - YYSYMBOL_command = 172, /* command */ - YYSYMBOL_mlhs = 173, /* mlhs */ - YYSYMBOL_mlhs_inner = 174, /* mlhs_inner */ - YYSYMBOL_mlhs_basic = 175, /* mlhs_basic */ - YYSYMBOL_mlhs_item = 176, /* mlhs_item */ - YYSYMBOL_mlhs_list = 177, /* mlhs_list */ - YYSYMBOL_mlhs_post = 178, /* mlhs_post */ - YYSYMBOL_mlhs_node = 179, /* mlhs_node */ - YYSYMBOL_lhs = 180, /* lhs */ - YYSYMBOL_cname = 181, /* cname */ - YYSYMBOL_cpath = 182, /* cpath */ - YYSYMBOL_fname = 183, /* fname */ - YYSYMBOL_fsym = 184, /* fsym */ - YYSYMBOL_undef_list = 185, /* undef_list */ - YYSYMBOL_186_6 = 186, /* $@6 */ - YYSYMBOL_op = 187, /* op */ - YYSYMBOL_reswords = 188, /* reswords */ - YYSYMBOL_arg = 189, /* arg */ - YYSYMBOL_aref_args = 190, /* aref_args */ - YYSYMBOL_arg_rhs = 191, /* arg_rhs */ - YYSYMBOL_paren_args = 192, /* paren_args */ - YYSYMBOL_opt_paren_args = 193, /* opt_paren_args */ - YYSYMBOL_opt_call_args = 194, /* opt_call_args */ - YYSYMBOL_call_args = 195, /* call_args */ - YYSYMBOL_command_args = 196, /* command_args */ - YYSYMBOL_197_7 = 197, /* @7 */ - YYSYMBOL_block_arg = 198, /* block_arg */ - YYSYMBOL_opt_block_arg = 199, /* opt_block_arg */ - YYSYMBOL_comma = 200, /* comma */ - YYSYMBOL_args = 201, /* args */ - YYSYMBOL_mrhs = 202, /* mrhs */ - YYSYMBOL_primary = 203, /* primary */ - YYSYMBOL_204_8 = 204, /* @8 */ - YYSYMBOL_205_9 = 205, /* @9 */ - YYSYMBOL_206_10 = 206, /* $@10 */ - YYSYMBOL_207_11 = 207, /* $@11 */ - YYSYMBOL_208_12 = 208, /* @12 */ - YYSYMBOL_209_13 = 209, /* @13 */ - YYSYMBOL_210_14 = 210, /* $@14 */ - YYSYMBOL_211_15 = 211, /* $@15 */ - YYSYMBOL_212_16 = 212, /* $@16 */ - YYSYMBOL_213_17 = 213, /* $@17 */ - YYSYMBOL_214_18 = 214, /* $@18 */ - YYSYMBOL_215_19 = 215, /* $@19 */ - YYSYMBOL_216_20 = 216, /* @20 */ - YYSYMBOL_217_21 = 217, /* @21 */ - YYSYMBOL_218_22 = 218, /* @22 */ - YYSYMBOL_219_23 = 219, /* @23 */ - YYSYMBOL_primary_value = 220, /* primary_value */ - YYSYMBOL_then = 221, /* then */ - YYSYMBOL_do = 222, /* do */ - YYSYMBOL_if_tail = 223, /* if_tail */ - YYSYMBOL_opt_else = 224, /* opt_else */ - YYSYMBOL_for_var = 225, /* for_var */ - YYSYMBOL_f_margs = 226, /* f_margs */ - YYSYMBOL_227_24 = 227, /* $@24 */ - YYSYMBOL_block_args_tail = 228, /* block_args_tail */ - YYSYMBOL_opt_block_args_tail = 229, /* opt_block_args_tail */ - YYSYMBOL_block_param = 230, /* block_param */ - YYSYMBOL_opt_block_param = 231, /* opt_block_param */ - YYSYMBOL_block_param_def = 232, /* block_param_def */ - YYSYMBOL_233_25 = 233, /* $@25 */ - YYSYMBOL_opt_bv_decl = 234, /* opt_bv_decl */ - YYSYMBOL_bv_decls = 235, /* bv_decls */ - YYSYMBOL_bvar = 236, /* bvar */ - YYSYMBOL_f_larglist = 237, /* f_larglist */ - YYSYMBOL_lambda_body = 238, /* lambda_body */ - YYSYMBOL_do_block = 239, /* do_block */ - YYSYMBOL_240_26 = 240, /* $@26 */ - YYSYMBOL_block_call = 241, /* block_call */ - YYSYMBOL_method_call = 242, /* method_call */ - YYSYMBOL_brace_block = 243, /* brace_block */ - YYSYMBOL_244_27 = 244, /* @27 */ - YYSYMBOL_245_28 = 245, /* @28 */ - YYSYMBOL_case_body = 246, /* case_body */ - YYSYMBOL_cases = 247, /* cases */ - YYSYMBOL_opt_rescue = 248, /* opt_rescue */ - YYSYMBOL_exc_list = 249, /* exc_list */ - YYSYMBOL_exc_var = 250, /* exc_var */ - YYSYMBOL_opt_ensure = 251, /* opt_ensure */ - YYSYMBOL_literal = 252, /* literal */ - YYSYMBOL_string = 253, /* string */ - YYSYMBOL_string_fragment = 254, /* string_fragment */ - YYSYMBOL_string_rep = 255, /* string_rep */ - YYSYMBOL_string_interp = 256, /* string_interp */ - YYSYMBOL_257_29 = 257, /* @29 */ - YYSYMBOL_xstring = 258, /* xstring */ - YYSYMBOL_regexp = 259, /* regexp */ - YYSYMBOL_heredoc = 260, /* heredoc */ - YYSYMBOL_heredoc_bodies = 261, /* heredoc_bodies */ - YYSYMBOL_heredoc_body = 262, /* heredoc_body */ - YYSYMBOL_heredoc_string_rep = 263, /* heredoc_string_rep */ - YYSYMBOL_heredoc_string_interp = 264, /* heredoc_string_interp */ - YYSYMBOL_265_30 = 265, /* @30 */ - YYSYMBOL_words = 266, /* words */ - YYSYMBOL_symbol = 267, /* symbol */ - YYSYMBOL_basic_symbol = 268, /* basic_symbol */ - YYSYMBOL_sym = 269, /* sym */ - YYSYMBOL_symbols = 270, /* symbols */ - YYSYMBOL_numeric = 271, /* numeric */ - YYSYMBOL_variable = 272, /* variable */ - YYSYMBOL_var_lhs = 273, /* var_lhs */ - YYSYMBOL_var_ref = 274, /* var_ref */ - YYSYMBOL_backref = 275, /* backref */ - YYSYMBOL_superclass = 276, /* superclass */ - YYSYMBOL_277_31 = 277, /* $@31 */ - YYSYMBOL_f_arglist_paren = 278, /* f_arglist_paren */ - YYSYMBOL_f_arglist = 279, /* f_arglist */ - YYSYMBOL_f_label = 280, /* f_label */ - YYSYMBOL_f_kw = 281, /* f_kw */ - YYSYMBOL_f_block_kw = 282, /* f_block_kw */ - YYSYMBOL_f_block_kwarg = 283, /* f_block_kwarg */ - YYSYMBOL_f_kwarg = 284, /* f_kwarg */ - YYSYMBOL_kwrest_mark = 285, /* kwrest_mark */ - YYSYMBOL_f_kwrest = 286, /* f_kwrest */ - YYSYMBOL_args_tail = 287, /* args_tail */ - YYSYMBOL_opt_args_tail = 288, /* opt_args_tail */ - YYSYMBOL_f_args = 289, /* f_args */ - YYSYMBOL_f_bad_arg = 290, /* f_bad_arg */ - YYSYMBOL_f_norm_arg = 291, /* f_norm_arg */ - YYSYMBOL_f_arg_item = 292, /* f_arg_item */ - YYSYMBOL_293_32 = 293, /* @32 */ - YYSYMBOL_f_arg = 294, /* f_arg */ - YYSYMBOL_f_opt_asgn = 295, /* f_opt_asgn */ - YYSYMBOL_f_opt = 296, /* f_opt */ - YYSYMBOL_f_block_opt = 297, /* f_block_opt */ - YYSYMBOL_f_block_optarg = 298, /* f_block_optarg */ - YYSYMBOL_f_optarg = 299, /* f_optarg */ - YYSYMBOL_restarg_mark = 300, /* restarg_mark */ - YYSYMBOL_f_rest_arg = 301, /* f_rest_arg */ - YYSYMBOL_blkarg_mark = 302, /* blkarg_mark */ - YYSYMBOL_f_block_arg = 303, /* f_block_arg */ - YYSYMBOL_opt_f_block_arg = 304, /* opt_f_block_arg */ - YYSYMBOL_singleton = 305, /* singleton */ - YYSYMBOL_306_33 = 306, /* $@33 */ - YYSYMBOL_assoc_list = 307, /* assoc_list */ - YYSYMBOL_assocs = 308, /* assocs */ - YYSYMBOL_label_tag = 309, /* label_tag */ - YYSYMBOL_assoc = 310, /* assoc */ - YYSYMBOL_operation = 311, /* operation */ - YYSYMBOL_operation2 = 312, /* operation2 */ - YYSYMBOL_operation3 = 313, /* operation3 */ - YYSYMBOL_dot_or_colon = 314, /* dot_or_colon */ - YYSYMBOL_call_op = 315, /* call_op */ - YYSYMBOL_call_op2 = 316, /* call_op2 */ - YYSYMBOL_opt_terms = 317, /* opt_terms */ - YYSYMBOL_opt_nl = 318, /* opt_nl */ - YYSYMBOL_rparen = 319, /* rparen */ - YYSYMBOL_trailer = 320, /* trailer */ - YYSYMBOL_term = 321, /* term */ - YYSYMBOL_nl = 322, /* nl */ - YYSYMBOL_terms = 323, /* terms */ - YYSYMBOL_none = 324 /* none */ -}; -typedef enum yysymbol_kind_t yysymbol_kind_t; - @@ -2055,7 +1725,6 @@ typedef int yytype_uint16; #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) - /* Stored state numbers (used for stacks). */ typedef yytype_int16 yy_state_t; @@ -2074,7 +1743,6 @@ typedef int yy_state_fast_t; # endif #endif - #ifndef YY_ATTRIBUTE_PURE # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) @@ -2132,7 +1800,7 @@ typedef int yy_state_fast_t; #define YY_ASSERT(E) ((void) (0 && (E))) -#if 1 +#if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -2197,7 +1865,8 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif -#endif /* 1 */ +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ + #if (! defined yyoverflow \ && (! defined __cplusplus \ @@ -2262,7 +1931,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 12398 +#define YYLAST 12618 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 @@ -2273,16 +1942,14 @@ union yyalloc /* YYNSTATES -- Number of states. */ #define YYNSTATES 1061 -/* YYMAXUTOK -- Last valid token kind. */ +#define YYUNDEFTOK 2 #define YYMAXUTOK 377 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ -#define YYTRANSLATE(YYX) \ - (0 <= (YYX) && (YYX) <= YYMAXUTOK \ - ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ - : YYSYMBOL_YYUNDEF) +#define YYTRANSLATE(YYX) \ + (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex. */ @@ -2332,152 +1999,140 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 1538, 1538, 1538, 1549, 1555, 1559, 1564, 1568, 1574, - 1576, 1575, 1589, 1616, 1622, 1626, 1631, 1635, 1641, 1641, - 1645, 1649, 1653, 1657, 1661, 1665, 1669, 1674, 1675, 1679, - 1683, 1687, 1691, 1698, 1701, 1705, 1709, 1713, 1717, 1721, - 1726, 1730, 1737, 1738, 1742, 1746, 1747, 1751, 1755, 1759, - 1763, 1767, 1777, 1776, 1791, 1800, 1801, 1804, 1805, 1812, - 1811, 1826, 1830, 1835, 1839, 1844, 1848, 1853, 1857, 1861, - 1865, 1869, 1875, 1879, 1885, 1886, 1892, 1896, 1900, 1904, - 1908, 1912, 1916, 1920, 1924, 1928, 1934, 1935, 1941, 1945, - 1951, 1955, 1961, 1965, 1969, 1973, 1977, 1981, 1987, 1993, - 2000, 2004, 2008, 2012, 2016, 2020, 2026, 2032, 2037, 2043, - 2047, 2050, 2054, 2058, 2065, 2066, 2067, 2068, 2073, 2080, - 2081, 2084, 2088, 2088, 2094, 2095, 2096, 2097, 2098, 2099, - 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, - 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, - 2120, 2121, 2122, 2123, 2126, 2126, 2126, 2127, 2127, 2128, - 2128, 2128, 2129, 2129, 2129, 2129, 2130, 2130, 2130, 2131, - 2131, 2131, 2132, 2132, 2132, 2132, 2133, 2133, 2133, 2133, - 2134, 2134, 2134, 2134, 2135, 2135, 2135, 2135, 2136, 2136, - 2136, 2136, 2137, 2137, 2140, 2144, 2148, 2152, 2156, 2160, - 2164, 2169, 2174, 2179, 2183, 2187, 2191, 2195, 2199, 2203, - 2207, 2211, 2215, 2219, 2223, 2227, 2231, 2235, 2239, 2243, - 2247, 2251, 2255, 2259, 2263, 2267, 2271, 2275, 2279, 2283, - 2287, 2291, 2295, 2299, 2303, 2307, 2311, 2315, 2319, 2323, - 2327, 2335, 2344, 2353, 2363, 2369, 2370, 2375, 2379, 2386, - 2390, 2398, 2402, 2418, 2444, 2445, 2448, 2449, 2450, 2455, - 2460, 2467, 2473, 2478, 2483, 2488, 2495, 2495, 2506, 2512, - 2516, 2522, 2523, 2526, 2532, 2538, 2543, 2550, 2555, 2560, - 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2578, 2583, - 2582, 2594, 2598, 2593, 2603, 2603, 2607, 2611, 2615, 2619, - 2624, 2629, 2633, 2637, 2641, 2645, 2649, 2650, 2656, 2662, - 2655, 2674, 2682, 2690, 2690, 2690, 2697, 2697, 2697, 2704, - 2710, 2715, 2717, 2714, 2726, 2724, 2742, 2747, 2740, 2764, - 2762, 2778, 2788, 2799, 2803, 2807, 2811, 2817, 2824, 2825, - 2826, 2829, 2830, 2833, 2834, 2842, 2843, 2849, 2853, 2856, - 2860, 2864, 2868, 2873, 2877, 2881, 2885, 2891, 2890, 2900, - 2904, 2908, 2912, 2918, 2923, 2928, 2932, 2936, 2940, 2944, - 2948, 2952, 2956, 2960, 2964, 2968, 2972, 2976, 2980, 2984, - 2990, 2995, 3002, 3002, 3006, 3011, 3018, 3022, 3028, 3029, - 3032, 3037, 3040, 3044, 3050, 3054, 3061, 3060, 3075, 3085, - 3089, 3094, 3101, 3105, 3109, 3113, 3117, 3121, 3125, 3129, - 3133, 3140, 3139, 3154, 3153, 3169, 3177, 3186, 3189, 3196, - 3199, 3203, 3204, 3207, 3211, 3214, 3218, 3221, 3222, 3223, - 3224, 3227, 3228, 3234, 3235, 3236, 3240, 3246, 3247, 3253, - 3258, 3257, 3268, 3272, 3278, 3282, 3288, 3292, 3298, 3301, - 3302, 3305, 3311, 3317, 3318, 3321, 3328, 3327, 3341, 3345, - 3352, 3357, 3364, 3370, 3371, 3372, 3373, 3374, 3378, 3384, - 3388, 3394, 3395, 3396, 3400, 3406, 3410, 3414, 3418, 3422, - 3428, 3432, 3438, 3442, 3446, 3450, 3454, 3458, 3466, 3473, - 3484, 3485, 3489, 3493, 3492, 3508, 3514, 3532, 3552, 3553, - 3559, 3565, 3571, 3578, 3583, 3590, 3594, 3600, 3604, 3610, - 3611, 3614, 3618, 3624, 3628, 3632, 3636, 3642, 3647, 3652, - 3656, 3660, 3664, 3668, 3672, 3676, 3680, 3684, 3688, 3692, - 3696, 3700, 3704, 3709, 3715, 3720, 3725, 3730, 3735, 3742, - 3746, 3753, 3758, 3757, 3769, 3773, 3779, 3787, 3795, 3803, - 3807, 3813, 3817, 3823, 3824, 3827, 3832, 3839, 3840, 3843, - 3849, 3853, 3859, 3864, 3864, 3889, 3890, 3896, 3901, 3907, - 3908, 3911, 3917, 3922, 3932, 3939, 3940, 3941, 3944, 3945, - 3946, 3947, 3950, 3951, 3952, 3955, 3956, 3959, 3963, 3969, - 3970, 3976, 3977, 3980, 3981, 3984, 3987, 3988, 3989, 3992, - 3993, 3994, 3997, 4004, 4005, 4009 + 0, 1549, 1549, 1549, 1560, 1566, 1570, 1575, 1579, 1585, + 1587, 1586, 1600, 1627, 1633, 1637, 1642, 1646, 1652, 1652, + 1656, 1660, 1664, 1668, 1672, 1676, 1680, 1685, 1686, 1690, + 1694, 1698, 1702, 1709, 1712, 1716, 1720, 1724, 1728, 1732, + 1737, 1741, 1748, 1749, 1753, 1757, 1758, 1762, 1766, 1770, + 1774, 1778, 1788, 1787, 1802, 1811, 1812, 1815, 1816, 1823, + 1822, 1837, 1841, 1846, 1850, 1855, 1859, 1864, 1868, 1872, + 1876, 1880, 1886, 1890, 1896, 1897, 1903, 1907, 1911, 1915, + 1919, 1923, 1927, 1931, 1935, 1939, 1945, 1946, 1952, 1956, + 1962, 1966, 1972, 1976, 1980, 1984, 1988, 1992, 1998, 2004, + 2011, 2015, 2019, 2023, 2027, 2031, 2037, 2043, 2048, 2054, + 2058, 2061, 2065, 2069, 2076, 2077, 2078, 2079, 2084, 2091, + 2092, 2095, 2099, 2099, 2105, 2106, 2107, 2108, 2109, 2110, + 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, + 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, + 2131, 2132, 2133, 2134, 2137, 2137, 2137, 2138, 2138, 2139, + 2139, 2139, 2140, 2140, 2140, 2140, 2141, 2141, 2141, 2142, + 2142, 2142, 2143, 2143, 2143, 2143, 2144, 2144, 2144, 2144, + 2145, 2145, 2145, 2145, 2146, 2146, 2146, 2146, 2147, 2147, + 2147, 2147, 2148, 2148, 2151, 2155, 2159, 2163, 2167, 2171, + 2175, 2180, 2185, 2190, 2194, 2198, 2202, 2206, 2210, 2214, + 2218, 2222, 2226, 2230, 2234, 2238, 2242, 2246, 2250, 2254, + 2258, 2262, 2266, 2270, 2274, 2278, 2282, 2286, 2290, 2294, + 2298, 2302, 2306, 2310, 2314, 2318, 2322, 2326, 2330, 2334, + 2338, 2346, 2355, 2364, 2374, 2380, 2381, 2386, 2390, 2397, + 2401, 2409, 2413, 2429, 2455, 2456, 2459, 2460, 2461, 2466, + 2471, 2478, 2484, 2489, 2494, 2499, 2506, 2506, 2517, 2523, + 2527, 2533, 2534, 2537, 2543, 2549, 2554, 2561, 2566, 2571, + 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2589, 2594, + 2593, 2605, 2609, 2604, 2614, 2614, 2618, 2622, 2626, 2630, + 2635, 2640, 2644, 2648, 2652, 2656, 2660, 2661, 2667, 2673, + 2666, 2685, 2693, 2701, 2701, 2701, 2708, 2708, 2708, 2715, + 2721, 2726, 2728, 2725, 2737, 2735, 2753, 2758, 2751, 2775, + 2773, 2789, 2799, 2810, 2814, 2818, 2822, 2828, 2835, 2836, + 2837, 2840, 2841, 2844, 2845, 2853, 2854, 2860, 2864, 2867, + 2871, 2875, 2879, 2884, 2888, 2892, 2896, 2902, 2901, 2911, + 2915, 2919, 2923, 2929, 2934, 2939, 2943, 2947, 2951, 2955, + 2959, 2963, 2967, 2971, 2975, 2979, 2983, 2987, 2991, 2995, + 3001, 3006, 3013, 3013, 3017, 3022, 3029, 3033, 3039, 3040, + 3043, 3048, 3051, 3055, 3061, 3065, 3072, 3071, 3086, 3096, + 3100, 3105, 3112, 3116, 3120, 3124, 3128, 3132, 3136, 3140, + 3144, 3151, 3150, 3165, 3164, 3180, 3188, 3197, 3200, 3207, + 3210, 3214, 3215, 3218, 3222, 3225, 3229, 3232, 3233, 3234, + 3235, 3238, 3239, 3245, 3246, 3247, 3251, 3257, 3258, 3264, + 3269, 3268, 3279, 3283, 3289, 3293, 3299, 3303, 3309, 3312, + 3313, 3316, 3322, 3328, 3329, 3332, 3339, 3338, 3352, 3356, + 3363, 3368, 3375, 3381, 3382, 3383, 3384, 3385, 3389, 3395, + 3399, 3405, 3406, 3407, 3411, 3417, 3421, 3425, 3429, 3433, + 3439, 3443, 3449, 3453, 3457, 3461, 3465, 3469, 3477, 3484, + 3495, 3496, 3500, 3504, 3503, 3519, 3525, 3543, 3563, 3564, + 3570, 3576, 3582, 3589, 3594, 3601, 3605, 3611, 3615, 3621, + 3622, 3625, 3629, 3635, 3639, 3643, 3647, 3653, 3658, 3663, + 3667, 3671, 3675, 3679, 3683, 3687, 3691, 3695, 3699, 3703, + 3707, 3711, 3715, 3720, 3726, 3731, 3736, 3741, 3746, 3753, + 3757, 3764, 3769, 3768, 3780, 3784, 3790, 3798, 3806, 3814, + 3818, 3824, 3828, 3834, 3835, 3838, 3843, 3850, 3851, 3854, + 3860, 3864, 3870, 3875, 3875, 3900, 3901, 3907, 3912, 3918, + 3919, 3922, 3928, 3933, 3943, 3950, 3951, 3952, 3955, 3956, + 3957, 3958, 3961, 3962, 3963, 3966, 3967, 3970, 3974, 3980, + 3981, 3987, 3988, 3991, 3992, 3995, 3998, 3999, 4000, 4003, + 4004, 4005, 4008, 4015, 4016, 4020 }; #endif -/** Accessing symbol of state STATE. */ -#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) - -#if 1 -/* The user-facing name of the symbol whose (internal) number is - YYSYMBOL. No bounds checking. */ -static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; - +#if YYDEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "\"end of file\"", "error", "\"invalid token\"", "keyword_class", - "keyword_module", "keyword_def", "keyword_begin", "keyword_if", - "keyword_unless", "keyword_while", "keyword_until", "keyword_for", - "keyword_undef", "keyword_rescue", "keyword_ensure", "keyword_end", - "keyword_then", "keyword_elsif", "keyword_else", "keyword_case", - "keyword_when", "keyword_break", "keyword_next", "keyword_redo", - "keyword_retry", "keyword_in", "keyword_do", "keyword_do_cond", - "keyword_do_block", "keyword_do_LAMBDA", "keyword_return", - "keyword_yield", "keyword_super", "keyword_self", "keyword_nil", - "keyword_true", "keyword_false", "keyword_and", "keyword_or", - "keyword_not", "modifier_if", "modifier_unless", "modifier_while", - "modifier_until", "modifier_rescue", "keyword_alias", "keyword_BEGIN", - "keyword_END", "keyword__LINE__", "keyword__FILE__", - "keyword__ENCODING__", "tIDENTIFIER", "tFID", "tGVAR", "tIVAR", - "tCONSTANT", "tCVAR", "tLABEL_TAG", "tINTEGER", "tFLOAT", "tCHAR", - "tXSTRING", "tREGEXP", "tSTRING", "tSTRING_PART", "tSTRING_MID", - "tNTH_REF", "tBACK_REF", "tREGEXP_END", "tNUMPARAM", "tUPLUS", "tUMINUS", - "tPOW", "tCMP", "tEQ", "tEQQ", "tNEQ", "tGEQ", "tLEQ", "tANDOP", "tOROP", - "tMATCH", "tNMATCH", "tDOT2", "tDOT3", "tBDOT2", "tBDOT3", "tAREF", - "tASET", "tLSHFT", "tRSHFT", "tCOLON2", "tCOLON3", "tOP_ASGN", "tASSOC", - "tLPAREN", "tLPAREN_ARG", "tRPAREN", "tLBRACK", "tLBRACE", "tLBRACE_ARG", - "tSTAR", "tDSTAR", "tAMPER", "tLAMBDA", "tANDDOT", "tSYMBEG", - "tREGEXP_BEG", "tWORDS_BEG", "tSYMBOLS_BEG", "tSTRING_BEG", - "tXSTRING_BEG", "tSTRING_DVAR", "tLAMBEG", "tHEREDOC_BEG", - "tHEREDOC_END", "tLITERAL_DELIM", "tHD_LITERAL_DELIM", "tHD_STRING_PART", - "tHD_STRING_MID", "tLOWEST", "'='", "'?'", "':'", "'>'", "'<'", "'|'", - "'^'", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "tUMINUS_NUM", "'!'", - "'~'", "tLAST_TOKEN", "'{'", "'}'", "'['", "']'", "','", "'`'", "'('", - "')'", "';'", "'.'", "'\\n'", "$accept", "program", "$@1", - "top_compstmt", "top_stmts", "top_stmt", "@2", "bodystmt", "compstmt", - "stmts", "stmt", "$@3", "command_asgn", "command_rhs", "expr", - "defn_head", "defs_head", "$@4", "expr_value", "command_call", - "block_command", "cmd_brace_block", "$@5", "command", "mlhs", - "mlhs_inner", "mlhs_basic", "mlhs_item", "mlhs_list", "mlhs_post", - "mlhs_node", "lhs", "cname", "cpath", "fname", "fsym", "undef_list", - "$@6", "op", "reswords", "arg", "aref_args", "arg_rhs", "paren_args", - "opt_paren_args", "opt_call_args", "call_args", "command_args", "@7", - "block_arg", "opt_block_arg", "comma", "args", "mrhs", "primary", "@8", - "@9", "$@10", "$@11", "@12", "@13", "$@14", "$@15", "$@16", "$@17", - "$@18", "$@19", "@20", "@21", "@22", "@23", "primary_value", "then", - "do", "if_tail", "opt_else", "for_var", "f_margs", "$@24", - "block_args_tail", "opt_block_args_tail", "block_param", - "opt_block_param", "block_param_def", "$@25", "opt_bv_decl", "bv_decls", - "bvar", "f_larglist", "lambda_body", "do_block", "$@26", "block_call", - "method_call", "brace_block", "@27", "@28", "case_body", "cases", - "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal", "string", - "string_fragment", "string_rep", "string_interp", "@29", "xstring", - "regexp", "heredoc", "heredoc_bodies", "heredoc_body", - "heredoc_string_rep", "heredoc_string_interp", "@30", "words", "symbol", - "basic_symbol", "sym", "symbols", "numeric", "variable", "var_lhs", - "var_ref", "backref", "superclass", "$@31", "f_arglist_paren", - "f_arglist", "f_label", "f_kw", "f_block_kw", "f_block_kwarg", "f_kwarg", - "kwrest_mark", "f_kwrest", "args_tail", "opt_args_tail", "f_args", - "f_bad_arg", "f_norm_arg", "f_arg_item", "@32", "f_arg", "f_opt_asgn", - "f_opt", "f_block_opt", "f_block_optarg", "f_optarg", "restarg_mark", - "f_rest_arg", "blkarg_mark", "f_block_arg", "opt_f_block_arg", - "singleton", "$@33", "assoc_list", "assocs", "label_tag", "assoc", - "operation", "operation2", "operation3", "dot_or_colon", "call_op", - "call_op2", "opt_terms", "opt_nl", "rparen", "trailer", "term", "nl", - "terms", "none", YY_NULLPTR + "$end", "error", "$undefined", "keyword_class", "keyword_module", + "keyword_def", "keyword_begin", "keyword_if", "keyword_unless", + "keyword_while", "keyword_until", "keyword_for", "keyword_undef", + "keyword_rescue", "keyword_ensure", "keyword_end", "keyword_then", + "keyword_elsif", "keyword_else", "keyword_case", "keyword_when", + "keyword_break", "keyword_next", "keyword_redo", "keyword_retry", + "keyword_in", "keyword_do", "keyword_do_cond", "keyword_do_block", + "keyword_do_LAMBDA", "keyword_return", "keyword_yield", "keyword_super", + "keyword_self", "keyword_nil", "keyword_true", "keyword_false", + "keyword_and", "keyword_or", "keyword_not", "modifier_if", + "modifier_unless", "modifier_while", "modifier_until", "modifier_rescue", + "keyword_alias", "keyword_BEGIN", "keyword_END", "keyword__LINE__", + "keyword__FILE__", "keyword__ENCODING__", "\"local variable or method\"", + "\"method\"", "\"global variable\"", "\"instance variable\"", + "\"constant\"", "\"class variable\"", "\"label\"", "\"integer literal\"", + "\"float literal\"", "\"character literal\"", "tXSTRING", "tREGEXP", + "tSTRING", "tSTRING_PART", "tSTRING_MID", "tNTH_REF", "tBACK_REF", + "tREGEXP_END", "\"numbered paraemeter\"", "\"unary plus\"", + "\"unary minus\"", "\"<=>\"", "\"==\"", "\"===\"", "\"!=\"", "\">=\"", + "\"<=\"", "\"&&\"", "\"||\"", "\"=~\"", "\"!~\"", "\"..\"", "\"...\"", + "tBDOT2", "tBDOT3", "tAREF", "tASET", "\"<<\"", "\">>\"", "\"::\"", + "tCOLON3", "tOP_ASGN", "\"=>\"", "tLPAREN", "\"(\"", "\")\"", "\"[\"", + "tLBRACE", "\"{\"", "\"*\"", "tPOW", "\"**\"", "\"&\"", "\"->\"", + "\"&.\"", "\"symbol\"", "\"string literal\"", "tXSTRING_BEG", + "tSTRING_DVAR", "tREGEXP_BEG", "tWORDS_BEG", "tSYMBOLS_BEG", "tLAMBEG", + "\"here document\"", "tHEREDOC_END", "tLITERAL_DELIM", + "tHD_LITERAL_DELIM", "tHD_STRING_PART", "tHD_STRING_MID", "tLOWEST", + "'='", "'?'", "':'", "'>'", "'<'", "'|'", "'^'", "'&'", "'+'", "'-'", + "'*'", "'/'", "'%'", "tUMINUS_NUM", "'!'", "'~'", "tLAST_TOKEN", "'{'", + "'}'", "'['", "']'", "','", "'`'", "'('", "')'", "';'", "'.'", "'\\n'", + "$accept", "program", "$@1", "top_compstmt", "top_stmts", "top_stmt", + "@2", "bodystmt", "compstmt", "stmts", "stmt", "$@3", "command_asgn", + "command_rhs", "expr", "defn_head", "defs_head", "$@4", "expr_value", + "command_call", "block_command", "cmd_brace_block", "$@5", "command", + "mlhs", "mlhs_inner", "mlhs_basic", "mlhs_item", "mlhs_list", + "mlhs_post", "mlhs_node", "lhs", "cname", "cpath", "fname", "fsym", + "undef_list", "$@6", "op", "reswords", "arg", "aref_args", "arg_rhs", + "paren_args", "opt_paren_args", "opt_call_args", "call_args", + "command_args", "@7", "block_arg", "opt_block_arg", "comma", "args", + "mrhs", "primary", "@8", "@9", "$@10", "$@11", "@12", "@13", "$@14", + "$@15", "$@16", "$@17", "$@18", "$@19", "@20", "@21", "@22", "@23", + "primary_value", "then", "do", "if_tail", "opt_else", "for_var", + "f_margs", "$@24", "block_args_tail", "opt_block_args_tail", + "block_param", "opt_block_param", "block_param_def", "$@25", + "opt_bv_decl", "bv_decls", "bvar", "f_larglist", "lambda_body", + "do_block", "$@26", "block_call", "method_call", "brace_block", "@27", + "@28", "case_body", "cases", "opt_rescue", "exc_list", "exc_var", + "opt_ensure", "literal", "string", "string_fragment", "string_rep", + "string_interp", "@29", "xstring", "regexp", "heredoc", "heredoc_bodies", + "heredoc_body", "heredoc_string_rep", "heredoc_string_interp", "@30", + "words", "symbol", "basic_symbol", "sym", "symbols", "numeric", + "variable", "var_lhs", "var_ref", "backref", "superclass", "$@31", + "f_arglist_paren", "f_arglist", "f_label", "f_kw", "f_block_kw", + "f_block_kwarg", "f_kwarg", "kwrest_mark", "f_kwrest", "args_tail", + "opt_args_tail", "f_args", "f_bad_arg", "f_norm_arg", "f_arg_item", + "@32", "f_arg", "f_opt_asgn", "f_opt", "f_block_opt", "f_block_optarg", + "f_optarg", "restarg_mark", "f_rest_arg", "blkarg_mark", "f_block_arg", + "opt_f_block_arg", "singleton", "$@33", "assoc_list", "assocs", + "label_tag", "assoc", "operation", "operation2", "operation3", + "dot_or_colon", "call_op", "call_op2", "opt_terms", "opt_nl", "rparen", + "trailer", "term", "nl", "terms", "none", YY_NULLPTR }; - -static const char * -yysymbol_name (yysymbol_kind_t yysymbol) -{ - return yytname[yysymbol]; -} #endif -#ifdef YYPRINT +# ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_int16 yytoknum[] = @@ -2498,7 +2153,7 @@ static const yytype_int16 yytoknum[] = 45, 42, 47, 37, 376, 33, 126, 377, 123, 125, 91, 93, 44, 96, 40, 41, 59, 46, 10 }; -#endif +# endif #define YYPACT_NINF (-838) @@ -2514,112 +2169,112 @@ static const yytype_int16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -838, 121, 2722, -838, 7590, 9714, 10056, 5898, -838, 9360, - 9360, -838, -838, 9828, 7080, 5633, 7826, 7826, -838, -838, - 7826, 3378, 2970, -838, -838, -838, -838, 113, 7080, -838, - 84, -838, -838, -838, 6040, 2834, -838, -838, 6182, -838, - -838, -838, -838, -838, -838, -838, 52, 9478, 9478, 9478, - 9478, 123, 4892, 1100, 8298, 8652, 7362, -838, 6798, 235, - 1030, 1163, 1204, 90, -838, 370, 9596, 9478, -838, 1086, - -838, 1423, -838, 610, 1382, 1382, -838, -838, 183, 125, - -838, 150, 9942, -838, 197, 12161, 77, 656, 234, 107, - -838, 127, -838, -838, -838, -838, -838, -838, -838, -838, - -838, 81, 230, -838, 285, 106, -838, -838, -838, -838, - -838, 236, 236, 245, 188, 296, -838, 9360, 367, 5011, - 599, 1382, 1382, -838, 267, -838, 760, -838, -838, 106, + -838, 156, 2722, -838, 7591, 9715, 10057, 5899, -838, 9361, + 9361, -838, -838, 9829, 7081, 5634, 7827, 7827, -838, -838, + 7827, 3379, 2971, -838, -838, -838, -838, 26, 7081, -838, + -19, -838, -838, -838, 6041, 2835, -838, -838, 6183, -838, + -838, -838, -838, -838, -838, -838, 190, 9479, 9479, 9479, + 9479, 117, 4893, 1476, 8299, 8653, 7363, -838, 6799, 1151, + 90, 933, 1163, 1181, -838, 164, 9597, 9479, -838, 1086, + -838, 1015, -838, 381, 1948, 1948, -838, -838, 154, 66, + -838, 72, 9943, -838, 116, 12219, 326, 510, 112, 107, + -838, 121, -838, -838, -838, -838, -838, -838, -838, -838, + -838, 47, 206, -838, 205, 119, -838, -838, -838, -838, + -838, 162, 162, 189, 106, 684, -838, 9361, 355, 5012, + 503, 1948, 1948, -838, 212, -838, 559, -838, -838, 119, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, - -838, -838, -838, -838, -838, -838, -838, -838, 48, 168, - 172, 191, -838, -838, -838, -838, -838, -838, 272, 319, - 320, 329, -838, 351, -838, -838, -838, -838, -838, -838, + -838, -838, -838, -838, -838, -838, -838, -838, 31, 100, + 145, 233, -838, -838, -838, -838, -838, -838, 237, 240, + 241, 242, -838, 245, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, - -838, -838, -838, -838, -838, -838, -838, -838, -838, 358, - 4070, 349, 610, 73, 288, 12246, 766, 63, 322, 213, - 73, 9360, 9360, 770, 445, -838, -838, 829, 388, 83, + -838, -838, -838, -838, -838, -838, -838, -838, -838, 248, + 4071, 296, 381, 73, 275, 12343, 569, 201, 331, 351, + 73, 9361, 9361, 656, 374, -838, -838, 751, 415, 83, 124, -838, -838, -838, -838, -838, -838, -838, -838, -838, - 6939, -838, -838, 371, -838, -838, -838, -838, -838, -838, - 1086, -838, 212, -838, 489, -838, -838, 1086, 3106, 9478, - 9478, 9478, 9478, -838, 12184, -838, -838, 374, 466, 374, - -838, -838, -838, 7944, -838, -838, -838, 7826, -838, -838, - -838, 5633, 9360, -838, -838, 391, 5130, -838, 834, 467, - 12265, 12265, 474, 7708, 4892, 397, 1086, 1423, 1086, 433, - -838, 7708, 1086, 418, 1334, 1334, -838, 12184, 425, 1334, - -838, 522, 10170, 458, 855, 881, 941, 1603, -838, -838, - -838, -838, 1244, -838, -838, -838, -838, -838, -838, 534, - 889, -838, -838, 1280, -838, 1283, -838, 1293, -838, 821, - 531, 537, -838, -838, -838, -838, 5395, 9360, 9360, 9360, - 9360, 7708, 9360, 9360, 78, -838, -838, -838, -838, -838, - -838, -838, -838, -838, -838, -838, -838, 1656, 501, 4070, - 9478, -838, 494, 612, 508, -838, 1086, -838, -838, -838, - 528, 9478, -838, 532, 633, 547, 640, -838, 545, 4070, - -838, -838, 8770, -838, 4892, 7476, 564, 8770, 9478, 9478, - 9478, 9478, 9478, 9478, 9478, 9478, 9478, 9478, 9478, 9478, - 9478, 9478, 9478, 658, 9478, 9478, 9478, 9478, 9478, 9478, - 9478, 9478, 9478, 9478, 9478, 10448, -838, 7826, -838, 10534, - -838, -838, 11738, -838, -838, -838, -838, 9596, 9596, -838, - 616, -838, 610, -838, 945, -838, -838, -838, -838, -838, - -838, 10620, 7826, 10706, 4070, 9360, -838, -838, -838, 704, - 716, 295, -838, 4216, 719, 9478, 10792, 7826, 10878, 9478, - 9478, 4508, 607, 607, 128, 10964, 7826, 11050, -838, 676, - -838, 5130, 489, -838, -838, 8888, 731, -838, 534, 9478, - 12246, 12246, 12246, 9478, 776, -838, 8062, -838, 9478, -838, - 8416, 5752, 603, 1086, 374, 374, -838, -838, 825, 606, - -838, -838, 7080, 4627, 625, 10792, 10878, 9478, 1423, 1086, - -838, -838, 5514, 623, 1423, -838, -838, 8534, -838, 1086, - 8652, -838, -838, -838, 945, 150, 10170, -838, 10170, 11136, - 7826, 11222, 1948, -838, -838, -838, 1306, 5130, 534, -838, - -838, -838, -838, -838, -838, -838, 9478, 9478, -838, -838, - -838, -838, -838, -838, -838, -838, -838, -838, 1417, 1086, - 1086, 627, 9478, 755, 12246, 541, -838, -838, -838, 44, - -838, -838, 1948, -838, 12246, 1948, -838, -838, 1746, -838, - -838, 9478, 756, 109, 9478, -838, 11981, 374, -838, 1086, - 10170, 631, -838, -838, -838, 730, 657, 2579, -838, -838, - 998, 302, 467, 10470, 10470, 10470, 10470, 1372, 1372, 10556, - 2464, 10470, 10470, 12265, 12265, 926, 926, -838, 11919, 1372, - 1372, 1054, 1054, 570, 216, 216, 467, 467, 467, 3514, - 6538, 3786, 6656, -838, 236, -838, 639, 374, 481, -838, - 485, -838, -838, 3242, -838, -838, 2460, 109, 109, -838, - 11810, -838, -838, -838, -838, -838, 1086, 9360, 4070, 446, - 193, -838, 236, 641, 236, 775, 825, 7221, -838, 9006, - 779, -838, 706, -838, 6300, 6419, 652, 303, 441, 779, - -838, -838, -838, -838, 19, 99, 661, 134, 135, 9360, - 7080, 666, 795, 12246, 94, -838, 534, 12246, 12246, 534, - 9478, 12184, -838, 374, 12246, -838, -838, -838, -838, 8180, - 8416, -838, -838, -838, 679, -838, -838, 352, 1423, 1086, - 1334, 564, -838, 446, 193, 678, 524, 684, 681, 88, - -838, 687, -838, 467, 467, -838, 1066, 1086, 692, -838, - -838, 1724, 11831, -838, 782, -838, 508, -838, -838, -838, - 699, 702, 703, -838, 705, 782, 703, 11900, -838, -838, - 1948, 4070, -838, -838, 12000, 9124, -838, -838, 10170, 7708, - 9596, 9478, 11308, 7826, 11394, 105, 9596, 9596, -838, 616, - 486, 8062, 9596, 9596, -838, 616, 107, 183, 4070, 5130, - 109, -838, 1086, 841, -838, -838, -838, -838, 11981, -838, - 773, -838, 4773, 835, -838, 9360, 857, -838, 9478, 9478, - 452, 9478, 9478, 858, 5276, 5276, 145, 607, -838, -838, - -838, 9242, 4362, 534, 12246, -838, 5752, 374, -838, -838, - -838, 788, 725, 732, 4070, 5130, -838, -838, -838, 735, - -838, 1782, 1086, 9478, -838, 1948, -838, 1746, -838, 1746, - -838, 1746, -838, -838, 9478, -838, 681, 681, 10284, -838, - 741, 508, 745, 10284, -838, 747, 748, -838, 883, 9478, - 12071, -838, -838, 12246, 3650, 3922, 758, 505, 518, 9478, - 9478, -838, -838, -838, -838, -838, 9596, -838, -838, -838, - -838, -838, -838, -838, 887, 764, 5130, 4070, -838, -838, - 10398, 73, -838, -838, 5276, -838, -838, 73, -838, 9478, - -838, 890, 896, -838, 12246, 161, -838, 8416, -838, 1570, - 906, 790, 1321, 1321, 1186, -838, 12246, 703, 785, 703, - 703, 12246, 805, 806, 878, 1104, 541, -838, -838, 1221, - -838, 1104, 1948, -838, 1746, -838, -838, 12090, 519, 12246, - 12246, -838, -838, -838, -838, 797, 927, 886, -838, 1109, - 881, 941, 4070, -838, 4216, -838, -838, 5276, -838, -838, - -838, -838, 163, -838, -838, -838, -838, 803, 803, 1321, - 807, -838, 1746, -838, -838, -838, -838, -838, -838, 11480, - -838, 508, 541, -838, -838, 810, 814, 815, -838, 817, - 815, -838, -838, 945, 11566, 7826, 11652, 716, 706, 932, - 1570, -838, 1321, 803, 1321, 703, 804, 833, -838, 1948, - -838, 1746, -838, 1746, -838, 1746, -838, -838, 446, 193, - 842, 85, 453, -838, -838, -838, -838, 803, -838, 815, - 845, 815, 815, 788, -838, 1746, -838, -838, -838, 815, + 6940, -838, -838, 300, -838, -838, -838, -838, -838, -838, + 1086, -838, 309, -838, 429, -838, -838, 1086, 3107, 9479, + 9479, 9479, 9479, -838, 12281, -838, -838, 325, 441, 325, + -838, -838, -838, 7945, -838, -838, -838, 7827, -838, -838, + -838, 5634, 9361, -838, -838, 371, 5131, -838, 780, 433, + 12405, 12405, 408, 7709, 4893, 392, 1086, 1015, 1086, 422, + -838, 7709, 1086, 410, 1534, 1534, -838, 12281, 428, 1534, + -838, 499, 10171, 437, 805, 843, 846, 2048, -838, -838, + -838, -838, 1206, -838, -838, -838, -838, -838, -838, 629, + 1244, -838, -838, 223, -838, 1079, -838, 1299, -838, 1320, + 483, 489, -838, -838, -838, -838, 5396, 9361, 9361, 9361, + 9361, 7709, 9361, 9361, 78, -838, -838, -838, -838, -838, + -838, -838, -838, -838, -838, -838, -838, 2160, 465, 4071, + 9479, -838, 456, 544, 461, -838, 1086, -838, -838, -838, + 470, 9479, -838, 480, 575, 494, 609, -838, 542, 4071, + -838, -838, 8771, -838, 4893, 7477, 520, 8771, 9479, 9479, + 9479, 9479, 9479, 9479, 9479, 9479, 9479, 9479, 9479, 9479, + 9479, 9479, 619, 9479, 9479, 9479, 9479, 9479, 9479, 9479, + 9479, 9479, 9479, 9479, 9479, 10449, -838, 7827, -838, 10535, + -838, -838, 11739, -838, -838, -838, -838, 9597, 9597, -838, + 567, -838, 381, -838, 882, -838, -838, -838, -838, -838, + -838, 10621, 7827, 10707, 4071, 9361, -838, -838, -838, 669, + 676, 384, -838, 4217, 675, 9479, 10793, 7827, 10879, 9479, + 9479, 4509, 607, 607, 128, 10965, 7827, 11051, -838, 637, + -838, 5131, 429, -838, -838, 8889, 704, -838, 629, 9479, + 12343, 12343, 12343, 9479, 200, -838, 8063, -838, 9479, -838, + 8417, 5753, 579, 1086, 325, 325, -838, -838, 887, 584, + -838, -838, 7081, 4628, 596, 10793, 10879, 9479, 1015, 1086, + -838, -838, 5515, 581, 1015, -838, -838, 8535, -838, 1086, + 8653, -838, -838, -838, 882, 72, 10171, -838, 10171, 11137, + 7827, 11223, 1603, -838, -838, -838, 1327, 5131, 629, -838, + -838, -838, -838, -838, -838, -838, 9479, 9479, -838, -838, + -838, -838, -838, -838, -838, -838, -838, -838, 1196, 1086, + 1086, 597, 9479, 728, 12343, 541, -838, -838, -838, 197, + -838, -838, 1603, -838, 12343, 1603, -838, -838, 1780, -838, + -838, 9479, 736, 226, 9479, -838, 11935, 325, -838, 1086, + 10171, 617, -838, -838, -838, 716, 643, 1675, -838, -838, + 998, 402, 2403, 2403, 2403, 2403, 1997, 1997, 12485, 12423, + 2403, 2403, 12405, 12405, 1386, 1386, -838, 433, 11873, 1997, + 1997, 1322, 1322, 1401, 570, 570, 433, 433, 433, 3515, + 6539, 3787, 6657, -838, 162, -838, 628, 325, 481, -838, + 485, -838, -838, 3243, -838, -838, 1330, 226, 226, -838, + 2516, -838, -838, -838, -838, -838, 1086, 9361, 4071, 739, + 469, -838, 162, 630, 162, 755, 887, 7222, -838, 9007, + 760, -838, 522, -838, 6301, 6420, 632, 421, 424, 760, + -838, -838, -838, -838, 19, 99, 634, 134, 135, 9361, + 7081, 641, 767, 12343, 94, -838, 629, 12343, 12343, 629, + 9479, 12281, -838, 325, 12343, -838, -838, -838, -838, 8181, + 8417, -838, -838, -838, 651, -838, -838, 207, 1015, 1086, + 1534, 520, -838, 739, 469, 652, 788, 800, 649, 88, + -838, 663, -838, 433, 433, -838, 1066, 1086, 668, -838, + -838, 2202, 2579, -838, 748, -838, 461, -838, -838, -838, + 677, 692, 697, -838, 703, 748, 697, 11811, -838, -838, + 1603, 4071, -838, -838, 12006, 9125, -838, -838, 10171, 7709, + 9597, 9479, 11309, 7827, 11395, 138, 9597, 9597, -838, 567, + 486, 8063, 9597, 9597, -838, 567, 107, 154, 4071, 5131, + 226, -838, 1086, 803, -838, -838, -838, -838, 11935, -838, + 754, -838, 4774, 835, -838, 9361, 836, -838, 9479, 9479, + 472, 9479, 9479, 842, 5277, 5277, 137, 607, -838, -838, + -838, 9243, 4363, 629, 12343, -838, 5753, 325, -838, -838, + -838, 273, 717, 715, 4071, 5131, -838, -838, -838, 721, + -838, 1410, 1086, 9479, -838, 1603, -838, 1780, -838, 1780, + -838, 1780, -838, -838, 9479, -838, 649, 649, 10285, -838, + 723, 461, 725, 10285, -838, 729, 730, -838, 858, 9479, + 12077, -838, -838, 12343, 3651, 3923, 734, 519, 537, 9479, + 9479, -838, -838, -838, -838, -838, 9597, -838, -838, -838, + -838, -838, -838, -838, 867, 750, 5131, 4071, -838, -838, + 10399, 73, -838, -838, 5277, -838, -838, 73, -838, 9479, + -838, 872, 879, -838, 12343, 416, -838, 8417, -838, 1656, + 884, 761, 1429, 1429, 1186, -838, 12343, 697, 764, 697, + 697, 12343, 776, 777, 852, 1009, 541, -838, -838, 1724, + -838, 1009, 1603, -838, 1780, -838, -838, 12148, 547, 12343, + 12343, -838, -838, -838, -838, 772, 898, 862, -838, 1042, + 843, 846, 4071, -838, 4217, -838, -838, 5277, -838, -838, + -838, -838, 267, -838, -838, -838, -838, 779, 779, 1429, + 787, -838, 1780, -838, -838, -838, -838, -838, -838, 11481, + -838, 461, 541, -838, -838, 789, 792, 795, -838, 797, + 795, -838, -838, 882, 11567, 7827, 11653, 676, 522, 926, + 1656, -838, 1429, 779, 1429, 697, 798, 799, -838, 1603, + -838, 1780, -838, 1780, -838, 1780, -838, -838, 739, 469, + 808, 85, 453, -838, -838, -838, -838, 779, -838, 795, + 804, 795, 795, 273, -838, 1780, -838, -838, -838, 795, -838 }; @@ -2645,8 +2300,8 @@ static const yytype_int16 yydefact[] = 187, 180, 170, 169, 185, 168, 167, 163, 188, 162, 175, 179, 181, 173, 166, 182, 189, 184, 183, 176, 186, 171, 160, 178, 177, 159, 157, 158, 154, 155, - 156, 114, 116, 115, 149, 150, 145, 127, 128, 129, - 136, 133, 135, 130, 131, 151, 152, 137, 138, 142, + 156, 114, 116, 115, 149, 150, 127, 128, 129, 136, + 133, 135, 130, 131, 151, 152, 137, 138, 142, 145, 146, 132, 134, 124, 125, 126, 139, 140, 141, 143, 144, 147, 148, 153, 563, 51, 117, 118, 562, 0, 0, 0, 54, 0, 0, 50, 0, 482, 0, 286, @@ -2660,16 +2315,16 @@ static const yytype_int16 yydefact[] = 205, 208, 298, 0, 0, 0, 591, 15, 591, 74, 14, 0, 591, 0, 596, 596, 245, 0, 0, 596, 565, 0, 0, 82, 0, 92, 99, 533, 465, 464, - 466, 467, 0, 463, 462, 446, 440, 439, 442, 0, - 0, 437, 458, 0, 469, 0, 435, 0, 444, 0, + 466, 467, 0, 463, 462, 435, 440, 439, 442, 0, + 0, 437, 444, 0, 446, 0, 458, 0, 469, 0, 473, 474, 49, 232, 233, 4, 592, 0, 0, 0, 0, 0, 0, 0, 540, 536, 535, 534, 537, 538, - 509, 542, 554, 510, 558, 557, 553, 533, 498, 0, + 542, 554, 509, 510, 558, 557, 553, 533, 498, 0, 502, 507, 605, 512, 605, 532, 0, 539, 541, 544, 518, 0, 551, 518, 556, 518, 0, 516, 498, 0, 396, 398, 0, 88, 0, 80, 77, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, - 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 204, 207, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 588, 605, 587, 0, 590, 589, 0, 413, 411, 307, 432, 0, 0, 402, 61, 305, 326, 109, 110, 111, 473, 474, 498, 493, @@ -2683,14 +2338,14 @@ static const yytype_int16 yydefact[] = 296, 13, 592, 73, 292, 295, 299, 598, 246, 597, 598, 248, 300, 566, 98, 90, 0, 85, 0, 0, 605, 0, 533, 309, 393, 468, 0, 0, 443, 449, - 447, 438, 459, 470, 436, 445, 0, 0, 7, 21, + 436, 438, 445, 447, 459, 470, 0, 0, 7, 21, 22, 23, 24, 25, 46, 47, 500, 546, 0, 591, 591, 518, 0, 0, 501, 0, 514, 561, 511, 0, 515, 499, 0, 525, 547, 0, 528, 555, 0, 530, 559, 0, 0, 605, 0, 28, 30, 0, 31, 591, 0, 78, 89, 44, 34, 42, 0, 249, 194, 29, - 0, 286, 214, 222, 227, 228, 229, 224, 226, 236, - 237, 230, 231, 203, 206, 234, 235, 32, 593, 223, + 0, 286, 222, 227, 228, 229, 224, 226, 236, 237, + 230, 231, 203, 206, 234, 235, 32, 214, 593, 223, 225, 219, 220, 221, 209, 210, 211, 212, 213, 578, 583, 579, 584, 407, 266, 405, 0, 605, 578, 580, 579, 581, 406, 266, 578, 579, 266, 605, 605, 35, @@ -2740,23 +2395,23 @@ static const yytype_int16 yydefact[] = /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -838, -838, -838, 476, -838, 53, -838, -318, 202, -838, + -838, -838, -838, 440, -838, 53, -838, -318, 202, -838, 75, -838, -211, -338, 757, 82, 152, -838, -6, -30, - -838, -542, -838, 30, 977, -214, -3, -37, -221, -466, - -29, 1575, -53, 987, 9, -21, -838, -838, 15, -838, - 1144, -838, 347, 64, -113, -369, 96, 89, -838, -374, + -838, -616, -838, 30, 941, -214, -3, -37, -221, -466, + -29, 1575, -53, 950, 9, -21, -838, -838, 15, -838, + 1144, -838, 347, 64, -252, -369, 96, 89, -838, -374, -227, -119, 98, -371, 192, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, -838, - -838, 8, -190, -458, -10, -611, -838, -838, -838, 227, - 282, -838, -561, -838, -838, -123, -838, -17, -838, -838, - 214, -838, -838, -838, -83, -838, -838, -474, -838, 0, + -838, 8, -190, -458, -61, -611, -838, -838, -838, 199, + 282, -838, -561, -838, -838, -219, -838, -60, -838, -838, + 174, -838, -838, -838, -83, -838, -838, -474, -838, -58, -838, -838, -838, -838, -838, -15, 43, -193, -838, -838, - -838, -838, -413, -268, -838, 767, -838, -838, -838, 40, - -838, -838, -838, 1599, 1788, 1003, 1376, -838, -838, 685, - 309, 42, 443, 76, -838, -838, -838, 284, 7, -242, - -247, -837, -662, -218, -838, 270, -639, -551, -833, 80, + -838, -838, -413, -268, -838, 722, -838, -838, -838, 40, + -838, -838, -838, 1599, 1788, 966, 1376, -838, -838, 578, + 259, 42, 401, 35, -838, -838, -838, 284, 7, -242, + -247, -837, -662, -218, -838, 270, -639, -551, -805, 28, -541, -838, -519, -838, 271, -363, -838, -838, -838, 39, - 762, -468, 615, 647, -838, -838, -50, -838, 33, -7, + 735, -468, 615, 647, -838, -838, -50, -838, 33, -7, 582, -274, -90, -24, -36, -2 }; @@ -2799,186 +2454,186 @@ static const yytype_int16 yytable[] = 519, 375, 375, 673, 849, 274, 279, 121, 121, 462, 314, 536, 984, 305, 309, 121, 798, 799, 686, 659, 662, -102, 345, 333, 335, 337, 339, 696, -100, 278, - 462, 280, 265, 271, 267, 267, 272, 844, 267, 1008, - 570, 3, 712, 464, -105, 216, 712, 87, 375, 375, - 464, 873, 433, 433, 777, 566, 675, 551, 121, -484, - 551, 586, 551, 589, 551, -481, 551, 364, 496, -107, - 500, 338, 304, -106, 326, 327, -480, 122, 122, -102, - -104, -95, 889, -578, 121, 122, 468, 487, -337, 439, - -101, 735, 365, -108, -480, 274, 279, 477, 292, 812, - 599, 485, -337, 984, -100, 527, 603, 42, 245, 769, - 43, 246, 247, 439, 440, -484, 1008, 125, 125, 567, - -102, 845, -100, -102, -102, 125, 328, 329, 122, 245, - 760, 390, 246, 247, -575, 472, 473, -337, 87, 248, - 549, 249, 286, -92, -337, -92, 603, 603, 890, 216, - 216, -102, 761, -102, 122, 770, 494, 62, 516, 906, - 248, -97, 249, -579, 434, 434, 392, 895, 125, 323, - 273, 876, 715, 901, 295, 206, 487, 281, 268, -483, - 522, 249, 268, -485, 541, 497, -99, 497, 529, 529, - -98, 506, 990, 529, 125, 535, -94, -96, 499, -475, - 742, 216, -486, 482, -297, 216, 581, -93, 398, 216, - 216, 299, 393, -475, 87, 738, 833, 325, -297, 326, - 327, 87, 87, 263, 763, 1020, 470, 263, 809, 87, - 873, 249, 881, 873, 978, -483, 269, 536, 397, -485, - 314, 295, -576, 437, 375, 430, -575, 483, -475, 521, - 246, 247, -575, -297, -107, -475, 938, -579, -486, 426, - -297, 559, 560, 561, 562, 712, 712, 422, 423, 424, - 803, 328, 329, 551, 87, 216, 216, 216, 216, 87, - 216, 216, 595, -488, 759, 546, 601, 605, 518, 923, - 577, 504, 577, 507, 375, 267, 524, 87, 438, 536, - 273, 428, 692, 692, 389, 719, 720, -479, 517, 281, - 873, 299, 449, 854, 121, 438, 821, 87, 671, 558, - 216, -479, 87, 314, 461, 610, -107, 605, 605, 465, - -487, -489, 268, 478, 886, 469, -106, 712, 443, -488, - -475, 71, 444, -107, -102, 506, 563, -99, 340, 341, - 1006, 389, 487, 1009, -576, 216, -479, 268, 742, 487, - -576, 549, -479, -479, 651, 610, 610, 651, 891, 456, + 462, 280, 265, 271, 267, 267, 272, 844, 267, 286, + 570, -484, 712, 464, -105, 216, 712, 87, 375, 375, + 464, 873, -575, 433, 777, 566, 675, 551, 121, -480, + 551, 586, 551, 589, 551, 433, 551, 1008, 496, -107, + 500, 332, 304, -106, 326, 327, 3, 122, 122, -102, + -104, -95, -101, -578, 121, 122, 468, 487, -100, 439, + 281, 735, 292, 895, 249, 274, 279, 477, -484, 901, + 599, 42, 390, 984, 43, 527, 603, 392, 245, -92, + -483, 246, 247, 439, 440, 889, -475, 125, 125, 567, + -102, 845, 430, -102, -102, 125, 328, 329, 122, 245, + 760, -475, 246, 247, 393, 472, 473, 426, 87, 248, + 549, 249, 340, 341, 1008, -92, 603, 603, 59, 216, + 216, -102, 761, -102, 122, -485, 494, 397, 516, 906, + 248, -97, 249, -579, -575, 434, -475, -483, 125, 323, + -575, 876, 715, -475, 295, 206, 487, 434, 268, 428, + 522, 890, 268, 273, 541, 497, -99, 497, 529, 529, + -98, 506, 990, 529, 125, 535, -94, -96, 499, -93, + 742, 216, -481, 482, 552, 216, 581, 326, 327, 216, + 216, 299, -485, -480, 87, 738, 833, 438, 437, -410, + 364, 87, 87, 263, 763, 769, 273, 263, 809, 87, + 873, -108, 881, 873, 978, -593, 269, 536, -593, -593, + 314, 295, -100, -486, 375, 365, -107, -488, -73, 521, + -487, -489, -475, 281, 389, -479, 938, 449, 456, 328, + 329, 559, 560, 561, 562, 712, 712, -99, 249, -87, + 803, 461, 770, 551, 87, 216, 216, 216, 216, 87, + 216, 216, 595, -410, 759, 546, 601, 605, 518, 923, + 577, 504, 577, 507, 375, 267, 524, 87, -410, 536, + -486, 389, 692, 692, -488, 719, 720, -487, -489, -475, + 873, 299, -479, 854, 121, 457, 465, 87, 671, 558, + 216, 794, 87, 314, 796, 610, 443, 605, 605, 1020, + 444, -410, 268, -410, 886, 249, -337, 712, 352, 353, + -410, 71, 794, 469, 483, 506, 563, 246, 247, 474, + 1006, -337, 487, 1009, 812, 216, 485, 268, 742, 487, + 478, 549, 480, 470, 651, 610, 610, 651, 891, 485, 506, 979, 268, 878, 897, 899, 840, 263, 681, 715, - 216, 268, 87, 216, 122, 506, -487, -489, 651, -104, - 283, 87, -582, -73, 506, 216, -475, 121, 775, 87, + 216, 268, 87, 216, 122, 506, -337, 494, 651, -104, + 283, 87, -107, -337, 506, 216, 517, 121, 775, 87, 904, 268, 263, 651, 216, 268, 835, 709, 514, 87, - 597, 723, 651, 652, -87, 597, 295, 263, -479, 731, - 474, 535, 497, 497, 125, 457, 263, 947, 948, 485, - 1050, 106, 268, 480, 832, 268, 494, 652, 856, 858, - 860, 87, 862, 488, 863, 268, 930, 206, 791, 513, - 87, 651, 652, 759, 822, 713, 718, -582, 506, 398, - 794, 652, 520, 796, 314, 919, 314, 122, 216, 375, - -578, -582, 244, 712, -72, 87, 651, 536, 961, 526, - 784, 794, -104, 535, 532, 742, 730, 517, -104, 603, - 263, -104, -104, -101, 792, 603, 801, 534, 793, 896, - 652, 603, 603, 704, -582, 831, -582, 125, 71, 966, - -578, 773, 754, -582, 500, -106, 295, 728, 792, -104, - 538, -104, -102, 556, 283, 652, -104, -101, 314, 557, - 835, 793, 896, 360, 464, -578, -98, 105, 121, 105, - 121, 785, 572, -94, 105, 105, -102, -96, -93, -578, - 105, 105, 105, 759, 690, 105, 575, 571, 1028, -104, - -101, 759, 398, 363, 364, 497, 1040, 352, 353, 245, - 579, 278, 246, 247, 278, 773, 773, 446, 447, 411, - 412, 802, -578, 578, -578, 682, 591, 105, -578, 365, - 582, -578, 278, 689, 585, 216, 87, 811, 814, 828, - 814, 105, 121, 701, 587, 603, 807, 814, 122, 588, - 122, 590, 206, 827, 529, 991, 993, 994, 995, 420, - 421, 422, 423, 424, 268, 268, 602, 216, 788, 627, - -579, 497, 908, 902, 283, 206, 664, 274, 927, 678, - 274, 972, 245, 815, 812, 246, 247, 974, 125, 679, - 125, 759, 105, 789, 105, 683, 788, 692, 274, 545, - 244, 535, 795, 942, 943, 797, 705, 425, 717, 741, - 605, 722, 122, 248, 577, 249, 605, 893, 837, 368, - 388, 426, 605, 605, 725, -87, 212, 212, 268, 751, - 753, 768, 212, 778, 779, -579, 268, 597, 780, 87, - 790, 506, 804, 1048, 661, 663, 314, 87, 610, -579, - 805, 216, 125, 820, 610, 216, 427, 812, 773, 651, - 610, 610, 826, 428, 759, 829, 87, 87, 912, 917, - 830, 916, 868, 263, -410, 759, 661, 663, 838, 841, - 87, 464, -579, 216, -579, 105, 847, 464, -579, 249, - 837, -579, 87, 87, 851, 497, 105, 105, 748, 566, - 87, 855, 283, 283, 857, 859, 757, 861, 652, 914, - 757, 451, 87, 87, 882, 762, 909, 466, 766, 756, - 121, -287, 352, 353, 726, 426, 605, 910, 577, 577, - 928, 426, 918, 920, 442, -287, 945, 933, 929, -410, - 523, 951, 555, 946, 525, 326, 327, 949, 105, 952, - 954, -593, 105, -410, -593, -593, 105, 105, 956, 958, - 452, 105, 963, 964, 610, 975, 467, 428, 105, 105, - -287, 976, 268, 428, 87, 87, 105, -287, 969, 1016, - 475, 985, 87, 814, 249, 515, -410, 992, -410, 986, - 122, 996, 997, 998, 426, -410, 1011, 328, 329, 426, - 245, 1013, 1012, 246, 247, 1022, 539, 1045, -578, 1024, - 121, 550, 1029, 326, 327, 121, 1031, 1033, 283, 1035, - 426, 105, 105, 105, 105, 105, 105, 105, 105, 476, - 125, 248, -482, 249, 467, 1021, 428, -579, 212, 212, - 87, 428, 87, 1053, 105, 87, -482, 1055, 868, 724, - 225, 868, 121, 130, 868, 540, 868, 865, 398, 577, - 268, 905, 428, 1046, 105, 328, 329, 105, 1044, 105, - 208, 903, 105, 506, 913, 681, 814, 1043, 755, 484, - 122, -482, 1000, 216, 0, 122, 921, 922, -482, 1005, - 498, 651, -286, 0, 925, 0, -298, 0, 508, 511, - 872, 877, 105, 0, 868, 263, -286, 931, 0, 0, - -298, 0, 105, 105, 871, 420, 421, 422, 423, 424, + 597, 723, 651, 652, 438, 597, 295, 263, 488, 731, + 517, 535, 497, 497, 125, -106, 263, 947, 948, 513, + 1050, 106, 268, 821, 832, 268, 822, 652, 856, 858, + 860, 87, 862, -107, 863, 268, 930, 206, 791, -106, + 87, 651, 652, 759, 413, 713, 718, 520, 506, 815, + 812, 652, -102, -72, 314, -104, 314, 122, 216, 375, + -98, 526, 244, 712, 534, 87, 651, 536, 961, -297, + 784, 446, 447, 535, 919, 742, 730, 532, -104, 603, + 263, -104, -104, 792, -297, 603, 801, 793, 896, 538, + 652, 603, 603, 704, 556, 831, 572, 125, 71, 966, + 557, 773, 754, -101, 500, 578, 295, 728, 575, -104, + 425, -104, -102, 579, 283, 652, -104, -101, 314, -297, + 835, 792, 582, -579, 464, 426, -297, 105, 121, 105, + 121, 785, 585, -94, 105, 105, 587, -96, -93, 793, + 105, 105, 105, 759, 690, 105, 588, 571, 1028, 896, + -102, 759, 362, 363, 364, 497, 1040, 942, 943, 451, + 427, 278, 368, 388, 278, 773, 773, 428, -104, 466, + 590, 802, 602, 591, 426, 682, 664, 105, -101, 365, + 626, 413, 278, 689, 426, 216, 87, 811, 814, 828, + 814, 105, 121, 701, 678, 603, 807, 814, 122, 679, + 122, 683, 206, 827, 529, 991, 993, 994, 995, 452, + 545, 422, 423, 424, 268, 268, 428, 216, 788, 467, + -576, 497, 908, 902, 283, 206, 428, 274, 927, 705, + 274, 972, 245, -87, 717, 246, 247, 974, 125, 722, + 125, 759, 105, 789, 105, 725, 788, 692, 274, 751, + 244, 535, 795, 753, 245, 797, -287, 246, 247, 741, + 605, 768, 122, 248, 577, 249, 605, 893, 837, 778, + 779, -287, 605, 605, 780, -582, 212, 212, 268, 790, + 805, 804, 212, 820, -479, 826, 268, 597, 812, 87, + 829, 506, 830, 1048, 661, 663, 314, 87, 610, -479, + 838, 216, 125, 841, 610, 216, -287, 249, 773, 651, + 610, 610, 847, -287, 759, 566, 87, 87, 912, 917, + 851, 916, 868, 263, -578, 759, 661, 663, 909, 855, + 87, 464, -576, 216, -479, 105, -579, 464, -576, -582, + 837, -479, 87, 87, 857, 497, 105, 105, 748, 859, + 87, 475, 283, 283, -582, 861, 757, 910, 652, 914, + 757, 918, 87, 87, 882, 762, 426, 920, 766, 756, + 121, 929, 928, 933, 726, 946, 605, 949, 577, 577, + 515, 952, 954, 956, 442, 958, 945, -582, -578, -582, + 523, 951, 963, -578, 525, 426, -582, 975, 105, 964, + -579, 476, 105, -578, 976, 539, 105, 105, 428, 985, + 986, 105, 996, 997, 610, -579, 992, 998, 105, 105, + 426, 1011, 268, 1012, 87, 87, 105, 1013, 969, 1016, + 467, 1022, 87, 814, 352, 353, -578, 428, -578, 1024, + 122, 1029, -578, -482, 1031, -578, -286, 1033, -579, 1035, + -579, 1045, -578, -579, -579, 540, 1055, -579, -482, 1053, + 121, -286, 428, 724, 225, 121, 130, 1044, 283, 1043, + 1046, 105, 105, 105, 105, 105, 105, 105, 105, 865, + 125, 903, -298, 208, 484, 1021, 755, 1005, 212, 212, + 87, 1000, 87, -482, 105, 87, -286, -298, 868, 0, + -482, 868, 121, -286, 868, 334, 868, 326, 327, 577, + 268, 905, 245, 498, 105, 246, 247, 105, 0, 105, + 0, 0, 105, 506, 913, 681, 814, 0, 0, 0, + 122, 0, -298, 216, 0, 122, 921, 922, 0, -298, + 0, 651, 0, 248, 925, 249, 0, 0, 508, 511, + 872, 877, 105, 0, 868, 263, 0, 931, 0, 328, + 329, 0, 105, 105, 871, 347, 348, 349, 350, 351, 125, 0, 122, 0, 0, 125, 0, 105, 0, 105, 105, 868, 644, 868, 0, 868, 653, 868, 105, 656, - 652, -286, 105, 716, 0, -298, 105, 0, -286, 782, - 721, 105, -298, 332, 326, 327, 105, 868, 0, 0, + 652, 0, 105, 716, 0, 0, 105, 0, 782, 0, + 721, 105, 0, 0, 0, 0, 105, 868, 0, 999, 674, 727, 125, 426, 212, 212, 212, 212, 965, 564, - 565, 0, 0, 644, 0, 653, 973, 745, 0, 355, - 356, 357, 358, 0, 674, 937, 398, 939, 105, 0, - 0, 940, 0, 892, 894, 359, 0, 105, 783, 898, - 900, 0, 0, 411, 412, 428, 328, 329, 0, 0, - 0, 749, 750, 215, 215, 105, 0, 953, 955, 215, + 565, 0, 0, 644, 426, 653, 973, 745, 0, 355, + 356, 357, 358, 0, 674, 937, 0, 939, 105, 0, + 0, 940, 1014, 892, 894, 359, 0, 105, 783, 898, + 900, 553, 0, 326, 327, 428, 0, 426, 0, 452, + 0, 749, 750, 215, 215, 105, 428, 953, 955, 215, 264, 264, 105, 674, 264, 892, 894, 0, 898, 900, 0, 0, 0, 0, 1017, 0, 1018, 0, 0, 1019, - 0, 776, 419, 420, 421, 422, 423, 424, 674, 0, - 0, 287, 289, 290, 291, 999, 0, 0, 264, 307, - 1014, 245, 987, 988, 246, 247, 0, 0, 848, 426, - 343, 344, 676, 0, 426, -294, 0, 757, -294, -294, - 877, 0, 1007, 877, 1010, 877, 334, 326, 327, 0, + 0, 776, 1015, 0, 0, 0, 0, 0, 674, 428, + 0, 287, 289, 290, 291, 328, 329, 0, 264, 307, + 0, 245, 987, 988, 246, 247, 0, 0, 848, 0, + 343, 344, 676, 0, 325, 326, 327, 757, 0, 0, + 877, 0, 1007, 877, 1010, 877, 336, 326, 327, 0, 1001, 1004, 248, 871, 249, 0, 871, 745, 871, 355, - 356, 357, 358, 962, 452, -294, -294, 0, -294, 1015, - 0, 428, 0, 0, 0, 359, 428, 0, 806, 1023, - 0, 215, 1025, 0, 0, 0, 962, 336, 326, 327, - 0, 0, 354, 877, 355, 356, 357, 358, 0, 328, + 356, 357, 358, 962, 338, 326, 327, 745, 0, 355, + 356, 357, 358, 0, 0, 359, 0, 0, 806, 1023, + 0, 215, 1025, 0, 0, 359, 962, 328, 329, 545, + 326, 327, 0, 877, 0, 0, 0, 0, 0, 328, 329, 0, 105, 105, 0, 0, 871, 1030, 1032, 1034, - 359, 1036, 1037, 360, 1047, 0, 0, 0, 0, 1049, - 877, 1051, 877, 0, 877, 1052, 877, 545, 326, 327, - 0, 839, 0, 871, 105, 871, 361, 871, 0, 871, - 328, 329, 362, 363, 364, 1059, 877, 0, 989, 850, - 0, 1054, 1056, 1057, 1058, 0, 0, 0, 0, 871, - 0, 1060, 0, 552, 326, 327, 553, 326, 327, 365, - 0, 0, 366, 0, 0, 0, 554, 326, 327, 0, - 328, 329, 0, 1002, 0, 215, 215, 0, 0, 740, - 326, 327, 745, 0, 355, 356, 357, 358, 104, 0, - 104, 128, 128, 0, 0, 0, 105, 0, 0, 230, - 359, 0, 0, 0, 105, 105, 328, 329, 105, 328, - 329, 105, 105, 490, 491, 492, 343, 105, 105, 328, - 329, 0, 0, 105, 105, 0, 361, 264, 926, 0, - 0, 264, 328, 329, 212, 215, 215, 105, 104, 644, - 105, 653, 316, 354, 935, 355, 356, 357, 358, 105, - 105, 0, 0, 0, 398, 0, 0, 105, 0, 245, - 0, 359, 246, 247, 360, 0, 212, 0, 316, 105, - 105, 411, 412, 347, 348, 349, 350, 351, 745, 0, - 355, 356, 357, 358, 0, 0, 494, 361, 0, 0, - 248, 0, 249, 362, 363, 364, 359, 0, 0, 0, - 0, 215, 215, 215, 215, 104, 215, 215, 417, 418, - 419, 420, 421, 422, 423, 424, 0, 0, 0, 0, - 365, 105, 361, 366, 574, 0, 0, 0, 746, 0, - 0, 105, 105, 0, 0, 584, 367, 0, 0, 105, - 0, 0, 0, 0, 0, 0, 596, 0, 0, 0, + 360, 1036, 1037, 0, 1047, 0, 746, 328, 329, 1049, + 877, 1051, 877, 0, 877, 1052, 877, 550, 326, 327, + 0, 839, 0, 871, 105, 871, 0, 871, 0, 871, + 0, 0, 328, 329, 0, 1059, 877, 0, 989, 850, + -605, 1054, 1056, 1057, 1058, 0, 0, 0, 0, 871, + 0, 1060, 0, -605, -605, -605, -605, -605, -605, 0, + -605, 0, 0, 0, 0, 0, -605, -605, 0, 0, + 328, 329, 554, 326, 327, 215, 215, -605, -605, 0, + -605, -605, -605, -605, -605, 0, 0, 0, 104, 0, + 104, 128, 128, 555, 326, 327, 105, 0, 0, 230, + 740, 326, 327, 0, 105, 105, 0, 0, 105, 0, + 0, 105, 105, 490, 491, 492, 343, 105, 105, 0, + 410, 411, 0, 105, 105, 328, 329, 264, 926, 0, + -605, 264, 0, 413, 212, 215, 215, 105, 104, 644, + 105, 653, 316, 0, 935, -605, 328, 329, 0, 105, + 105, 0, 0, 328, 329, -605, 0, 105, -605, -605, + 419, 420, 421, 422, 423, 424, 212, 0, 316, 105, + 105, 745, 0, 355, 356, 357, 358, 0, -605, -605, + 0, 0, 0, 0, 273, -605, -605, -605, -605, 359, + 745, 0, 355, 356, 357, 358, 0, 413, 0, 410, + 411, 215, 215, 215, 215, 104, 215, 215, 359, 0, + 0, 0, 413, 0, 360, 0, 0, 0, 0, 0, + 934, 105, 0, 0, 574, 420, 421, 422, 423, 424, + 0, 105, 105, 360, 0, 584, 0, 0, 0, 105, + 420, 421, 422, 423, 424, 0, 596, 0, 0, 0, 0, 607, 612, 613, 614, 615, 616, 617, 618, 619, - 620, 621, 622, 623, 624, 625, 626, 0, 628, 629, + 620, 621, 622, 623, 624, 625, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 0, 0, 264, 212, 0, 0, 0, 0, 84, 0, 84, 0, 660, 660, 0, 0, 0, 104, 105, 226, 105, - 0, 0, 105, 0, 0, 0, 264, 0, 0, 215, + 0, -294, 105, 0, -294, -294, 264, 0, 0, 215, 0, 101, 0, 101, 127, 127, 127, 0, 0, 660, 0, 264, 229, 660, 660, 0, 0, 0, 0, 0, - 264, 981, 0, 355, 356, 357, 358, 84, 0, 703, - 105, 0, 0, 707, 0, 0, 0, 708, 0, 359, - 711, 0, 714, 0, 307, 291, 0, 0, 0, 0, - 0, 101, 0, 0, 354, 315, 355, 356, 357, 358, + 264, -294, -294, 0, -294, 0, 0, 84, 0, 703, + 105, 0, 0, 707, 0, 0, 0, 708, 0, 0, + 711, 0, 714, 0, 307, 291, 0, 0, 0, 245, + 0, 101, 246, 247, 354, 315, 355, 356, 357, 358, 0, 660, 104, 674, 0, 0, 0, 0, 0, 104, - 104, 711, 359, 0, 307, 360, 0, 104, 0, 0, - 0, 315, 0, 0, 264, 0, 0, 0, 316, 0, - 0, 0, 0, 0, 84, 0, 0, 0, 361, 0, - 743, 744, 0, 0, 362, 363, 364, 354, 0, 355, - 356, 357, 358, 0, 0, 0, 752, 0, 101, 0, - 0, 0, 104, 0, 0, 359, 0, 104, 360, 0, + 104, 711, 359, 0, 307, 0, 494, 104, 0, 0, + 248, 315, 249, 0, 264, 0, 0, 0, 316, 0, + 0, 0, 0, 0, 84, 0, 0, 360, 0, 0, + 743, 744, 0, 361, 362, 363, 364, 981, 0, 355, + 356, 357, 358, 0, 0, 0, 752, 0, 101, 781, + 0, 0, 104, 0, 0, 359, 0, 104, 0, 0, 0, 365, 0, 0, 366, 767, 0, 0, 774, 0, - 0, 0, 569, 0, 0, 104, 0, 542, 0, 0, - 0, 361, 0, 0, 0, 0, 0, 362, 363, 364, - 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, - 104, 316, 0, 611, 0, 354, 0, 355, 356, 357, - 358, 0, 0, 0, 365, 84, 0, 366, 0, 0, - 102, 0, 102, 359, 0, 0, 360, 765, 0, 355, - 356, 357, 358, 0, 0, 0, 0, 0, 0, 101, - 852, 215, 0, 611, 611, 359, 0, 0, 360, 361, - 0, 0, 0, 808, 0, 362, 363, 364, 0, 0, - 104, 0, 0, 745, 0, 355, 356, 357, 358, 104, - 102, 361, 0, 215, 0, 0, 0, 104, 363, 364, - 0, 359, 365, 0, 834, 366, 0, 104, 0, 0, - 0, 84, 0, 711, 307, 0, 0, 0, 84, 84, - 0, 0, 0, 0, 365, 0, 84, 361, 0, 0, - 0, 0, 0, 934, 0, 101, 0, 0, 0, 104, + 0, 0, 0, 0, 0, 104, 0, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 0, + 0, 0, 0, 410, 411, 104, 0, 0, 0, 0, + 104, 316, 0, 611, 0, 354, 413, 355, 356, 357, + 358, 0, 0, 0, 0, 84, 0, 0, 0, 0, + 102, 0, 102, 359, 0, 0, 0, 414, 0, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 101, + 0, 215, 0, 611, 611, 0, 0, -273, 360, 0, + 0, 0, 0, 808, 361, 362, 363, 364, 0, 0, + 104, 765, 0, 355, 356, 357, 358, 0, 0, 104, + 102, 0, 0, 215, 0, 0, 0, 104, 0, 359, + 0, 0, 365, 0, 834, 366, 0, 104, 0, 0, + 0, 84, 0, 711, 307, 0, 1002, 0, 84, 84, + 0, 0, 0, 0, 360, 0, 84, 0, 0, 0, + 0, 362, 363, 364, 0, 101, 0, 0, 0, 104, 0, 0, 101, 101, 0, 0, 0, 0, 104, 0, - 101, 0, 0, 0, 0, 0, 0, 102, 0, 0, + 101, 0, 0, 0, 0, 0, 0, 102, 365, 0, 0, 315, 316, 0, 316, 0, 0, 0, 0, 880, 0, 84, 0, 104, 660, 883, 84, 264, 0, 0, 660, 660, 0, 0, 0, 711, 660, 660, 0, 0, @@ -2990,38 +2645,38 @@ static const yytype_int16 yytable[] = 0, 0, 0, 101, 315, 0, 0, 936, 102, 354, 0, 355, 356, 357, 358, 0, 0, 0, 941, 0, 0, 0, 606, 606, 0, 0, 0, 359, 0, 0, - 360, 0, 0, 957, 0, 0, 0, 0, 0, 84, + 0, 0, 0, 957, 0, 0, 0, 0, 0, 84, 0, 0, 0, 959, 960, 0, 0, 0, 84, 0, - 660, 0, 0, 361, 104, 0, 84, 0, 0, 362, + 660, 0, 360, 0, 104, 0, 84, 0, 361, 362, 363, 364, 0, 101, 0, 0, 84, 0, 0, 0, 0, 0, 101, 660, 0, 0, 0, 0, 0, 0, 101, 307, 0, 0, 102, 0, 365, 0, 0, 366, - 101, 102, 102, 0, 0, 0, 0, 0, 84, 102, - 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 84, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 102, 315, 0, 315, 0, 102, - 0, 0, 0, 0, 0, 0, 101, 104, 0, 0, - 0, 0, 0, 0, 316, 104, 611, 102, 0, 264, + 101, 102, 102, 0, 0, 410, 411, 0, 84, 102, + 0, 0, 367, 0, 0, 0, 0, 84, 413, 354, + 0, 355, 356, 357, 358, 0, 0, 0, 0, 0, + 0, 0, 101, 0, 0, 0, 0, 359, 0, 0, + 0, 101, 84, 417, 418, 419, 420, 421, 422, 423, + 424, 0, 0, 0, 102, 315, 0, 315, 0, 102, + 0, 0, 360, 0, 0, 0, 101, 104, 361, 362, + 363, 364, 0, 0, 316, 104, 611, 102, 0, 264, 0, 0, 611, 0, 0, 0, 0, 0, 611, 611, - 0, 0, 0, 0, 104, 104, 0, 102, 0, 0, + 0, 0, 0, 0, 104, 104, 365, 102, 0, 366, 0, 0, 102, 0, 0, 102, 0, 0, 104, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, + 0, 0, 542, 0, 0, 0, 0, 0, 0, 315, 104, 104, 0, 0, 0, 0, 0, 0, 104, 0, + 0, 354, 0, 355, 356, 357, 358, 0, 0, 0, + 104, 104, 0, 0, 0, 102, 102, 0, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 104, 104, 0, 0, 0, 102, 102, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 102, 84, 128, 0, 0, 0, 0, 128, - 0, 102, 0, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 102, - 0, 0, 611, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 104, 104, 0, 0, 971, 0, 0, 0, - 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 102, 84, 128, 569, 0, 0, 0, 128, + 0, 102, 0, 354, 360, 355, 356, 357, 358, 102, + 361, 362, 363, 364, 0, 0, 0, 101, 0, 102, + 0, 359, 611, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 104, 104, 0, 0, 971, 852, 365, 0, + 104, 366, 0, 0, 0, 0, 360, 0, 0, 0, + 0, 102, 361, 362, 363, 364, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 365, 0, 0, 366, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 104, 0, 104, 0, 0, 104, 84, 606, 0, 0, 0, 0, 0, 606, 0, 0, 0, 0, 0, 606, 606, 0, @@ -3034,33 +2689,33 @@ static const yytype_int16 yytable[] = 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - -605, 0, 0, 0, 0, 0, 0, 127, 0, 0, - 0, 606, 127, -605, -605, -605, -605, -605, -605, 0, - -605, 84, 84, 0, 0, 968, -605, -605, 0, 84, - 0, 0, 0, 0, 0, 0, 0, -605, -605, 0, - -605, -605, -605, -605, -605, 101, 101, 0, 0, 970, + 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, + 0, 606, 127, 0, 0, -606, -606, -606, -606, 402, + 403, 84, 84, -606, -606, 968, 0, 0, 0, 84, + 0, 410, 411, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 413, 101, 101, 0, 0, 970, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 398, 399, 400, 401, - 402, 403, 404, 405, 0, 407, 408, 84, 0, 84, - 0, -605, 84, 411, 412, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 0, -605, 0, 102, 102, 0, - 0, 101, 0, 101, 102, -605, 101, 0, -605, -605, - 102, 102, 0, 0, 0, 0, 102, 102, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, -605, -605, - 102, 0, 0, 0, 273, -605, -605, -605, -605, 0, - 0, 0, 102, 102, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 781, 0, 0, 0, 0, 0, 0, - 0, 0, 102, 102, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 84, 0, 84, + 0, 0, 84, 0, 0, 0, 0, 0, 0, 102, + 781, 0, 0, 0, 0, 0, 0, 102, 102, 0, + 0, 101, 0, 101, 102, 0, 101, 0, 0, 0, + 102, 102, 0, 0, 0, 0, 102, 102, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 102, 0, 0, 0, 410, 411, 0, 0, 0, 0, + 0, 0, 102, 102, 0, 0, 0, 413, 0, 0, + 102, 0, 0, 853, 0, 0, 0, 0, 0, 0, + 0, 0, 102, 102, 0, 0, 0, 0, 414, 0, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 0, 0, 0, 0, 411, 412, + 407, 408, 409, 0, 0, 0, 0, 410, 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, + 413, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 102, 0, 0, 0, 0, 0, 414, 102, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 0, 0, 0, 0, 0, 0, 0, - 0, -273, -605, 4, 0, 5, 6, 7, 8, 9, + 0, 0, -605, 4, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, @@ -3068,227 +2723,239 @@ static const yytype_int16 yytable[] = 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, - 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, - 54, 55, 0, 56, 0, 0, 57, 0, 58, 59, - 60, 61, 62, 63, -288, 0, 64, -605, 0, 0, - -605, -605, 0, 0, 0, 0, 0, -288, -288, -288, - -288, -288, -288, 0, -288, 0, 65, 66, 67, 0, - 0, -288, -288, -288, 0, 0, 0, 0, -605, 0, - -605, -288, -288, 0, -288, -288, -288, -288, -288, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, + 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, + 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, + 60, 0, 61, 62, 63, -288, 64, -605, 0, 0, + -605, -605, 0, 0, 0, 0, 0, 0, -288, -288, + -288, -288, -288, -288, 0, -288, 65, 66, 67, 0, + 0, 0, -288, -288, -288, 0, 0, 0, -605, 0, + -605, 0, -288, -288, 0, -288, -288, -288, -288, -288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -288, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -288, -288, -288, -288, + 0, 0, -288, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, 0, 0, 0, 0, -288, -288, -288, 0, 0, -288, 0, - 0, 0, 0, 0, -288, 0, 0, 0, 0, -288, - 0, 0, 0, 0, 0, 0, 0, -288, 0, -288, - 0, 0, -288, -288, 0, 0, -288, -288, -288, -288, - -288, -288, -288, -288, -288, -288, -288, -288, 0, 0, - -409, 0, 0, -288, -288, -288, -288, 0, 0, -288, - -288, -288, -288, -409, -409, -409, -409, -409, -409, 0, - -409, 0, 0, 0, 0, 0, -409, -409, -409, 0, - 0, 0, 0, 0, 0, 0, 0, -409, -409, 0, - -409, -409, -409, -409, -409, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -288, 0, -288, 0, 0, 0, + -288, 0, 0, 0, 0, 0, 0, 0, -288, 0, + -288, 0, 0, -288, -288, 0, 0, -288, -288, -288, + -288, -288, -288, -288, -288, -288, -288, -288, -288, 0, + 0, -409, 0, 0, -288, -288, -288, -288, 0, 0, + -288, -288, -288, -288, -409, -409, -409, -409, -409, -409, + 0, -409, 0, 0, 0, 0, 0, -409, -409, -409, + 0, 0, 0, 0, 0, 0, 0, 0, -409, -409, + 0, -409, -409, -409, -409, -409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -409, -409, -409, -409, -409, -409, -409, -409, + 0, 0, 0, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, 0, 0, 0, 0, -409, -409, -409, 0, 0, -409, 0, 0, 0, 0, 0, - -409, 0, 0, 0, 0, -409, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -409, 0, 0, -409, -409, - 0, 0, -409, 0, -409, -409, -409, -409, -409, -409, - -409, -409, -409, -409, 0, 0, -475, 0, -409, -409, - -409, -409, -409, 0, 273, -409, -409, -409, -409, -475, - -475, -475, -475, -475, -475, 0, -475, 0, 0, 0, - 0, 0, 0, -475, -475, 0, 0, 0, 0, 0, - 0, 0, 0, -475, -475, 0, -475, -475, -475, -475, - -475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 488, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -475, -475, + -409, 0, -409, 0, 0, 0, -409, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -409, 0, 0, -409, + -409, 0, 0, -409, 0, -409, -409, -409, -409, -409, + -409, -409, -409, -409, -409, 0, 0, -475, 0, -409, + -409, -409, -409, -409, 0, 273, -409, -409, -409, -409, + -475, -475, -475, -475, -475, -475, 0, -475, 0, 0, + 0, 0, 0, 0, -475, -475, 0, 0, 0, 0, + 0, 0, 0, 0, -475, -475, 0, -475, -475, -475, + -475, -475, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 488, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -475, -475, -475, -475, -475, -475, -475, -475, -475, -475, -475, -475, 0, 0, 0, 0, -475, -475, -475, 0, -475, - -475, 0, 0, 0, 0, 0, -475, 0, 0, 0, - 0, -475, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -475, 0, 0, -475, -475, 0, -475, -475, 0, - -475, -475, -475, -475, -475, -475, -475, -475, -475, -475, - 0, 0, -605, 0, 0, -475, -475, -475, -475, 0, - 0, -475, -475, -475, -475, -605, -605, -605, -605, -605, - -605, 0, -605, 0, 0, 0, 0, 0, -605, -605, - -605, 0, 0, 0, 0, 0, 0, 0, 0, -605, - -605, 0, -605, -605, -605, -605, -605, 0, 0, 0, + -475, 0, 0, 0, 0, 0, -475, 0, -475, 0, + 0, 0, -475, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -475, 0, 0, -475, -475, 0, -475, -475, + 0, -475, -475, -475, -475, -475, -475, -475, -475, -475, + -475, 0, 0, -605, 0, 0, -475, -475, -475, -475, + 0, 0, -475, -475, -475, -475, -605, -605, -605, -605, + -605, -605, 0, -605, 0, 0, 0, 0, 0, -605, + -605, -605, 0, 0, 0, 0, 0, 0, 0, 0, + -605, -605, 0, -605, -605, -605, -605, -605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -605, -605, -605, -605, -605, -605, + 0, 0, 0, 0, 0, -605, -605, -605, -605, -605, -605, -605, -605, -605, -605, -605, -605, 0, 0, 0, 0, -605, -605, -605, 0, 0, -605, 0, 0, 0, - 0, 0, -605, 0, 0, 0, 0, -605, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -605, 0, 0, - -605, -605, 0, 0, -605, 0, -605, -605, -605, -605, - -605, -605, -605, -605, -605, -605, 0, 0, -605, 0, - -605, -605, -605, -605, -605, 0, 273, -605, -605, -605, - -605, -605, -605, -605, -605, -605, -605, 0, -605, 0, - 0, 0, 0, 0, 0, -605, -605, 0, 0, 0, - 0, 0, 0, 0, 0, -605, -605, 0, -605, -605, - -605, -605, -605, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -605, 0, -605, 0, 0, 0, -605, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -605, 0, + 0, -605, -605, 0, 0, -605, 0, -605, -605, -605, + -605, -605, -605, -605, -605, -605, -605, 0, 0, -605, + 0, -605, -605, -605, -605, -605, 0, 273, -605, -605, + -605, -605, -605, -605, -605, -605, -605, -605, 0, -605, + 0, 0, 0, 0, 0, 0, -605, -605, 0, 0, + 0, 0, 0, 0, 0, 0, -605, -605, 0, -605, + -605, -605, -605, -605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -605, -605, -605, -605, -605, -605, -605, -605, -605, -605, + 0, -605, -605, -605, -605, -605, -605, -605, -605, -605, -605, -605, -605, 0, 0, 0, 0, -605, -605, -605, 0, 0, -605, 0, 0, 0, 0, 0, -605, 0, - 0, 0, 0, -605, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -605, 0, 0, -605, -605, 0, 0, - -605, 0, -605, -605, -605, -605, -605, -605, -605, -605, - -605, -605, 0, 0, -582, 0, 0, -605, -605, -605, - -605, 0, 273, -605, -605, -605, -605, -582, -582, -582, - 0, -582, -582, 0, -582, 0, 0, 0, 0, 0, - -582, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -582, -582, 0, -582, -582, -582, -582, -582, 0, + -605, 0, 0, 0, -605, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -605, 0, 0, -605, -605, 0, + 0, -605, 0, -605, -605, -605, -605, -605, -605, -605, + -605, -605, -605, 0, 0, -582, 0, 0, -605, -605, + -605, -605, 0, 273, -605, -605, -605, -605, -582, -582, + -582, 0, -582, -582, 0, -582, 0, 0, 0, 0, + 0, -582, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -582, -582, 0, -582, -582, -582, -582, -582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -582, -582, -582, -582, + 0, 0, 0, 0, 0, 0, 0, -582, -582, -582, -582, -582, -582, -582, -582, -582, -582, -582, -582, 0, 0, 0, 0, -582, -582, -582, 0, 786, -582, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -582, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -582, - 0, 0, -582, -582, 0, -103, -582, 0, -582, -582, - -582, -582, -582, -582, -582, -582, -582, -582, 0, 0, - -582, 0, -582, -582, -582, 0, -95, 0, 0, -582, - -582, -582, -582, -582, -582, -582, 0, -582, -582, 0, - -582, 0, 0, 0, 0, 0, -582, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -582, -582, 0, - -582, -582, -582, -582, -582, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -582, 0, 0, 0, + -582, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -582, 0, 0, -582, -582, 0, -103, -582, 0, -582, + -582, -582, -582, -582, -582, -582, -582, -582, -582, 0, + 0, -582, 0, -582, -582, -582, 0, -95, 0, 0, + -582, -582, -582, -582, -582, -582, -582, 0, -582, -582, + 0, -582, 0, 0, 0, 0, 0, -582, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -582, -582, + 0, -582, -582, -582, -582, -582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -582, -582, -582, -582, -582, -582, -582, -582, + 0, 0, 0, -582, -582, -582, -582, -582, -582, -582, -582, -582, -582, -582, -582, 0, 0, 0, 0, -582, -582, -582, 0, 786, -582, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -582, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -582, 0, 0, -582, -582, - 0, -103, -582, 0, -582, -582, -582, -582, -582, -582, - -582, -582, -582, -582, 0, 0, -297, 0, -582, -582, - -582, 0, -582, 0, 0, -582, -582, -582, -582, -297, - -297, -297, 0, -297, -297, 0, -297, 0, 0, 0, + 0, 0, -582, 0, 0, 0, -582, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -582, 0, 0, -582, + -582, 0, -103, -582, 0, -582, -582, -582, -582, -582, + -582, -582, -582, -582, -582, 0, 0, -297, 0, -582, + -582, -582, 0, -582, 0, 0, -582, -582, -582, -582, + -297, -297, -297, 0, -297, -297, 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -297, -297, 0, -297, -297, -297, -297, - -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -297, -297, 0, -297, -297, -297, + -297, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -297, -297, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, 0, 0, 0, 0, -297, -297, -297, 0, 787, - -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -297, 0, 0, -297, -297, 0, -105, -297, 0, - -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, - 0, 0, -297, 0, 0, -297, -297, 0, -97, 0, - 0, -297, -297, -297, -297, -297, -297, -297, 0, -297, - -297, 0, -297, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, - -297, 0, -297, -297, -297, -297, -297, 0, 0, 0, + -297, 0, 0, 0, 0, 0, 0, 0, -297, 0, + 0, 0, -297, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -297, 0, 0, -297, -297, 0, -105, -297, + 0, -297, -297, -297, -297, -297, -297, -297, -297, -297, + -297, 0, 0, -297, 0, 0, -297, -297, 0, -97, + 0, 0, -297, -297, -297, -297, -297, -297, -297, 0, + -297, -297, 0, -297, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -297, -297, 0, -297, -297, -297, -297, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -297, -297, -297, -297, -297, -297, + 0, 0, 0, 0, 0, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, 0, 0, 0, 0, -297, -297, -297, 0, 787, -297, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, - -297, -297, 0, -105, -297, 0, -297, -297, -297, -297, - -297, -297, -297, -297, -297, -297, 0, 0, 0, 0, - 0, -297, -297, 0, -297, 0, 0, -297, -297, -297, - -297, 293, 0, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, -605, -605, -605, 0, 0, -605, 15, - 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, - 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, - 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, - 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, - 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -297, 0, 0, 0, -297, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -297, 0, + 0, -297, -297, 0, -105, -297, 0, -297, -297, -297, + -297, -297, -297, -297, -297, -297, -297, 0, 0, 0, + 0, 0, -297, -297, 0, -297, 0, 0, -297, -297, + -297, -297, 293, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, -605, -605, -605, 0, 0, -605, + 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, + 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, + 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, - 0, 56, 0, 0, 57, 0, 58, 59, 60, 61, - 62, 63, 0, 0, 64, -605, 0, 0, -605, -605, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 66, 67, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -605, 293, -605, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, - 0, -605, 0, -605, -605, 15, 0, 16, 17, 18, - 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, - 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, - 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, + 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, -605, 0, 0, -605, + -605, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 65, 66, 67, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -605, 293, -605, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 0, 0, -605, 0, -605, -605, 15, 0, 16, 17, + 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, + 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, + 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, - 57, 0, 58, 59, 60, 61, 62, 63, 0, 0, - 64, -605, 0, 0, -605, -605, 0, 0, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, -605, 0, 0, -605, -605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 65, 66, 67, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -605, 293, -605, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 0, 0, -605, 0, 0, - -605, 15, -605, 16, 17, 18, 19, 0, 0, 0, - 0, 0, 20, 21, 22, 23, 24, 25, 26, 0, - 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, - 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, - 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, + 0, 65, 66, 67, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -605, 293, -605, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 0, 0, -605, 0, + 0, -605, 15, -605, 16, 17, 18, 19, 0, 0, + 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, + 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, - 54, 55, 0, 56, 0, 0, 57, 0, 58, 59, - 60, 61, 62, 63, 0, 0, 64, -605, 0, 0, - -605, -605, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 65, 66, 67, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -605, 293, - -605, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 0, 0, -605, 0, 0, -605, 15, 0, 16, - 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, + 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, -605, 0, + 0, -605, -605, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -605, + 293, -605, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 0, 0, -605, 0, 0, -605, 15, 0, + 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, + 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, + 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, + 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, + 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, -605, 0, 0, -605, -605, 4, + 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 0, 0, 65, 66, 67, 0, 15, 0, 16, + 17, 18, 19, 0, 0, -605, 0, -605, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, - 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, + 0, 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, - 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, - 0, 0, 57, 0, 58, 59, 60, 61, 62, 63, - 0, 0, 64, -605, 0, 0, -605, -605, 4, 0, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, - 18, 19, 0, 0, -605, 0, -605, 20, 21, 22, - 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, - 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, - 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, 0, - 0, 57, 0, 58, 59, 60, 61, 62, 63, 0, - 0, 64, -605, 0, 0, -605, -605, 0, 0, 0, + 0, 0, 57, 0, 58, 59, 60, 0, 61, 62, + 63, 0, 64, -605, 0, 0, -605, -605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 65, 66, 67, 0, 0, -605, 0, 0, 0, - 0, 0, 0, -605, 293, -605, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 0, -605, -605, 0, - 0, 0, 15, 0, 16, 17, 18, 19, 0, 0, - 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, + 0, 0, 65, 66, 67, 0, 0, -605, 0, 0, + 0, 0, 0, 0, -605, 293, -605, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 0, -605, -605, + 0, 0, 0, 15, 0, 16, 17, 18, 19, 0, + 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, + 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, + 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, + 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, + 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, + 0, 54, 55, 0, 56, 0, 0, 0, 57, 0, + 58, 59, 60, 0, 61, 62, 63, 0, 64, -605, + 0, 0, -605, -605, 293, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, + 67, 0, 15, 0, 16, 17, 18, 19, 0, 0, + -605, 0, -605, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, - 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, - 0, 54, 55, 0, 56, 0, 0, 57, 0, 58, - 59, 60, 61, 62, 63, 0, 0, 64, -605, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, + 0, 0, 0, 0, 51, 0, 0, 294, 53, 0, + 54, 55, 0, 56, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, -605, 0, 0, -605, -605, 293, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, - 0, 15, 0, 16, 17, 18, 19, 0, 0, -605, + 0, 15, 0, 16, 17, 18, 19, 0, -605, -605, 0, -605, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, - 0, 0, 0, 0, 51, 0, 0, 294, 53, 0, - 54, 55, 0, 56, 0, 0, 57, 0, 58, 59, - 60, 61, 62, 63, 0, 0, 64, -605, 0, 0, + 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, + 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, + 55, 0, 56, 0, 0, 0, 57, 0, 58, 59, + 60, 0, 61, 62, 63, 0, 64, -605, 0, 0, -605, -605, 293, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, 18, 19, 0, -605, -605, 0, @@ -3297,202 +2964,176 @@ static const yytype_int16 yytable[] = 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, - 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, - 55, 0, 56, 0, 0, 57, 0, 58, 59, 60, - 61, 62, 63, 0, 0, 64, -605, 0, 0, -605, - -605, 293, 0, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, - 0, 16, 17, 18, 19, 0, -605, -605, 0, -605, - 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, - 0, 0, 0, 0, 0, 28, 0, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, - 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, - 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, - 0, 56, 0, 0, 57, 0, 58, 59, 60, 61, - 62, 63, 0, 0, 64, -605, 0, 0, -605, -605, + 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, -605, 0, 0, -605, + -605, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 65, 66, 67, 0, 0, + -605, 0, 0, 0, 0, 0, 0, -605, 293, -605, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 0, 0, -605, 0, 0, 0, 15, 0, 16, 17, + 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, + 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, + 0, 0, 28, 0, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 66, 67, 0, 0, -605, - 0, 0, 0, 0, 0, 0, -605, 293, -605, 5, + 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, + 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, -605, 0, 0, -605, -605, 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, - 0, -605, 0, 0, 0, 15, 0, 16, 17, 18, - 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, + 0, 65, 66, 67, 0, 15, 0, 16, 17, 18, + 19, 0, 0, -605, 0, -605, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, - 0, 28, 0, 30, 31, 32, 33, 34, 35, 36, + 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, - 0, 52, 53, 0, 54, 55, 0, 56, 0, 0, - 57, 0, 58, 59, 60, 61, 62, 63, 0, 0, - 64, -605, 0, 0, -605, -605, 0, 0, 5, 6, + 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, + 52, 53, 0, 54, 55, 0, 56, 0, 0, 0, + 57, 0, 58, 59, 60, 0, 61, 62, 63, 0, + 64, 245, 0, 0, 246, 247, 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, 18, 19, - 0, 0, -605, 0, -605, 20, 21, 22, 23, 24, + 0, 0, 248, 0, 249, 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, 0, 0, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, - 52, 53, 0, 54, 55, 0, 56, 0, 0, 57, - 0, 58, 59, 60, 61, 62, 63, 0, 0, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, + 53, 0, 54, 55, 0, 56, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, 245, 0, 0, 246, 247, 0, 0, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 0, 0, 65, + 8, 9, 10, 11, 12, 13, 0, 0, 0, 65, 66, 67, 0, 15, 0, 16, 17, 18, 19, 0, 0, 248, 0, 249, 20, 21, 22, 23, 24, 25, - 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, - 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 26, 0, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, - 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, - 53, 0, 54, 55, 0, 56, 0, 0, 57, 0, - 58, 59, 60, 61, 62, 63, 0, 0, 64, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, + 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, + 0, 54, 55, 0, 0, 0, 0, 0, 57, 0, + 58, 59, 60, 0, 61, 62, 63, 0, 64, 245, 0, 0, 246, 247, 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, 65, 66, - 67, 0, 15, 0, 16, 17, 18, 19, 0, 0, - 248, 0, 249, 20, 21, 22, 23, 24, 25, 26, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, + 67, 0, 15, 0, 108, 109, 18, 19, 0, 0, + 248, 0, 249, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, - 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, - 0, 54, 55, 0, 0, 0, 0, 57, 0, 58, - 59, 60, 61, 62, 63, 0, 0, 64, 245, 0, - 0, 246, 247, 0, 0, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 0, 65, 66, 67, - 0, 15, 0, 108, 109, 18, 19, 0, 0, 248, - 0, 249, 110, 111, 112, 23, 24, 25, 26, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, - 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, - 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, - 54, 55, 0, 0, 0, 0, 57, 0, 58, 59, - 60, 61, 62, 63, 0, 0, 64, 245, 0, 0, - 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 65, 262, 67, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, - 249, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 0, 0, - 0, 0, 0, 165, 166, 167, 168, 169, 170, 171, - 172, 36, 37, 173, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 0, 0, 183, - 184, 0, 0, 0, 0, 185, 186, 187, 188, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 55, 0, 0, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 245, 0, + 0, 246, 247, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 65, 262, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, + 0, 249, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 0, + 0, 0, 0, 0, 165, 166, 167, 168, 169, 170, + 171, 172, 36, 37, 173, 39, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, - 0, 203, 204, -575, -575, -575, -575, -575, -575, -575, - -575, -575, 0, 0, 0, 0, 0, 0, 0, -575, - 0, -575, -575, -575, -575, 0, -575, 0, 0, 0, - -575, -575, -575, -575, -575, -575, -575, 0, 0, -575, - 0, 0, 0, 0, 0, 0, 0, 0, -575, -575, - -575, -575, -575, -575, -575, -575, -575, 0, -575, -575, - -575, 0, 0, -575, 0, 0, -575, -575, 0, -575, - -575, -575, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, + 0, 0, 203, 204, -575, -575, -575, -575, -575, -575, + -575, -575, -575, 0, 0, 0, 0, 0, 0, 0, + -575, 0, -575, -575, -575, -575, 0, -575, 0, 0, + 0, -575, -575, -575, -575, -575, -575, -575, 0, 0, + -575, 0, 0, 0, 0, 0, 0, 0, 0, -575, + -575, -575, -575, -575, -575, -575, -575, -575, 0, -575, + -575, -575, 0, 0, -575, 0, 0, -575, -575, 0, + -575, -575, -575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -575, -575, 0, 0, 0, 0, 0, -575, 0, 0, -575, -575, 0, -575, -575, - 0, -575, -575, -575, -575, 0, -575, -575, -575, -575, - -575, -575, 0, 0, -575, 0, 0, 0, 0, 0, + 0, -575, 0, -575, -575, -575, 0, -575, -575, -575, + 0, -575, -575, -575, 0, -575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -575, -575, -575, 0, -575, 0, - 0, 0, 0, 0, -575, -576, -576, -576, -576, -576, - -576, -576, -576, -576, 0, 0, 0, 0, 0, 0, - 0, -576, 0, -576, -576, -576, -576, 0, -576, 0, - 0, 0, -576, -576, -576, -576, -576, -576, -576, 0, - 0, -576, 0, 0, 0, 0, 0, 0, 0, 0, - -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, - -576, -576, -576, 0, 0, -576, 0, 0, -576, -576, - 0, -576, -576, -576, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -575, -575, -575, 0, -575, + 0, 0, 0, 0, 0, -575, -576, -576, -576, -576, + -576, -576, -576, -576, -576, 0, 0, 0, 0, 0, + 0, 0, -576, 0, -576, -576, -576, -576, 0, -576, + 0, 0, 0, -576, -576, -576, -576, -576, -576, -576, + 0, 0, -576, 0, 0, 0, 0, 0, 0, 0, + 0, -576, -576, -576, -576, -576, -576, -576, -576, -576, + 0, -576, -576, -576, 0, 0, -576, 0, 0, -576, + -576, 0, -576, -576, -576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -576, -576, 0, 0, 0, 0, 0, -576, 0, 0, -576, -576, 0, - -576, -576, 0, -576, -576, -576, -576, 0, -576, -576, - -576, -576, -576, -576, 0, 0, -576, 0, 0, 0, - 0, 0, 0, -578, -578, -578, -578, -578, -578, -578, - -578, -578, 0, 0, 0, 0, -576, -576, -576, -578, - -576, -578, -578, -578, -578, 0, -576, 0, 0, 0, - -578, -578, -578, -578, -578, -578, -578, 0, 0, -578, - 0, 0, 0, 0, 0, 0, 0, 0, -578, -578, - -578, -578, -578, -578, -578, -578, -578, 0, -578, -578, - -578, 0, 0, -578, 0, 0, -578, -578, 0, -578, - -578, -578, 0, 0, 0, 0, 0, 0, 0, 0, + -576, -576, 0, -576, 0, -576, -576, -576, 0, -576, + -576, -576, 0, -576, -576, -576, 0, -576, 0, 0, + 0, 0, 0, 0, -578, -578, -578, -578, -578, -578, + -578, -578, -578, 0, 0, 0, 0, -576, -576, -576, + -578, -576, -578, -578, -578, -578, 0, -576, 0, 0, + 0, -578, -578, -578, -578, -578, -578, -578, 0, 0, + -578, 0, 0, 0, 0, 0, 0, 0, 0, -578, + -578, -578, -578, -578, -578, -578, -578, -578, 0, -578, + -578, -578, 0, 0, -578, 0, 0, -578, -578, 0, + -578, -578, -578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -578, -578, 0, 0, 0, 0, 0, -578, 818, 0, -578, -578, 0, -578, -578, - 0, -578, -578, -578, -578, 0, -578, -578, -578, -578, - -578, -578, 0, 0, -578, 0, 0, 0, 0, 0, - 0, -103, -579, -579, -579, -579, -579, -579, -579, -579, - -579, 0, 0, 0, -578, -578, -578, 0, -579, 0, - -579, -579, -579, -579, -578, 0, 0, 0, 0, -579, - -579, -579, -579, -579, -579, -579, 0, 0, -579, 0, - 0, 0, 0, 0, 0, 0, 0, -579, -579, -579, - -579, -579, -579, -579, -579, -579, 0, -579, -579, -579, - 0, 0, -579, 0, 0, -579, -579, 0, -579, -579, - -579, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -578, 0, -578, -578, -578, 0, -578, -578, -578, + 0, -578, -578, -578, 0, -578, 0, 0, 0, 0, + 0, 0, -103, -579, -579, -579, -579, -579, -579, -579, + -579, -579, 0, 0, 0, -578, -578, -578, 0, -579, + 0, -579, -579, -579, -579, -578, 0, 0, 0, 0, + -579, -579, -579, -579, -579, -579, -579, 0, 0, -579, + 0, 0, 0, 0, 0, 0, 0, 0, -579, -579, + -579, -579, -579, -579, -579, -579, -579, 0, -579, -579, + -579, 0, 0, -579, 0, 0, -579, -579, 0, -579, + -579, -579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -579, -579, 0, 0, 0, 0, 0, -579, 819, 0, -579, -579, 0, -579, -579, 0, - -579, -579, -579, -579, 0, -579, -579, -579, -579, -579, - -579, 0, 0, -579, 0, 0, 0, 0, 0, 0, - -105, -580, -580, -580, -580, -580, -580, -580, -580, -580, - 0, 0, 0, -579, -579, -579, 0, -580, 0, -580, - -580, -580, -580, -579, 0, 0, 0, 0, -580, -580, - -580, -580, -580, -580, -580, 0, 0, -580, 0, 0, - 0, 0, 0, 0, 0, 0, -580, -580, -580, -580, - -580, -580, -580, -580, -580, 0, -580, -580, -580, 0, - 0, -580, 0, 0, -580, -580, 0, -580, -580, -580, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -579, 0, -579, -579, -579, 0, -579, -579, -579, 0, + -579, -579, -579, 0, -579, 0, 0, 0, 0, 0, + 0, -105, -580, -580, -580, -580, -580, -580, -580, -580, + -580, 0, 0, 0, -579, -579, -579, 0, -580, 0, + -580, -580, -580, -580, -579, 0, 0, 0, 0, -580, + -580, -580, -580, -580, -580, -580, 0, 0, -580, 0, + 0, 0, 0, 0, 0, 0, 0, -580, -580, -580, + -580, -580, -580, -580, -580, -580, 0, -580, -580, -580, + 0, 0, -580, 0, 0, -580, -580, 0, -580, -580, + -580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -580, -580, 0, 0, 0, 0, 0, -580, 0, 0, -580, -580, 0, -580, -580, 0, -580, - -580, -580, -580, 0, -580, -580, -580, -580, -580, -580, - 0, 0, -580, 0, 0, 0, 0, 0, 0, -581, - -581, -581, -581, -581, -581, -581, -581, -581, 0, 0, - 0, 0, -580, -580, -580, -581, 0, -581, -581, -581, - -581, 0, -580, 0, 0, 0, -581, -581, -581, -581, - -581, -581, -581, 0, 0, -581, 0, 0, 0, 0, - 0, 0, 0, 0, -581, -581, -581, -581, -581, -581, - -581, -581, -581, 0, -581, -581, -581, 0, 0, -581, - 0, 0, -581, -581, 0, -581, -581, -581, 0, 0, + 0, -580, -580, -580, 0, -580, -580, -580, 0, -580, + -580, -580, 0, -580, 0, 0, 0, 0, 0, 0, + -581, -581, -581, -581, -581, -581, -581, -581, -581, 0, + 0, 0, 0, -580, -580, -580, -581, 0, -581, -581, + -581, -581, 0, -580, 0, 0, 0, -581, -581, -581, + -581, -581, -581, -581, 0, 0, -581, 0, 0, 0, + 0, 0, 0, 0, 0, -581, -581, -581, -581, -581, + -581, -581, -581, -581, 0, -581, -581, -581, 0, 0, + -581, 0, 0, -581, -581, 0, -581, -581, -581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -581, -581, 0, 0, 0, 0, 0, -581, 0, - 0, -581, -581, 0, -581, -581, 0, -581, -581, -581, - -581, 0, -581, -581, -581, -581, -581, -581, 0, 0, - -581, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -581, -581, -581, 0, 0, 0, 0, 0, 0, 0, - -581, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, - 157, 231, 232, 233, 234, 162, 163, 164, 0, 0, - 0, 0, 0, 165, 166, 167, 235, 236, 237, 238, - 172, 318, 319, 239, 320, 0, 0, 0, 0, 0, - 0, 321, 0, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 0, 0, 183, - 184, 0, 0, 0, 0, 185, 186, 187, 188, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 322, 0, + 0, -581, -581, 0, -581, -581, 0, -581, 0, -581, + -581, -581, 0, -581, -581, -581, 0, -581, -581, -581, + 0, -581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 0, 0, 0, 0, 0, - 0, 203, 131, 132, 133, 134, 135, 136, 137, 138, + 0, -581, -581, -581, 0, 0, 0, 0, 0, 0, + 0, -581, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, 231, 232, 233, 234, 162, 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, 235, 236, 237, 238, 172, 318, 319, 239, 320, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 0, 0, - 183, 184, 0, 0, 0, 0, 185, 186, 187, 188, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 479, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, @@ -3501,12 +3142,12 @@ static const yytype_int16 yytable[] = 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, 156, 157, 231, 232, 233, 234, 162, 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, 235, 236, - 237, 238, 172, 0, 0, 239, 0, 0, 0, 0, + 237, 238, 172, 318, 319, 239, 320, 0, 0, 0, + 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 0, - 0, 183, 184, 0, 0, 0, 0, 185, 186, 187, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 190, 0, 0, 0, 240, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, @@ -3517,515 +3158,551 @@ static const yytype_int16 yytable[] = 164, 0, 0, 0, 0, 0, 165, 166, 167, 235, 236, 237, 238, 172, 0, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 0, 0, 183, 184, 0, 0, 0, 0, 185, 186, - 187, 188, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, + 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, - 0, 0, 0, 0, 203, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 0, 0, 0, 0, - 0, 15, 0, 108, 109, 18, 19, 0, 0, 0, - 0, 0, 110, 111, 112, 23, 24, 25, 26, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, - 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, - 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, + 0, 0, 155, 156, 157, 231, 232, 233, 234, 162, + 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, + 235, 236, 237, 238, 172, 0, 0, 239, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, + 0, 0, 0, 0, 0, 203, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 119, 53, 0, - 54, 55, 0, 0, 0, 0, 57, 0, 58, 59, - 60, 61, 62, 63, 0, 0, 64, 0, 0, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - 0, 0, 0, 0, 0, 15, 120, 108, 109, 18, - 19, 0, 0, 0, 312, 0, 110, 111, 112, 23, - 24, 25, 26, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 0, 116, 0, 0, 0, 0, + 54, 55, 0, 0, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 0, 0, 0, 15, 120, 108, 109, + 18, 19, 0, 0, 0, 312, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 119, 53, 0, 54, 55, 0, 0, 0, 0, - 57, 0, 58, 59, 60, 61, 62, 63, 0, 0, - 64, 0, 0, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 0, 0, 0, 0, 0, 0, 15, - 120, 16, 17, 18, 19, 0, 0, 0, 600, 0, - 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, - 0, 0, 0, 0, 0, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, - 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, - 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, + 15, 120, 16, 17, 18, 19, 0, 0, 0, 600, + 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, + 27, 0, 0, 0, 0, 0, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, - 0, 56, 0, 0, 57, 0, 58, 59, 60, 61, - 62, 63, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 0, 0, 0, 65, 66, 67, 15, 0, 16, - 17, 18, 19, 0, 0, 0, 0, 0, 20, 21, - 22, 23, 24, 25, 26, 0, 0, 27, 0, 0, - 0, 0, 0, 28, 0, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, - 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 56, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 0, 0, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 0, 0, 0, 65, 66, 67, 15, 0, + 16, 17, 18, 19, 0, 0, 0, 0, 0, 20, + 21, 22, 23, 24, 25, 26, 0, 0, 27, 0, + 0, 0, 0, 0, 28, 0, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, 0, 56, - 0, 0, 57, 0, 58, 59, 60, 61, 62, 63, - 0, 0, 64, 0, 0, 0, 0, 0, 0, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - 0, 0, 65, 66, 67, 15, 0, 16, 17, 18, - 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, - 24, 25, 26, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 32, 33, 258, 35, 36, - 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, + 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 0, 0, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 65, 66, 67, 15, 0, 16, 17, + 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 258, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 53, 0, 54, 55, 0, 259, 260, 261, - 57, 0, 58, 59, 60, 61, 62, 63, 0, 0, - 64, 0, 0, 0, 0, 0, 0, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, 0, 0, - 65, 262, 67, 15, 0, 16, 17, 18, 19, 0, - 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, - 26, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 31, 32, 33, 258, 35, 36, 37, 38, - 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, - 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, + 0, 119, 53, 0, 54, 55, 0, 259, 0, 260, + 261, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 0, 0, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 65, 262, 67, 15, 0, 16, 17, 18, 19, + 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, + 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 258, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 501, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 53, 0, 54, 55, 0, 259, 260, 261, 57, 0, - 58, 59, 60, 61, 62, 63, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 0, 0, 65, 262, - 67, 15, 0, 108, 109, 18, 19, 0, 0, 0, - 0, 0, 110, 111, 112, 23, 24, 25, 26, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 32, 33, 258, 35, 36, 37, 38, 39, 0, - 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, - 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, + 53, 0, 54, 55, 0, 259, 0, 260, 261, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 65, + 262, 67, 15, 0, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 258, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, - 54, 55, 0, 710, 260, 261, 57, 0, 58, 59, - 60, 61, 62, 63, 0, 0, 64, 0, 0, 0, - 0, 0, 0, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, 0, 0, 65, 262, 67, 15, - 0, 108, 109, 18, 19, 0, 0, 0, 0, 0, - 110, 111, 112, 23, 24, 25, 26, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, - 33, 258, 35, 36, 37, 38, 39, 0, 40, 41, - 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, - 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 55, 0, 710, 0, 260, 261, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 65, 262, 67, + 15, 0, 108, 109, 18, 19, 0, 0, 0, 0, + 0, 110, 111, 112, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 258, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 836, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, - 0, 710, 260, 261, 57, 0, 58, 59, 60, 61, - 62, 63, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 0, 0, 65, 262, 67, 15, 0, 108, - 109, 18, 19, 0, 0, 0, 0, 0, 110, 111, - 112, 23, 24, 25, 26, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 31, 32, 33, 258, - 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, - 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 710, 0, 260, 261, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 0, 0, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 65, 262, 67, 15, 0, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 258, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, 0, 259, - 260, 0, 57, 0, 58, 59, 60, 61, 62, 63, - 0, 0, 64, 0, 0, 0, 0, 0, 0, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - 0, 0, 65, 262, 67, 15, 0, 108, 109, 18, - 19, 0, 0, 0, 0, 0, 110, 111, 112, 23, - 24, 25, 26, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 32, 33, 258, 35, 36, - 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, + 0, 260, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 0, 0, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 65, 262, 67, 15, 0, 108, 109, + 18, 19, 0, 0, 0, 0, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 258, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 53, 0, 54, 55, 0, 0, 260, 261, - 57, 0, 58, 59, 60, 61, 62, 63, 0, 0, - 64, 0, 0, 0, 0, 0, 0, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, 0, 0, - 65, 262, 67, 15, 0, 108, 109, 18, 19, 0, - 0, 0, 0, 0, 110, 111, 112, 23, 24, 25, - 26, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 31, 32, 33, 258, 35, 36, 37, 38, - 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, - 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, + 0, 119, 53, 0, 54, 55, 0, 0, 0, 260, + 261, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 0, 0, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 65, 262, 67, 15, 0, 108, 109, 18, 19, + 0, 0, 0, 0, 0, 110, 111, 112, 23, 24, + 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 258, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 53, 0, 54, 55, 0, 710, 260, 0, 57, 0, - 58, 59, 60, 61, 62, 63, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 0, 0, 65, 262, - 67, 15, 0, 108, 109, 18, 19, 0, 0, 0, - 0, 0, 110, 111, 112, 23, 24, 25, 26, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 32, 33, 258, 35, 36, 37, 38, 39, 0, - 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, - 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, + 53, 0, 54, 55, 0, 710, 0, 260, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 65, + 262, 67, 15, 0, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 258, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, - 54, 55, 0, 0, 260, 0, 57, 0, 58, 59, - 60, 61, 62, 63, 0, 0, 64, 0, 0, 0, - 0, 0, 0, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, 0, 0, 65, 262, 67, 15, - 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, - 20, 21, 22, 23, 24, 25, 26, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, - 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, - 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 55, 0, 0, 0, 260, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 65, 262, 67, + 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, + 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, - 0, 594, 0, 0, 57, 0, 58, 59, 60, 61, - 62, 63, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 0, 0, 65, 262, 67, 15, 0, 108, - 109, 18, 19, 0, 0, 0, 0, 0, 110, 111, - 112, 23, 24, 25, 26, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, - 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 594, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 0, 0, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 65, 262, 67, 15, 0, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, 0, 259, - 0, 0, 57, 0, 58, 59, 60, 61, 62, 63, - 0, 0, 64, 0, 0, 0, 0, 0, 0, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - 0, 0, 65, 262, 67, 15, 0, 108, 109, 18, - 19, 0, 0, 0, 0, 0, 110, 111, 112, 23, - 24, 25, 26, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, + 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 0, 0, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 65, 262, 67, 15, 0, 108, 109, + 18, 19, 0, 0, 0, 0, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, 0, 594, 0, 0, - 57, 0, 58, 59, 60, 61, 62, 63, 0, 0, - 64, 0, 0, 0, 0, 0, 0, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, 0, 0, - 65, 262, 67, 15, 0, 108, 109, 18, 19, 0, - 0, 0, 0, 0, 110, 111, 112, 23, 24, 25, - 26, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, - 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 0, 0, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 65, 262, 67, 15, 0, 108, 109, 18, 19, + 0, 0, 0, 0, 0, 110, 111, 112, 23, 24, + 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 53, 0, 54, 55, 0, 879, 0, 0, 57, 0, - 58, 59, 60, 61, 62, 63, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 0, 0, 65, 262, - 67, 15, 0, 108, 109, 18, 19, 0, 0, 0, - 0, 0, 110, 111, 112, 23, 24, 25, 26, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, - 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, - 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, + 53, 0, 54, 55, 0, 879, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 65, + 262, 67, 15, 0, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, - 54, 55, 0, 710, 0, 0, 57, 0, 58, 59, - 60, 61, 62, 63, 0, 0, 64, 0, 0, 0, - 0, 0, 0, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, 0, 0, 65, 262, 67, 15, - 0, 16, 17, 18, 19, 0, 0, 0, 0, 0, - 20, 21, 22, 23, 24, 25, 26, 0, 0, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, - 42, 0, 0, 43, 0, 0, 44, 45, 0, 46, - 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 55, 0, 710, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 65, 262, 67, + 15, 0, 16, 17, 18, 19, 0, 0, 0, 0, + 0, 20, 21, 22, 23, 24, 25, 26, 0, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, - 0, 0, 0, 0, 57, 0, 58, 59, 60, 61, - 62, 63, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 0, 0, 65, 66, 67, 15, 0, 108, - 109, 18, 19, 0, 0, 0, 0, 0, 110, 111, - 112, 23, 24, 25, 26, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, - 0, 43, 0, 0, 44, 45, 0, 46, 47, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 0, 0, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 65, 66, 67, 15, 0, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, 0, 0, - 0, 0, 57, 0, 58, 59, 60, 61, 62, 63, - 0, 0, 64, 0, 0, 0, 0, 0, 0, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - 0, 0, 65, 262, 67, 15, 0, 16, 17, 18, - 19, 0, 0, 0, 0, 0, 20, 21, 22, 23, - 24, 25, 26, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 0, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, + 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 0, 0, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 65, 262, 67, 15, 0, 16, 17, + 18, 19, 0, 0, 0, 0, 0, 20, 21, 22, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 211, 0, 0, 119, 53, 0, 54, 55, 0, 0, 0, 0, - 57, 0, 58, 59, 60, 61, 62, 63, 0, 0, - 64, 0, 0, 0, 0, 0, 0, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, 0, 0, - 65, 262, 67, 15, 0, 108, 109, 18, 19, 0, - 0, 0, 0, 0, 110, 111, 112, 23, 24, 25, - 26, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 31, 32, 33, 114, 35, 36, 37, 115, - 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, - 44, 45, 0, 116, 0, 0, 0, 0, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 0, 0, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 65, 262, 67, 15, 0, 108, 109, 18, 19, + 0, 0, 0, 0, 0, 110, 111, 112, 23, 24, + 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 114, 35, 36, 37, + 115, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 118, 0, 0, 119, - 53, 0, 54, 55, 0, 0, 0, 0, 57, 0, - 58, 59, 60, 61, 62, 63, 0, 0, 64, 0, - 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 0, 0, 0, 0, 0, 15, 120, 108, - 109, 18, 19, 0, 0, 0, 0, 0, 110, 111, - 112, 23, 24, 25, 26, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, - 0, 43, 0, 0, 44, 45, 0, 223, 0, 0, + 53, 0, 54, 55, 0, 0, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 0, 0, 0, 15, 120, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 52, 53, 0, 54, 55, 0, 56, - 0, 0, 57, 0, 58, 59, 60, 61, 62, 63, - 0, 0, 64, 0, 0, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 0, 0, 0, 0, - 0, 15, 120, 108, 109, 18, 19, 0, 0, 0, - 0, 0, 110, 111, 112, 23, 24, 25, 26, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, - 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, - 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 57, 0, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, + 0, 0, 15, 120, 108, 109, 18, 19, 0, 0, + 0, 0, 0, 110, 111, 112, 23, 24, 25, 26, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 0, 40, 41, 42, 0, 0, 43, 0, 0, 44, + 45, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 394, 53, 0, - 54, 55, 0, 395, 0, 0, 57, 0, 58, 59, - 60, 61, 62, 63, 0, 0, 64, 0, 0, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, - 0, 0, 0, 0, 0, 15, 120, 108, 109, 18, - 19, 0, 0, 0, 0, 0, 110, 111, 112, 23, - 24, 25, 26, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 32, 33, 114, 35, 36, - 37, 115, 39, 0, 40, 41, 42, 0, 0, 43, - 0, 0, 44, 45, 0, 116, 0, 0, 0, 0, + 54, 55, 0, 395, 0, 0, 0, 57, 0, 58, + 59, 60, 0, 61, 62, 63, 0, 64, 0, 0, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 0, 0, 0, 15, 120, 108, 109, + 18, 19, 0, 0, 0, 0, 0, 110, 111, 112, + 23, 24, 25, 26, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 32, 33, 114, 35, + 36, 37, 115, 39, 0, 40, 41, 42, 0, 0, + 43, 0, 0, 44, 45, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 119, 53, 0, 54, 55, 0, 0, 0, 0, - 57, 0, 58, 59, 60, 61, 62, 63, 0, 0, - 64, 0, 0, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 0, 0, 0, 0, 0, 0, 0, 15, - 120, 108, 109, 18, 19, 0, 0, 0, 0, 0, - 110, 111, 112, 23, 24, 25, 26, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 0, 40, 41, - 42, 0, 0, 43, 0, 0, 44, 45, 0, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 57, 0, 58, 59, 60, 0, 61, 62, 63, + 0, 64, 0, 0, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, + 15, 120, 108, 109, 18, 19, 0, 0, 0, 0, + 0, 110, 111, 112, 23, 24, 25, 26, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, + 41, 42, 0, 0, 43, 0, 0, 44, 45, 0, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 394, 53, 0, 54, 55, - 0, 0, 0, 0, 57, 0, 58, 59, 60, 61, - 62, 63, 0, 0, 64, 0, 0, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, 0, 0, - 0, 0, 0, 15, 120, 108, 109, 18, 19, 0, - 0, 0, 0, 0, 110, 111, 112, 23, 24, 25, - 26, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 0, 40, 41, 42, 0, 0, 43, 0, 0, - 44, 45, 0, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 0, 58, 59, 60, + 0, 61, 62, 63, 0, 64, 0, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 0, 0, 0, 15, 120, 108, 109, 18, 19, + 0, 0, 0, 0, 0, 110, 111, 112, 23, 24, + 25, 26, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 0, 40, 41, 42, 0, 0, 43, 0, + 0, 44, 45, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 944, 0, 0, 119, - 53, 0, 54, 55, 0, 0, 0, 0, 57, 0, - 58, 59, 60, 61, 62, 63, 0, 0, 64, 0, - 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 0, 0, 0, 0, 0, 15, 120, 108, - 109, 18, 19, 0, 0, 0, 0, 0, 110, 111, - 112, 23, 24, 25, 26, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 0, 40, 41, 42, 0, - 0, 43, 0, 0, 44, 45, 0, 223, 0, 0, + 53, 0, 54, 55, 0, 0, 0, 0, 0, 57, + 0, 58, 59, 60, 0, 61, 62, 63, 0, 64, + 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 0, 0, 0, 0, 0, 15, 120, + 108, 109, 18, 19, 0, 0, 0, 0, 0, 110, + 111, 112, 23, 24, 25, 26, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 0, 40, 41, 42, + 0, 0, 43, 0, 0, 44, 45, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 967, 0, 0, 119, 53, 0, 54, 55, 0, 639, - 640, 0, 57, 641, 58, 59, 60, 61, 62, 63, - 0, 0, 64, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 0, 0, 183, - 184, 0, 120, 0, 0, 185, 186, 187, 188, 0, - 0, 0, 398, -606, -606, -606, -606, 403, 404, 189, - 190, -606, -606, 0, 0, 0, 0, 0, 0, 411, - 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 648, 649, 0, 0, 650, - 0, 203, 273, 0, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 0, 0, 183, 184, 0, 0, 0, - 0, 185, 186, 187, 188, 0, 0, 0, 398, 399, - 400, 401, 402, 403, 404, 189, 190, 407, 408, 0, - 0, 0, 0, 0, 0, 411, 412, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 669, 640, 0, 0, 670, 0, 203, 273, 0, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 0, - 0, 183, 184, 0, 0, 0, 0, 185, 186, 187, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 967, 0, 0, 119, 53, 0, 54, 55, 0, 0, + 639, 640, 0, 57, 641, 58, 59, 60, 0, 61, + 62, 63, 0, 64, 0, 0, 0, 0, 0, 174, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 120, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 654, 649, 0, - 0, 655, 0, 203, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 0, 0, 183, 184, 0, - 0, 0, 0, 185, 186, 187, 188, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 190, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 648, 649, 0, 0, + 650, 0, 203, 273, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, + 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, + 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, + 201, 202, 669, 640, 0, 0, 670, 0, 203, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 684, 640, 0, 0, 685, 0, 203, - 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 0, 0, 183, 184, 0, 0, 0, 0, 185, - 186, 187, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 190, 0, 0, 0, 0, 0, + 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, + 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 687, - 649, 0, 0, 688, 0, 203, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 0, 0, 183, - 184, 0, 0, 0, 0, 185, 186, 187, 188, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 0, 201, 202, 654, 649, + 0, 0, 655, 0, 203, 273, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, + 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, + 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 694, 640, 0, 0, 695, - 0, 203, 273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 0, 0, 183, 184, 0, 0, 0, - 0, 185, 186, 187, 188, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 697, 649, 0, 0, 698, 0, 203, 273, 0, + 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 0, 201, 202, 684, 640, 0, 0, 685, 0, + 203, 273, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, + 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, + 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 0, - 0, 183, 184, 0, 0, 0, 0, 185, 186, 187, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, + 687, 649, 0, 0, 688, 0, 203, 273, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 733, 640, 0, - 0, 734, 0, 203, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 0, 0, 183, 184, 0, - 0, 0, 0, 185, 186, 187, 188, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 190, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 694, 640, 0, 0, + 695, 0, 203, 273, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, + 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, + 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, + 201, 202, 697, 649, 0, 0, 698, 0, 203, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 736, 649, 0, 0, 737, 0, 203, - 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 0, 0, 183, 184, 0, 0, 0, 0, 185, - 186, 187, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 190, 0, 0, 0, 0, 0, + 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, + 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 884, - 640, 0, 0, 885, 0, 203, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 0, 0, 183, - 184, 0, 0, 0, 0, 185, 186, 187, 188, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 0, 201, 202, 733, 640, + 0, 0, 734, 0, 203, 273, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, + 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, + 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 887, 649, 0, 0, 888, - 0, 203, 273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 0, 0, 183, 184, 0, 0, 0, - 0, 185, 186, 187, 188, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 1026, 640, 0, 0, 1027, 0, 203, 273, 0, + 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 0, 201, 202, 736, 649, 0, 0, 737, 0, + 203, 273, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, + 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, + 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 0, - 0, 183, 184, 0, 0, 0, 0, 185, 186, 187, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, + 884, 640, 0, 0, 885, 0, 203, 273, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 1038, 640, 0, - 0, 1039, 0, 203, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 0, 0, 183, 184, 0, - 0, 0, 0, 185, 186, 187, 188, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 190, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 887, 649, 0, 0, + 888, 0, 203, 273, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, + 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, + 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, + 201, 202, 1026, 640, 0, 0, 1027, 0, 203, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 1041, 649, 0, 0, 1042, 0, 203, - 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 0, 0, 183, 184, 0, 0, 0, 0, 185, - 186, 187, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 190, 0, 0, 0, 0, 0, + 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, + 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 654, - 649, 0, 0, 655, 0, 203, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 0, 0, 183, - 184, 0, 0, 0, 0, 185, 186, 187, 188, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 853, 0, 0, 0, 0, - 0, 203, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 0, 0, 0, 0, 411, - 412, 0, 0, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 0, 0, 0, 0, - 411, 412, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 414, 0, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 864, 0, 0, 0, 0, 0, - 0, 0, 0, 414, 0, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 0, 0, 0, 0, 0, - 0, 0, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 0, 0, 0, 0, 411, - 412, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 0, 0, 0, 0, 411, 412, + 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 0, 201, 202, 1038, 640, + 0, 0, 1039, 0, 203, 273, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, + 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, + 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 0, 201, 202, 1041, 649, 0, 0, 1042, 0, + 203, 273, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, + 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, + 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, + 654, 649, 0, 0, 655, 0, 203, 273, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 864, 0, 0, 0, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, + 0, 0, 203, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 0, 0, 0, 0, 410, + 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 414, 0, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 0, 0, 0, 0, 0, 0, - 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 0, 249, 0, 0, - 411, 412, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 0, 0, 0, 0, 411, - 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 414, 0, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 0, 0, 0, 0, 0, - 0, 0, 414, -273, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 0, 0, 0, 0, 0, 0, - 0, 0, -274, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 0, 0, 0, 0, - 411, 412, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 0, 0, 0, 0, 411, - 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 414, 0, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 0, 0, 0, 0, 0, - 0, 0, 414, -275, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 0, 0, 0, 0, 0, 0, - 0, 0, -276, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 0, 0, 0, 0, - 411, 412, 0, 0, 0, 413, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 0, - 0, 0, 0, 411, 412, 0, 0, 0, 493, 0, 0, 0, 0, 414, 0, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 414, 0, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 398, 399, + 420, 421, 422, 423, 424, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 0, 0, 0, + 0, 410, 411, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 413, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 414, 0, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 0, + 0, 249, 0, 410, 411, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 413, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 414, 0, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 0, + 0, 0, 0, 0, 0, 0, 0, -273, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 0, 0, 0, 0, 411, 412, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, -606, -606, - 0, 0, 0, 0, 411, 412, 0, 0, 0, 0, + 0, 0, 0, 0, 410, 411, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 413, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 0, 0, 0, 0, 0, 0, 0, 0, -274, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 0, 0, 0, 0, 410, 411, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, + 0, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 0, 0, 0, 0, 0, 0, 0, 0, -275, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 0, 0, 0, 0, 410, 411, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 414, 0, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 0, 0, 0, 0, 0, 0, 0, 0, + -276, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 0, 0, 0, 0, 410, 411, 0, + 0, 0, 412, 0, 0, 0, 0, 0, 0, 0, + 413, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 0, 0, 0, 0, 410, + 411, 0, 0, 0, 493, 0, 0, 0, 0, 0, + 0, 0, 413, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 414, 0, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 0, 0, 0, + 0, 410, 411, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 413, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 414, 0, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, -606, -606, 0, + 0, 0, 0, 410, 411, 398, 399, 400, 401, 402, + 403, 404, 0, 406, 407, 0, 413, 0, 0, 0, + 0, 410, 411, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 413, 0, 0, 0, 0, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 0, + 0, 0, 0, 0, 0, 0, 0, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 398, 399, 400, + 401, 402, 403, 0, 0, 406, 407, 0, 0, 0, + 0, 0, 0, 410, 411, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 413, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424 }; @@ -4043,186 +3720,186 @@ static const yytype_int16 yycheck[] = 294, 74, 75, 452, 746, 21, 22, 5, 6, 16, 82, 312, 929, 54, 55, 13, 657, 658, 467, 437, 438, 16, 69, 60, 61, 62, 63, 476, 25, 111, - 16, 22, 16, 17, 16, 17, 20, 29, 20, 952, - 367, 0, 496, 213, 25, 117, 500, 119, 121, 122, - 220, 770, 26, 26, 600, 57, 454, 330, 56, 91, - 333, 383, 335, 385, 337, 93, 339, 103, 267, 25, - 269, 61, 54, 25, 64, 65, 93, 5, 6, 25, - 25, 142, 57, 144, 82, 13, 216, 257, 91, 105, - 25, 540, 128, 121, 93, 111, 112, 227, 55, 18, - 394, 20, 105, 1020, 121, 304, 397, 60, 115, 80, - 63, 118, 119, 129, 105, 147, 1029, 5, 6, 121, - 115, 113, 121, 118, 119, 13, 116, 117, 56, 115, - 751, 28, 118, 119, 26, 221, 222, 140, 210, 146, - 488, 148, 138, 142, 147, 142, 437, 438, 123, 221, - 222, 146, 751, 148, 82, 126, 142, 110, 288, 800, - 146, 142, 148, 144, 138, 138, 121, 789, 56, 240, - 144, 770, 720, 795, 52, 240, 346, 144, 273, 91, - 296, 148, 277, 91, 314, 267, 142, 269, 304, 305, - 142, 273, 934, 309, 82, 312, 142, 142, 505, 91, - 548, 273, 91, 250, 91, 277, 376, 142, 72, 281, - 282, 294, 142, 105, 286, 542, 709, 62, 105, 64, - 65, 293, 294, 273, 855, 142, 93, 277, 679, 301, - 949, 148, 778, 952, 925, 147, 277, 538, 121, 147, - 312, 119, 26, 93, 317, 91, 138, 115, 140, 296, - 118, 119, 144, 140, 121, 147, 855, 144, 147, 105, - 147, 347, 348, 349, 350, 719, 720, 131, 132, 133, - 668, 116, 117, 546, 346, 347, 348, 349, 350, 351, - 352, 353, 392, 91, 582, 322, 395, 397, 293, 827, - 372, 273, 374, 277, 367, 277, 301, 369, 93, 600, - 144, 147, 472, 473, 75, 504, 505, 91, 93, 144, - 1029, 394, 125, 756, 312, 93, 93, 389, 451, 346, - 392, 105, 394, 395, 55, 397, 121, 437, 438, 121, - 91, 91, 427, 25, 783, 93, 121, 791, 51, 147, - 91, 346, 55, 121, 121, 427, 351, 142, 58, 59, - 949, 122, 522, 952, 138, 427, 140, 452, 706, 529, - 144, 709, 91, 147, 429, 437, 438, 432, 786, 91, + 16, 22, 16, 17, 16, 17, 20, 29, 20, 138, + 367, 90, 496, 213, 25, 117, 500, 119, 121, 122, + 220, 770, 26, 26, 600, 57, 454, 330, 56, 92, + 333, 383, 335, 385, 337, 26, 339, 952, 267, 25, + 269, 61, 54, 25, 64, 65, 0, 5, 6, 25, + 25, 142, 25, 144, 82, 13, 216, 257, 121, 105, + 144, 540, 55, 789, 148, 111, 112, 227, 147, 795, + 394, 60, 28, 1020, 63, 304, 397, 121, 115, 142, + 90, 118, 119, 129, 105, 57, 90, 5, 6, 121, + 115, 113, 90, 118, 119, 13, 116, 117, 56, 115, + 751, 105, 118, 119, 142, 221, 222, 105, 210, 146, + 488, 148, 58, 59, 1029, 142, 437, 438, 107, 221, + 222, 146, 751, 148, 82, 90, 142, 121, 288, 800, + 146, 142, 148, 144, 138, 138, 140, 147, 56, 240, + 144, 770, 720, 147, 52, 240, 346, 138, 273, 147, + 296, 123, 277, 144, 314, 267, 142, 269, 304, 305, + 142, 273, 934, 309, 82, 312, 142, 142, 505, 142, + 548, 273, 92, 250, 61, 277, 376, 64, 65, 281, + 282, 294, 147, 92, 286, 542, 709, 92, 92, 26, + 103, 293, 294, 273, 855, 79, 144, 277, 679, 301, + 949, 121, 778, 952, 925, 115, 277, 538, 118, 119, + 312, 119, 121, 90, 317, 128, 121, 90, 121, 296, + 90, 90, 90, 144, 75, 90, 855, 125, 90, 116, + 117, 347, 348, 349, 350, 719, 720, 142, 148, 142, + 668, 55, 126, 546, 346, 347, 348, 349, 350, 351, + 352, 353, 392, 90, 582, 322, 395, 397, 293, 827, + 372, 273, 374, 277, 367, 277, 301, 369, 105, 600, + 147, 122, 472, 473, 147, 504, 505, 147, 147, 147, + 1029, 394, 147, 756, 312, 147, 121, 389, 451, 346, + 392, 653, 394, 395, 656, 397, 51, 437, 438, 142, + 55, 138, 427, 140, 783, 148, 90, 791, 37, 38, + 147, 346, 674, 92, 115, 427, 351, 118, 119, 55, + 949, 105, 522, 952, 18, 427, 20, 452, 706, 529, + 25, 709, 142, 92, 429, 437, 438, 432, 786, 20, 452, 925, 467, 771, 792, 793, 730, 427, 460, 927, - 452, 476, 454, 455, 312, 467, 147, 147, 453, 16, - 494, 463, 26, 121, 476, 467, 147, 395, 597, 471, + 452, 476, 454, 455, 312, 467, 140, 142, 453, 16, + 494, 463, 121, 147, 476, 467, 92, 395, 597, 471, 798, 496, 452, 468, 476, 500, 713, 494, 286, 481, - 392, 512, 477, 429, 142, 397, 294, 467, 147, 536, - 55, 538, 504, 505, 312, 147, 476, 870, 871, 20, - 1029, 513, 527, 142, 704, 530, 142, 453, 760, 761, - 762, 513, 764, 57, 766, 540, 844, 512, 647, 138, - 522, 516, 468, 751, 93, 496, 503, 91, 540, 72, - 653, 477, 145, 656, 536, 93, 538, 395, 540, 542, - 26, 105, 512, 927, 121, 547, 541, 778, 896, 141, - 610, 674, 121, 600, 139, 833, 527, 93, 115, 780, - 540, 118, 119, 121, 93, 786, 666, 55, 93, 93, - 516, 792, 793, 485, 138, 704, 140, 395, 513, 907, - 144, 593, 51, 147, 713, 121, 394, 522, 93, 146, - 142, 148, 121, 72, 628, 541, 121, 121, 600, 72, - 837, 93, 93, 72, 704, 91, 142, 2, 536, 4, - 538, 628, 121, 142, 9, 10, 121, 142, 142, 105, - 15, 16, 17, 851, 27, 20, 142, 367, 1001, 121, - 121, 859, 72, 102, 103, 647, 1015, 37, 38, 115, - 142, 653, 118, 119, 656, 657, 658, 58, 59, 89, - 90, 667, 138, 51, 140, 463, 121, 52, 144, 128, - 142, 147, 674, 471, 142, 667, 668, 679, 680, 700, - 682, 66, 600, 481, 51, 896, 677, 689, 536, 142, - 538, 51, 677, 699, 730, 937, 938, 939, 940, 129, - 130, 131, 132, 133, 719, 720, 142, 699, 644, 51, - 26, 713, 802, 796, 738, 700, 100, 653, 837, 15, - 656, 911, 115, 17, 18, 118, 119, 917, 536, 13, - 538, 949, 117, 644, 119, 16, 672, 827, 674, 63, - 700, 778, 653, 866, 867, 656, 15, 91, 145, 547, - 780, 145, 600, 146, 756, 148, 786, 787, 719, 74, - 75, 105, 792, 793, 139, 142, 9, 10, 783, 142, - 15, 15, 15, 142, 44, 91, 791, 679, 121, 771, - 141, 783, 141, 1025, 437, 438, 778, 779, 780, 105, - 15, 783, 600, 141, 786, 787, 140, 18, 800, 784, - 792, 793, 141, 147, 1022, 139, 798, 799, 810, 815, - 15, 813, 770, 783, 26, 1033, 469, 470, 139, 141, - 812, 911, 138, 815, 140, 210, 139, 917, 144, 148, - 791, 147, 824, 825, 142, 837, 221, 222, 568, 57, - 832, 142, 866, 867, 142, 142, 575, 142, 784, 14, - 579, 91, 844, 845, 779, 585, 15, 91, 588, 575, - 778, 91, 37, 38, 517, 105, 896, 94, 870, 871, - 145, 105, 15, 15, 117, 105, 868, 142, 146, 91, - 298, 873, 61, 142, 302, 64, 65, 142, 273, 142, - 142, 115, 277, 105, 118, 119, 281, 282, 15, 141, - 140, 286, 15, 139, 896, 15, 140, 147, 293, 294, - 140, 15, 927, 147, 906, 907, 301, 147, 910, 969, - 91, 15, 914, 925, 148, 91, 138, 142, 140, 139, - 778, 126, 126, 55, 105, 147, 139, 116, 117, 105, - 115, 55, 15, 118, 119, 142, 91, 15, 144, 142, - 868, 62, 142, 64, 65, 873, 142, 142, 982, 142, - 105, 346, 347, 348, 349, 350, 351, 352, 353, 140, - 778, 146, 91, 148, 140, 982, 147, 144, 221, 222, - 972, 147, 974, 141, 369, 977, 105, 142, 946, 513, - 13, 949, 910, 6, 952, 140, 954, 770, 72, 1001, - 1015, 799, 147, 1020, 389, 116, 117, 392, 1018, 394, - 7, 797, 397, 1015, 812, 1017, 1018, 1017, 575, 252, - 868, 140, 946, 1015, -1, 873, 824, 825, 147, 949, - 268, 1016, 91, -1, 832, -1, 91, -1, 281, 282, - 770, 770, 427, -1, 1002, 1015, 105, 845, -1, -1, - 105, -1, 437, 438, 770, 129, 130, 131, 132, 133, + 392, 512, 477, 429, 92, 397, 294, 467, 57, 536, + 92, 538, 504, 505, 312, 121, 476, 870, 871, 138, + 1029, 513, 527, 92, 704, 530, 92, 453, 760, 761, + 762, 513, 764, 121, 766, 540, 844, 512, 647, 121, + 522, 516, 468, 751, 101, 496, 503, 145, 540, 17, + 18, 477, 121, 121, 536, 121, 538, 395, 540, 542, + 142, 141, 512, 927, 55, 547, 541, 778, 896, 90, + 610, 58, 59, 600, 92, 833, 527, 139, 115, 780, + 540, 118, 119, 92, 105, 786, 666, 92, 92, 142, + 516, 792, 793, 485, 101, 704, 121, 395, 513, 907, + 101, 593, 51, 121, 713, 51, 394, 522, 142, 146, + 90, 148, 121, 142, 628, 541, 121, 121, 600, 140, + 837, 92, 142, 144, 704, 105, 147, 2, 536, 4, + 538, 628, 142, 142, 9, 10, 51, 142, 142, 92, + 15, 16, 17, 851, 27, 20, 142, 367, 1001, 92, + 121, 859, 101, 102, 103, 647, 1015, 866, 867, 90, + 140, 653, 74, 75, 656, 657, 658, 147, 121, 90, + 51, 667, 142, 121, 105, 463, 99, 52, 121, 128, + 51, 101, 674, 471, 105, 667, 668, 679, 680, 700, + 682, 66, 600, 481, 15, 896, 677, 689, 536, 13, + 538, 16, 677, 699, 730, 937, 938, 939, 940, 140, + 63, 131, 132, 133, 719, 720, 147, 699, 644, 140, + 26, 713, 802, 796, 738, 700, 147, 653, 837, 15, + 656, 911, 115, 142, 145, 118, 119, 917, 536, 145, + 538, 949, 117, 644, 119, 139, 672, 827, 674, 142, + 700, 778, 653, 15, 115, 656, 90, 118, 119, 547, + 780, 15, 600, 146, 756, 148, 786, 787, 719, 142, + 44, 105, 792, 793, 121, 26, 9, 10, 783, 141, + 15, 141, 15, 141, 90, 141, 791, 679, 18, 771, + 139, 783, 15, 1025, 437, 438, 778, 779, 780, 105, + 139, 783, 600, 141, 786, 787, 140, 148, 800, 784, + 792, 793, 139, 147, 1022, 57, 798, 799, 810, 815, + 142, 813, 770, 783, 26, 1033, 469, 470, 15, 142, + 812, 911, 138, 815, 140, 210, 26, 917, 144, 90, + 791, 147, 824, 825, 142, 837, 221, 222, 568, 142, + 832, 90, 866, 867, 105, 142, 575, 93, 784, 14, + 579, 15, 844, 845, 779, 585, 105, 15, 588, 575, + 778, 146, 145, 142, 517, 142, 896, 142, 870, 871, + 90, 142, 142, 15, 117, 141, 868, 138, 90, 140, + 298, 873, 15, 144, 302, 105, 147, 15, 273, 139, + 90, 140, 277, 105, 15, 90, 281, 282, 147, 15, + 139, 286, 126, 126, 896, 105, 142, 55, 293, 294, + 105, 139, 927, 15, 906, 907, 301, 55, 910, 969, + 140, 142, 914, 925, 37, 38, 138, 147, 140, 142, + 778, 142, 144, 90, 142, 147, 90, 142, 138, 142, + 140, 15, 144, 144, 144, 140, 142, 147, 105, 141, + 868, 105, 147, 513, 13, 873, 6, 1018, 982, 1017, + 1020, 346, 347, 348, 349, 350, 351, 352, 353, 770, + 778, 797, 90, 7, 252, 982, 575, 949, 221, 222, + 972, 946, 974, 140, 369, 977, 140, 105, 946, -1, + 147, 949, 910, 147, 952, 62, 954, 64, 65, 1001, + 1015, 799, 115, 268, 389, 118, 119, 392, -1, 394, + -1, -1, 397, 1015, 812, 1017, 1018, -1, -1, -1, + 868, -1, 140, 1015, -1, 873, 824, 825, -1, 147, + -1, 1016, -1, 146, 832, 148, -1, -1, 281, 282, + 770, 770, 427, -1, 1002, 1015, -1, 845, -1, 116, + 117, -1, 437, 438, 770, 40, 41, 42, 43, 44, 868, -1, 910, -1, -1, 873, -1, 452, -1, 454, 455, 1029, 425, 1031, -1, 1033, 429, 1035, 463, 432, - 1016, 140, 467, 501, -1, 140, 471, -1, 147, 91, - 508, 476, 147, 63, 64, 65, 481, 1055, -1, -1, + 1016, -1, 467, 501, -1, -1, 471, -1, 90, -1, + 508, 476, -1, -1, -1, -1, 481, 1055, -1, 90, 453, 519, 910, 105, 347, 348, 349, 350, 906, 352, - 353, -1, -1, 466, -1, 468, 914, 51, -1, 53, - 54, 55, 56, -1, 477, 855, 72, 857, 513, -1, - -1, 861, -1, 786, 787, 69, -1, 522, 140, 792, - 793, -1, -1, 89, 90, 147, 116, 117, -1, -1, - -1, 569, 570, 9, 10, 540, -1, 875, 876, 15, + 353, -1, -1, 466, 105, 468, 914, 51, -1, 53, + 54, 55, 56, -1, 477, 855, -1, 857, 513, -1, + -1, 861, 90, 786, 787, 69, -1, 522, 140, 792, + 793, 62, -1, 64, 65, 147, -1, 105, -1, 140, + -1, 569, 570, 9, 10, 540, 147, 875, 876, 15, 16, 17, 547, 516, 20, 818, 819, -1, 821, 822, -1, -1, -1, -1, 972, -1, 974, -1, -1, 977, - -1, 599, 128, 129, 130, 131, 132, 133, 541, -1, - -1, 47, 48, 49, 50, 91, -1, -1, 54, 55, - 91, 115, 932, 933, 118, 119, -1, -1, 142, 105, - 66, 67, 455, -1, 105, 115, -1, 946, 118, 119, + -1, 599, 140, -1, -1, -1, -1, -1, 541, 147, + -1, 47, 48, 49, 50, 116, 117, -1, 54, 55, + -1, 115, 932, 933, 118, 119, -1, -1, 142, -1, + 66, 67, 455, -1, 63, 64, 65, 946, -1, -1, 949, -1, 952, 952, 954, 954, 63, 64, 65, -1, 946, 949, 146, 949, 148, -1, 952, 51, 954, 53, - 54, 55, 56, 896, 140, 145, 146, -1, 148, 140, - -1, 147, -1, -1, -1, 69, 147, -1, 676, 989, - -1, 117, 992, -1, -1, -1, 919, 63, 64, 65, - -1, -1, 51, 1002, 53, 54, 55, 56, -1, 116, + 54, 55, 56, 896, 63, 64, 65, 51, -1, 53, + 54, 55, 56, -1, -1, 69, -1, -1, 676, 989, + -1, 117, 992, -1, -1, 69, 919, 116, 117, 63, + 64, 65, -1, 1002, -1, -1, -1, -1, -1, 116, 117, -1, 667, 668, -1, -1, 1002, 1005, 1006, 1007, - 69, 1009, 1010, 72, 1024, -1, -1, -1, -1, 1029, + 94, 1009, 1010, -1, 1024, -1, 100, 116, 117, 1029, 1029, 1031, 1031, -1, 1033, 1035, 1035, 63, 64, 65, - -1, 729, -1, 1029, 699, 1031, 95, 1033, -1, 1035, - 116, 117, 101, 102, 103, 1055, 1055, -1, 142, 747, - -1, 1049, 1050, 1051, 1052, -1, -1, -1, -1, 1055, - -1, 1059, -1, 63, 64, 65, 63, 64, 65, 128, - -1, -1, 131, -1, -1, -1, 63, 64, 65, -1, - 116, 117, -1, 142, -1, 221, 222, -1, -1, 63, - 64, 65, 51, -1, 53, 54, 55, 56, 2, -1, - 4, 5, 6, -1, -1, -1, 771, -1, -1, 13, - 69, -1, -1, -1, 779, 780, 116, 117, 783, 116, - 117, 786, 787, 259, 260, 261, 262, 792, 793, 116, - 117, -1, -1, 798, 799, -1, 95, 273, 836, -1, - -1, 277, 116, 117, 667, 281, 282, 812, 52, 782, - 815, 784, 56, 51, 852, 53, 54, 55, 56, 824, - 825, -1, -1, -1, 72, -1, -1, 832, -1, 115, - -1, 69, 118, 119, 72, -1, 699, -1, 82, 844, - 845, 89, 90, 40, 41, 42, 43, 44, 51, -1, - 53, 54, 55, 56, -1, -1, 142, 95, -1, -1, - 146, -1, 148, 101, 102, 103, 69, -1, -1, -1, - -1, 347, 348, 349, 350, 119, 352, 353, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - 128, 896, 95, 131, 370, -1, -1, -1, 101, -1, - -1, 906, 907, -1, -1, 381, 144, -1, -1, 914, - -1, -1, -1, -1, -1, -1, 392, -1, -1, -1, + -1, 729, -1, 1029, 699, 1031, -1, 1033, -1, 1035, + -1, -1, 116, 117, -1, 1055, 1055, -1, 142, 747, + 0, 1049, 1050, 1051, 1052, -1, -1, -1, -1, 1055, + -1, 1059, -1, 13, 14, 15, 16, 17, 18, -1, + 20, -1, -1, -1, -1, -1, 26, 27, -1, -1, + 116, 117, 63, 64, 65, 221, 222, 37, 38, -1, + 40, 41, 42, 43, 44, -1, -1, -1, 2, -1, + 4, 5, 6, 63, 64, 65, 771, -1, -1, 13, + 63, 64, 65, -1, 779, 780, -1, -1, 783, -1, + -1, 786, 787, 259, 260, 261, 262, 792, 793, -1, + 88, 89, -1, 798, 799, 116, 117, 273, 836, -1, + 90, 277, -1, 101, 667, 281, 282, 812, 52, 782, + 815, 784, 56, -1, 852, 105, 116, 117, -1, 824, + 825, -1, -1, 116, 117, 115, -1, 832, 118, 119, + 128, 129, 130, 131, 132, 133, 699, -1, 82, 844, + 845, 51, -1, 53, 54, 55, 56, -1, 138, 139, + -1, -1, -1, -1, 144, 145, 146, 147, 148, 69, + 51, -1, 53, 54, 55, 56, -1, 101, -1, 88, + 89, 347, 348, 349, 350, 119, 352, 353, 69, -1, + -1, -1, 101, -1, 94, -1, -1, -1, -1, -1, + 100, 896, -1, -1, 370, 129, 130, 131, 132, 133, + -1, 906, 907, 94, -1, 381, -1, -1, -1, 914, + 129, 130, 131, 132, 133, -1, 392, -1, -1, -1, -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, + 406, 407, 408, 409, 410, 411, -1, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, -1, -1, 427, 815, -1, -1, -1, -1, 2, -1, 4, -1, 437, 438, -1, -1, -1, 210, 972, 13, 974, - -1, -1, 977, -1, -1, -1, 452, -1, -1, 455, + -1, 115, 977, -1, 118, 119, 452, -1, -1, 455, -1, 2, -1, 4, 5, 6, 7, -1, -1, 465, -1, 467, 13, 469, 470, -1, -1, -1, -1, -1, - 476, 51, -1, 53, 54, 55, 56, 52, -1, 485, - 1015, -1, -1, 489, -1, -1, -1, 493, -1, 69, - 496, -1, 498, -1, 500, 501, -1, -1, -1, -1, - -1, 52, -1, -1, 51, 56, 53, 54, 55, 56, + 476, 145, 146, -1, 148, -1, -1, 52, -1, 485, + 1015, -1, -1, 489, -1, -1, -1, 493, -1, -1, + 496, -1, 498, -1, 500, 501, -1, -1, -1, 115, + -1, 52, 118, 119, 51, 56, 53, 54, 55, 56, -1, 517, 286, 1016, -1, -1, -1, -1, -1, 293, - 294, 527, 69, -1, 530, 72, -1, 301, -1, -1, - -1, 82, -1, -1, 540, -1, -1, -1, 312, -1, - -1, -1, -1, -1, 119, -1, -1, -1, 95, -1, - 556, 557, -1, -1, 101, 102, 103, 51, -1, 53, - 54, 55, 56, -1, -1, -1, 572, -1, 119, -1, - -1, -1, 346, -1, -1, 69, -1, 351, 72, -1, + 294, 527, 69, -1, 530, -1, 142, 301, -1, -1, + 146, 82, 148, -1, 540, -1, -1, -1, 312, -1, + -1, -1, -1, -1, 119, -1, -1, 94, -1, -1, + 556, 557, -1, 100, 101, 102, 103, 51, -1, 53, + 54, 55, 56, -1, -1, -1, 572, -1, 119, 44, + -1, -1, 346, -1, -1, 69, -1, 351, -1, -1, -1, 128, -1, -1, 131, 591, -1, -1, 594, -1, - -1, -1, 86, -1, -1, 369, -1, 144, -1, -1, - -1, 95, -1, -1, -1, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, 389, -1, -1, -1, -1, - 394, 395, -1, 397, -1, 51, -1, 53, 54, 55, - 56, -1, -1, -1, 128, 210, -1, 131, -1, -1, - 2, -1, 4, 69, -1, -1, 72, 51, -1, 53, - 54, 55, 56, -1, -1, -1, -1, -1, -1, 210, - 86, 667, -1, 437, 438, 69, -1, -1, 72, 95, - -1, -1, -1, 679, -1, 101, 102, 103, -1, -1, - 454, -1, -1, 51, -1, 53, 54, 55, 56, 463, - 52, 95, -1, 699, -1, -1, -1, 471, 102, 103, - -1, 69, 128, -1, 710, 131, -1, 481, -1, -1, - -1, 286, -1, 719, 720, -1, -1, -1, 293, 294, - -1, -1, -1, -1, 128, -1, 301, 95, -1, -1, - -1, -1, -1, 101, -1, 286, -1, -1, -1, 513, + -1, -1, -1, -1, -1, 369, -1, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 389, -1, -1, -1, -1, + 394, 395, -1, 397, -1, 51, 101, 53, 54, 55, + 56, -1, -1, -1, -1, 210, -1, -1, -1, -1, + 2, -1, 4, 69, -1, -1, -1, 122, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 210, + -1, 667, -1, 437, 438, -1, -1, 142, 94, -1, + -1, -1, -1, 679, 100, 101, 102, 103, -1, -1, + 454, 51, -1, 53, 54, 55, 56, -1, -1, 463, + 52, -1, -1, 699, -1, -1, -1, 471, -1, 69, + -1, -1, 128, -1, 710, 131, -1, 481, -1, -1, + -1, 286, -1, 719, 720, -1, 142, -1, 293, 294, + -1, -1, -1, -1, 94, -1, 301, -1, -1, -1, + -1, 101, 102, 103, -1, 286, -1, -1, -1, 513, -1, -1, 293, 294, -1, -1, -1, -1, 522, -1, - 301, -1, -1, -1, -1, -1, -1, 119, -1, -1, + 301, -1, -1, -1, -1, -1, -1, 119, 128, -1, -1, 312, 536, -1, 538, -1, -1, -1, -1, 775, -1, 346, -1, 547, 780, 781, 351, 783, -1, -1, 786, 787, -1, -1, -1, 791, 792, 793, -1, -1, @@ -4234,38 +3911,38 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 394, 395, -1, -1, 853, 210, 51, -1, 53, 54, 55, 56, -1, -1, -1, 864, -1, -1, -1, 437, 438, -1, -1, -1, 69, -1, -1, - 72, -1, -1, 879, -1, -1, -1, -1, -1, 454, + -1, -1, -1, 879, -1, -1, -1, -1, -1, 454, -1, -1, -1, 889, 890, -1, -1, -1, 463, -1, - 896, -1, -1, 95, 668, -1, 471, -1, -1, 101, + 896, -1, 94, -1, 668, -1, 471, -1, 100, 101, 102, 103, -1, 454, -1, -1, 481, -1, -1, -1, -1, -1, 463, 919, -1, -1, -1, -1, -1, -1, 471, 927, -1, -1, 286, -1, 128, -1, -1, 131, - 481, 293, 294, -1, -1, -1, -1, -1, 513, 301, - -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 513, -1, -1, -1, -1, -1, -1, -1, - -1, 522, 547, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 346, 536, -1, 538, -1, 351, - -1, -1, -1, -1, -1, -1, 547, 771, -1, -1, - -1, -1, -1, -1, 778, 779, 780, 369, -1, 1015, + 481, 293, 294, -1, -1, 88, 89, -1, 513, 301, + -1, -1, 144, -1, -1, -1, -1, 522, 101, 51, + -1, 53, 54, 55, 56, -1, -1, -1, -1, -1, + -1, -1, 513, -1, -1, -1, -1, 69, -1, -1, + -1, 522, 547, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, 346, 536, -1, 538, -1, 351, + -1, -1, 94, -1, -1, -1, 547, 771, 100, 101, + 102, 103, -1, -1, 778, 779, 780, 369, -1, 1015, -1, -1, 786, -1, -1, -1, -1, -1, 792, 793, - -1, -1, -1, -1, 798, 799, -1, 389, -1, -1, + -1, -1, -1, -1, 798, 799, 128, 389, -1, 131, -1, -1, 394, -1, -1, 397, -1, -1, 812, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 600, + -1, -1, 144, -1, -1, -1, -1, -1, -1, 600, 824, 825, -1, -1, -1, -1, -1, -1, 832, -1, + -1, 51, -1, 53, 54, 55, 56, -1, -1, -1, + 844, 845, -1, -1, -1, 437, 438, -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 844, 845, -1, -1, -1, 437, 438, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 454, 668, 868, -1, -1, -1, -1, 873, - -1, 463, -1, -1, -1, -1, -1, -1, -1, 471, - -1, -1, -1, -1, -1, -1, -1, 668, -1, 481, - -1, -1, 896, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 906, 907, -1, -1, 910, -1, -1, -1, - 914, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 513, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 454, 668, 868, 85, -1, -1, -1, 873, + -1, 463, -1, 51, 94, 53, 54, 55, 56, 471, + 100, 101, 102, 103, -1, -1, -1, 668, -1, 481, + -1, 69, 896, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 906, 907, -1, -1, 910, 85, 128, -1, + 914, 131, -1, -1, -1, -1, 94, -1, -1, -1, + -1, 513, 100, 101, 102, 103, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 547, -1, -1, -1, -1, + 128, -1, -1, 131, -1, 547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, 972, -1, 974, -1, -1, 977, 779, 780, -1, -1, -1, -1, -1, 786, -1, -1, -1, -1, -1, 792, 793, -1, @@ -4278,33 +3955,33 @@ static const yytype_int16 yycheck[] = -1, 832, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 844, 845, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 668, -1, -1, -1, - 0, -1, -1, -1, -1, -1, -1, 868, -1, -1, - -1, 896, 873, 13, 14, 15, 16, 17, 18, -1, - 20, 906, 907, -1, -1, 910, 26, 27, -1, 914, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - 40, 41, 42, 43, 44, 906, 907, -1, -1, 910, + -1, -1, -1, -1, -1, -1, -1, 868, -1, -1, + -1, 896, 873, -1, -1, 72, 73, 74, 75, 76, + 77, 906, 907, 80, 81, 910, -1, -1, -1, 914, + -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 101, 906, 907, -1, -1, 910, -1, -1, -1, 914, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, - 76, 77, 78, 79, -1, 81, 82, 972, -1, 974, - -1, 91, 977, 89, 90, -1, -1, -1, -1, 771, - -1, -1, -1, -1, -1, 105, -1, 779, 780, -1, - -1, 972, -1, 974, 786, 115, 977, -1, 118, 119, - 792, 793, -1, -1, -1, -1, 798, 799, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 138, 139, - 812, -1, -1, -1, 144, 145, 146, 147, 148, -1, - -1, -1, 824, 825, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 972, -1, 974, + -1, -1, 977, -1, -1, -1, -1, -1, -1, 771, + 44, -1, -1, -1, -1, -1, -1, 779, 780, -1, + -1, 972, -1, 974, 786, -1, 977, -1, -1, -1, + 792, 793, -1, -1, -1, -1, 798, 799, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 812, -1, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, 824, 825, -1, -1, -1, 101, -1, -1, 832, -1, -1, 44, -1, -1, -1, -1, -1, -1, - -1, -1, 844, 845, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 844, 845, -1, -1, -1, -1, 122, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, -1, -1, -1, -1, 89, 90, + 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 896, -1, -1, -1, -1, -1, + 101, -1, -1, -1, 896, -1, -1, -1, -1, -1, -1, -1, -1, -1, 906, 907, -1, -1, -1, -1, -1, 122, 914, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, -1, - -1, 142, 0, 1, -1, 3, 4, 5, 6, 7, + -1, -1, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, @@ -4312,227 +3989,239 @@ static const yytype_int16 yycheck[] = 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, 101, -1, -1, 104, -1, 106, 107, - 108, 109, 110, 111, 0, -1, 114, 115, -1, -1, - 118, 119, -1, -1, -1, -1, -1, 13, 14, 15, - 16, 17, 18, -1, 20, -1, 134, 135, 136, -1, - -1, 27, 28, 29, -1, -1, -1, -1, 146, -1, - 148, 37, 38, -1, 40, 41, 42, 43, 44, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, 0, 114, 115, -1, -1, + 118, 119, -1, -1, -1, -1, -1, -1, 13, 14, + 15, 16, 17, 18, -1, 20, 134, 135, 136, -1, + -1, -1, 27, 28, 29, -1, -1, -1, 146, -1, + 148, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, - -1, -1, -1, 89, 90, 91, -1, -1, 94, -1, - -1, -1, -1, -1, 100, -1, -1, -1, -1, 105, - -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, - -1, -1, 118, 119, -1, -1, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - 0, -1, -1, 139, 140, 141, 142, -1, -1, 145, - 146, 147, 148, 13, 14, 15, 16, 17, 18, -1, - 20, -1, -1, -1, -1, -1, 26, 27, 28, -1, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, + -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 90, -1, -1, 93, -1, + -1, -1, -1, -1, 99, -1, 101, -1, -1, -1, + 105, -1, -1, -1, -1, -1, -1, -1, 113, -1, + 115, -1, -1, 118, 119, -1, -1, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, 0, -1, -1, 139, 140, 141, 142, -1, -1, + 145, 146, 147, 148, 13, 14, 15, 16, 17, 18, + -1, 20, -1, -1, -1, -1, -1, 26, 27, 28, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, -1, -1, -1, -1, 89, - 90, 91, -1, -1, 94, -1, -1, -1, -1, -1, - 100, -1, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, 0, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, 147, 148, 13, - 14, 15, 16, 17, 18, -1, 20, -1, -1, -1, - -1, -1, -1, 27, 28, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, -1, -1, -1, -1, 89, 90, 91, -1, 93, - 94, -1, -1, -1, -1, -1, 100, -1, -1, -1, - -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, 0, -1, -1, 139, 140, 141, 142, -1, - -1, 145, 146, 147, 148, 13, 14, 15, 16, 17, - 18, -1, 20, -1, -1, -1, -1, -1, 26, 27, - 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, - 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, + -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, 90, -1, -1, 93, -1, -1, -1, -1, -1, + 99, -1, 101, -1, -1, -1, 105, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, + 119, -1, -1, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, 0, -1, 138, + 139, 140, 141, 142, -1, 144, 145, 146, 147, 148, + 13, 14, 15, 16, 17, 18, -1, 20, -1, -1, + -1, -1, -1, -1, 27, 28, -1, -1, -1, -1, + -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, + 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, -1, 88, 89, 90, -1, 92, + 93, -1, -1, -1, -1, -1, 99, -1, 101, -1, + -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, 0, -1, -1, 139, 140, 141, 142, + -1, -1, 145, 146, 147, 148, 13, 14, 15, 16, + 17, 18, -1, 20, -1, -1, -1, -1, -1, 26, + 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, + 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, -1, -1, -1, - -1, 89, 90, 91, -1, -1, 94, -1, -1, -1, - -1, -1, 100, -1, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, 0, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, 147, - 148, 13, 14, 15, 16, 17, 18, -1, 20, -1, - -1, -1, -1, -1, -1, 27, 28, -1, -1, -1, - -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, - 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, + -1, 88, 89, 90, -1, -1, 93, -1, -1, -1, + -1, -1, 99, -1, 101, -1, -1, -1, 105, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, + -1, 118, 119, -1, -1, 122, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, 0, + -1, 138, 139, 140, 141, 142, -1, 144, 145, 146, + 147, 148, 13, 14, 15, 16, 17, 18, -1, 20, + -1, -1, -1, -1, -1, -1, 27, 28, -1, -1, + -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, + 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, -1, -1, -1, -1, 89, 90, 91, - -1, -1, 94, -1, -1, -1, -1, -1, 100, -1, - -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 115, -1, -1, 118, 119, -1, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, 0, -1, -1, 139, 140, 141, - 142, -1, 144, 145, 146, 147, 148, 13, 14, 15, - -1, 17, 18, -1, 20, -1, -1, -1, -1, -1, - 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, - -1, -1, -1, 89, 90, 91, -1, 93, 94, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, - -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - 0, -1, 138, 139, 140, -1, 142, -1, -1, 145, - 146, 147, 148, 13, 14, 15, -1, 17, 18, -1, - 20, -1, -1, -1, -1, -1, 26, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, + -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, -1, -1, -1, -1, 88, 89, 90, + -1, -1, 93, -1, -1, -1, -1, -1, 99, -1, + 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, + -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, 0, -1, -1, 139, 140, + 141, 142, -1, 144, 145, 146, 147, 148, 13, 14, + 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, + -1, 26, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, -1, -1, -1, -1, 89, - 90, 91, -1, 93, 94, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, 0, -1, 138, 139, - 140, -1, 142, -1, -1, 145, 146, 147, 148, 13, - 14, 15, -1, 17, 18, -1, 20, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 90, -1, 92, 93, -1, + -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, + 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, 0, -1, 138, 139, 140, -1, 142, -1, -1, + 145, 146, 147, 148, 13, 14, 15, -1, 17, 18, + -1, 20, -1, -1, -1, -1, -1, 26, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, -1, -1, -1, -1, 89, 90, 91, -1, 93, - 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, 0, -1, -1, 139, 140, -1, 142, -1, - -1, 145, 146, 147, 148, 13, 14, 15, -1, 17, - 18, -1, 20, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, - 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, + -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, + 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, 0, -1, 138, + 139, 140, -1, 142, -1, -1, 145, 146, 147, 148, + 13, 14, 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, + 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, -1, -1, -1, - -1, 89, 90, 91, -1, 93, 94, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, 139, 140, -1, 142, -1, -1, 145, 146, 147, - 148, 1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, - -1, 101, -1, -1, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, 115, -1, -1, 118, 119, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, -1, 88, 89, 90, -1, 92, + 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, + -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, 0, -1, -1, 139, 140, -1, 142, + -1, -1, 145, 146, 147, 148, 13, 14, 15, -1, + 17, 18, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 134, 135, 136, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, - -1, 15, -1, 17, 18, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 85, 86, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, 101, -1, -1, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, - 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, 101, -1, -1, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, 115, -1, -1, - 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 134, 135, 136, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 146, 1, - 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, -1, -1, 15, -1, -1, 18, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, 99, -1, 101, - -1, -1, 104, -1, 106, 107, 108, 109, 110, 111, - -1, -1, 114, 115, -1, -1, 118, 119, 1, -1, + -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, + -1, 88, 89, 90, -1, 92, 93, -1, -1, -1, + -1, -1, -1, -1, 101, -1, -1, -1, 105, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, + -1, 118, 119, -1, 121, 122, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, + -1, -1, 139, 140, -1, 142, -1, -1, 145, 146, + 147, 148, 1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, - 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, + -1, -1, 15, -1, 17, 18, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, + -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 85, 86, -1, -1, -1, -1, -1, 92, - -1, -1, 95, 96, -1, 98, 99, -1, 101, -1, - -1, 104, -1, 106, 107, 108, 109, 110, 111, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 134, 135, 136, -1, -1, 139, -1, -1, -1, + -1, 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, - -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, + 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, + -1, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, - -1, -1, -1, -1, -1, 92, -1, -1, 95, 96, - -1, 98, 99, -1, 101, -1, -1, 104, -1, 106, - 107, 108, 109, 110, 111, -1, -1, 114, 115, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, + -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, + 1, 148, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, -1, -1, 15, -1, -1, 18, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, 115, -1, -1, 118, 119, 1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, -1, -1, 134, 135, 136, -1, 19, -1, 21, + 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, + -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 134, 135, 136, -1, -1, 139, -1, -1, + -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, + -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, + -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, + -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, + 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, + -1, -1, 118, 119, 1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -1, -1, 134, 135, + 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, + 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, - -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, + -1, 19, -1, 21, 22, 23, 24, -1, 145, 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, 101, -1, -1, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, 115, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, 145, 146, -1, @@ -4541,60 +4230,60 @@ static const yytype_int16 yycheck[] = 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, - -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, - 99, -1, 101, -1, -1, 104, -1, 106, 107, 108, - 109, 110, 111, -1, -1, 114, 115, -1, -1, 118, - 119, 1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, -1, -1, 134, 135, 136, -1, 19, - -1, 21, 22, 23, 24, -1, 145, 146, -1, 148, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, - -1, 101, -1, -1, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, 115, -1, -1, 118, 119, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, + 139, -1, -1, -1, -1, -1, -1, 146, 1, 148, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + -1, -1, 15, -1, -1, -1, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 134, 135, 136, -1, -1, 139, - -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, 115, -1, -1, 118, 119, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, - -1, 15, -1, -1, -1, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, + 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, + -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 85, 86, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, 101, -1, -1, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, + 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, - 95, 96, -1, 98, 99, -1, 101, -1, -1, 104, - -1, 106, 107, 108, 109, 110, 111, -1, -1, 114, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, + 6, 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, - -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, + -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, - 86, -1, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, 98, 99, -1, 101, -1, -1, 104, -1, - 106, 107, 108, 109, 110, 111, -1, -1, 114, 115, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, @@ -4603,77 +4292,77 @@ static const yytype_int16 yycheck[] = -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, - -1, -1, -1, -1, -1, 92, -1, -1, 95, 96, - -1, 98, 99, -1, -1, -1, -1, 104, -1, 106, - 107, 108, 109, 110, 111, -1, -1, 114, 115, -1, - -1, 118, 119, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, 134, 135, 136, - -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, - -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, -1, -1, -1, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, 115, -1, -1, - 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 134, 135, 136, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 146, -1, - 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, - -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, -1, -1, -1, -1, 87, 88, 89, 90, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, + -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, + -1, 148, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, + -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, -1, -1, -1, -1, -1, - -1, 143, 144, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, - -1, 21, 22, 23, 24, -1, 26, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, - -1, 101, 102, 103, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, -1, -1, -1, -1, + -1, -1, 143, 144, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + 19, -1, 21, 22, 23, 24, -1, 26, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 134, 135, 136, -1, 138, -1, - -1, -1, -1, -1, 144, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, 19, -1, 21, 22, 23, 24, -1, 26, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, 101, 102, 103, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - 138, 21, 22, 23, 24, -1, 144, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, 138, + -1, -1, -1, -1, -1, 144, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 19, -1, 21, 22, 23, 24, -1, 26, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, 102, 103, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, + 19, 138, 21, 22, 23, 24, -1, 144, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, 92, -1, 94, 95, -1, 97, 98, + -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 121, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, 134, 135, 136, -1, 19, + -1, 21, 22, 23, 24, 144, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, - -1, -1, 92, 93, -1, 95, 96, -1, 98, 99, - -1, 101, 102, 103, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, 92, -1, 94, 95, -1, 97, 98, -1, + 100, -1, 102, 103, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 121, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, 144, -1, -1, -1, -1, 30, @@ -4682,61 +4371,35 @@ static const yytype_int16 yycheck[] = 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, - -1, 92, 93, -1, 95, 96, -1, 98, 99, -1, - 101, 102, 103, 104, -1, 106, 107, 108, 109, 110, - 111, -1, -1, 114, -1, -1, -1, -1, -1, -1, - 121, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, 134, 135, 136, -1, 19, -1, 21, - 22, 23, 24, 144, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, 99, -1, 101, - 102, 103, 104, -1, 106, 107, 108, 109, 110, 111, - -1, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, - 24, -1, 144, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 85, 86, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, 101, 102, 103, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, - 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, 144, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, - 144, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, - -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, -1, -1, -1, -1, - -1, 63, -1, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, -1, -1, -1, -1, 87, 88, 89, 90, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - 102, -1, -1, -1, -1, -1, -1, -1, 110, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, + 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, -1, -1, -1, -1, -1, - -1, 143, 3, 4, 5, 6, 7, 8, 9, 10, + -1, 134, 135, 136, -1, -1, -1, -1, -1, -1, + -1, 144, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, 70, - 71, 72, 73, 74, 75, 76, 77, 78, -1, -1, - 81, 82, -1, -1, -1, -1, 87, 88, 89, 90, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, -1, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, -1, -1, -1, -1, @@ -4745,12 +4408,12 @@ static const yytype_int16 yycheck[] = 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, - 50, 51, 52, -1, -1, 55, -1, -1, -1, -1, + 50, 51, 52, 53, 54, 55, 56, -1, -1, -1, + -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, - -1, 81, 82, -1, -1, -1, -1, 87, 88, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 101, 102, -1, -1, -1, 106, -1, -1, -1, + 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, -1, -1, -1, @@ -4761,515 +4424,551 @@ static const yytype_int16 yycheck[] = 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, - -1, -1, 81, 82, -1, -1, -1, -1, 87, 88, - 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 101, 102, -1, -1, -1, -1, -1, -1, + -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, + 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 100, 101, 102, -1, -1, -1, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, -1, -1, -1, -1, -1, -1, 143, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, + 48, 49, 50, 51, 52, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, -1, -1, -1, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, 19, 134, 21, 22, 23, - 24, -1, -1, -1, 142, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, + -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, -1, -1, -1, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, - 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, -1, -1, -1, -1, -1, -1, 19, - 134, 21, 22, 23, 24, -1, -1, -1, 142, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, - -1, 101, -1, -1, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, -1, -1, -1, 134, 135, 136, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, + -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, -1, + -1, -1, -1, -1, -1, 143, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, 99, -1, 101, - -1, -1, 104, -1, 106, 107, 108, 109, 110, 111, - -1, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, 19, 134, 21, 22, + 23, 24, -1, -1, -1, 142, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 85, 86, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, 101, 102, 103, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, - 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, - 86, -1, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, 98, 99, -1, 101, 102, 103, 104, -1, - 106, 107, 108, 109, 110, 111, -1, -1, 114, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, - 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, 101, 102, 103, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, - -1, 101, 102, 103, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, + 19, 134, 21, 22, 23, 24, -1, -1, -1, 142, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, -1, -1, -1, 134, 135, 136, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, 99, -1, 101, - 102, -1, 104, -1, 106, 107, 108, 109, 110, 111, - -1, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, + 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, + 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, 102, 103, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, 102, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 85, 86, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, -1, 102, 103, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, - 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, - 86, -1, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, 98, 99, -1, 101, 102, -1, 104, -1, - 106, 107, 108, 109, 110, 111, -1, -1, 114, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, - 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, -1, 102, -1, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, - -1, 101, -1, -1, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, -1, -1, 102, + 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, 102, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, + 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, -1, -1, 102, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, 99, -1, 101, - -1, -1, 104, -1, 106, 107, 108, 109, 110, 111, - -1, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, + 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, + 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 85, 86, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, 101, -1, -1, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, - 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, - 86, -1, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, 98, 99, -1, 101, -1, -1, 104, -1, - 106, 107, 108, 109, 110, 111, -1, -1, 114, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, - 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, 101, -1, -1, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, - -1, -1, -1, -1, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, 99, -1, -1, - -1, -1, 104, -1, 106, 107, 108, 109, 110, 111, - -1, -1, 114, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, -1, -1, 88, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, 19, 134, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 85, 86, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, -1, -1, -1, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, - 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 89, -1, -1, 92, -1, -1, 95, - 96, -1, 98, 99, -1, -1, -1, -1, 104, -1, - 106, 107, 108, 109, 110, 111, -1, -1, 114, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, 19, 134, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 19, 134, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, 19, 134, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, 99, -1, 101, - -1, -1, 104, -1, 106, 107, 108, 109, 110, 111, - -1, -1, 114, -1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + 19, 134, 21, 22, 23, 24, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - 98, 99, -1, 101, -1, -1, 104, -1, 106, 107, - 108, 109, 110, 111, -1, -1, 114, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, 19, 134, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, + -1, -1, -1, -1, 19, 134, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, 98, 99, -1, -1, -1, -1, - 104, -1, 106, 107, 108, 109, 110, 111, -1, -1, - 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, - 134, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + -1, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, 19, 134, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, - -1, -1, -1, -1, 104, -1, 106, 107, 108, 109, - 110, 111, -1, -1, 114, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, + 51, 52, -1, 104, 55, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, 134, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, 98, 99, -1, -1, -1, -1, 104, -1, - 106, 107, 108, 109, 110, 111, -1, -1, 114, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, 19, 134, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, 51, 52, -1, -1, + 55, -1, 143, 144, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, + 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, + -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + 135, 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, 99, -1, 51, - 52, -1, 104, 55, 106, 107, 108, 109, 110, 111, - -1, -1, 114, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, -1, 134, -1, -1, 87, 88, 89, 90, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 101, - 102, 81, 82, -1, -1, -1, -1, -1, -1, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, - -1, 143, 144, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 70, 71, 72, 73, 74, 75, - 76, 77, 78, -1, -1, 81, 82, -1, -1, -1, - -1, 87, 88, 89, 90, -1, -1, -1, 72, 73, - 74, 75, 76, 77, 78, 101, 102, 81, 82, -1, - -1, -1, -1, -1, -1, 89, 90, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, - -1, 81, 82, -1, -1, -1, -1, 87, 88, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 101, 102, -1, -1, -1, -1, -1, -1, -1, + -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, + 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, 135, 136, 51, 52, -1, - -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, 78, -1, -1, 81, 82, -1, - -1, -1, -1, 87, 88, 89, 90, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, 102, -1, + -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, 135, 136, 51, 52, + -1, -1, 55, -1, 143, 144, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, + -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, - 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, - 78, -1, -1, 81, 82, -1, -1, -1, -1, 87, - 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 101, 102, -1, -1, -1, -1, -1, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, 135, 136, 51, 52, -1, -1, 55, -1, + 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, + 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, - 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, -1, -1, -1, -1, 87, 88, 89, 90, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, + 51, 52, -1, -1, 55, -1, 143, 144, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, - -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, - 76, 77, 78, -1, -1, 81, 82, -1, -1, -1, - -1, 87, 88, 89, 90, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, 102, -1, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, 51, 52, -1, -1, + 55, -1, 143, 144, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, + 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, + -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + 135, 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, - -1, 81, 82, -1, -1, -1, -1, 87, 88, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 101, 102, -1, -1, -1, -1, -1, -1, -1, + -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, + 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, 135, 136, 51, 52, -1, - -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, 78, -1, -1, 81, 82, -1, - -1, -1, -1, 87, 88, 89, 90, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, 102, -1, + -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, 135, 136, 51, 52, + -1, -1, 55, -1, 143, 144, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, + -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, - 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, - 78, -1, -1, 81, 82, -1, -1, -1, -1, 87, - 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 101, 102, -1, -1, -1, -1, -1, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, 135, 136, 51, 52, -1, -1, 55, -1, + 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, + 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, - 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, -1, -1, -1, -1, 87, 88, 89, 90, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, + 51, 52, -1, -1, 55, -1, 143, 144, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, - -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, - 76, 77, 78, -1, -1, 81, 82, -1, -1, -1, - -1, 87, 88, 89, 90, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, 102, -1, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, 51, 52, -1, -1, + 55, -1, 143, 144, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, + 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, + -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + 135, 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, - -1, 81, 82, -1, -1, -1, -1, 87, 88, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 101, 102, -1, -1, -1, -1, -1, -1, -1, + -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, + 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, 135, 136, 51, 52, -1, - -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, 78, -1, -1, 81, 82, -1, - -1, -1, -1, 87, 88, 89, 90, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, 102, -1, + -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, 135, 136, 51, 52, + -1, -1, 55, -1, 143, 144, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, + -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, 135, 136, 51, 52, -1, -1, 55, -1, + 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, + 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, + 51, 52, -1, -1, 55, -1, 143, 144, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 44, -1, -1, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, -1, -1, -1, -1, + -1, -1, 143, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, + -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, 148, -1, 88, 89, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, -1, -1, -1, -1, 142, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, - 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, - 78, -1, -1, 81, 82, -1, -1, -1, -1, 87, - 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 101, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, - 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, -1, -1, -1, -1, 87, 88, 89, 90, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 44, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 44, -1, -1, -1, -1, - -1, 143, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, -1, -1, -1, -1, 89, - 90, -1, -1, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, -1, -1, -1, -1, - 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 44, -1, -1, -1, -1, -1, - -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, -1, -1, -1, -1, 89, - 90, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, -1, -1, -1, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, + -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, -1, 148, -1, -1, - 89, 90, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, -1, -1, -1, -1, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, - -1, -1, 122, 142, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, - -1, -1, 142, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, -1, -1, -1, -1, - 89, 90, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, -1, -1, -1, -1, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, - -1, -1, 122, 142, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, - -1, -1, 142, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, -1, -1, -1, -1, - 89, 90, -1, -1, -1, 94, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, - -1, -1, -1, 89, 90, -1, -1, -1, 94, -1, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, -1, -1, -1, 93, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, -1, -1, -1, -1, 89, 90, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - -1, -1, -1, -1, 89, 90, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, + -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, 72, 73, 74, 75, 76, + 77, 78, -1, 80, 81, -1, 101, -1, -1, -1, + -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 101, -1, -1, -1, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, + 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, + -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133 }; @@ -5282,104 +4981,104 @@ static const yytype_int16 yystos[] = 8, 9, 10, 11, 12, 19, 21, 22, 23, 24, 30, 31, 32, 33, 34, 35, 36, 39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 58, 59, 60, 63, 66, 67, 69, 70, 71, 85, - 86, 92, 95, 96, 98, 99, 101, 104, 106, 107, - 108, 109, 110, 111, 114, 134, 135, 136, 152, 153, + 58, 59, 60, 63, 66, 67, 69, 70, 71, 84, + 85, 91, 94, 95, 97, 98, 100, 104, 106, 107, + 108, 110, 111, 112, 114, 134, 135, 136, 152, 153, 154, 159, 161, 163, 164, 165, 168, 169, 172, 173, 175, 176, 177, 179, 180, 189, 203, 220, 241, 242, 252, 253, 254, 258, 259, 260, 266, 267, 268, 270, 271, 272, 273, 274, 275, 311, 324, 154, 21, 22, - 30, 31, 32, 39, 51, 55, 69, 89, 92, 95, + 30, 31, 32, 39, 51, 55, 69, 88, 91, 94, 134, 164, 165, 181, 182, 203, 220, 272, 275, 311, 182, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 49, 50, 51, 52, 55, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 81, 82, 87, 88, 89, 90, 101, + 76, 77, 80, 81, 86, 87, 88, 89, 100, 101, 102, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 143, 144, 183, 187, 188, 274, 305, - 204, 92, 163, 167, 180, 189, 220, 272, 273, 275, - 167, 210, 212, 69, 92, 173, 180, 220, 225, 272, + 204, 91, 163, 167, 180, 189, 220, 272, 273, 275, + 167, 210, 212, 69, 91, 173, 180, 220, 225, 272, 275, 33, 34, 35, 36, 48, 49, 50, 51, 55, 106, 183, 184, 185, 268, 115, 118, 119, 146, 148, - 167, 262, 263, 264, 317, 321, 322, 323, 51, 101, + 167, 262, 263, 264, 317, 321, 322, 323, 51, 100, 102, 103, 135, 172, 189, 195, 198, 201, 254, 308, 310, 195, 195, 144, 192, 193, 196, 197, 324, 192, 196, 144, 318, 322, 184, 155, 138, 189, 220, 189, - 189, 189, 55, 1, 95, 157, 158, 159, 174, 175, + 189, 189, 55, 1, 94, 157, 158, 159, 174, 175, 324, 205, 207, 190, 201, 308, 324, 189, 307, 308, - 324, 92, 142, 179, 220, 272, 275, 208, 53, 54, - 56, 63, 110, 183, 269, 62, 64, 65, 116, 117, - 255, 256, 63, 255, 63, 255, 63, 255, 61, 255, + 324, 91, 142, 179, 220, 272, 275, 208, 53, 54, + 56, 63, 107, 183, 269, 63, 64, 65, 116, 117, + 255, 256, 61, 255, 62, 255, 63, 255, 63, 255, 58, 59, 168, 189, 189, 317, 323, 40, 41, 42, 43, 44, 37, 38, 51, 53, 54, 55, 56, 69, - 72, 95, 101, 102, 103, 128, 131, 144, 278, 279, + 94, 100, 101, 102, 103, 128, 131, 144, 278, 279, 280, 281, 284, 285, 286, 287, 289, 290, 291, 292, 294, 295, 296, 299, 300, 301, 302, 303, 278, 279, - 28, 239, 121, 142, 95, 101, 176, 121, 72, 73, + 28, 239, 121, 142, 94, 100, 176, 121, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 89, 90, 94, 122, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 91, 105, 140, 147, 315, - 91, 315, 316, 26, 138, 243, 254, 93, 93, 192, + 88, 89, 93, 101, 122, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 90, 105, 140, 147, 315, + 90, 315, 316, 26, 138, 243, 254, 92, 92, 192, 196, 243, 163, 51, 55, 181, 58, 59, 278, 125, - 276, 91, 140, 315, 219, 306, 91, 147, 314, 156, - 157, 55, 16, 221, 321, 121, 91, 140, 315, 93, - 93, 221, 167, 167, 55, 91, 140, 315, 25, 110, + 276, 90, 140, 315, 219, 306, 90, 147, 314, 156, + 157, 55, 16, 221, 321, 121, 90, 140, 315, 92, + 92, 221, 167, 167, 55, 90, 140, 315, 25, 107, 142, 265, 317, 115, 264, 20, 246, 321, 57, 309, - 189, 189, 189, 94, 142, 199, 200, 324, 309, 199, - 200, 86, 194, 195, 201, 308, 324, 195, 163, 317, - 319, 163, 160, 138, 157, 91, 315, 93, 159, 174, + 189, 189, 189, 93, 142, 199, 200, 324, 309, 199, + 200, 85, 194, 195, 201, 308, 324, 195, 163, 317, + 319, 163, 160, 138, 157, 90, 315, 92, 159, 174, 145, 317, 323, 319, 159, 319, 141, 200, 320, 323, - 200, 320, 139, 320, 55, 176, 177, 178, 142, 91, + 200, 320, 139, 320, 55, 176, 177, 178, 142, 90, 140, 315, 144, 237, 289, 63, 255, 257, 261, 262, - 62, 256, 63, 63, 63, 61, 72, 72, 154, 167, - 167, 167, 167, 159, 163, 163, 57, 121, 293, 86, + 63, 256, 61, 62, 63, 63, 101, 101, 154, 167, + 167, 167, 167, 159, 163, 163, 57, 121, 293, 85, 289, 294, 121, 156, 189, 142, 304, 324, 51, 142, 304, 321, 142, 288, 189, 142, 288, 51, 142, 288, - 51, 121, 156, 240, 101, 168, 189, 201, 202, 174, + 51, 121, 156, 240, 100, 168, 189, 201, 202, 174, 142, 179, 142, 161, 162, 168, 180, 189, 191, 202, 220, 275, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 51, 189, 189, + 189, 189, 189, 189, 189, 189, 51, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 51, 52, 55, 187, 192, 312, 313, 194, 201, 51, 52, 55, 187, 192, 312, 51, 55, 312, 245, 244, 162, - 189, 191, 162, 191, 100, 170, 217, 277, 216, 51, + 189, 191, 162, 191, 99, 170, 217, 277, 216, 51, 55, 181, 312, 194, 312, 156, 163, 166, 15, 13, 248, 324, 157, 16, 51, 55, 194, 51, 55, 157, 27, 222, 321, 222, 51, 55, 194, 51, 55, 214, 186, 157, 246, 189, 201, 15, 261, 189, 189, 318, - 101, 189, 198, 308, 189, 310, 319, 145, 317, 200, + 100, 189, 198, 308, 189, 310, 319, 145, 317, 200, 200, 319, 145, 184, 152, 139, 191, 319, 159, 206, 308, 176, 178, 51, 55, 194, 51, 55, 289, 209, - 63, 157, 262, 189, 189, 51, 101, 226, 294, 319, + 63, 157, 262, 189, 189, 51, 100, 226, 294, 319, 319, 142, 189, 15, 51, 281, 286, 303, 287, 292, - 299, 301, 294, 296, 301, 51, 294, 189, 15, 80, + 299, 301, 294, 296, 301, 51, 294, 189, 15, 79, 126, 231, 232, 324, 189, 200, 319, 178, 142, 44, - 121, 44, 91, 140, 315, 318, 93, 93, 192, 196, - 141, 200, 93, 93, 193, 196, 193, 196, 231, 231, + 121, 44, 90, 140, 315, 318, 92, 92, 192, 196, + 141, 200, 92, 92, 193, 196, 193, 196, 231, 231, 171, 321, 167, 156, 141, 15, 319, 183, 189, 202, - 249, 324, 18, 224, 324, 17, 223, 224, 93, 93, - 141, 93, 93, 224, 211, 213, 141, 167, 184, 139, - 15, 200, 221, 261, 189, 199, 86, 308, 139, 319, + 249, 324, 18, 224, 324, 17, 223, 224, 92, 92, + 141, 92, 92, 224, 211, 213, 141, 167, 184, 139, + 15, 200, 221, 261, 189, 199, 85, 308, 139, 319, 320, 141, 234, 318, 29, 113, 238, 139, 142, 291, - 319, 142, 86, 44, 304, 142, 288, 142, 288, 142, + 319, 142, 85, 44, 304, 142, 288, 142, 288, 142, 288, 142, 288, 288, 44, 228, 230, 233, 280, 282, - 283, 286, 294, 295, 297, 298, 301, 303, 156, 101, + 283, 286, 294, 295, 297, 298, 301, 303, 156, 100, 189, 178, 159, 189, 51, 55, 194, 51, 55, 57, - 123, 162, 191, 168, 191, 170, 93, 162, 191, 162, + 123, 162, 191, 168, 191, 170, 92, 162, 191, 162, 191, 170, 243, 239, 156, 157, 231, 218, 321, 15, - 94, 250, 324, 157, 14, 251, 324, 167, 15, 93, + 93, 250, 324, 157, 14, 251, 324, 167, 15, 92, 15, 157, 157, 222, 189, 157, 319, 200, 145, 146, - 156, 157, 227, 142, 101, 319, 189, 294, 301, 294, - 294, 189, 234, 234, 92, 220, 142, 304, 304, 142, + 156, 157, 227, 142, 100, 319, 189, 294, 301, 294, + 294, 189, 234, 234, 91, 220, 142, 304, 304, 142, 229, 220, 142, 229, 142, 229, 15, 189, 141, 189, - 189, 162, 191, 15, 139, 157, 156, 92, 180, 220, + 189, 162, 191, 15, 139, 157, 156, 91, 180, 220, 272, 275, 221, 157, 221, 15, 15, 215, 224, 246, 247, 51, 235, 236, 290, 15, 139, 294, 294, 142, - 291, 288, 142, 288, 288, 288, 126, 126, 55, 91, + 291, 288, 142, 288, 288, 288, 126, 126, 55, 90, 282, 286, 142, 228, 229, 298, 301, 294, 297, 301, - 294, 139, 15, 55, 91, 140, 315, 157, 157, 157, + 294, 139, 15, 55, 90, 140, 315, 157, 157, 157, 142, 318, 142, 294, 142, 294, 51, 55, 304, 142, 229, 142, 229, 142, 229, 142, 229, 229, 51, 55, 194, 51, 55, 248, 223, 15, 236, 294, 288, 294, @@ -5520,10 +5219,10 @@ static const yytype_int8 yyr2[] = }; -enum { YYENOMEM = -2 }; - #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab @@ -5549,9 +5248,10 @@ enum { YYENOMEM = -2 }; } \ while (0) -/* Backward compatibility with an undocumented macro. - Use YYerror or YYUNDEF. */ -#define YYERRCODE YYUNDEF +/* Error token number */ +#define YYTERROR 1 +#define YYERRCODE 256 + /* Enable debugging if requested. */ @@ -5569,18 +5269,18 @@ do { \ } while (0) /* This macro is provided for backward compatibility. */ -# ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif -# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ - Kind, Value, p); \ + Type, Value, p); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) @@ -5591,8 +5291,7 @@ do { \ `-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyo, - yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, parser_state *p) +yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, parser_state *p) { FILE *yyoutput = yyo; YYUSE (yyoutput); @@ -5600,11 +5299,11 @@ yy_symbol_value_print (FILE *yyo, if (!yyvaluep) return; # ifdef YYPRINT - if (yykind < YYNTOKENS) - YYPRINT (yyo, yytoknum[yykind], *yyvaluep); + if (yytype < YYNTOKENS) + YYPRINT (yyo, yytoknum[yytype], *yyvaluep); # endif YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yykind); + YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -5614,13 +5313,12 @@ yy_symbol_value_print (FILE *yyo, `---------------------------*/ static void -yy_symbol_print (FILE *yyo, - yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, parser_state *p) +yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, parser_state *p) { YYFPRINTF (yyo, "%s %s (", - yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); - yy_symbol_value_print (yyo, yykind, yyvaluep, p); + yy_symbol_value_print (yyo, yytype, yyvaluep, p); YYFPRINTF (yyo, ")"); } @@ -5653,8 +5351,7 @@ do { \ `------------------------------------------------*/ static void -yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, - int yyrule, parser_state *p) +yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule, parser_state *p) { int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; @@ -5666,8 +5363,9 @@ yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, - YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), - &yyvsp[(yyi + 1) - (yynrhs)], p); + yystos[+yyssp[yyi + 1 - yynrhs]], + &yyvsp[(yyi + 1) - (yynrhs)] + , p); YYFPRINTF (stderr, "\n"); } } @@ -5682,8 +5380,8 @@ do { \ multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ -# define YYDPRINTF(Args) ((void) 0) -# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) +# define YYDPRINTF(Args) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ @@ -5706,60 +5404,12 @@ int yydebug; #endif -/* Context of a parse error. */ -typedef struct -{ - yy_state_t *yyssp; - yysymbol_kind_t yytoken; -} yypcontext_t; - -/* Put in YYARG at most YYARGN of the expected tokens given the - current YYCTX, and return the number of tokens stored in YYARG. If - YYARG is null, return the number of expected tokens (guaranteed to - be less than YYNTOKENS). Return YYENOMEM on memory exhaustion. - Return 0 if there are more than YYARGN expected tokens, yet fill - YYARG up to YYARGN. */ -static int -yypcontext_expected_tokens (const yypcontext_t *yyctx, - yysymbol_kind_t yyarg[], int yyargn) -{ - /* Actual size of YYARG. */ - int yycount = 0; - int yyn = yypact[+*yyctx->yyssp]; - if (!yypact_value_is_default (yyn)) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. In other words, skip the first -YYN actions for - this state because they are default actions. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yyx; - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror - && !yytable_value_is_error (yytable[yyx + yyn])) - { - if (!yyarg) - ++yycount; - else if (yycount == yyargn) - return 0; - else - yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx); - } - } - if (yyarg && yycount == 0 && 0 < yyargn) - yyarg[0] = YYSYMBOL_YYEMPTY; - return yycount; -} - +#if YYERROR_VERBOSE - - -#ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S))) -# else +# ifndef yystrlen +# if defined __GLIBC__ && defined _STRING_H +# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S))) +# else /* Return the length of YYSTR. */ static YYPTRDIFF_T yystrlen (const char *yystr) @@ -5769,13 +5419,13 @@ yystrlen (const char *yystr) continue; return yylen; } +# endif # endif -#endif -#ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else +# ifndef yystpcpy +# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# define yystpcpy stpcpy +# else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * @@ -5789,10 +5439,10 @@ yystpcpy (char *yydest, const char *yysrc) return yyd - 1; } +# endif # endif -#endif -#ifndef yytnamerr +# ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string @@ -5807,6 +5457,7 @@ yytnamerr (char *yyres, const char *yystr) { YYPTRDIFF_T yyn = 0; char const *yyp = yystr; + for (;;) switch (*++yyp) { @@ -5840,15 +5491,31 @@ yytnamerr (char *yyres, const char *yystr) else return yystrlen (yystr); } -#endif +# endif +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return 2 if the + required number of bytes is too large to store. */ static int -yy_syntax_error_arguments (const yypcontext_t *yyctx, - yysymbol_kind_t yyarg[], int yyargn) +yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, + yy_state_t *yyssp, int yytoken) { + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat: reported tokens (one for the "unexpected", + one per "expected"). */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Actual size of YYARG. */ int yycount = 0; + /* Cumulated lengths of YYARG. */ + YYPTRDIFF_T yysize = 0; + /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action @@ -5872,54 +5539,52 @@ yy_syntax_error_arguments (const yypcontext_t *yyctx, one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ - if (yyctx->yytoken != YYSYMBOL_YYEMPTY) + if (yytoken != YYEMPTY) { - int yyn; - if (yyarg) - yyarg[yycount] = yyctx->yytoken; - ++yycount; - yyn = yypcontext_expected_tokens (yyctx, - yyarg ? yyarg + 1 : yyarg, yyargn - 1); - if (yyn == YYENOMEM) - return YYENOMEM; - else - yycount += yyn; + int yyn = yypact[+*yyssp]; + YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + yysize = yysize0; + yyarg[yycount++] = yytname[yytoken]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + break; + } + yyarg[yycount++] = yytname[yyx]; + { + YYPTRDIFF_T yysize1 + = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else + return 2; + } + } + } } - return yycount; -} - -/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message - about the unexpected token YYTOKEN for the state stack whose top is - YYSSP. - - Return 0 if *YYMSG was successfully written. Return -1 if *YYMSG is - not large enough to hold the message. In that case, also set - *YYMSG_ALLOC to the required number of bytes. Return YYENOMEM if the - required number of bytes is too large to store. */ -static int -yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, - const yypcontext_t *yyctx) -{ - enum { YYARGS_MAX = 5 }; - /* Internationalized format string. */ - const char *yyformat = YY_NULLPTR; - /* Arguments of yyformat: reported tokens (one for the "unexpected", - one per "expected"). */ - yysymbol_kind_t yyarg[YYARGS_MAX]; - /* Cumulated lengths of YYARG. */ - YYPTRDIFF_T yysize = 0; - - /* Actual size of YYARG. */ - int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX); - if (yycount == YYENOMEM) - return YYENOMEM; switch (yycount) { -#define YYCASE_(N, S) \ +# define YYCASE_(N, S) \ case N: \ yyformat = S; \ - break + break default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); @@ -5927,23 +5592,17 @@ yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); -#undef YYCASE_ +# undef YYCASE_ } - /* Compute error message size. Don't count the "%s"s, but reserve - room for the terminator. */ - yysize = yystrlen (yyformat) - 2 * yycount + 1; { - int yyi; - for (yyi = 0; yyi < yycount; ++yyi) - { - YYPTRDIFF_T yysize1 - = yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]); - if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) - yysize = yysize1; - else - return YYENOMEM; - } + /* Don't count the "%s"s in the final size, but reserve room for + the terminator. */ + YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1; + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else + return 2; } if (*yymsg_alloc < yysize) @@ -5952,7 +5611,7 @@ yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; - return -1; + return 1; } /* Avoid sprintf, as that infringes on the user's name space. @@ -5964,7 +5623,7 @@ yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { - yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]); + yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else @@ -5975,32 +5634,29 @@ yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, } return 0; } - +#endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void -yydestruct (const char *yymsg, - yysymbol_kind_t yykind, YYSTYPE *yyvaluep, parser_state *p) +yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, parser_state *p) { YYUSE (yyvaluep); YYUSE (p); if (!yymsg) yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yykind); + YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } - - /*----------. | yyparse. | `----------*/ @@ -6008,7 +5664,7 @@ yydestruct (const char *yymsg, int yyparse (parser_state *p) { -/* Lookahead token kind. */ +/* The lookahead symbol. */ int yychar; @@ -6019,41 +5675,45 @@ YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ - int yynerrs = 0; + int yynerrs; - yy_state_fast_t yystate = 0; + yy_state_fast_t yystate; /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus = 0; + int yyerrstatus; - /* Refer to the stacks through separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ + /* The stacks and their tools: + 'yyss': related to states. + 'yyvs': related to semantic values. - /* Their size. */ - YYPTRDIFF_T yystacksize = YYINITDEPTH; + Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ - /* The state stack: array, bottom, top. */ + /* The state stack. */ yy_state_t yyssa[YYINITDEPTH]; - yy_state_t *yyss = yyssa; - yy_state_t *yyssp = yyss; + yy_state_t *yyss; + yy_state_t *yyssp; - /* The semantic value stack: array, bottom, top. */ + /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp = yyvs; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; + + YYPTRDIFF_T yystacksize; int yyn; - /* The return value of yyparse. */ int yyresult; - /* Lookahead symbol kind. */ - yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; +#if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf; +#endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) @@ -6061,8 +5721,15 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); Keep to zero when no symbol should be popped. */ int yylen = 0; + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; + yystacksize = YYINITDEPTH; + YYDPRINTF ((stderr, "Starting parse\n")); + yystate = 0; + yyerrstatus = 0; + yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; @@ -6085,7 +5752,6 @@ yysetstate: YY_IGNORE_USELESS_CAST_BEGIN *yyssp = YY_CAST (yy_state_t, yystate); YY_IGNORE_USELESS_CAST_END - YY_STACK_PRINT (yyss, yyssp); if (yyss + yystacksize - 1 <= yyssp) #if !defined yyoverflow && !defined YYSTACK_RELOCATE @@ -6131,7 +5797,7 @@ yysetstate: goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } @@ -6170,29 +5836,18 @@ yybackup: /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { - YYDPRINTF ((stderr, "Reading a token\n")); + YYDPRINTF ((stderr, "Reading a token: ")); yychar = yylex (&yylval, p); } if (yychar <= YYEOF) { - yychar = YYEOF; - yytoken = YYSYMBOL_YYEOF; + yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } - else if (yychar == YYerror) - { - /* The scanner already issued an error message, process directly - to error recovery. But do not keep the error token as - lookahead, it is too special and may lead us to an endless - loop in error recovery. */ - yychar = YYUNDEF; - yytoken = YYSYMBOL_YYerror; - goto yyerrlab1; - } else { yytoken = YYTRANSLATE (yychar); @@ -6261,87 +5916,87 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 2: /* $@1: %empty */ -#line 1538 "mrbgems/mruby-compiler/core/parse.y" + case 2: +#line 1549 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 6271 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5926 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 3: /* program: $@1 top_compstmt */ -#line 1543 "mrbgems/mruby-compiler/core/parse.y" + case 3: +#line 1554 "mrbgems/mruby-compiler/core/parse.y" { p->tree = new_scope(p, (yyvsp[0].nd)); NODE_LINENO(p->tree, (yyvsp[0].nd)); } -#line 6280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5935 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 4: /* top_compstmt: top_stmts opt_terms */ -#line 1550 "mrbgems/mruby-compiler/core/parse.y" + case 4: +#line 1561 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5943 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 5: /* top_stmts: none */ -#line 1556 "mrbgems/mruby-compiler/core/parse.y" + case 5: +#line 1567 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6296 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5951 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 6: /* top_stmts: top_stmt */ -#line 1560 "mrbgems/mruby-compiler/core/parse.y" + case 6: +#line 1571 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 6305 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5960 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 7: /* top_stmts: top_stmts terms top_stmt */ -#line 1565 "mrbgems/mruby-compiler/core/parse.y" + case 7: +#line 1576 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 6313 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5968 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 8: /* top_stmts: error top_stmt */ -#line 1569 "mrbgems/mruby-compiler/core/parse.y" + case 8: +#line 1580 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6321 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5976 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 10: /* @2: %empty */ -#line 1576 "mrbgems/mruby-compiler/core/parse.y" + case 10: +#line 1587 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); nvars_block(p); } -#line 6330 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5985 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 11: /* top_stmt: keyword_BEGIN @2 '{' top_compstmt '}' */ -#line 1581 "mrbgems/mruby-compiler/core/parse.y" + case 11: +#line 1592 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "BEGIN not supported"); local_resume(p, (yyvsp[-3].nd)); nvars_unnest(p); (yyval.nd) = 0; } -#line 6341 "mrbgems/mruby-compiler/core/y.tab.c" +#line 5996 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ -#line 1593 "mrbgems/mruby-compiler/core/parse.y" + case 12: +#line 1604 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd)) { (yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -6363,291 +6018,291 @@ yyreduce: } } } -#line 6367 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6022 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 13: /* compstmt: stmts opt_terms */ -#line 1617 "mrbgems/mruby-compiler/core/parse.y" + case 13: +#line 1628 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6375 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6030 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 14: /* stmts: none */ -#line 1623 "mrbgems/mruby-compiler/core/parse.y" + case 14: +#line 1634 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, 0); } -#line 6383 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6038 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 15: /* stmts: stmt */ -#line 1627 "mrbgems/mruby-compiler/core/parse.y" + case 15: +#line 1638 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 6392 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6047 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 16: /* stmts: stmts terms stmt */ -#line 1632 "mrbgems/mruby-compiler/core/parse.y" + case 16: +#line 1643 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 6400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6055 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 17: /* stmts: error stmt */ -#line 1636 "mrbgems/mruby-compiler/core/parse.y" + case 17: +#line 1647 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_begin(p, (yyvsp[0].nd)); } -#line 6408 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6063 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 18: /* $@3: %empty */ -#line 1641 "mrbgems/mruby-compiler/core/parse.y" + case 18: +#line 1652 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 6414 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6069 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 19: /* stmt: keyword_alias fsym $@3 fsym */ -#line 1642 "mrbgems/mruby-compiler/core/parse.y" + case 19: +#line 1653 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 6422 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6077 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 20: /* stmt: keyword_undef undef_list */ -#line 1646 "mrbgems/mruby-compiler/core/parse.y" + case 20: +#line 1657 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 6430 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6085 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 21: /* stmt: stmt modifier_if expr_value */ -#line 1650 "mrbgems/mruby-compiler/core/parse.y" + case 21: +#line 1661 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 6438 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6093 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 22: /* stmt: stmt modifier_unless expr_value */ -#line 1654 "mrbgems/mruby-compiler/core/parse.y" + case 22: +#line 1665 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_unless(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 6446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6101 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 23: /* stmt: stmt modifier_while expr_value */ -#line 1658 "mrbgems/mruby-compiler/core/parse.y" + case 23: +#line 1669 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } -#line 6454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6109 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 24: /* stmt: stmt modifier_until expr_value */ -#line 1662 "mrbgems/mruby-compiler/core/parse.y" + case 24: +#line 1673 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } -#line 6462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6117 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 25: /* stmt: stmt modifier_rescue stmt */ -#line 1666 "mrbgems/mruby-compiler/core/parse.y" + case 25: +#line 1677 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6125 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 26: /* stmt: keyword_END '{' compstmt '}' */ -#line 1670 "mrbgems/mruby-compiler/core/parse.y" + case 26: +#line 1681 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 6479 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6134 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 28: /* stmt: mlhs '=' command_call */ -#line 1676 "mrbgems/mruby-compiler/core/parse.y" + case 28: +#line 1687 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6487 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6142 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 29: /* stmt: lhs '=' mrhs */ -#line 1680 "mrbgems/mruby-compiler/core/parse.y" + case 29: +#line 1691 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 6495 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6150 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 30: /* stmt: mlhs '=' arg */ -#line 1684 "mrbgems/mruby-compiler/core/parse.y" + case 30: +#line 1695 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6503 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6158 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 31: /* stmt: mlhs '=' mrhs */ -#line 1688 "mrbgems/mruby-compiler/core/parse.y" + case 31: +#line 1699 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 6511 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6166 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 32: /* stmt: arg tASSOC tIDENTIFIER */ -#line 1692 "mrbgems/mruby-compiler/core/parse.y" + case 32: +#line 1703 "mrbgems/mruby-compiler/core/parse.y" { node *lhs = new_lvar(p, (yyvsp[0].id)); void_expr_error(p, (yyvsp[-2].nd)); assignable(p, lhs); (yyval.nd) = new_asgn(p, lhs, (yyvsp[-2].nd)); } -#line 6522 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6177 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 34: /* command_asgn: lhs '=' command_rhs */ -#line 1702 "mrbgems/mruby-compiler/core/parse.y" + case 34: +#line 1713 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6530 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6185 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 35: /* command_asgn: var_lhs tOP_ASGN command_rhs */ -#line 1706 "mrbgems/mruby-compiler/core/parse.y" + case 35: +#line 1717 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6538 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6193 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 36: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ -#line 1710 "mrbgems/mruby-compiler/core/parse.y" + case 36: +#line 1721 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6546 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6201 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 37: /* command_asgn: primary_value call_op tIDENTIFIER tOP_ASGN command_rhs */ -#line 1714 "mrbgems/mruby-compiler/core/parse.y" + case 37: +#line 1725 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6554 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6209 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 38: /* command_asgn: primary_value call_op tCONSTANT tOP_ASGN command_rhs */ -#line 1718 "mrbgems/mruby-compiler/core/parse.y" + case 38: +#line 1729 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6562 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6217 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 39: /* command_asgn: primary_value tCOLON2 tCONSTANT tOP_ASGN command_call */ -#line 1722 "mrbgems/mruby-compiler/core/parse.y" + case 39: +#line 1733 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = 0; } -#line 6571 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6226 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 40: /* command_asgn: primary_value tCOLON2 tIDENTIFIER tOP_ASGN command_rhs */ -#line 1727 "mrbgems/mruby-compiler/core/parse.y" + case 40: +#line 1738 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6579 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6234 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 41: /* command_asgn: backref tOP_ASGN command_rhs */ -#line 1731 "mrbgems/mruby-compiler/core/parse.y" + case 41: +#line 1742 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_begin(p, 0); } -#line 6588 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6243 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 43: /* command_rhs: command_call modifier_rescue stmt */ -#line 1739 "mrbgems/mruby-compiler/core/parse.y" + case 43: +#line 1750 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6596 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6251 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 46: /* expr: expr keyword_and expr */ -#line 1748 "mrbgems/mruby-compiler/core/parse.y" + case 46: +#line 1759 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6259 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 47: /* expr: expr keyword_or expr */ -#line 1752 "mrbgems/mruby-compiler/core/parse.y" + case 47: +#line 1763 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6267 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 48: /* expr: keyword_not opt_nl expr */ -#line 1756 "mrbgems/mruby-compiler/core/parse.y" + case 48: +#line 1767 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 6620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6275 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 49: /* expr: '!' command_call */ -#line 1760 "mrbgems/mruby-compiler/core/parse.y" + case 49: +#line 1771 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 6628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6283 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 51: /* defn_head: keyword_def fname */ -#line 1768 "mrbgems/mruby-compiler/core/parse.y" + case 51: +#line 1779 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_def(p, (yyvsp[0].id), nint(p->cmdarg_stack), local_switch(p)); p->cmdarg_stack = 0; p->in_def++; nvars_block(p); } -#line 6639 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6294 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 52: /* $@4: %empty */ -#line 1777 "mrbgems/mruby-compiler/core/parse.y" + case 52: +#line 1788 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_FNAME; } -#line 6647 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6302 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 53: /* defs_head: keyword_def singleton dot_or_colon $@4 fname */ -#line 1781 "mrbgems/mruby-compiler/core/parse.y" + case 53: +#line 1792 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sdef(p, (yyvsp[-3].nd), (yyvsp[0].id), nint(p->cmdarg_stack), local_switch(p)); p->cmdarg_stack = 0; @@ -6656,1054 +6311,1054 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 6660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6315 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 54: /* expr_value: expr */ -#line 1792 "mrbgems/mruby-compiler/core/parse.y" + case 54: +#line 1803 "mrbgems/mruby-compiler/core/parse.y" { if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p); else { (yyval.nd) = (yyvsp[0].nd); } } -#line 6671 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6326 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 58: /* block_command: block_call call_op2 operation2 command_args */ -#line 1806 "mrbgems/mruby-compiler/core/parse.y" + case 58: +#line 1817 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 6679 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6334 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 59: /* $@5: %empty */ -#line 1812 "mrbgems/mruby-compiler/core/parse.y" + case 59: +#line 1823 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 6688 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6343 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 60: /* cmd_brace_block: tLBRACE_ARG $@5 opt_block_param compstmt '}' */ -#line 1819 "mrbgems/mruby-compiler/core/parse.y" + case 60: +#line 1830 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 6698 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6353 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 61: /* command: operation command_args */ -#line 1827 "mrbgems/mruby-compiler/core/parse.y" + case 61: +#line 1838 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 6706 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6361 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 62: /* command: operation command_args cmd_brace_block */ -#line 1831 "mrbgems/mruby-compiler/core/parse.y" + case 62: +#line 1842 "mrbgems/mruby-compiler/core/parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_fcall(p, (yyvsp[-2].id), (yyvsp[-1].nd)); } -#line 6715 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6370 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 63: /* command: primary_value call_op operation2 command_args */ -#line 1836 "mrbgems/mruby-compiler/core/parse.y" + case 63: +#line 1847 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 6723 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6378 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 64: /* command: primary_value call_op operation2 command_args cmd_brace_block */ -#line 1840 "mrbgems/mruby-compiler/core/parse.y" + case 64: +#line 1851 "mrbgems/mruby-compiler/core/parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); } -#line 6732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6387 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 65: /* command: primary_value tCOLON2 operation2 command_args */ -#line 1845 "mrbgems/mruby-compiler/core/parse.y" + case 65: +#line 1856 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 6740 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6395 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 66: /* command: primary_value tCOLON2 operation2 command_args cmd_brace_block */ -#line 1849 "mrbgems/mruby-compiler/core/parse.y" + case 66: +#line 1860 "mrbgems/mruby-compiler/core/parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), tCOLON2); } -#line 6749 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6404 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 67: /* command: keyword_super command_args */ -#line 1854 "mrbgems/mruby-compiler/core/parse.y" + case 67: +#line 1865 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 6757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6412 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 68: /* command: keyword_yield command_args */ -#line 1858 "mrbgems/mruby-compiler/core/parse.y" + case 68: +#line 1869 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 6765 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6420 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 69: /* command: keyword_return call_args */ -#line 1862 "mrbgems/mruby-compiler/core/parse.y" + case 69: +#line 1873 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 6773 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6428 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 70: /* command: keyword_break call_args */ -#line 1866 "mrbgems/mruby-compiler/core/parse.y" + case 70: +#line 1877 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 6781 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6436 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 71: /* command: keyword_next call_args */ -#line 1870 "mrbgems/mruby-compiler/core/parse.y" + case 71: +#line 1881 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 6789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6444 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 72: /* mlhs: mlhs_basic */ -#line 1876 "mrbgems/mruby-compiler/core/parse.y" + case 72: +#line 1887 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 6797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6452 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 73: /* mlhs: tLPAREN mlhs_inner rparen */ -#line 1880 "mrbgems/mruby-compiler/core/parse.y" + case 73: +#line 1891 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6460 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 75: /* mlhs_inner: tLPAREN mlhs_inner rparen */ -#line 1887 "mrbgems/mruby-compiler/core/parse.y" + case 75: +#line 1898 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 6813 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6468 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 76: /* mlhs_basic: mlhs_list */ -#line 1893 "mrbgems/mruby-compiler/core/parse.y" + case 76: +#line 1904 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 6821 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6476 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 77: /* mlhs_basic: mlhs_list mlhs_item */ -#line 1897 "mrbgems/mruby-compiler/core/parse.y" + case 77: +#line 1908 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 6829 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6484 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 78: /* mlhs_basic: mlhs_list tSTAR mlhs_node */ -#line 1901 "mrbgems/mruby-compiler/core/parse.y" + case 78: +#line 1912 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6837 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6492 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 79: /* mlhs_basic: mlhs_list tSTAR mlhs_node ',' mlhs_post */ -#line 1905 "mrbgems/mruby-compiler/core/parse.y" + case 79: +#line 1916 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6845 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6500 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 80: /* mlhs_basic: mlhs_list tSTAR */ -#line 1909 "mrbgems/mruby-compiler/core/parse.y" + case 80: +#line 1920 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 6853 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6508 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 81: /* mlhs_basic: mlhs_list tSTAR ',' mlhs_post */ -#line 1913 "mrbgems/mruby-compiler/core/parse.y" + case 81: +#line 1924 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 6861 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6516 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 82: /* mlhs_basic: tSTAR mlhs_node */ -#line 1917 "mrbgems/mruby-compiler/core/parse.y" + case 82: +#line 1928 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 6869 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6524 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 83: /* mlhs_basic: tSTAR mlhs_node ',' mlhs_post */ -#line 1921 "mrbgems/mruby-compiler/core/parse.y" + case 83: +#line 1932 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 6877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6532 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 84: /* mlhs_basic: tSTAR */ -#line 1925 "mrbgems/mruby-compiler/core/parse.y" + case 84: +#line 1936 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, new_nil(p)); } -#line 6885 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6540 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 85: /* mlhs_basic: tSTAR ',' mlhs_post */ -#line 1929 "mrbgems/mruby-compiler/core/parse.y" + case 85: +#line 1940 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); } -#line 6893 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6548 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 87: /* mlhs_item: tLPAREN mlhs_inner rparen */ -#line 1936 "mrbgems/mruby-compiler/core/parse.y" + case 87: +#line 1947 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 6901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6556 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 88: /* mlhs_list: mlhs_item ',' */ -#line 1942 "mrbgems/mruby-compiler/core/parse.y" + case 88: +#line 1953 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[-1].nd)); } -#line 6909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6564 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 89: /* mlhs_list: mlhs_list mlhs_item ',' */ -#line 1946 "mrbgems/mruby-compiler/core/parse.y" + case 89: +#line 1957 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 6917 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6572 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 90: /* mlhs_post: mlhs_item */ -#line 1952 "mrbgems/mruby-compiler/core/parse.y" + case 90: +#line 1963 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 6925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6580 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 91: /* mlhs_post: mlhs_list mlhs_item */ -#line 1956 "mrbgems/mruby-compiler/core/parse.y" + case 91: +#line 1967 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 6933 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6588 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 92: /* mlhs_node: variable */ -#line 1962 "mrbgems/mruby-compiler/core/parse.y" + case 92: +#line 1973 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 6941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6596 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 93: /* mlhs_node: primary_value '[' opt_call_args ']' */ -#line 1966 "mrbgems/mruby-compiler/core/parse.y" + case 93: +#line 1977 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 6949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6604 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 94: /* mlhs_node: primary_value call_op tIDENTIFIER */ -#line 1970 "mrbgems/mruby-compiler/core/parse.y" + case 94: +#line 1981 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6957 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6612 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 95: /* mlhs_node: primary_value tCOLON2 tIDENTIFIER */ -#line 1974 "mrbgems/mruby-compiler/core/parse.y" + case 95: +#line 1985 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 6965 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6620 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 96: /* mlhs_node: primary_value call_op tCONSTANT */ -#line 1978 "mrbgems/mruby-compiler/core/parse.y" + case 96: +#line 1989 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 6973 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6628 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 97: /* mlhs_node: primary_value tCOLON2 tCONSTANT */ -#line 1982 "mrbgems/mruby-compiler/core/parse.y" + case 97: +#line 1993 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 6983 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6638 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 98: /* mlhs_node: tCOLON3 tCONSTANT */ -#line 1988 "mrbgems/mruby-compiler/core/parse.y" + case 98: +#line 1999 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 6993 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6648 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 99: /* mlhs_node: backref */ -#line 1994 "mrbgems/mruby-compiler/core/parse.y" + case 99: +#line 2005 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 7002 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6657 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 100: /* lhs: variable */ -#line 2001 "mrbgems/mruby-compiler/core/parse.y" + case 100: +#line 2012 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 7010 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6665 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 101: /* lhs: primary_value '[' opt_call_args ']' */ -#line 2005 "mrbgems/mruby-compiler/core/parse.y" + case 101: +#line 2016 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 7018 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6673 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 102: /* lhs: primary_value call_op tIDENTIFIER */ -#line 2009 "mrbgems/mruby-compiler/core/parse.y" + case 102: +#line 2020 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 7026 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6681 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 103: /* lhs: primary_value tCOLON2 tIDENTIFIER */ -#line 2013 "mrbgems/mruby-compiler/core/parse.y" + case 103: +#line 2024 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 7034 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6689 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 104: /* lhs: primary_value call_op tCONSTANT */ -#line 2017 "mrbgems/mruby-compiler/core/parse.y" + case 104: +#line 2028 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 7042 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6697 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 105: /* lhs: primary_value tCOLON2 tCONSTANT */ -#line 2021 "mrbgems/mruby-compiler/core/parse.y" + case 105: +#line 2032 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 7052 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6707 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 106: /* lhs: tCOLON3 tCONSTANT */ -#line 2027 "mrbgems/mruby-compiler/core/parse.y" + case 106: +#line 2038 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 7062 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6717 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 107: /* lhs: backref */ -#line 2033 "mrbgems/mruby-compiler/core/parse.y" + case 107: +#line 2044 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 7071 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6726 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 108: /* lhs: tNUMPARAM */ -#line 2038 "mrbgems/mruby-compiler/core/parse.y" + case 108: +#line 2049 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "can't assign to numbered parameter"); } -#line 7079 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6734 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 109: /* cname: tIDENTIFIER */ -#line 2044 "mrbgems/mruby-compiler/core/parse.y" + case 109: +#line 2055 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "class/module name must be CONSTANT"); } -#line 7087 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6742 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 111: /* cpath: tCOLON3 cname */ -#line 2051 "mrbgems/mruby-compiler/core/parse.y" + case 111: +#line 2062 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(nint(1), nsym((yyvsp[0].id))); } -#line 7095 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6750 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 112: /* cpath: cname */ -#line 2055 "mrbgems/mruby-compiler/core/parse.y" + case 112: +#line 2066 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(nint(0), nsym((yyvsp[0].id))); } -#line 7103 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6758 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 113: /* cpath: primary_value tCOLON2 cname */ -#line 2059 "mrbgems/mruby-compiler/core/parse.y" + case 113: +#line 2070 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), nsym((yyvsp[0].id))); } -#line 7112 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6767 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 117: /* fname: op */ -#line 2069 "mrbgems/mruby-compiler/core/parse.y" + case 117: +#line 2080 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 7121 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6776 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 118: /* fname: reswords */ -#line 2074 "mrbgems/mruby-compiler/core/parse.y" + case 118: +#line 2085 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 7130 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6785 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 121: /* undef_list: fsym */ -#line 2085 "mrbgems/mruby-compiler/core/parse.y" + case 121: +#line 2096 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_undef(p, (yyvsp[0].id)); } -#line 7138 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6793 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 122: /* $@6: %empty */ -#line 2088 "mrbgems/mruby-compiler/core/parse.y" + case 122: +#line 2099 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 7144 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6799 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 123: /* undef_list: undef_list ',' $@6 fsym */ -#line 2089 "mrbgems/mruby-compiler/core/parse.y" + case 123: +#line 2100 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), nsym((yyvsp[0].id))); } -#line 7152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6807 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 124: /* op: '|' */ -#line 2094 "mrbgems/mruby-compiler/core/parse.y" + case 124: +#line 2105 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(or); } -#line 7158 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6813 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 125: /* op: '^' */ -#line 2095 "mrbgems/mruby-compiler/core/parse.y" + case 125: +#line 2106 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(xor); } -#line 7164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6819 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 126: /* op: '&' */ -#line 2096 "mrbgems/mruby-compiler/core/parse.y" + case 126: +#line 2107 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 7170 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6825 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 127: /* op: tCMP */ -#line 2097 "mrbgems/mruby-compiler/core/parse.y" + case 127: +#line 2108 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(cmp); } -#line 7176 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6831 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 128: /* op: tEQ */ -#line 2098 "mrbgems/mruby-compiler/core/parse.y" + case 128: +#line 2109 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eq); } -#line 7182 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6837 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 129: /* op: tEQQ */ -#line 2099 "mrbgems/mruby-compiler/core/parse.y" + case 129: +#line 2110 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(eqq); } -#line 7188 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6843 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 130: /* op: tMATCH */ -#line 2100 "mrbgems/mruby-compiler/core/parse.y" + case 130: +#line 2111 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(match); } -#line 7194 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6849 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 131: /* op: tNMATCH */ -#line 2101 "mrbgems/mruby-compiler/core/parse.y" + case 131: +#line 2112 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(nmatch); } -#line 7200 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6855 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 132: /* op: '>' */ -#line 2102 "mrbgems/mruby-compiler/core/parse.y" + case 132: +#line 2113 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(gt); } -#line 7206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6861 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 133: /* op: tGEQ */ -#line 2103 "mrbgems/mruby-compiler/core/parse.y" + case 133: +#line 2114 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(ge); } -#line 7212 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6867 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 134: /* op: '<' */ -#line 2104 "mrbgems/mruby-compiler/core/parse.y" + case 134: +#line 2115 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lt); } -#line 7218 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6873 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 135: /* op: tLEQ */ -#line 2105 "mrbgems/mruby-compiler/core/parse.y" + case 135: +#line 2116 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(le); } -#line 7224 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6879 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 136: /* op: tNEQ */ -#line 2106 "mrbgems/mruby-compiler/core/parse.y" + case 136: +#line 2117 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neq); } -#line 7230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6885 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 137: /* op: tLSHFT */ -#line 2107 "mrbgems/mruby-compiler/core/parse.y" + case 137: +#line 2118 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(lshift); } -#line 7236 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6891 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 138: /* op: tRSHFT */ -#line 2108 "mrbgems/mruby-compiler/core/parse.y" + case 138: +#line 2119 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(rshift); } -#line 7242 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6897 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 139: /* op: '+' */ -#line 2109 "mrbgems/mruby-compiler/core/parse.y" + case 139: +#line 2120 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(add); } -#line 7248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6903 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 140: /* op: '-' */ -#line 2110 "mrbgems/mruby-compiler/core/parse.y" + case 140: +#line 2121 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(sub); } -#line 7254 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6909 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 141: /* op: '*' */ -#line 2111 "mrbgems/mruby-compiler/core/parse.y" + case 141: +#line 2122 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 7260 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6915 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 142: /* op: tSTAR */ -#line 2112 "mrbgems/mruby-compiler/core/parse.y" + case 142: +#line 2123 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); } -#line 7266 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6921 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 143: /* op: '/' */ -#line 2113 "mrbgems/mruby-compiler/core/parse.y" + case 143: +#line 2124 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(div); } -#line 7272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6927 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 144: /* op: '%' */ -#line 2114 "mrbgems/mruby-compiler/core/parse.y" + case 144: +#line 2125 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mod); } -#line 7278 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6933 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 145: /* op: tPOW */ -#line 2115 "mrbgems/mruby-compiler/core/parse.y" + case 145: +#line 2126 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 7284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6939 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 146: /* op: tDSTAR */ -#line 2116 "mrbgems/mruby-compiler/core/parse.y" + case 146: +#line 2127 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(pow); } -#line 7290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6945 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 147: /* op: '!' */ -#line 2117 "mrbgems/mruby-compiler/core/parse.y" + case 147: +#line 2128 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(not); } -#line 7296 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6951 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 148: /* op: '~' */ -#line 2118 "mrbgems/mruby-compiler/core/parse.y" + case 148: +#line 2129 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(neg); } -#line 7302 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6957 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 149: /* op: tUPLUS */ -#line 2119 "mrbgems/mruby-compiler/core/parse.y" + case 149: +#line 2130 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(plus); } -#line 7308 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6963 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 150: /* op: tUMINUS */ -#line 2120 "mrbgems/mruby-compiler/core/parse.y" + case 150: +#line 2131 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(minus); } -#line 7314 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6969 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 151: /* op: tAREF */ -#line 2121 "mrbgems/mruby-compiler/core/parse.y" + case 151: +#line 2132 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aref); } -#line 7320 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6975 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 152: /* op: tASET */ -#line 2122 "mrbgems/mruby-compiler/core/parse.y" + case 152: +#line 2133 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(aset); } -#line 7326 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6981 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 153: /* op: '`' */ -#line 2123 "mrbgems/mruby-compiler/core/parse.y" + case 153: +#line 2134 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(tick); } -#line 7332 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6987 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 194: /* arg: lhs '=' arg_rhs */ -#line 2141 "mrbgems/mruby-compiler/core/parse.y" + case 194: +#line 2152 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7340 "mrbgems/mruby-compiler/core/y.tab.c" +#line 6995 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 195: /* arg: var_lhs tOP_ASGN arg_rhs */ -#line 2145 "mrbgems/mruby-compiler/core/parse.y" + case 195: +#line 2156 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7348 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7003 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 196: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ -#line 2149 "mrbgems/mruby-compiler/core/parse.y" + case 196: +#line 2160 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7356 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7011 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 197: /* arg: primary_value call_op tIDENTIFIER tOP_ASGN arg_rhs */ -#line 2153 "mrbgems/mruby-compiler/core/parse.y" + case 197: +#line 2164 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7364 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7019 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 198: /* arg: primary_value call_op tCONSTANT tOP_ASGN arg_rhs */ -#line 2157 "mrbgems/mruby-compiler/core/parse.y" + case 198: +#line 2168 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7372 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7027 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 199: /* arg: primary_value tCOLON2 tIDENTIFIER tOP_ASGN arg_rhs */ -#line 2161 "mrbgems/mruby-compiler/core/parse.y" + case 199: +#line 2172 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 7380 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7035 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 200: /* arg: primary_value tCOLON2 tCONSTANT tOP_ASGN arg_rhs */ -#line 2165 "mrbgems/mruby-compiler/core/parse.y" + case 200: +#line 2176 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = new_begin(p, 0); } -#line 7389 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7044 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 201: /* arg: tCOLON3 tCONSTANT tOP_ASGN arg_rhs */ -#line 2170 "mrbgems/mruby-compiler/core/parse.y" + case 201: +#line 2181 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "constant re-assignment"); (yyval.nd) = new_begin(p, 0); } -#line 7398 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7053 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 202: /* arg: backref tOP_ASGN arg_rhs */ -#line 2175 "mrbgems/mruby-compiler/core/parse.y" + case 202: +#line 2186 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_begin(p, 0); } -#line 7407 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7062 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 203: /* arg: arg tDOT2 arg */ -#line 2180 "mrbgems/mruby-compiler/core/parse.y" + case 203: +#line 2191 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7415 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7070 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 204: /* arg: arg tDOT2 */ -#line 2184 "mrbgems/mruby-compiler/core/parse.y" + case 204: +#line 2195 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 7423 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7078 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 205: /* arg: tBDOT2 arg */ -#line 2188 "mrbgems/mruby-compiler/core/parse.y" + case 205: +#line 2199 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 7431 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7086 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 206: /* arg: arg tDOT3 arg */ -#line 2192 "mrbgems/mruby-compiler/core/parse.y" + case 206: +#line 2203 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7439 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7094 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 207: /* arg: arg tDOT3 */ -#line 2196 "mrbgems/mruby-compiler/core/parse.y" + case 207: +#line 2207 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 7447 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7102 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 208: /* arg: tBDOT3 arg */ -#line 2200 "mrbgems/mruby-compiler/core/parse.y" + case 208: +#line 2211 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 7455 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7110 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 209: /* arg: arg '+' arg */ -#line 2204 "mrbgems/mruby-compiler/core/parse.y" + case 209: +#line 2215 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 7463 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7118 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 210: /* arg: arg '-' arg */ -#line 2208 "mrbgems/mruby-compiler/core/parse.y" + case 210: +#line 2219 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 7471 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7126 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 211: /* arg: arg '*' arg */ -#line 2212 "mrbgems/mruby-compiler/core/parse.y" + case 211: +#line 2223 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 7479 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7134 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 212: /* arg: arg '/' arg */ -#line 2216 "mrbgems/mruby-compiler/core/parse.y" + case 212: +#line 2227 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 7487 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7142 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 213: /* arg: arg '%' arg */ -#line 2220 "mrbgems/mruby-compiler/core/parse.y" + case 213: +#line 2231 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 7495 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7150 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 214: /* arg: arg tPOW arg */ -#line 2224 "mrbgems/mruby-compiler/core/parse.y" + case 214: +#line 2235 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 7503 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7158 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 215: /* arg: tUMINUS_NUM tINTEGER tPOW arg */ -#line 2228 "mrbgems/mruby-compiler/core/parse.y" + case 215: +#line 2239 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)), "-@"); } -#line 7511 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7166 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 216: /* arg: tUMINUS_NUM tFLOAT tPOW arg */ -#line 2232 "mrbgems/mruby-compiler/core/parse.y" + case 216: +#line 2243 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)), "-@"); } -#line 7519 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7174 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 217: /* arg: tUPLUS arg */ -#line 2236 "mrbgems/mruby-compiler/core/parse.y" + case 217: +#line 2247 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 7527 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7182 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 218: /* arg: tUMINUS arg */ -#line 2240 "mrbgems/mruby-compiler/core/parse.y" + case 218: +#line 2251 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "-@"); } -#line 7535 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7190 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 219: /* arg: arg '|' arg */ -#line 2244 "mrbgems/mruby-compiler/core/parse.y" + case 219: +#line 2255 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 7543 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7198 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 220: /* arg: arg '^' arg */ -#line 2248 "mrbgems/mruby-compiler/core/parse.y" + case 220: +#line 2259 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 7551 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7206 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 221: /* arg: arg '&' arg */ -#line 2252 "mrbgems/mruby-compiler/core/parse.y" + case 221: +#line 2263 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 7559 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7214 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 222: /* arg: arg tCMP arg */ -#line 2256 "mrbgems/mruby-compiler/core/parse.y" + case 222: +#line 2267 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 7567 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7222 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 223: /* arg: arg '>' arg */ -#line 2260 "mrbgems/mruby-compiler/core/parse.y" + case 223: +#line 2271 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 7575 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7230 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 224: /* arg: arg tGEQ arg */ -#line 2264 "mrbgems/mruby-compiler/core/parse.y" + case 224: +#line 2275 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 7583 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7238 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 225: /* arg: arg '<' arg */ -#line 2268 "mrbgems/mruby-compiler/core/parse.y" + case 225: +#line 2279 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 7591 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7246 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 226: /* arg: arg tLEQ arg */ -#line 2272 "mrbgems/mruby-compiler/core/parse.y" + case 226: +#line 2283 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 7599 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7254 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 227: /* arg: arg tEQ arg */ -#line 2276 "mrbgems/mruby-compiler/core/parse.y" + case 227: +#line 2287 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 7607 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7262 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 228: /* arg: arg tEQQ arg */ -#line 2280 "mrbgems/mruby-compiler/core/parse.y" + case 228: +#line 2291 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 7615 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7270 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 229: /* arg: arg tNEQ arg */ -#line 2284 "mrbgems/mruby-compiler/core/parse.y" + case 229: +#line 2295 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 7623 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7278 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 230: /* arg: arg tMATCH arg */ -#line 2288 "mrbgems/mruby-compiler/core/parse.y" + case 230: +#line 2299 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 7631 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7286 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 231: /* arg: arg tNMATCH arg */ -#line 2292 "mrbgems/mruby-compiler/core/parse.y" + case 231: +#line 2303 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 7639 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7294 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 232: /* arg: '!' arg */ -#line 2296 "mrbgems/mruby-compiler/core/parse.y" + case 232: +#line 2307 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 7647 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7302 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 233: /* arg: '~' arg */ -#line 2300 "mrbgems/mruby-compiler/core/parse.y" + case 233: +#line 2311 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 7655 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7310 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 234: /* arg: arg tLSHFT arg */ -#line 2304 "mrbgems/mruby-compiler/core/parse.y" + case 234: +#line 2315 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 7663 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7318 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 235: /* arg: arg tRSHFT arg */ -#line 2308 "mrbgems/mruby-compiler/core/parse.y" + case 235: +#line 2319 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 7671 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7326 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 236: /* arg: arg tANDOP arg */ -#line 2312 "mrbgems/mruby-compiler/core/parse.y" + case 236: +#line 2323 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7679 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7334 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 237: /* arg: arg tOROP arg */ -#line 2316 "mrbgems/mruby-compiler/core/parse.y" + case 237: +#line 2327 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7687 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7342 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 238: /* arg: arg '?' arg opt_nl ':' arg */ -#line 2320 "mrbgems/mruby-compiler/core/parse.y" + case 238: +#line 2331 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 7695 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7350 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 239: /* arg: arg '?' arg opt_nl tLABEL_TAG arg */ -#line 2324 "mrbgems/mruby-compiler/core/parse.y" + case 239: +#line 2335 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 7703 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7358 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 240: /* arg: defn_head f_arglist_paren '=' arg */ -#line 2328 "mrbgems/mruby-compiler/core/parse.y" + case 240: +#line 2339 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -7711,11 +7366,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7715 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7370 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 241: /* arg: defn_head f_arglist_paren '=' arg modifier_rescue arg */ -#line 2336 "mrbgems/mruby-compiler/core/parse.y" + case 241: +#line 2347 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -7724,11 +7379,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 7728 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7383 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 242: /* arg: defs_head f_arglist_paren '=' arg */ -#line 2345 "mrbgems/mruby-compiler/core/parse.y" + case 242: +#line 2356 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -7737,11 +7392,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7741 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7396 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 243: /* arg: defs_head f_arglist_paren '=' arg modifier_rescue arg */ -#line 2354 "mrbgems/mruby-compiler/core/parse.y" + case 243: +#line 2365 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -7751,71 +7406,71 @@ yyreduce: p->in_def--; p->in_single--; } -#line 7755 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7410 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 244: /* arg: primary */ -#line 2364 "mrbgems/mruby-compiler/core/parse.y" + case 244: +#line 2375 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7763 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7418 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 246: /* aref_args: args trailer */ -#line 2371 "mrbgems/mruby-compiler/core/parse.y" + case 246: +#line 2382 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7427 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 247: /* aref_args: args comma assocs trailer */ -#line 2376 "mrbgems/mruby-compiler/core/parse.y" + case 247: +#line 2387 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd))); } -#line 7780 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7435 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 248: /* aref_args: assocs trailer */ -#line 2380 "mrbgems/mruby-compiler/core/parse.y" + case 248: +#line 2391 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_kw_hash(p, (yyvsp[-1].nd)), 0); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7444 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 249: /* arg_rhs: arg */ -#line 2387 "mrbgems/mruby-compiler/core/parse.y" + case 249: +#line 2398 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7452 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 250: /* arg_rhs: arg modifier_rescue arg */ -#line 2391 "mrbgems/mruby-compiler/core/parse.y" + case 250: +#line 2402 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 7807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7462 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 251: /* paren_args: '(' opt_call_args ')' */ -#line 2399 "mrbgems/mruby-compiler/core/parse.y" + case 251: +#line 2410 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7815 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7470 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 252: /* paren_args: '(' args comma tBDOT3 rparen */ -#line 2403 "mrbgems/mruby-compiler/core/parse.y" + case 252: +#line 2414 "mrbgems/mruby-compiler/core/parse.y" { #if 1 mrb_sym r = intern_op(mul); @@ -7831,11 +7486,11 @@ yyreduce: new_block_arg(p, new_lvar(p, b))); #endif } -#line 7835 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7490 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 253: /* paren_args: '(' tBDOT3 rparen */ -#line 2419 "mrbgems/mruby-compiler/core/parse.y" + case 253: +#line 2430 "mrbgems/mruby-compiler/core/parse.y" { #if 1 mrb_sym r = intern_op(mul); @@ -7859,373 +7514,373 @@ yyreduce: (yyval.nd) = 0; } } -#line 7863 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7518 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 258: /* opt_call_args: args comma */ -#line 2451 "mrbgems/mruby-compiler/core/parse.y" + case 258: +#line 2462 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[-1].nd),0); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7872 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7527 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 259: /* opt_call_args: args comma assocs comma */ -#line 2456 "mrbgems/mruby-compiler/core/parse.y" + case 259: +#line 2467 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd))), 0); NODE_LINENO((yyval.nd), (yyvsp[-3].nd)); } -#line 7881 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7536 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 260: /* opt_call_args: assocs comma */ -#line 2461 "mrbgems/mruby-compiler/core/parse.y" + case 260: +#line 2472 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(list1(new_kw_hash(p, (yyvsp[-1].nd))), 0); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7890 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7545 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 261: /* call_args: command */ -#line 2468 "mrbgems/mruby-compiler/core/parse.y" + case 261: +#line 2479 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(list1((yyvsp[0].nd)), 0); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7900 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7555 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 262: /* call_args: args opt_block_arg */ -#line 2474 "mrbgems/mruby-compiler/core/parse.y" + case 262: +#line 2485 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[-1].nd), (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7564 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 263: /* call_args: assocs opt_block_arg */ -#line 2479 "mrbgems/mruby-compiler/core/parse.y" + case 263: +#line 2490 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(list1(new_kw_hash(p, (yyvsp[-1].nd))), (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 7918 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7573 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 264: /* call_args: args comma assocs opt_block_arg */ -#line 2484 "mrbgems/mruby-compiler/core/parse.y" + case 264: +#line 2495 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(push((yyvsp[-3].nd), new_kw_hash(p, (yyvsp[-1].nd))), (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[-3].nd)); } -#line 7927 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7582 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 265: /* call_args: block_arg */ -#line 2489 "mrbgems/mruby-compiler/core/parse.y" + case 265: +#line 2500 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(0, (yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7936 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7591 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 266: /* @7: %empty */ -#line 2495 "mrbgems/mruby-compiler/core/parse.y" + case 266: +#line 2506 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; CMDARG_PUSH(1); } -#line 7945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7600 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 267: /* command_args: @7 call_args */ -#line 2500 "mrbgems/mruby-compiler/core/parse.y" + case 267: +#line 2511 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-1].stack); (yyval.nd) = (yyvsp[0].nd); } -#line 7954 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7609 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 268: /* block_arg: tAMPER arg */ -#line 2507 "mrbgems/mruby-compiler/core/parse.y" + case 268: +#line 2518 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); } -#line 7962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7617 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 269: /* opt_block_arg: comma block_arg */ -#line 2513 "mrbgems/mruby-compiler/core/parse.y" + case 269: +#line 2524 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 7970 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7625 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 270: /* opt_block_arg: none */ -#line 2517 "mrbgems/mruby-compiler/core/parse.y" + case 270: +#line 2528 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 7978 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7633 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 273: /* args: arg */ -#line 2527 "mrbgems/mruby-compiler/core/parse.y" + case 273: +#line 2538 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons((yyvsp[0].nd), 0); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7988 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7643 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 274: /* args: tSTAR arg */ -#line 2533 "mrbgems/mruby-compiler/core/parse.y" + case 274: +#line 2544 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_splat(p, (yyvsp[0].nd)), 0); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 7998 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7653 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 275: /* args: args comma arg */ -#line 2539 "mrbgems/mruby-compiler/core/parse.y" + case 275: +#line 2550 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8007 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7662 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 276: /* args: args comma tSTAR arg */ -#line 2544 "mrbgems/mruby-compiler/core/parse.y" + case 276: +#line 2555 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 8016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7671 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 277: /* mrhs: args comma arg */ -#line 2551 "mrbgems/mruby-compiler/core/parse.y" + case 277: +#line 2562 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7680 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 278: /* mrhs: args comma tSTAR arg */ -#line 2556 "mrbgems/mruby-compiler/core/parse.y" + case 278: +#line 2567 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); } -#line 8034 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7689 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 279: /* mrhs: tSTAR arg */ -#line 2561 "mrbgems/mruby-compiler/core/parse.y" + case 279: +#line 2572 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); } -#line 8043 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7698 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 287: /* primary: tNUMPARAM */ -#line 2575 "mrbgems/mruby-compiler/core/parse.y" + case 287: +#line 2586 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 8051 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7706 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 288: /* primary: tFID */ -#line 2579 "mrbgems/mruby-compiler/core/parse.y" + case 288: +#line 2590 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); } -#line 8059 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7714 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 289: /* @8: %empty */ -#line 2583 "mrbgems/mruby-compiler/core/parse.y" + case 289: +#line 2594 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8068 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7723 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 290: /* primary: keyword_begin @8 bodystmt keyword_end */ -#line 2589 "mrbgems/mruby-compiler/core/parse.y" + case 290: +#line 2600 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-2].stack); (yyval.nd) = (yyvsp[-1].nd); } -#line 8077 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7732 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 291: /* @9: %empty */ -#line 2594 "mrbgems/mruby-compiler/core/parse.y" + case 291: +#line 2605 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8086 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7741 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 292: /* $@10: %empty */ -#line 2598 "mrbgems/mruby-compiler/core/parse.y" + case 292: +#line 2609 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 8092 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7747 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 293: /* primary: tLPAREN_ARG @9 stmt $@10 rparen */ -#line 2599 "mrbgems/mruby-compiler/core/parse.y" + case 293: +#line 2610 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 8101 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7756 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 294: /* $@11: %empty */ -#line 2603 "mrbgems/mruby-compiler/core/parse.y" + case 294: +#line 2614 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 8107 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7762 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 295: /* primary: tLPAREN_ARG $@11 rparen */ -#line 2604 "mrbgems/mruby-compiler/core/parse.y" + case 295: +#line 2615 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 8115 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7770 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 296: /* primary: tLPAREN compstmt ')' */ -#line 2608 "mrbgems/mruby-compiler/core/parse.y" + case 296: +#line 2619 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8123 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7778 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 297: /* primary: primary_value tCOLON2 tCONSTANT */ -#line 2612 "mrbgems/mruby-compiler/core/parse.y" + case 297: +#line 2623 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8131 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7786 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 298: /* primary: tCOLON3 tCONSTANT */ -#line 2616 "mrbgems/mruby-compiler/core/parse.y" + case 298: +#line 2627 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8139 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7794 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 299: /* primary: tLBRACK aref_args ']' */ -#line 2620 "mrbgems/mruby-compiler/core/parse.y" + case 299: +#line 2631 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 8148 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7803 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 300: /* primary: tLBRACE assoc_list '}' */ -#line 2625 "mrbgems/mruby-compiler/core/parse.y" + case 300: +#line 2636 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); NODE_LINENO((yyval.nd), (yyvsp[-1].nd)); } -#line 8157 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7812 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 301: /* primary: keyword_return */ -#line 2630 "mrbgems/mruby-compiler/core/parse.y" + case 301: +#line 2641 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, 0); } -#line 8165 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7820 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 302: /* primary: keyword_yield opt_paren_args */ -#line 2634 "mrbgems/mruby-compiler/core/parse.y" + case 302: +#line 2645 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7828 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 303: /* primary: keyword_not '(' expr rparen */ -#line 2638 "mrbgems/mruby-compiler/core/parse.y" + case 303: +#line 2649 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 8181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7836 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 304: /* primary: keyword_not '(' rparen */ -#line 2642 "mrbgems/mruby-compiler/core/parse.y" + case 304: +#line 2653 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 8189 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7844 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 305: /* primary: operation brace_block */ -#line 2646 "mrbgems/mruby-compiler/core/parse.y" + case 305: +#line 2657 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), cons(0, (yyvsp[0].nd))); } -#line 8197 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7852 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 307: /* primary: method_call brace_block */ -#line 2651 "mrbgems/mruby-compiler/core/parse.y" + case 307: +#line 2662 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 8206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7861 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 308: /* @12: %empty */ -#line 2656 "mrbgems/mruby-compiler/core/parse.y" + case 308: +#line 2667 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 8216 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7871 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 309: /* @13: %empty */ -#line 2662 "mrbgems/mruby-compiler/core/parse.y" + case 309: +#line 2673 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 8225 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7880 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 310: /* primary: tLAMBDA @12 f_larglist @13 lambda_body */ -#line 2667 "mrbgems/mruby-compiler/core/parse.y" + case 310: +#line 2678 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -8233,149 +7888,149 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 8237 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7892 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 311: /* primary: keyword_if expr_value then compstmt if_tail keyword_end */ -#line 2678 "mrbgems/mruby-compiler/core/parse.y" + case 311: +#line 2689 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 8246 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7901 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 312: /* primary: keyword_unless expr_value then compstmt opt_else keyword_end */ -#line 2686 "mrbgems/mruby-compiler/core/parse.y" + case 312: +#line 2697 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_unless(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 8255 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7910 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 313: /* $@14: %empty */ -#line 2690 "mrbgems/mruby-compiler/core/parse.y" + case 313: +#line 2701 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 8261 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7916 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 314: /* $@15: %empty */ -#line 2690 "mrbgems/mruby-compiler/core/parse.y" + case 314: +#line 2701 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 8267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7922 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 315: /* primary: keyword_while $@14 expr_value do $@15 compstmt keyword_end */ -#line 2693 "mrbgems/mruby-compiler/core/parse.y" + case 315: +#line 2704 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 8276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7931 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 316: /* $@16: %empty */ -#line 2697 "mrbgems/mruby-compiler/core/parse.y" + case 316: +#line 2708 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 8282 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7937 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 317: /* $@17: %empty */ -#line 2697 "mrbgems/mruby-compiler/core/parse.y" + case 317: +#line 2708 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 8288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7943 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 318: /* primary: keyword_until $@16 expr_value do $@17 compstmt keyword_end */ -#line 2700 "mrbgems/mruby-compiler/core/parse.y" + case 318: +#line 2711 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 8297 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7952 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 319: /* primary: keyword_case expr_value opt_terms case_body keyword_end */ -#line 2707 "mrbgems/mruby-compiler/core/parse.y" + case 319: +#line 2718 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 8305 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7960 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 320: /* primary: keyword_case opt_terms case_body keyword_end */ -#line 2711 "mrbgems/mruby-compiler/core/parse.y" + case 320: +#line 2722 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 8313 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7968 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 321: /* $@18: %empty */ -#line 2715 "mrbgems/mruby-compiler/core/parse.y" + case 321: +#line 2726 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 8319 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7974 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 322: /* $@19: %empty */ -#line 2717 "mrbgems/mruby-compiler/core/parse.y" + case 322: +#line 2728 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7980 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 323: /* primary: keyword_for for_var keyword_in $@18 expr_value do $@19 compstmt keyword_end */ -#line 2720 "mrbgems/mruby-compiler/core/parse.y" + case 323: +#line 2731 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-8].num)); } -#line 8334 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7989 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 324: /* @20: %empty */ -#line 2726 "mrbgems/mruby-compiler/core/parse.y" + case 324: +#line 2737 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(p, "class definition in method body"); (yyval.nd) = local_switch(p); nvars_block(p); } -#line 8345 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8000 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 325: /* primary: keyword_class cpath superclass @20 bodystmt keyword_end */ -#line 2734 "mrbgems/mruby-compiler/core/parse.y" + case 325: +#line 2745 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_class(p, (yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 8356 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8011 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 326: /* @21: %empty */ -#line 2742 "mrbgems/mruby-compiler/core/parse.y" + case 326: +#line 2753 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 8365 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8020 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 327: /* @22: %empty */ -#line 2747 "mrbgems/mruby-compiler/core/parse.y" + case 327: +#line 2758 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(local_switch(p), nint(p->in_single)); nvars_block(p); p->in_single = 0; } -#line 8375 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8030 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 328: /* primary: keyword_class tLSHFT expr @21 term @22 bodystmt keyword_end */ -#line 2754 "mrbgems/mruby-compiler/core/parse.y" + case 328: +#line 2765 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -8384,44 +8039,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = intn((yyvsp[-2].nd)->cdr); } -#line 8388 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8043 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 329: /* @23: %empty */ -#line 2764 "mrbgems/mruby-compiler/core/parse.y" + case 329: +#line 2775 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(p, "module definition in method body"); (yyval.nd) = local_switch(p); nvars_block(p); } -#line 8399 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8054 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 330: /* primary: keyword_module cpath @23 bodystmt keyword_end */ -#line 2772 "mrbgems/mruby-compiler/core/parse.y" + case 330: +#line 2783 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_module(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-4].num)); local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 8410 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8065 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 331: /* primary: defn_head f_arglist bodystmt keyword_end */ -#line 2782 "mrbgems/mruby-compiler/core/parse.y" + case 331: +#line 2793 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); nvars_unnest(p); p->in_def--; } -#line 8421 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8076 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 332: /* primary: defs_head f_arglist bodystmt keyword_end */ -#line 2792 "mrbgems/mruby-compiler/core/parse.y" + case 332: +#line 2803 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defs_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -8429,451 +8084,451 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8433 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8088 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 333: /* primary: keyword_break */ -#line 2800 "mrbgems/mruby-compiler/core/parse.y" + case 333: +#line 2811 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, 0); } -#line 8441 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8096 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 334: /* primary: keyword_next */ -#line 2804 "mrbgems/mruby-compiler/core/parse.y" + case 334: +#line 2815 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, 0); } -#line 8449 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8104 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 335: /* primary: keyword_redo */ -#line 2808 "mrbgems/mruby-compiler/core/parse.y" + case 335: +#line 2819 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_redo(p); } -#line 8457 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8112 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 336: /* primary: keyword_retry */ -#line 2812 "mrbgems/mruby-compiler/core/parse.y" + case 336: +#line 2823 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_retry(p); } -#line 8465 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8120 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 337: /* primary_value: primary */ -#line 2818 "mrbgems/mruby-compiler/core/parse.y" + case 337: +#line 2829 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 8474 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8129 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 344: /* if_tail: keyword_elsif expr_value then compstmt if_tail */ -#line 2837 "mrbgems/mruby-compiler/core/parse.y" + case 344: +#line 2848 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8482 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8137 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 346: /* opt_else: keyword_else compstmt */ -#line 2844 "mrbgems/mruby-compiler/core/parse.y" + case 346: +#line 2855 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8490 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8145 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 347: /* for_var: lhs */ -#line 2850 "mrbgems/mruby-compiler/core/parse.y" + case 347: +#line 2861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 8498 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8153 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 349: /* f_margs: f_arg */ -#line 2857 "mrbgems/mruby-compiler/core/parse.y" + case 349: +#line 2868 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 8506 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8161 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 350: /* f_margs: f_arg ',' tSTAR f_norm_arg */ -#line 2861 "mrbgems/mruby-compiler/core/parse.y" + case 350: +#line 2872 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_arg(p, (yyvsp[0].id)), 0); } -#line 8514 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8169 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 351: /* f_margs: f_arg ',' tSTAR f_norm_arg ',' f_arg */ -#line 2865 "mrbgems/mruby-compiler/core/parse.y" + case 351: +#line 2876 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-5].nd), new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8522 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8177 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 352: /* f_margs: f_arg ',' tSTAR */ -#line 2869 "mrbgems/mruby-compiler/core/parse.y" + case 352: +#line 2880 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); (yyval.nd) = list3((yyvsp[-2].nd), nint(-1), 0); } -#line 8531 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8186 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 353: /* f_margs: f_arg ',' tSTAR ',' f_arg */ -#line 2874 "mrbgems/mruby-compiler/core/parse.y" + case 353: +#line 2885 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), nint(-1), (yyvsp[0].nd)); } -#line 8539 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8194 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 354: /* f_margs: tSTAR f_norm_arg */ -#line 2878 "mrbgems/mruby-compiler/core/parse.y" + case 354: +#line 2889 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_arg(p, (yyvsp[0].id)), 0); } -#line 8547 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8202 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 355: /* f_margs: tSTAR f_norm_arg ',' f_arg */ -#line 2882 "mrbgems/mruby-compiler/core/parse.y" + case 355: +#line 2893 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_arg(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 8555 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8210 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 356: /* f_margs: tSTAR */ -#line 2886 "mrbgems/mruby-compiler/core/parse.y" + case 356: +#line 2897 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); (yyval.nd) = list3(0, nint(-1), 0); } -#line 8564 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8219 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 357: /* $@24: %empty */ -#line 2891 "mrbgems/mruby-compiler/core/parse.y" + case 357: +#line 2902 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, 0); } -#line 8572 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8227 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 358: /* f_margs: tSTAR ',' $@24 f_arg */ -#line 2895 "mrbgems/mruby-compiler/core/parse.y" + case 358: +#line 2906 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, nint(-1), (yyvsp[0].nd)); } -#line 8580 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8235 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 359: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ -#line 2901 "mrbgems/mruby-compiler/core/parse.y" + case 359: +#line 2912 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 8588 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8243 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 360: /* block_args_tail: f_block_kwarg opt_f_block_arg */ -#line 2905 "mrbgems/mruby-compiler/core/parse.y" + case 360: +#line 2916 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 8596 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8251 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 361: /* block_args_tail: f_kwrest opt_f_block_arg */ -#line 2909 "mrbgems/mruby-compiler/core/parse.y" + case 361: +#line 2920 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 8604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8259 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 362: /* block_args_tail: f_block_arg */ -#line 2913 "mrbgems/mruby-compiler/core/parse.y" + case 362: +#line 2924 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 8612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8267 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 363: /* opt_block_args_tail: ',' block_args_tail */ -#line 2919 "mrbgems/mruby-compiler/core/parse.y" + case 363: +#line 2930 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8275 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 364: /* opt_block_args_tail: %empty */ -#line 2923 "mrbgems/mruby-compiler/core/parse.y" + case 364: +#line 2934 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 8628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8283 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 365: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 2929 "mrbgems/mruby-compiler/core/parse.y" + case 365: +#line 2940 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8291 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 366: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 2933 "mrbgems/mruby-compiler/core/parse.y" + case 366: +#line 2944 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8299 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 367: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ -#line 2937 "mrbgems/mruby-compiler/core/parse.y" + case 367: +#line 2948 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 8652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8307 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 368: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ -#line 2941 "mrbgems/mruby-compiler/core/parse.y" + case 368: +#line 2952 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8315 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 369: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ -#line 2945 "mrbgems/mruby-compiler/core/parse.y" + case 369: +#line 2956 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8668 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8323 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 370: /* block_param: f_arg ',' opt_block_args_tail */ -#line 2949 "mrbgems/mruby-compiler/core/parse.y" + case 370: +#line 2960 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 8676 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8331 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 371: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 2953 "mrbgems/mruby-compiler/core/parse.y" + case 371: +#line 2964 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8339 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 372: /* block_param: f_arg opt_block_args_tail */ -#line 2957 "mrbgems/mruby-compiler/core/parse.y" + case 372: +#line 2968 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 8692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8347 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 373: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 2961 "mrbgems/mruby-compiler/core/parse.y" + case 373: +#line 2972 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8355 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 374: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 2965 "mrbgems/mruby-compiler/core/parse.y" + case 374: +#line 2976 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8363 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 375: /* block_param: f_block_optarg opt_block_args_tail */ -#line 2969 "mrbgems/mruby-compiler/core/parse.y" + case 375: +#line 2980 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 8716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8371 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 376: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ -#line 2973 "mrbgems/mruby-compiler/core/parse.y" + case 376: +#line 2984 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8379 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 377: /* block_param: f_rest_arg opt_block_args_tail */ -#line 2977 "mrbgems/mruby-compiler/core/parse.y" + case 377: +#line 2988 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 8732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8387 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 378: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ -#line 2981 "mrbgems/mruby-compiler/core/parse.y" + case 378: +#line 2992 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 8740 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8395 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 379: /* block_param: block_args_tail */ -#line 2985 "mrbgems/mruby-compiler/core/parse.y" + case 379: +#line 2996 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 8748 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8403 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 380: /* opt_block_param: none */ -#line 2991 "mrbgems/mruby-compiler/core/parse.y" + case 380: +#line 3002 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8757 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8412 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 381: /* opt_block_param: block_param_def */ -#line 2996 "mrbgems/mruby-compiler/core/parse.y" + case 381: +#line 3007 "mrbgems/mruby-compiler/core/parse.y" { p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 8766 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8421 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 382: /* $@25: %empty */ -#line 3002 "mrbgems/mruby-compiler/core/parse.y" + case 382: +#line 3013 "mrbgems/mruby-compiler/core/parse.y" {local_add_blk(p, 0);} -#line 8772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8427 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 383: /* block_param_def: '|' $@25 opt_bv_decl '|' */ -#line 3003 "mrbgems/mruby-compiler/core/parse.y" + case 383: +#line 3014 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8780 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8435 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 384: /* block_param_def: tOROP */ -#line 3007 "mrbgems/mruby-compiler/core/parse.y" + case 384: +#line 3018 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p, 0); (yyval.nd) = 0; } -#line 8789 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8444 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 385: /* block_param_def: '|' block_param opt_bv_decl '|' */ -#line 3012 "mrbgems/mruby-compiler/core/parse.y" + case 385: +#line 3023 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 8797 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8452 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 386: /* opt_bv_decl: opt_nl */ -#line 3019 "mrbgems/mruby-compiler/core/parse.y" + case 386: +#line 3030 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8460 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 387: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ -#line 3023 "mrbgems/mruby-compiler/core/parse.y" + case 387: +#line 3034 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 8813 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8468 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 390: /* bvar: tIDENTIFIER */ -#line 3033 "mrbgems/mruby-compiler/core/parse.y" + case 390: +#line 3044 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); new_bv(p, (yyvsp[0].id)); } -#line 8822 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8477 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 392: /* f_larglist: '(' f_args opt_bv_decl ')' */ -#line 3041 "mrbgems/mruby-compiler/core/parse.y" + case 392: +#line 3052 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-2].nd); } -#line 8830 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8485 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 393: /* f_larglist: f_args */ -#line 3045 "mrbgems/mruby-compiler/core/parse.y" + case 393: +#line 3056 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8838 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8493 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 394: /* lambda_body: tLAMBEG compstmt '}' */ -#line 3051 "mrbgems/mruby-compiler/core/parse.y" + case 394: +#line 3062 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8846 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8501 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 395: /* lambda_body: keyword_do_LAMBDA bodystmt keyword_end */ -#line 3055 "mrbgems/mruby-compiler/core/parse.y" + case 395: +#line 3066 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8854 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8509 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 396: /* $@26: %empty */ -#line 3061 "mrbgems/mruby-compiler/core/parse.y" + case 396: +#line 3072 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8863 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8518 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 397: /* do_block: keyword_do_block $@26 opt_block_param bodystmt keyword_end */ -#line 3068 "mrbgems/mruby-compiler/core/parse.y" + case 397: +#line 3079 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8873 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8528 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 398: /* block_call: command do_block */ -#line 3076 "mrbgems/mruby-compiler/core/parse.y" + case 398: +#line 3087 "mrbgems/mruby-compiler/core/parse.y" { if (typen((yyvsp[-1].nd)->car) == NODE_YIELD) { yyerror(p, "block given to yield"); @@ -8883,159 +8538,159 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 8887 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8542 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 399: /* block_call: block_call call_op2 operation2 opt_paren_args */ -#line 3086 "mrbgems/mruby-compiler/core/parse.y" + case 399: +#line 3097 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8895 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8550 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 400: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ -#line 3090 "mrbgems/mruby-compiler/core/parse.y" + case 400: +#line 3101 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 8904 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8559 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 401: /* block_call: block_call call_op2 operation2 command_args do_block */ -#line 3095 "mrbgems/mruby-compiler/core/parse.y" + case 401: +#line 3106 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 8913 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8568 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 402: /* method_call: operation paren_args */ -#line 3102 "mrbgems/mruby-compiler/core/parse.y" + case 402: +#line 3113 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8921 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8576 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 403: /* method_call: primary_value call_op operation2 opt_paren_args */ -#line 3106 "mrbgems/mruby-compiler/core/parse.y" + case 403: +#line 3117 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8929 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8584 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 404: /* method_call: primary_value tCOLON2 operation2 paren_args */ -#line 3110 "mrbgems/mruby-compiler/core/parse.y" + case 404: +#line 3121 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 8937 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8592 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 405: /* method_call: primary_value tCOLON2 operation3 */ -#line 3114 "mrbgems/mruby-compiler/core/parse.y" + case 405: +#line 3125 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8945 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8600 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 406: /* method_call: primary_value call_op paren_args */ -#line 3118 "mrbgems/mruby-compiler/core/parse.y" + case 406: +#line 3129 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); } -#line 8953 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8608 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 407: /* method_call: primary_value tCOLON2 paren_args */ -#line 3122 "mrbgems/mruby-compiler/core/parse.y" + case 407: +#line 3133 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); } -#line 8961 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8616 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 408: /* method_call: keyword_super paren_args */ -#line 3126 "mrbgems/mruby-compiler/core/parse.y" + case 408: +#line 3137 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8969 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8624 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 409: /* method_call: keyword_super */ -#line 3130 "mrbgems/mruby-compiler/core/parse.y" + case 409: +#line 3141 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_zsuper(p); } -#line 8977 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8632 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 410: /* method_call: primary_value '[' opt_call_args ']' */ -#line 3134 "mrbgems/mruby-compiler/core/parse.y" + case 410: +#line 3145 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8985 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8640 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 411: /* @27: %empty */ -#line 3140 "mrbgems/mruby-compiler/core/parse.y" + case 411: +#line 3151 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 8995 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8650 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 412: /* brace_block: '{' @27 opt_block_param compstmt '}' */ -#line 3147 "mrbgems/mruby-compiler/core/parse.y" + case 412: +#line 3158 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 9006 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8661 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 413: /* @28: %empty */ -#line 3154 "mrbgems/mruby-compiler/core/parse.y" + case 413: +#line 3165 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 9016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8671 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 414: /* brace_block: keyword_do @28 opt_block_param bodystmt keyword_end */ -#line 3161 "mrbgems/mruby-compiler/core/parse.y" + case 414: +#line 3172 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 9027 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8682 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 415: /* case_body: keyword_when args then compstmt cases */ -#line 3172 "mrbgems/mruby-compiler/core/parse.y" + case 415: +#line 3183 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 9035 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8690 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 416: /* cases: opt_else */ -#line 3178 "mrbgems/mruby-compiler/core/parse.y" + case 416: +#line 3189 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -9044,383 +8699,383 @@ yyreduce: (yyval.nd) = 0; } } -#line 9048 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8703 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 418: /* opt_rescue: keyword_rescue exc_list exc_var then compstmt opt_rescue */ -#line 3192 "mrbgems/mruby-compiler/core/parse.y" + case 418: +#line 3203 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list3((yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd))); if ((yyvsp[0].nd)) (yyval.nd) = append((yyval.nd), (yyvsp[0].nd)); } -#line 9057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8712 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 420: /* exc_list: arg */ -#line 3200 "mrbgems/mruby-compiler/core/parse.y" + case 420: +#line 3211 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9065 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8720 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 423: /* exc_var: tASSOC lhs */ -#line 3208 "mrbgems/mruby-compiler/core/parse.y" + case 423: +#line 3219 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9073 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8728 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 425: /* opt_ensure: keyword_ensure compstmt */ -#line 3215 "mrbgems/mruby-compiler/core/parse.y" + case 425: +#line 3226 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9081 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8736 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 432: /* string: string string_fragment */ -#line 3229 "mrbgems/mruby-compiler/core/parse.y" + case 432: +#line 3240 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = concat_string(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9089 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8744 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 435: /* string_fragment: tSTRING_BEG tSTRING */ -#line 3237 "mrbgems/mruby-compiler/core/parse.y" + case 435: +#line 3248 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9097 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8752 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 436: /* string_fragment: tSTRING_BEG string_rep tSTRING */ -#line 3241 "mrbgems/mruby-compiler/core/parse.y" + case 436: +#line 3252 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dstr(p, push((yyvsp[-1].nd), (yyvsp[0].nd))); } -#line 9105 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8760 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 438: /* string_rep: string_rep string_interp */ -#line 3248 "mrbgems/mruby-compiler/core/parse.y" + case 438: +#line 3259 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9113 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8768 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 439: /* string_interp: tSTRING_MID */ -#line 3254 "mrbgems/mruby-compiler/core/parse.y" + case 439: +#line 3265 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9121 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8776 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 440: /* @29: %empty */ -#line 3258 "mrbgems/mruby-compiler/core/parse.y" + case 440: +#line 3269 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = p->lex_strterm; p->lex_strterm = NULL; } -#line 9130 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8785 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 441: /* string_interp: tSTRING_PART @29 compstmt '}' */ -#line 3264 "mrbgems/mruby-compiler/core/parse.y" + case 441: +#line 3275 "mrbgems/mruby-compiler/core/parse.y" { p->lex_strterm = (yyvsp[-2].nd); (yyval.nd) = list2((yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9139 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8794 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 442: /* string_interp: tLITERAL_DELIM */ -#line 3269 "mrbgems/mruby-compiler/core/parse.y" + case 442: +#line 3280 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 9147 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8802 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 443: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ -#line 3273 "mrbgems/mruby-compiler/core/parse.y" + case 443: +#line 3284 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 9155 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8810 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 444: /* xstring: tXSTRING_BEG tXSTRING */ -#line 3279 "mrbgems/mruby-compiler/core/parse.y" + case 444: +#line 3290 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9163 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8818 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 445: /* xstring: tXSTRING_BEG string_rep tXSTRING */ -#line 3283 "mrbgems/mruby-compiler/core/parse.y" + case 445: +#line 3294 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dxstr(p, push((yyvsp[-1].nd), (yyvsp[0].nd))); } -#line 9171 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8826 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 446: /* regexp: tREGEXP_BEG tREGEXP */ -#line 3289 "mrbgems/mruby-compiler/core/parse.y" + case 446: +#line 3300 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9179 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8834 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 447: /* regexp: tREGEXP_BEG string_rep tREGEXP */ -#line 3293 "mrbgems/mruby-compiler/core/parse.y" + case 447: +#line 3304 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dregx(p, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9187 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8842 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 451: /* heredoc_body: tHEREDOC_END */ -#line 3306 "mrbgems/mruby-compiler/core/parse.y" + case 451: +#line 3317 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); inf->doc = push(inf->doc, new_str(p, "", 0)); heredoc_end(p); } -#line 9197 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8852 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 452: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ -#line 3312 "mrbgems/mruby-compiler/core/parse.y" + case 452: +#line 3323 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 9205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8860 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 455: /* heredoc_string_interp: tHD_STRING_MID */ -#line 3322 "mrbgems/mruby-compiler/core/parse.y" + case 455: +#line 3333 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); inf->doc = push(inf->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 9215 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8870 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 456: /* @30: %empty */ -#line 3328 "mrbgems/mruby-compiler/core/parse.y" + case 456: +#line 3339 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = p->lex_strterm; p->lex_strterm = NULL; } -#line 9224 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8879 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 457: /* heredoc_string_interp: tHD_STRING_PART @30 compstmt '}' */ -#line 3334 "mrbgems/mruby-compiler/core/parse.y" + case 457: +#line 3345 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info * inf = parsing_heredoc_inf(p); p->lex_strterm = (yyvsp[-2].nd); inf->doc = push(push(inf->doc, (yyvsp[-3].nd)), (yyvsp[-1].nd)); } -#line 9234 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8889 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 458: /* words: tWORDS_BEG tSTRING */ -#line 3342 "mrbgems/mruby-compiler/core/parse.y" + case 458: +#line 3353 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 9242 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8897 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 459: /* words: tWORDS_BEG string_rep tSTRING */ -#line 3346 "mrbgems/mruby-compiler/core/parse.y" + case 459: +#line 3357 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, push((yyvsp[-1].nd), (yyvsp[0].nd))); } -#line 9250 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8905 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 460: /* symbol: basic_symbol */ -#line 3353 "mrbgems/mruby-compiler/core/parse.y" + case 460: +#line 3364 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDARG; (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 9259 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8914 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 461: /* symbol: tSYMBEG tSTRING_BEG string_rep tSTRING */ -#line 3358 "mrbgems/mruby-compiler/core/parse.y" + case 461: +#line 3369 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDARG; (yyval.nd) = new_dsym(p, new_dstr(p, push((yyvsp[-1].nd), (yyvsp[0].nd)))); } -#line 9268 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8923 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 462: /* basic_symbol: tSYMBEG sym */ -#line 3365 "mrbgems/mruby-compiler/core/parse.y" + case 462: +#line 3376 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8931 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 467: /* sym: tSTRING */ -#line 3375 "mrbgems/mruby-compiler/core/parse.y" + case 467: +#line 3386 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 9284 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8939 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 468: /* sym: tSTRING_BEG tSTRING */ -#line 3379 "mrbgems/mruby-compiler/core/parse.y" + case 468: +#line 3390 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 9292 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8947 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 469: /* symbols: tSYMBOLS_BEG tSTRING */ -#line 3385 "mrbgems/mruby-compiler/core/parse.y" + case 469: +#line 3396 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 9300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8955 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 470: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ -#line 3389 "mrbgems/mruby-compiler/core/parse.y" + case 470: +#line 3400 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, push((yyvsp[-1].nd), (yyvsp[0].nd))); } -#line 9308 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8963 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 473: /* numeric: tUMINUS_NUM tINTEGER */ -#line 3397 "mrbgems/mruby-compiler/core/parse.y" + case 473: +#line 3408 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = negate_lit(p, (yyvsp[0].nd)); } -#line 9316 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8971 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 474: /* numeric: tUMINUS_NUM tFLOAT */ -#line 3401 "mrbgems/mruby-compiler/core/parse.y" + case 474: +#line 3412 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = negate_lit(p, (yyvsp[0].nd)); } -#line 9324 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8979 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 475: /* variable: tIDENTIFIER */ -#line 3407 "mrbgems/mruby-compiler/core/parse.y" + case 475: +#line 3418 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 9332 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8987 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 476: /* variable: tIVAR */ -#line 3411 "mrbgems/mruby-compiler/core/parse.y" + case 476: +#line 3422 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 9340 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8995 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 477: /* variable: tGVAR */ -#line 3415 "mrbgems/mruby-compiler/core/parse.y" + case 477: +#line 3426 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 9348 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9003 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 478: /* variable: tCVAR */ -#line 3419 "mrbgems/mruby-compiler/core/parse.y" + case 478: +#line 3430 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 9356 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9011 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 479: /* variable: tCONSTANT */ -#line 3423 "mrbgems/mruby-compiler/core/parse.y" + case 479: +#line 3434 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 9364 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9019 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 480: /* var_lhs: variable */ -#line 3429 "mrbgems/mruby-compiler/core/parse.y" + case 480: +#line 3440 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 9372 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9027 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 481: /* var_lhs: tNUMPARAM */ -#line 3433 "mrbgems/mruby-compiler/core/parse.y" + case 481: +#line 3444 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "can't assign to numbered parameter"); } -#line 9380 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9035 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 482: /* var_ref: variable */ -#line 3439 "mrbgems/mruby-compiler/core/parse.y" + case 482: +#line 3450 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 9388 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9043 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 483: /* var_ref: keyword_nil */ -#line 3443 "mrbgems/mruby-compiler/core/parse.y" + case 483: +#line 3454 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 9396 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9051 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 484: /* var_ref: keyword_self */ -#line 3447 "mrbgems/mruby-compiler/core/parse.y" + case 484: +#line 3458 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_self(p); } -#line 9404 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9059 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 485: /* var_ref: keyword_true */ -#line 3451 "mrbgems/mruby-compiler/core/parse.y" + case 485: +#line 3462 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_true(p); } -#line 9412 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9067 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 486: /* var_ref: keyword_false */ -#line 3455 "mrbgems/mruby-compiler/core/parse.y" + case 486: +#line 3466 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_false(p); } -#line 9420 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9075 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 487: /* var_ref: keyword__FILE__ */ -#line 3459 "mrbgems/mruby-compiler/core/parse.y" + case 487: +#line 3470 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -9428,22 +9083,22 @@ yyreduce: } (yyval.nd) = new_str(p, fn, strlen(fn)); } -#line 9432 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9087 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 488: /* var_ref: keyword__LINE__ */ -#line 3467 "mrbgems/mruby-compiler/core/parse.y" + case 488: +#line 3478 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 9443 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9098 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 489: /* var_ref: keyword__ENCODING__ */ -#line 3474 "mrbgems/mruby-compiler/core/parse.y" + case 489: +#line 3485 "mrbgems/mruby-compiler/core/parse.y" { #ifdef MRB_UTF8_STRING const char *enc = "UTF-8"; @@ -9452,46 +9107,46 @@ yyreduce: #endif (yyval.nd) = new_str(p, enc, strlen(enc)); } -#line 9456 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9111 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 492: /* superclass: %empty */ -#line 3489 "mrbgems/mruby-compiler/core/parse.y" + case 492: +#line 3500 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 9464 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9119 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 493: /* $@31: %empty */ -#line 3493 "mrbgems/mruby-compiler/core/parse.y" + case 493: +#line 3504 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 9473 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9128 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 494: /* superclass: '<' $@31 expr_value term */ -#line 3498 "mrbgems/mruby-compiler/core/parse.y" + case 494: +#line 3509 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9481 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9136 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 495: /* f_arglist_paren: '(' f_args rparen */ -#line 3509 "mrbgems/mruby-compiler/core/parse.y" + case 495: +#line 3520 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 9491 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9146 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 496: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ -#line 3515 "mrbgems/mruby-compiler/core/parse.y" + case 496: +#line 3526 "mrbgems/mruby-compiler/core/parse.y" { #if 1 /* til real keyword args implemented */ @@ -9509,11 +9164,11 @@ yyreduce: new_args_tail(p, 0, new_kw_rest_args(p, nsym(k)), b)); #endif } -#line 9513 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9168 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 497: /* f_arglist_paren: '(' tBDOT3 rparen */ -#line 3533 "mrbgems/mruby-compiler/core/parse.y" + case 497: +#line 3544 "mrbgems/mruby-compiler/core/parse.y" { #if 1 /* til real keyword args implemented */ @@ -9531,504 +9186,504 @@ yyreduce: new_args_tail(p, 0, new_kw_rest_args(p, nsym(k)), b)); #endif } -#line 9535 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9190 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 499: /* f_arglist: f_args term */ -#line 3554 "mrbgems/mruby-compiler/core/parse.y" + case 499: +#line 3565 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9543 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9198 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 500: /* f_label: tIDENTIFIER tLABEL_TAG */ -#line 3560 "mrbgems/mruby-compiler/core/parse.y" + case 500: +#line 3571 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); } -#line 9551 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9206 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 501: /* f_kw: f_label arg */ -#line 3566 "mrbgems/mruby-compiler/core/parse.y" + case 501: +#line 3577 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 9561 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9216 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 502: /* f_kw: f_label */ -#line 3572 "mrbgems/mruby-compiler/core/parse.y" + case 502: +#line 3583 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 9570 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9225 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 503: /* f_block_kw: f_label primary_value */ -#line 3579 "mrbgems/mruby-compiler/core/parse.y" + case 503: +#line 3590 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 9579 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9234 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 504: /* f_block_kw: f_label */ -#line 3584 "mrbgems/mruby-compiler/core/parse.y" + case 504: +#line 3595 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); local_unnest(p); } -#line 9588 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9243 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 505: /* f_block_kwarg: f_block_kw */ -#line 3591 "mrbgems/mruby-compiler/core/parse.y" + case 505: +#line 3602 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9596 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9251 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 506: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ -#line 3595 "mrbgems/mruby-compiler/core/parse.y" + case 506: +#line 3606 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9259 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 507: /* f_kwarg: f_kw */ -#line 3601 "mrbgems/mruby-compiler/core/parse.y" + case 507: +#line 3612 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9267 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 508: /* f_kwarg: f_kwarg ',' f_kw */ -#line 3605 "mrbgems/mruby-compiler/core/parse.y" + case 508: +#line 3616 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9275 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 511: /* f_kwrest: kwrest_mark tIDENTIFIER */ -#line 3615 "mrbgems/mruby-compiler/core/parse.y" + case 511: +#line 3626 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_rest_args(p, nsym((yyvsp[0].id))); } -#line 9628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9283 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 512: /* f_kwrest: kwrest_mark */ -#line 3619 "mrbgems/mruby-compiler/core/parse.y" + case 512: +#line 3630 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_kw_rest_args(p, 0); } -#line 9636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9291 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 513: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ -#line 3625 "mrbgems/mruby-compiler/core/parse.y" + case 513: +#line 3636 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 9644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9299 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 514: /* args_tail: f_kwarg opt_f_block_arg */ -#line 3629 "mrbgems/mruby-compiler/core/parse.y" + case 514: +#line 3640 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 9652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9307 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 515: /* args_tail: f_kwrest opt_f_block_arg */ -#line 3633 "mrbgems/mruby-compiler/core/parse.y" + case 515: +#line 3644 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].nd), (yyvsp[0].id)); } -#line 9660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9315 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 516: /* args_tail: f_block_arg */ -#line 3637 "mrbgems/mruby-compiler/core/parse.y" + case 516: +#line 3648 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 9668 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9323 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 517: /* opt_args_tail: ',' args_tail */ -#line 3643 "mrbgems/mruby-compiler/core/parse.y" + case 517: +#line 3654 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9676 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9331 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 518: /* opt_args_tail: %empty */ -#line 3647 "mrbgems/mruby-compiler/core/parse.y" + case 518: +#line 3658 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 9684 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9339 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 519: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ -#line 3653 "mrbgems/mruby-compiler/core/parse.y" + case 519: +#line 3664 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9692 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9347 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 520: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 3657 "mrbgems/mruby-compiler/core/parse.y" + case 520: +#line 3668 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9700 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9355 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 521: /* f_args: f_arg ',' f_optarg opt_args_tail */ -#line 3661 "mrbgems/mruby-compiler/core/parse.y" + case 521: +#line 3672 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9363 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 522: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ -#line 3665 "mrbgems/mruby-compiler/core/parse.y" + case 522: +#line 3676 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9371 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 523: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ -#line 3669 "mrbgems/mruby-compiler/core/parse.y" + case 523: +#line 3680 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9379 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 524: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 3673 "mrbgems/mruby-compiler/core/parse.y" + case 524: +#line 3684 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9387 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 525: /* f_args: f_arg opt_args_tail */ -#line 3677 "mrbgems/mruby-compiler/core/parse.y" + case 525: +#line 3688 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 9740 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9395 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 526: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ -#line 3681 "mrbgems/mruby-compiler/core/parse.y" + case 526: +#line 3692 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9748 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9403 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 527: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 3685 "mrbgems/mruby-compiler/core/parse.y" + case 527: +#line 3696 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9756 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9411 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 528: /* f_args: f_optarg opt_args_tail */ -#line 3689 "mrbgems/mruby-compiler/core/parse.y" + case 528: +#line 3700 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 9764 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9419 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 529: /* f_args: f_optarg ',' f_arg opt_args_tail */ -#line 3693 "mrbgems/mruby-compiler/core/parse.y" + case 529: +#line 3704 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9427 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 530: /* f_args: f_rest_arg opt_args_tail */ -#line 3697 "mrbgems/mruby-compiler/core/parse.y" + case 530: +#line 3708 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 9780 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9435 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 531: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ -#line 3701 "mrbgems/mruby-compiler/core/parse.y" + case 531: +#line 3712 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9788 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9443 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 532: /* f_args: args_tail */ -#line 3705 "mrbgems/mruby-compiler/core/parse.y" + case 532: +#line 3716 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 9796 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9451 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 533: /* f_args: %empty */ -#line 3709 "mrbgems/mruby-compiler/core/parse.y" + case 533: +#line 3720 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(and)); (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); } -#line 9805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9460 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 534: /* f_bad_arg: tCONSTANT */ -#line 3716 "mrbgems/mruby-compiler/core/parse.y" + case 534: +#line 3727 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a constant"); (yyval.nd) = 0; } -#line 9814 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9469 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 535: /* f_bad_arg: tIVAR */ -#line 3721 "mrbgems/mruby-compiler/core/parse.y" + case 535: +#line 3732 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be an instance variable"); (yyval.nd) = 0; } -#line 9823 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9478 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 536: /* f_bad_arg: tGVAR */ -#line 3726 "mrbgems/mruby-compiler/core/parse.y" + case 536: +#line 3737 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a global variable"); (yyval.nd) = 0; } -#line 9832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9487 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 537: /* f_bad_arg: tCVAR */ -#line 3731 "mrbgems/mruby-compiler/core/parse.y" + case 537: +#line 3742 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 9841 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9496 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 538: /* f_bad_arg: tNUMPARAM */ -#line 3736 "mrbgems/mruby-compiler/core/parse.y" + case 538: +#line 3747 "mrbgems/mruby-compiler/core/parse.y" { yyerror(p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 9850 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9505 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 539: /* f_norm_arg: f_bad_arg */ -#line 3743 "mrbgems/mruby-compiler/core/parse.y" + case 539: +#line 3754 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 9858 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9513 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 540: /* f_norm_arg: tIDENTIFIER */ -#line 3747 "mrbgems/mruby-compiler/core/parse.y" + case 540: +#line 3758 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9867 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9522 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 541: /* f_arg_item: f_norm_arg */ -#line 3754 "mrbgems/mruby-compiler/core/parse.y" + case 541: +#line 3765 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_arg(p, (yyvsp[0].id)); } -#line 9875 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9530 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 542: /* @32: %empty */ -#line 3758 "mrbgems/mruby-compiler/core/parse.y" + case 542: +#line 3769 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 9883 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9538 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 543: /* f_arg_item: tLPAREN @32 f_margs rparen */ -#line 3762 "mrbgems/mruby-compiler/core/parse.y" + case 543: +#line 3773 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn_param(p, (yyvsp[-1].nd), p->locals->car); local_resume(p, (yyvsp[-2].nd)); local_add_f(p, 0); } -#line 9893 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9548 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 544: /* f_arg: f_arg_item */ -#line 3770 "mrbgems/mruby-compiler/core/parse.y" + case 544: +#line 3781 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9901 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9556 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 545: /* f_arg: f_arg ',' f_arg_item */ -#line 3774 "mrbgems/mruby-compiler/core/parse.y" + case 545: +#line 3785 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9564 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 546: /* f_opt_asgn: tIDENTIFIER '=' */ -#line 3780 "mrbgems/mruby-compiler/core/parse.y" + case 546: +#line 3791 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 9919 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9574 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 547: /* f_opt: f_opt_asgn arg */ -#line 3788 "mrbgems/mruby-compiler/core/parse.y" + case 547: +#line 3799 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(nsym((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 9929 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9584 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 548: /* f_block_opt: f_opt_asgn primary_value */ -#line 3796 "mrbgems/mruby-compiler/core/parse.y" + case 548: +#line 3807 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(nsym((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 9939 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9594 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 549: /* f_block_optarg: f_block_opt */ -#line 3804 "mrbgems/mruby-compiler/core/parse.y" + case 549: +#line 3815 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9947 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9602 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 550: /* f_block_optarg: f_block_optarg ',' f_block_opt */ -#line 3808 "mrbgems/mruby-compiler/core/parse.y" + case 550: +#line 3819 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9955 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9610 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 551: /* f_optarg: f_opt */ -#line 3814 "mrbgems/mruby-compiler/core/parse.y" + case 551: +#line 3825 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 9963 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9618 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 552: /* f_optarg: f_optarg ',' f_opt */ -#line 3818 "mrbgems/mruby-compiler/core/parse.y" + case 552: +#line 3829 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9971 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9626 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 555: /* f_rest_arg: restarg_mark tIDENTIFIER */ -#line 3828 "mrbgems/mruby-compiler/core/parse.y" + case 555: +#line 3839 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 9980 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9635 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 556: /* f_rest_arg: restarg_mark */ -#line 3833 "mrbgems/mruby-compiler/core/parse.y" + case 556: +#line 3844 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); (yyval.id) = -1; } -#line 9989 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9644 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 559: /* f_block_arg: blkarg_mark tIDENTIFIER */ -#line 3844 "mrbgems/mruby-compiler/core/parse.y" + case 559: +#line 3855 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 9997 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9652 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 560: /* opt_f_block_arg: ',' f_block_arg */ -#line 3850 "mrbgems/mruby-compiler/core/parse.y" + case 560: +#line 3861 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 10005 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9660 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 561: /* opt_f_block_arg: none */ -#line 3854 "mrbgems/mruby-compiler/core/parse.y" + case 561: +#line 3865 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 10013 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9668 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 562: /* singleton: var_ref */ -#line 3860 "mrbgems/mruby-compiler/core/parse.y" + case 562: +#line 3871 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 10022 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9677 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 563: /* $@33: %empty */ -#line 3864 "mrbgems/mruby-compiler/core/parse.y" + case 563: +#line 3875 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 10028 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9683 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 564: /* singleton: '(' $@33 expr rparen */ -#line 3865 "mrbgems/mruby-compiler/core/parse.y" + case 564: +#line 3876 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-1].nd) == 0) { yyerror(p, "can't define singleton method for ()."); @@ -10051,55 +9706,55 @@ yyreduce: } (yyval.nd) = (yyvsp[-1].nd); } -#line 10055 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9710 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 566: /* assoc_list: assocs trailer */ -#line 3891 "mrbgems/mruby-compiler/core/parse.y" + case 566: +#line 3902 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 10063 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9718 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 567: /* assocs: assoc */ -#line 3897 "mrbgems/mruby-compiler/core/parse.y" + case 567: +#line 3908 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); NODE_LINENO((yyval.nd), (yyvsp[0].nd)); } -#line 10072 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9727 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 568: /* assocs: assocs comma assoc */ -#line 3902 "mrbgems/mruby-compiler/core/parse.y" + case 568: +#line 3913 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10080 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9735 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 571: /* assoc: arg tASSOC arg */ -#line 3912 "mrbgems/mruby-compiler/core/parse.y" + case 571: +#line 3923 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10090 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9745 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 572: /* assoc: tIDENTIFIER label_tag arg */ -#line 3918 "mrbgems/mruby-compiler/core/parse.y" + case 572: +#line 3929 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10099 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9754 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 573: /* assoc: string_fragment label_tag arg */ -#line 3923 "mrbgems/mruby-compiler/core/parse.y" + case 573: +#line 3934 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if (typen((yyvsp[-2].nd)->car) == NODE_DSTR) { @@ -10109,67 +9764,67 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd))), (yyvsp[0].nd)); } } -#line 10113 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9768 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 574: /* assoc: tDSTAR arg */ -#line 3933 "mrbgems/mruby-compiler/core/parse.y" + case 574: +#line 3944 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_kw_rest_args(p, 0), (yyvsp[0].nd)); } -#line 10122 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9777 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 587: /* call_op: '.' */ -#line 3960 "mrbgems/mruby-compiler/core/parse.y" + case 587: +#line 3971 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 10130 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9785 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 588: /* call_op: tANDDOT */ -#line 3964 "mrbgems/mruby-compiler/core/parse.y" + case 588: +#line 3975 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 10138 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9793 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 590: /* call_op2: tCOLON2 */ -#line 3971 "mrbgems/mruby-compiler/core/parse.y" + case 590: +#line 3982 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 10146 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9801 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 599: /* term: ';' */ -#line 3992 "mrbgems/mruby-compiler/core/parse.y" + case 599: +#line 4003 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 10152 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9807 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 602: /* nl: '\n' */ -#line 3998 "mrbgems/mruby-compiler/core/parse.y" + case 602: +#line 4009 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 10161 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9816 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 605: /* none: %empty */ -#line 4009 "mrbgems/mruby-compiler/core/parse.y" + case 605: +#line 4020 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10169 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9824 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 10173 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9828 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -10184,10 +9839,11 @@ yyreduce: case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); + YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; + YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; @@ -10211,44 +9867,50 @@ yyreduce: yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; +#if ! YYERROR_VERBOSE + yyerror (p, YY_("syntax error")); +#else +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ + yyssp, yytoken) { - yypcontext_t yyctx - = {yyssp, yytoken}; char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; - yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx); + yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; - else if (yysyntax_error_status == -1) + else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); - yymsg = YY_CAST (char *, - YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc))); - if (yymsg) + yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc))); + if (!yymsg) { - yysyntax_error_status - = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx); - yymsgp = yymsg; + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = 2; } else { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - yysyntax_error_status = YYENOMEM; + yysyntax_error_status = YYSYNTAX_ERROR; + yymsgp = yymsg; } } yyerror (p, yymsgp); - if (yysyntax_error_status == YYENOMEM) + if (yysyntax_error_status == 2) goto yyexhaustedlab; } +# undef YYSYNTAX_ERROR +#endif } + + if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an @@ -10297,14 +9959,13 @@ yyerrorlab: yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ - /* Pop stack until we find a state that shifts the error token. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { - yyn += YYSYMBOL_YYerror; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) @@ -10318,7 +9979,7 @@ yyerrlab1: yydestruct ("Error: popping", - YY_ACCESSING_SYMBOL (yystate), yyvsp, p); + yystos[yystate], yyvsp, p); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); @@ -10330,7 +9991,7 @@ yyerrlab1: /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); + YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; @@ -10352,20 +10013,20 @@ yyabortlab: goto yyreturn; -#if 1 +#if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (p, YY_("memory exhausted")); yyresult = 2; - goto yyreturn; + /* Fall through. */ #endif -/*-------------------------------------------------------. -| yyreturn -- parsing is finished, clean up and return. | -`-------------------------------------------------------*/ +/*-----------------------------------------------------. +| yyreturn -- parsing is finished, return the result. | +`-----------------------------------------------------*/ yyreturn: if (yychar != YYEMPTY) { @@ -10382,19 +10043,20 @@ yyreturn: while (yyssp != yyss) { yydestruct ("Cleanup: popping", - YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, p); + yystos[+*yyssp], yyvsp, p); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif +#if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); +#endif return yyresult; } - -#line 4013 "mrbgems/mruby-compiler/core/parse.y" +#line 4024 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval))) @@ -12268,14 +11930,14 @@ parser_yylex(parser_state *p) p->lstate = EXPR_BEG; return tLABEL_TAG; } - if (!ISSPACE(c) || IS_BEG()) { + if (IS_END() || ISSPACE(c) || c == '#') { pushback(p, c); - p->lstate = EXPR_FNAME; - return tSYMBEG; + p->lstate = EXPR_BEG; + return ':'; } pushback(p, c); - p->lstate = EXPR_BEG; - return ':'; + p->lstate = EXPR_FNAME; + return tSYMBEG; case '/': if (IS_BEG()) { @@ -12683,7 +12345,7 @@ parser_yylex(parser_state *p) break; case '_': - if (toklen(p) == 2 && ISDIGIT(tok(p)[1]) && p->nvars) { + if (p->lstate != EXPR_FNAME && toklen(p) == 2 && ISDIGIT(tok(p)[1]) && p->nvars) { int n = tok(p)[1] - '0'; int nvar; @@ -13169,7 +12831,7 @@ mrb_load_exec(mrb_state *mrb, struct mrb_parser_state *p, mrbc_context *c) } MRB_PROC_SET_TARGET_CLASS(proc, target); if (mrb->c->ci) { - mrb->c->ci->target_class = target; + mrb_vm_ci_target_class_set(mrb->c->ci, target); } v = mrb_top_run(mrb, proc, mrb_top_self(mrb), keep); if (mrb->exc) return mrb_nil_value(); |
