/* -*- mode: C; buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by regen_perly.pl from perly.y. Any changes made here will be lost! */ /* 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_GRAMPROG = 3, /* GRAMPROG */ YYSYMBOL_GRAMEXPR = 4, /* GRAMEXPR */ YYSYMBOL_GRAMBLOCK = 5, /* GRAMBLOCK */ YYSYMBOL_GRAMBARESTMT = 6, /* GRAMBARESTMT */ YYSYMBOL_GRAMFULLSTMT = 7, /* GRAMFULLSTMT */ YYSYMBOL_GRAMSTMTSEQ = 8, /* GRAMSTMTSEQ */ YYSYMBOL_GRAMSUBSIGNATURE = 9, /* GRAMSUBSIGNATURE */ YYSYMBOL_PERLY_AMPERSAND = 10, /* PERLY_AMPERSAND */ YYSYMBOL_PERLY_BRACE_OPEN = 11, /* PERLY_BRACE_OPEN */ YYSYMBOL_PERLY_BRACE_CLOSE = 12, /* PERLY_BRACE_CLOSE */ YYSYMBOL_PERLY_BRACKET_OPEN = 13, /* PERLY_BRACKET_OPEN */ YYSYMBOL_PERLY_BRACKET_CLOSE = 14, /* PERLY_BRACKET_CLOSE */ YYSYMBOL_PERLY_COMMA = 15, /* PERLY_COMMA */ YYSYMBOL_PERLY_DOLLAR = 16, /* PERLY_DOLLAR */ YYSYMBOL_PERLY_DOT = 17, /* PERLY_DOT */ YYSYMBOL_PERLY_EQUAL_SIGN = 18, /* PERLY_EQUAL_SIGN */ YYSYMBOL_PERLY_MINUS = 19, /* PERLY_MINUS */ YYSYMBOL_PERLY_PERCENT_SIGN = 20, /* PERLY_PERCENT_SIGN */ YYSYMBOL_PERLY_PLUS = 21, /* PERLY_PLUS */ YYSYMBOL_PERLY_SEMICOLON = 22, /* PERLY_SEMICOLON */ YYSYMBOL_PERLY_SLASH = 23, /* PERLY_SLASH */ YYSYMBOL_PERLY_SNAIL = 24, /* PERLY_SNAIL */ YYSYMBOL_PERLY_STAR = 25, /* PERLY_STAR */ YYSYMBOL_KW_FORMAT = 26, /* KW_FORMAT */ YYSYMBOL_KW_PACKAGE = 27, /* KW_PACKAGE */ YYSYMBOL_KW_CLASS = 28, /* KW_CLASS */ YYSYMBOL_KW_LOCAL = 29, /* KW_LOCAL */ YYSYMBOL_KW_MY = 30, /* KW_MY */ YYSYMBOL_KW_FIELD = 31, /* KW_FIELD */ YYSYMBOL_KW_IF = 32, /* KW_IF */ YYSYMBOL_KW_ELSE = 33, /* KW_ELSE */ YYSYMBOL_KW_ELSIF = 34, /* KW_ELSIF */ YYSYMBOL_KW_UNLESS = 35, /* KW_UNLESS */ YYSYMBOL_KW_FOR = 36, /* KW_FOR */ YYSYMBOL_KW_UNTIL = 37, /* KW_UNTIL */ YYSYMBOL_KW_WHILE = 38, /* KW_WHILE */ YYSYMBOL_KW_CONTINUE = 39, /* KW_CONTINUE */ YYSYMBOL_KW_GIVEN = 40, /* KW_GIVEN */ YYSYMBOL_KW_WHEN = 41, /* KW_WHEN */ YYSYMBOL_KW_DEFAULT = 42, /* KW_DEFAULT */ YYSYMBOL_KW_TRY = 43, /* KW_TRY */ YYSYMBOL_KW_CATCH = 44, /* KW_CATCH */ YYSYMBOL_KW_FINALLY = 45, /* KW_FINALLY */ YYSYMBOL_KW_DEFER = 46, /* KW_DEFER */ YYSYMBOL_KW_REQUIRE = 47, /* KW_REQUIRE */ YYSYMBOL_KW_DO = 48, /* KW_DO */ YYSYMBOL_KW_USE_or_NO = 49, /* KW_USE_or_NO */ YYSYMBOL_KW_SUB_named = 50, /* KW_SUB_named */ YYSYMBOL_KW_SUB_named_sig = 51, /* KW_SUB_named_sig */ YYSYMBOL_KW_SUB_anon = 52, /* KW_SUB_anon */ YYSYMBOL_KW_SUB_anon_sig = 53, /* KW_SUB_anon_sig */ YYSYMBOL_KW_METHOD_named = 54, /* KW_METHOD_named */ YYSYMBOL_KW_METHOD_anon = 55, /* KW_METHOD_anon */ YYSYMBOL_BAREWORD = 56, /* BAREWORD */ YYSYMBOL_METHCALL0 = 57, /* METHCALL0 */ YYSYMBOL_METHCALL = 58, /* METHCALL */ YYSYMBOL_ATTRLIST = 59, /* ATTRLIST */ YYSYMBOL_THING = 60, /* THING */ YYSYMBOL_PMFUNC = 61, /* PMFUNC */ YYSYMBOL_PRIVATEREF = 62, /* PRIVATEREF */ YYSYMBOL_QWLIST = 63, /* QWLIST */ YYSYMBOL_FUNC0OP = 64, /* FUNC0OP */ YYSYMBOL_FUNC0SUB = 65, /* FUNC0SUB */ YYSYMBOL_UNIOPSUB = 66, /* UNIOPSUB */ YYSYMBOL_LSTOPSUB = 67, /* LSTOPSUB */ YYSYMBOL_PLUGEXPR = 68, /* PLUGEXPR */ YYSYMBOL_PLUGSTMT = 69, /* PLUGSTMT */ YYSYMBOL_LABEL = 70, /* LABEL */ YYSYMBOL_PROTOTYPE = 71, /* PROTOTYPE */ YYSYMBOL_LOOPEX = 72, /* LOOPEX */ YYSYMBOL_DOTDOT = 73, /* DOTDOT */ YYSYMBOL_YADAYADA = 74, /* YADAYADA */ YYSYMBOL_FUNC0 = 75, /* FUNC0 */ YYSYMBOL_FUNC1 = 76, /* FUNC1 */ YYSYMBOL_FUNC = 77, /* FUNC */ YYSYMBOL_UNIOP = 78, /* UNIOP */ YYSYMBOL_LSTOP = 79, /* LSTOP */ YYSYMBOL_BLKLSTOP = 80, /* BLKLSTOP */ YYSYMBOL_POWOP = 81, /* POWOP */ YYSYMBOL_MULOP = 82, /* MULOP */ YYSYMBOL_ADDOP = 83, /* ADDOP */ YYSYMBOL_DOLSHARP = 84, /* DOLSHARP */ YYSYMBOL_HASHBRACK = 85, /* HASHBRACK */ YYSYMBOL_NOAMP = 86, /* NOAMP */ YYSYMBOL_COLONATTR = 87, /* COLONATTR */ YYSYMBOL_FORMLBRACK = 88, /* FORMLBRACK */ YYSYMBOL_FORMRBRACK = 89, /* FORMRBRACK */ YYSYMBOL_SUBLEXSTART = 90, /* SUBLEXSTART */ YYSYMBOL_SUBLEXEND = 91, /* SUBLEXEND */ YYSYMBOL_PHASER = 92, /* PHASER */ YYSYMBOL_PREC_LOW = 93, /* PREC_LOW */ YYSYMBOL_PLUGIN_LOW_OP = 94, /* PLUGIN_LOW_OP */ YYSYMBOL_OROP = 95, /* OROP */ YYSYMBOL_PLUGIN_LOGICAL_OR_LOW_OP = 96, /* PLUGIN_LOGICAL_OR_LOW_OP */ YYSYMBOL_ANDOP = 97, /* ANDOP */ YYSYMBOL_PLUGIN_LOGICAL_AND_LOW_OP = 98, /* PLUGIN_LOGICAL_AND_LOW_OP */ YYSYMBOL_NOTOP = 99, /* NOTOP */ YYSYMBOL_ASSIGNOP = 100, /* ASSIGNOP */ YYSYMBOL_PLUGIN_ASSIGN_OP = 101, /* PLUGIN_ASSIGN_OP */ YYSYMBOL_PERLY_QUESTION_MARK = 102, /* PERLY_QUESTION_MARK */ YYSYMBOL_PERLY_COLON = 103, /* PERLY_COLON */ YYSYMBOL_OROR = 104, /* OROR */ YYSYMBOL_DORDOR = 105, /* DORDOR */ YYSYMBOL_PLUGIN_LOGICAL_OR_OP = 106, /* PLUGIN_LOGICAL_OR_OP */ YYSYMBOL_ANDAND = 107, /* ANDAND */ YYSYMBOL_PLUGIN_LOGICAL_AND_OP = 108, /* PLUGIN_LOGICAL_AND_OP */ YYSYMBOL_BITOROP = 109, /* BITOROP */ YYSYMBOL_BITANDOP = 110, /* BITANDOP */ YYSYMBOL_CHEQOP = 111, /* CHEQOP */ YYSYMBOL_NCEQOP = 112, /* NCEQOP */ YYSYMBOL_CHRELOP = 113, /* CHRELOP */ YYSYMBOL_NCRELOP = 114, /* NCRELOP */ YYSYMBOL_PLUGIN_REL_OP = 115, /* PLUGIN_REL_OP */ YYSYMBOL_SHIFTOP = 116, /* SHIFTOP */ YYSYMBOL_PLUGIN_ADD_OP = 117, /* PLUGIN_ADD_OP */ YYSYMBOL_PLUGIN_MUL_OP = 118, /* PLUGIN_MUL_OP */ YYSYMBOL_MATCHOP = 119, /* MATCHOP */ YYSYMBOL_PERLY_EXCLAMATION_MARK = 120, /* PERLY_EXCLAMATION_MARK */ YYSYMBOL_PERLY_TILDE = 121, /* PERLY_TILDE */ YYSYMBOL_UMINUS = 122, /* UMINUS */ YYSYMBOL_REFGEN = 123, /* REFGEN */ YYSYMBOL_PLUGIN_POW_OP = 124, /* PLUGIN_POW_OP */ YYSYMBOL_PREINC = 125, /* PREINC */ YYSYMBOL_PREDEC = 126, /* PREDEC */ YYSYMBOL_POSTINC = 127, /* POSTINC */ YYSYMBOL_POSTDEC = 128, /* POSTDEC */ YYSYMBOL_POSTJOIN = 129, /* POSTJOIN */ YYSYMBOL_PLUGIN_HIGH_OP = 130, /* PLUGIN_HIGH_OP */ YYSYMBOL_ARROW = 131, /* ARROW */ YYSYMBOL_PERLY_PAREN_CLOSE = 132, /* PERLY_PAREN_CLOSE */ YYSYMBOL_PERLY_PAREN_OPEN = 133, /* PERLY_PAREN_OPEN */ YYSYMBOL_YYACCEPT = 134, /* $accept */ YYSYMBOL_grammar = 135, /* grammar */ YYSYMBOL_136_1 = 136, /* @1 */ YYSYMBOL_137_2 = 137, /* @2 */ YYSYMBOL_138_3 = 138, /* @3 */ YYSYMBOL_139_4 = 139, /* @4 */ YYSYMBOL_140_5 = 140, /* @5 */ YYSYMBOL_141_6 = 141, /* @6 */ YYSYMBOL_142_7 = 142, /* @7 */ YYSYMBOL_bare_statement_block = 143, /* bare_statement_block */ YYSYMBOL_bare_statement_class_declaration = 144, /* bare_statement_class_declaration */ YYSYMBOL_bare_statement_class_definition = 145, /* bare_statement_class_definition */ YYSYMBOL_146_8 = 146, /* $@8 */ YYSYMBOL_bare_statement_default = 147, /* bare_statement_default */ YYSYMBOL_bare_statement_defer = 148, /* bare_statement_defer */ YYSYMBOL_bare_statement_expression = 149, /* bare_statement_expression */ YYSYMBOL_bare_statement_field_declaration = 150, /* bare_statement_field_declaration */ YYSYMBOL_bare_statement_for = 151, /* bare_statement_for */ YYSYMBOL_152_9 = 152, /* $@9 */ YYSYMBOL_153_10 = 153, /* $@10 */ YYSYMBOL_154_11 = 154, /* @11 */ YYSYMBOL_bare_statement_format = 155, /* bare_statement_format */ YYSYMBOL_bare_statement_given = 156, /* bare_statement_given */ YYSYMBOL_bare_statement_if = 157, /* bare_statement_if */ YYSYMBOL_bare_statement_null = 158, /* bare_statement_null */ YYSYMBOL_bare_statement_package_declaration = 159, /* bare_statement_package_declaration */ YYSYMBOL_bare_statement_package_definition = 160, /* bare_statement_package_definition */ YYSYMBOL_161_12 = 161, /* $@12 */ YYSYMBOL_bare_statement_phaser = 162, /* bare_statement_phaser */ YYSYMBOL_163_13 = 163, /* $@13 */ YYSYMBOL_bare_statement_sub_signature = 164, /* bare_statement_sub_signature */ YYSYMBOL_165_14 = 165, /* $@14 */ YYSYMBOL_bare_statement_sub_traditional = 166, /* bare_statement_sub_traditional */ YYSYMBOL_167_15 = 167, /* $@15 */ YYSYMBOL_bare_statement_try_catch = 168, /* bare_statement_try_catch */ YYSYMBOL_169_16 = 169, /* $@16 */ YYSYMBOL_bare_statement_unless = 170, /* bare_statement_unless */ YYSYMBOL_bare_statement_until = 171, /* bare_statement_until */ YYSYMBOL_bare_statement_utilize = 172, /* bare_statement_utilize */ YYSYMBOL_173_17 = 173, /* $@17 */ YYSYMBOL_bare_statement_when = 174, /* bare_statement_when */ YYSYMBOL_bare_statement_while = 175, /* bare_statement_while */ YYSYMBOL_bare_statement_yadayada = 176, /* bare_statement_yadayada */ YYSYMBOL_sigsub_or_method_named = 177, /* sigsub_or_method_named */ YYSYMBOL_block = 178, /* block */ YYSYMBOL_empty = 179, /* empty */ YYSYMBOL_formblock = 180, /* formblock */ YYSYMBOL_remember = 181, /* remember */ YYSYMBOL_mblock = 182, /* mblock */ YYSYMBOL_mremember = 183, /* mremember */ YYSYMBOL_catch_paren = 184, /* catch_paren */ YYSYMBOL_185_18 = 185, /* $@18 */ YYSYMBOL_186_19 = 186, /* $@19 */ YYSYMBOL_stmtseq = 187, /* stmtseq */ YYSYMBOL_formstmtseq = 188, /* formstmtseq */ YYSYMBOL_fullstmt = 189, /* fullstmt */ YYSYMBOL_labfullstmt = 190, /* labfullstmt */ YYSYMBOL_barestmt = 191, /* barestmt */ YYSYMBOL_formline = 192, /* formline */ YYSYMBOL_formarg = 193, /* formarg */ YYSYMBOL_condition = 194, /* condition */ YYSYMBOL_sideff = 195, /* sideff */ YYSYMBOL_else = 196, /* else */ YYSYMBOL_cont = 197, /* cont */ YYSYMBOL_finally = 198, /* finally */ YYSYMBOL_mintro = 199, /* mintro */ YYSYMBOL_nexpr = 200, /* nexpr */ YYSYMBOL_texpr = 201, /* texpr */ YYSYMBOL_iexpr = 202, /* iexpr */ YYSYMBOL_mexpr = 203, /* mexpr */ YYSYMBOL_mnexpr = 204, /* mnexpr */ YYSYMBOL_formname = 205, /* formname */ YYSYMBOL_startsub = 206, /* startsub */ YYSYMBOL_startanonsub = 207, /* startanonsub */ YYSYMBOL_startanonmethod = 208, /* startanonmethod */ YYSYMBOL_startformsub = 209, /* startformsub */ YYSYMBOL_subname = 210, /* subname */ YYSYMBOL_proto = 211, /* proto */ YYSYMBOL_subattrlist = 212, /* subattrlist */ YYSYMBOL_attrlist = 213, /* attrlist */ YYSYMBOL_optattrlist = 214, /* optattrlist */ YYSYMBOL_sigvar = 215, /* sigvar */ YYSYMBOL_sigslurpsigil = 216, /* sigslurpsigil */ YYSYMBOL_sigslurpelem = 217, /* sigslurpelem */ YYSYMBOL_optcolon = 218, /* optcolon */ YYSYMBOL_sigscalarelem = 219, /* sigscalarelem */ YYSYMBOL_optsigscalardefault = 220, /* optsigscalardefault */ YYSYMBOL_sigelem = 221, /* sigelem */ YYSYMBOL_siglist = 222, /* siglist */ YYSYMBOL_optsiglist = 223, /* optsiglist */ YYSYMBOL_optsubsignature = 224, /* optsubsignature */ YYSYMBOL_subsignature = 225, /* subsignature */ YYSYMBOL_subsigguts = 226, /* subsigguts */ YYSYMBOL_227_20 = 227, /* $@20 */ YYSYMBOL_optsubbody = 228, /* optsubbody */ YYSYMBOL_subbody = 229, /* subbody */ YYSYMBOL_optsigsubbody = 230, /* optsigsubbody */ YYSYMBOL_sigsubbody = 231, /* sigsubbody */ YYSYMBOL_232_21 = 232, /* $@21 */ YYSYMBOL_expr = 233, /* expr */ YYSYMBOL_listexpr = 234, /* listexpr */ YYSYMBOL_listop = 235, /* listop */ YYSYMBOL_236_22 = 236, /* @22 */ YYSYMBOL_methodname = 237, /* methodname */ YYSYMBOL_subscripted = 238, /* subscripted */ YYSYMBOL_termbinop = 239, /* termbinop */ YYSYMBOL_termrelop = 240, /* termrelop */ YYSYMBOL_relopchain = 241, /* relopchain */ YYSYMBOL_termeqop = 242, /* termeqop */ YYSYMBOL_eqopchain = 243, /* eqopchain */ YYSYMBOL_termunop = 244, /* termunop */ YYSYMBOL_anonymous = 245, /* anonymous */ YYSYMBOL_termdo = 246, /* termdo */ YYSYMBOL_term = 247, /* term */ YYSYMBOL_248_23 = 248, /* @23 */ YYSYMBOL_myattrterm = 249, /* myattrterm */ YYSYMBOL_myterm = 250, /* myterm */ YYSYMBOL_fieldvar = 251, /* fieldvar */ YYSYMBOL_fielddecl = 252, /* fielddecl */ YYSYMBOL_253_24 = 253, /* $@24 */ YYSYMBOL_optlistexpr = 254, /* optlistexpr */ YYSYMBOL_optexpr = 255, /* optexpr */ YYSYMBOL_optrepl = 256, /* optrepl */ YYSYMBOL_my_scalar = 257, /* my_scalar */ YYSYMBOL_list_of_itervars = 258, /* list_of_itervars */ YYSYMBOL_my_list_of_itervars = 259, /* my_list_of_itervars */ YYSYMBOL_my_var = 260, /* my_var */ YYSYMBOL_refgen_topic = 261, /* refgen_topic */ YYSYMBOL_my_refgen = 262, /* my_refgen */ YYSYMBOL_amper = 263, /* amper */ YYSYMBOL_scalar = 264, /* scalar */ YYSYMBOL_ary = 265, /* ary */ YYSYMBOL_hsh = 266, /* hsh */ YYSYMBOL_arylen = 267, /* arylen */ YYSYMBOL_star = 268, /* star */ YYSYMBOL_sliceme = 269, /* sliceme */ YYSYMBOL_kvslice = 270, /* kvslice */ YYSYMBOL_gelem = 271, /* gelem */ YYSYMBOL_indirob = 272 /* indirob */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 3841 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 134 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 139 /* YYNRULES -- Number of rules. */ #define YYNRULES 373 /* YYNSTATES -- Number of states. */ #define YYNSTATES 706 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 388 /* 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) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { 0, 188, 188, 187, 199, 198, 209, 208, 222, 221, 235, 234, 248, 247, 258, 257, 270, 278, 300, 294, 317, 325, 333, 340, 353, 358, 348, 379, 392, 411, 427, 423, 452, 474, 488, 504, 517, 531, 539, 560, 555, 575, 573, 610, 607, 640, 637, 666, 661, 683, 697, 714, 712, 730, 742, 757, 766, 768, 773, 781, 785, 792, 797, 804, 810, 814, 816, 813, 823, 824, 834, 835, 844, 848, 852, 859, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 904, 922, 923, 927, 931, 933, 935, 937, 939, 941, 943, 946, 952, 953, 958, 969, 970, 975, 977, 982, 989, 990, 994, 998, 1002, 1007, 1011, 1015, 1016, 1019, 1025, 1030, 1035, 1041, 1042, 1047, 1048, 1053, 1054, 1061, 1066, 1068, 1073, 1074, 1083, 1085, 1090, 1092, 1096, 1101, 1105, 1111, 1113, 1119, 1129, 1142, 1144, 1149, 1151, 1159, 1160, 1161, 1166, 1167, 1172, 1173, 1177, 1181, 1181, 1214, 1215, 1220, 1232, 1233, 1238, 1237, 1250, 1252, 1254, 1256, 1258, 1262, 1264, 1269, 1273, 1277, 1281, 1285, 1291, 1296, 1302, 1308, 1314, 1320, 1322, 1324, 1327, 1326, 1340, 1341, 1345, 1349, 1352, 1357, 1362, 1365, 1369, 1373, 1379, 1387, 1394, 1400, 1402, 1404, 1409, 1411, 1413, 1415, 1417, 1419, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1458, 1460, 1462, 1464, 1466, 1470, 1472, 1476, 1478, 1480, 1482, 1486, 1488, 1493, 1495, 1498, 1500, 1502, 1505, 1508, 1519, 1522, 1530, 1532, 1534, 1537, 1539, 1542, 1544, 1549, 1554, 1556, 1560, 1561, 1562, 1563, 1564, 1566, 1568, 1570, 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1588, 1590, 1600, 1610, 1620, 1630, 1632, 1634, 1637, 1642, 1646, 1648, 1650, 1652, 1655, 1657, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676, 1679, 1681, 1683, 1685, 1687, 1689, 1693, 1696, 1695, 1708, 1709, 1710, 1715, 1717, 1719, 1721, 1726, 1728, 1731, 1733, 1735, 1740, 1745, 1750, 1758, 1766, 1765, 1783, 1784, 1788, 1789, 1793, 1794, 1799, 1804, 1806, 1810, 1814, 1815, 1821, 1825, 1826, 1827, 1830, 1831, 1834, 1835, 1838, 1842, 1846, 1852, 1858, 1860, 1864, 1868, 1869, 1873, 1874, 1878, 1879, 1884, 1886, 1888, 1891 }; #endif /** Accessing symbol of state STATE. */ #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) #if YYDEBUG || 0 /* 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; /* 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\"", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK", "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE", "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE", "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA", "PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS", "PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON", "PERLY_SLASH", "PERLY_SNAIL", "PERLY_STAR", "KW_FORMAT", "KW_PACKAGE", "KW_CLASS", "KW_LOCAL", "KW_MY", "KW_FIELD", "KW_IF", "KW_ELSE", "KW_ELSIF", "KW_UNLESS", "KW_FOR", "KW_UNTIL", "KW_WHILE", "KW_CONTINUE", "KW_GIVEN", "KW_WHEN", "KW_DEFAULT", "KW_TRY", "KW_CATCH", "KW_FINALLY", "KW_DEFER", "KW_REQUIRE", "KW_DO", "KW_USE_or_NO", "KW_SUB_named", "KW_SUB_named_sig", "KW_SUB_anon", "KW_SUB_anon_sig", "KW_METHOD_named", "KW_METHOD_anon", "BAREWORD", "METHCALL0", "METHCALL", "ATTRLIST", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "PROTOTYPE", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "BLKLSTOP", "POWOP", "MULOP", "ADDOP", "DOLSHARP", "HASHBRACK", "NOAMP", "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "PHASER", "PREC_LOW", "PLUGIN_LOW_OP", "OROP", "PLUGIN_LOGICAL_OR_LOW_OP", "ANDOP", "PLUGIN_LOGICAL_AND_LOW_OP", "NOTOP", "ASSIGNOP", "PLUGIN_ASSIGN_OP", "PERLY_QUESTION_MARK", "PERLY_COLON", "OROR", "DORDOR", "PLUGIN_LOGICAL_OR_OP", "ANDAND", "PLUGIN_LOGICAL_AND_OP", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", "CHRELOP", "NCRELOP", "PLUGIN_REL_OP", "SHIFTOP", "PLUGIN_ADD_OP", "PLUGIN_MUL_OP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", "UMINUS", "REFGEN", "PLUGIN_POW_OP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", "PLUGIN_HIGH_OP", "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "$accept", "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "@7", "bare_statement_block", "bare_statement_class_declaration", "bare_statement_class_definition", "$@8", "bare_statement_default", "bare_statement_defer", "bare_statement_expression", "bare_statement_field_declaration", "bare_statement_for", "$@9", "$@10", "@11", "bare_statement_format", "bare_statement_given", "bare_statement_if", "bare_statement_null", "bare_statement_package_declaration", "bare_statement_package_definition", "$@12", "bare_statement_phaser", "$@13", "bare_statement_sub_signature", "$@14", "bare_statement_sub_traditional", "$@15", "bare_statement_try_catch", "$@16", "bare_statement_unless", "bare_statement_until", "bare_statement_utilize", "$@17", "bare_statement_when", "bare_statement_while", "bare_statement_yadayada", "sigsub_or_method_named", "block", "empty", "formblock", "remember", "mblock", "mremember", "catch_paren", "$@18", "$@19", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "formline", "formarg", "condition", "sideff", "else", "cont", "finally", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub", "startanonsub", "startanonmethod", "startformsub", "subname", "proto", "subattrlist", "attrlist", "optattrlist", "sigvar", "sigslurpsigil", "sigslurpelem", "optcolon", "sigscalarelem", "optsigscalardefault", "sigelem", "siglist", "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@20", "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "$@21", "expr", "listexpr", "listop", "@22", "methodname", "subscripted", "termbinop", "termrelop", "relopchain", "termeqop", "eqopchain", "termunop", "anonymous", "termdo", "term", "@23", "myattrterm", "myterm", "fieldvar", "fielddecl", "$@24", "optlistexpr", "optexpr", "optrepl", "my_scalar", "list_of_itervars", "my_list_of_itervars", "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR }; static const char * yysymbol_name (yysymbol_kind_t yysymbol) { return yytname[yysymbol]; } #endif #define YYPACT_NINF (-571) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) #define YYTABLE_NINF (-372) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { 1028, -571, -571, -571, -571, -571, -571, -571, 55, -571, 3112, 41, 2123, 2005, -571, -571, -571, -571, 304, 3112, 304, 3112, 304, 3112, 304, 304, 3112, 70, 3112, 2374, -571, -571, -571, -571, 304, 304, -571, -571, 51, -74, -571, 3112, -571, -571, 3112, -44, -27, -25, 2374, 2292, 41, 304, 3112, 54, 3112, 3112, 3112, 3112, 3112, 3112, 2456, -571, 22, 122, -571, 21, -571, 17, 31, 84, 40, -571, -571, -571, 3362, -571, -571, 48, 114, 134, 233, -571, 150, 249, 267, 162, -571, -571, -571, -571, -571, 129, 133, 85, 96, 124, 33, 128, 135, 144, 149, 41, 272, 272, -571, 54, -571, -571, -571, 262, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, 54, 252, -571, 276, 456, 284, 2005, -571, -571, -571, -571, 931, -571, 75, 1049, -571, -571, -571, -571, -571, 293, -571, 477, -571, 477, -571, -571, 664, 3194, 2538, 221, -571, -571, -571, 664, -571, 664, 250, 229, 229, 3112, 193, 234, 3112, 195, 664, 41, 3362, 196, 2620, 3112, 2292, -571, 664, 3276, -571, 122, -571, 2702, 3112, 3112, -571, 307, -571, -571, 3112, 122, 477, 477, 477, 498, 498, 319, 470, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 2784, -571, -571, 3112, -571, -571, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3112, -571, -571, -571, 3112, 197, 2866, 3112, 3112, 3112, 3112, 3112, 3112, 3112, -571, 277, 288, 289, 221, -571, -571, -571, -571, -571, 216, 465, -571, -571, 215, -571, -571, -571, -571, -571, -571, 303, -571, -571, -571, -571, -571, -571, 41, -571, -571, -571, 3112, 3112, 3112, 3112, 3112, 3112, -571, -571, -571, -571, -571, -571, -571, -571, 290, -571, 335, -571, -571, 342, -571, -571, 2948, 477, 221, 49, 87, 100, -571, 485, 299, -571, -571, -571, 229, 302, -571, 6, 6, -571, 3112, 3112, 37, -571, -571, -571, -571, 516, 274, 238, 3112, 122, 122, 361, -571, 3112, 369, 126, 126, -571, -571, 3466, 26, 138, -571, 538, 737, 385, 3570, 477, 402, 334, 3414, 3466, 3466, 3310, 3609, 3609, 3609, 3632, 3632, 3671, 3692, 385, 385, 737, 737, 761, 3710, 334, 402, 477, 477, 110, 194, 3112, 3112, 181, 362, 363, 364, -571, 374, 3030, 269, -571, -571, 549, 62, 169, 296, 191, 300, 206, 328, 1179, -571, -571, 389, 71, 221, -571, -571, 309, 3112, 3112, -571, 8, -571, -571, 278, -571, -571, -571, -571, 749, 85, -571, 3112, 3112, 3112, 3112, -571, -571, 354, -571, 391, -571, -571, -571, 22, -571, -571, -571, 22, -571, -571, -571, 314, 290, 75, 28, 558, -571, -571, -571, 411, -571, 294, -571, -571, 297, 46, -571, 3112, -571, -571, -571, 619, -571, 239, 3112, 418, -571, -571, 3112, -571, 298, 341, 245, -571, -571, -571, -571, -571, -571, 741, 3112, -571, 420, -571, 423, -571, 428, -571, 429, -571, -571, -571, -571, -571, 74, -571, 310, 22, 313, 20, 321, -571, -571, -571, -571, -571, 324, 424, 258, -571, 3112, 327, 337, 22, 338, 340, 1297, 344, 404, 250, -571, 463, -571, -571, 229, 3112, 378, -571, 66, -571, -571, -571, 468, -571, -571, 3112, -571, 393, -571, -571, -571, 283, -571, 3518, 3112, 474, -571, -571, 355, -571, -571, -571, -571, 483, -571, -571, -571, 3112, 272, 272, 85, 481, 375, -571, 3112, 3112, 272, -571, 377, 376, -571, -571, 272, 272, -571, -571, -571, -571, 3112, 229, -571, 489, 3362, 3112, 386, -571, 22, -571, -571, 388, -571, -571, 433, -571, -571, 3362, 214, 214, -571, 27, 390, 395, 403, 252, 3112, 3112, 272, 272, 272, -571, -571, 509, 272, 517, 391, 1415, -571, -571, -571, -571, 3362, -571, -571, -571, -571, 1533, -571, 272, 405, -571, -571, -571, 85, -571, 3112, 272, 272, -571, 519, 410, 252, 252, 252, -571, 500, -571, -571, -571, 1651, -571, 52, -571, 1769, -571, 3112, -571, 414, 252, 252, -571, 272, -571, -571, -571, 416, 41, -571, -571, 526, 462, -571, -571, 427, 272, -571, -571, -571, 252, -571, -571, -571, -571, -571, -571, 272, 252, 2210, -571, 1887, 214, -571, 431, -571, -571, 272, -571 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_int16 yydefact[] = { 0, 2, 4, 6, 8, 10, 12, 14, 0, 61, 59, 0, 0, 0, 59, 168, 1, 59, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 131, 131, 132, 319, 0, 0, 290, 317, 278, 312, 314, 308, 131, 321, 300, 310, 0, 0, 303, 59, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 339, 340, 181, 320, 285, 269, 225, 237, 226, 244, 270, 271, 272, 184, 275, 5, 291, 280, 283, 282, 284, 281, 0, 0, 0, 61, 7, 105, 37, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 56, 57, 76, 0, 130, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 0, 59, 9, 0, 106, 0, 0, 11, 73, 72, 68, 0, 15, 59, 0, 370, 373, 372, 371, 357, 0, 358, 250, 360, 251, 359, 363, 276, 0, 0, 323, 328, 330, 329, 307, 268, 267, 59, 59, 59, 59, 0, 0, 0, 0, 309, 0, 301, 0, 0, 59, 59, 304, 305, 319, 337, 338, 194, 280, 0, 0, 361, 0, 134, 135, 59, 302, 252, 253, 274, 257, 258, 279, 0, 0, 0, 0, 0, 182, 0, 0, 0, 240, 239, 0, 247, 246, 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, 254, 255, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 59, 331, 333, 332, 61, 61, 61, 0, 61, 61, 0, 61, 61, 61, 61, 20, 63, 0, 21, 51, 130, 55, 41, 130, 0, 116, 16, 22, 0, 0, 0, 0, 0, 0, 23, 75, 74, 69, 148, 147, 153, 163, 145, 159, 0, 158, 162, 164, 169, 259, 0, 325, 0, 280, 283, 282, 327, 0, 142, 322, 137, 136, 59, 140, 138, 264, 266, 192, 59, 0, 0, 313, 197, 311, 315, 0, 0, 0, 0, 185, 186, 0, 294, 0, 277, 179, 180, 177, 178, 183, 0, 0, 211, 0, 243, 249, 229, 218, 220, 222, 236, 216, 217, 0, 232, 234, 233, 230, 231, 228, 227, 248, 245, 242, 238, 241, 224, 223, 221, 235, 219, 215, 0, 0, 0, 0, 367, 365, 369, 199, 0, 0, 189, 200, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, 59, 143, 144, 334, 0, 0, 355, 0, 356, 353, 0, 354, 350, 351, 352, 0, 0, 61, 0, 123, 0, 0, 59, 61, 0, 45, 61, 43, 117, 107, 104, 108, 111, 110, 125, 109, 112, 146, 149, 145, 160, 279, 0, 324, 326, 141, 262, 139, 59, 263, 265, 0, 59, 213, 59, 316, 196, 195, 0, 260, 0, 0, 0, 204, 210, 0, 298, 191, 0, 0, 295, 297, 296, 299, 362, 208, 0, 59, 293, 0, 202, 0, 286, 0, 287, 0, 58, 61, 34, 61, 38, 0, 335, 0, 126, 0, 0, 0, 343, 61, 121, 122, 127, 0, 0, 106, 30, 0, 0, 0, 124, 0, 0, 0, 59, 0, 59, 171, 0, 42, 170, 59, 150, 154, 161, 277, 261, 168, 165, 0, 166, 193, 0, 341, 0, 198, 187, 214, 0, 207, 273, 59, 0, 203, 209, 0, 205, 288, 289, 201, 0, 39, 61, 17, 0, 0, 0, 0, 349, 0, 347, 0, 0, 0, 24, 0, 0, 120, 120, 0, 0, 62, 65, 64, 47, 59, 59, 59, 61, 151, 156, 0, 175, 342, 318, 212, 0, 206, 188, 0, 59, 18, 336, 59, 59, 348, 344, 0, 0, 0, 59, 123, 0, 0, 0, 0, 35, 53, 0, 0, 0, 61, 0, 174, 44, 173, 155, 157, 167, 59, 190, 59, 0, 59, 0, 0, 113, 36, 49, 0, 345, 0, 0, 0, 33, 0, 0, 59, 59, 59, 66, 118, 52, 46, 172, 0, 70, 0, 40, 0, 114, 0, 346, 0, 59, 59, 25, 0, 29, 50, 54, 0, 0, 48, 176, 0, 59, 71, 19, 0, 0, 27, 32, 120, 59, 67, 119, 60, 59, 102, 101, 0, 59, 0, 31, 0, 59, 28, 0, 103, 115, 0, 26 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -4, -10, -571, 98, 83, -571, -571, -571, -571, -16, -571, 542, 415, 7, -571, -571, -83, -417, -570, -267, -571, -558, -571, -54, 140, -406, -132, -571, -97, 61, -571, -571, -95, 43, -172, -150, 156, 121, -571, -571, -571, -571, -571, 123, -571, -571, -571, -571, 35, -571, -47, 125, -571, -328, -571, 16, 4, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, -571, 683, -571, -571, 422, -571, -571, -571, -167, -14, -571, -571, -571, -571, -400, -571, -571, 316, 53, -23, -21, -571, -571, -571, -571, -571, 32 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, 112, 113, 636, 114, 115, 116, 117, 118, 614, 686, 578, 119, 120, 121, 122, 123, 124, 603, 125, 439, 126, 534, 127, 529, 128, 622, 129, 130, 131, 437, 132, 133, 134, 135, 136, 145, 501, 461, 282, 435, 587, 621, 674, 146, 660, 302, 143, 144, 680, 693, 442, 138, 640, 291, 676, 617, 515, 522, 446, 506, 517, 411, 284, 172, 174, 262, 200, 327, 330, 415, 416, 451, 307, 308, 309, 310, 629, 311, 312, 313, 542, 543, 147, 148, 532, 533, 627, 462, 632, 139, 63, 64, 467, 397, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 177, 75, 165, 265, 140, 567, 192, 76, 547, 510, 571, 572, 422, 423, 274, 77, 78, 79, 80, 81, 82, 83, 84, 85, 156 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 61, 149, 331, 463, 167, 155, 168, 87, 332, 61, 285, 514, 508, 287, 152, 324, 152, -61, 152, 137, 152, 152, 516, 618, 20, 170, 62, 524, 525, 519, 152, 152, 214, 347, 215, 62, 20, 641, 197, 190, 288, 348, 61, 20, 187, 152, 195, 152, 475, 20, 154, 466, 86, 191, 158, 16, 160, 161, 201, 179, 254, 213, 255, 271, 178, 185, 175, 176, 62, 545, 267, 153, 268, 153, 678, 153, 208, 153, 153, 474, 166, 194, 502, 196, 492, 565, 20, 153, 153, 183, 22, -152, 173, 503, 24, 303, 566, 280, -364, 304, -364, 20, 193, 181, 153, 22, 184, 17, 186, 24, 198, -366, 679, -366, 579, -327, 199, 209, 210, 211, 212, 209, 210, 211, 212, 254, 290, 255, 696, 703, 217, 218, 209, 210, 211, 212, -328, 213, 306, -61, 319, 509, 320, 570, 219, -364, 266, -364, 301, 275, 642, 222, 476, -326, 216, 459, 272, 209, 210, 211, 212, -368, 326, 329, 329, 190, 273, 456, 611, 612, 608, 341, 342, 260, -330, 61, 61, 337, 305, 191, 322, 253, 152, 493, 261, 263, 283, -329, 438, 264, 190, 440, 86, 163, 335, 220, 221, 20, 344, 345, 340, 62, 62, 164, 191, 495, 483, 387, 388, 649, 389, 444, 445, 390, 448, 449, 318, 391, 343, 479, 497, 392, 393, 211, 212, 350, 351, 352, 353, 269, 355, 356, 358, 209, 210, 211, 212, 150, 666, 193, -372, 252, 665, 151, -366, 408, -366, 637, 638, 426, 198, 427, 410, 550, 394, 414, 199, 270, 682, 556, 256, 276, 257, 628, 209, 210, 211, 212, 277, 400, 401, 402, 403, 404, 405, 406, 407, 278, 258, 514, 259, 395, 279, 281, 286, 441, 209, 210, 211, 212, 293, 289, 480, 294, 295, 296, 297, 598, 292, 298, 548, 209, 210, 211, 212, 398, 299, 314, 323, 443, 443, 443, 447, 443, 443, 86, 328, 329, 494, 464, 20, 325, 496, 61, 334, 425, 333, 336, 338, 346, 396, 455, 348, 409, 209, 210, 211, 212, 465, 419, 209, 210, 211, 212, 412, 413, 647, 436, 430, 62, 498, 452, 450, 209, 210, 211, 212, 453, 458, 471, 150, 460, 591, 555, 473, 469, 151, 417, 418, 420, 470, 428, 429, 472, 431, 432, 433, 434, 209, 210, 211, 212, 474, 671, 672, 673, 152, 484, 485, 486, -126, 209, 210, 211, 212, 209, 210, 211, 212, 487, 684, 685, 490, 414, 481, 482, 426, 500, 427, 505, 528, 512, 489, 530, 535, 224, 225, 624, 513, 526, 697, 623, -61, 209, 210, 211, 212, 540, 700, 544, 552, 554, 559, 507, 507, 560, 209, 210, 211, 212, 561, 562, 568, 153, 518, 569, 577, 447, 523, 507, 507, 541, 245, 246, 574, 546, 576, 190, 247, 580, 588, 248, 249, 250, 251, 252, 224, 225, 226, 581, 582, 191, 583, 511, 590, 18, 558, 585, 593, 595, 61, 20, 425, 224, 597, 22, 600, 601, 293, 24, 551, 294, 295, 296, 297, 421, 609, 298, 240, 241, 242, 243, 244, 245, 246, 602, 62, 610, 616, 247, 615, 626, 248, 249, 250, 251, 252, 586, 631, 326, 633, 246, 634, 644, 329, 20, 247, 645, 520, 248, 249, 250, 251, 252, 527, 646, 507, 531, 664, 655, 599, 669, 670, 690, 61, 675, 683, 426, 688, 427, 691, 209, 210, 211, 212, 142, 300, 531, 224, 694, 648, 596, 573, 704, 701, 209, 210, 211, 212, 504, 62, 521, 589, 536, 625, 594, 537, 656, 190, 329, 209, 210, 211, 212, 539, 317, 0, 635, 424, 0, 507, 507, 191, 0, 0, 0, 639, 639, 563, 0, 564, 247, 349, 290, 248, 249, 250, 251, 252, 0, 575, 209, 210, 211, 212, 0, 658, 457, 0, 426, 662, 427, 0, 425, 659, -372, -372, -372, 251, 252, 523, 507, 0, 209, 210, 211, 212, 0, 0, 0, 290, 290, 290, 0, 209, 210, 211, 212, 468, 0, 0, 606, 607, 209, 210, 211, 212, 290, 290, 613, 507, 0, 643, 604, 0, 619, 620, 0, 0, 692, 477, 689, 0, 0, 653, 698, 0, 290, 0, 0, 507, 491, 0, 0, 0, 290, 513, 0, 0, 639, 538, 0, 0, 0, 0, 425, 0, 0, 0, 650, 651, 652, 0, 0, 157, 654, 159, 0, 0, 162, 0, 169, 171, 0, 209, 210, 211, 212, 0, 0, 663, 0, 531, 0, 180, 0, 0, 182, 667, 668, 0, 188, 0, 0, 0, 0, 0, 0, 202, 203, 204, 205, 206, 0, 0, 224, 225, 226, 0, 0, 88, 549, 0, 687, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 695, 0, 21, 22, 23, -59, 0, 24, 25, 0, 0, 699, 26, 27, 243, 244, 245, 246, 0, 0, 0, 705, 247, 0, 0, 248, 249, 250, 251, 252, 28, 29, 0, 0, 0, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 224, 225, 226, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 209, 210, 211, 212, 0, 0, 224, 225, 226, 0, 316, 0, 54, 0, 0, 0, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, 251, 252, 55, 56, 0, 57, 557, 58, 59, -372, 243, 244, 245, 246, 0, 60, 0, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 354, 0, 0, 0, 0, 0, 359, 0, 0, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, -13, 88, 0, 386, 0, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 0, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, 0, 88, 0, 60, 0, 0, 0, 0, 0, 0, 18, 86, 499, 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 592, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 605, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 630, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 584, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 657, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 661, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 677, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 681, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 0, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 702, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 0, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, 0, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 0, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 88, 0, 0, 0, 110, 0, 0, 0, 0, 18, 0, 54, 19, 0, 0, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 0, 0, 0, 0, 60, 28, 29, 0, 0, 0, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, -59, 60, 30, 31, 0, 32, 189, 34, 35, 0, 36, 37, 151, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 207, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 321, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, -371, 254, 0, 255, 0, 0, -371, 54, 0, -371, -371, -371, 0, 0, -371, -371, 0, 0, 0, -371, -371, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, -371, -371, 0, 339, 60, -371, -371, 0, -371, -371, -371, -371, 0, -371, -371, 0, -371, -371, -371, -371, -371, -371, 0, 0, 0, -371, 0, 0, -371, -371, -371, -371, -371, -371, 0, 0, 0, -371, -371, -371, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, -371, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, -371, -371, 0, -371, 0, -371, -371, 0, 0, 28, 29, 0, 0, -371, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 357, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 399, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 454, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 488, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, 33, 34, 35, 0, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, -370, 0, 0, -370, 0, 0, -370, 54, 0, -370, -370, -370, 0, 0, -370, -370, 0, 0, 0, -370, -370, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, -370, -370, 0, 0, 315, -370, -370, 0, -370, -370, -370, -370, 0, -370, -370, 0, -370, -370, -370, -370, -370, -370, 0, 0, 0, -370, 0, 0, -370, -370, -370, -370, -370, -370, 0, 0, 0, -370, -370, -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, 0, 0, -370, -370, 0, -370, 0, -370, -370, 0, 227, 0, 0, 0, 0, -370, 228, 229, 230, 478, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -372, 0, 0, 0, 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, -372, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, 251, 252, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, 0, 0, 0, 0, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, 248, 249, 250, 251, 252, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, 251, 252 }; static const yytype_int16 yycheck[] = { 10, 17, 174, 331, 27, 19, 27, 11, 175, 19, 105, 428, 418, 110, 18, 165, 20, 11, 22, 12, 24, 25, 428, 581, 16, 29, 10, 433, 434, 429, 34, 35, 11, 200, 13, 19, 16, 607, 52, 49, 135, 13, 52, 16, 48, 49, 50, 51, 22, 16, 18, 14, 11, 49, 22, 0, 24, 25, 54, 133, 11, 15, 13, 30, 13, 90, 34, 35, 52, 23, 93, 18, 93, 20, 22, 22, 60, 24, 25, 13, 27, 49, 11, 51, 22, 11, 16, 34, 35, 133, 20, 16, 31, 22, 24, 20, 22, 101, 11, 24, 13, 16, 49, 42, 51, 20, 133, 9, 133, 24, 56, 11, 60, 13, 520, 87, 62, 95, 96, 97, 98, 95, 96, 97, 98, 11, 136, 13, 686, 699, 113, 114, 95, 96, 97, 98, 87, 15, 148, 133, 163, 133, 163, 123, 113, 11, 93, 13, 141, 96, 123, 111, 14, 87, 133, 327, 123, 95, 96, 97, 98, 11, 172, 173, 174, 175, 133, 317, 574, 575, 570, 185, 186, 11, 87, 185, 186, 181, 103, 175, 164, 133, 186, 14, 86, 56, 103, 87, 285, 56, 200, 288, 11, 123, 178, 111, 112, 16, 194, 195, 184, 185, 186, 133, 200, 14, 25, 10, 11, 615, 13, 294, 295, 16, 297, 298, 163, 20, 186, 25, 14, 24, 25, 97, 98, 209, 210, 211, 212, 133, 214, 215, 216, 95, 96, 97, 98, 56, 644, 186, 130, 131, 642, 62, 11, 261, 13, 33, 34, 272, 56, 272, 262, 14, 57, 265, 62, 133, 664, 14, 11, 133, 13, 591, 95, 96, 97, 98, 133, 253, 254, 255, 256, 257, 258, 259, 260, 133, 11, 696, 13, 84, 133, 11, 22, 289, 95, 96, 97, 98, 32, 39, 387, 35, 36, 37, 38, 14, 22, 41, 467, 95, 96, 97, 98, 252, 22, 14, 87, 293, 294, 295, 296, 297, 298, 11, 87, 327, 22, 333, 16, 71, 22, 333, 90, 272, 133, 132, 132, 22, 133, 315, 13, 56, 95, 96, 97, 98, 334, 123, 95, 96, 97, 98, 56, 56, 613, 44, 133, 333, 22, 16, 62, 95, 96, 97, 98, 15, 59, 343, 56, 59, 534, 22, 348, 91, 62, 269, 270, 271, 132, 273, 274, 12, 276, 277, 278, 279, 95, 96, 97, 98, 13, 650, 651, 652, 390, 25, 25, 25, 132, 95, 96, 97, 98, 95, 96, 97, 98, 25, 667, 668, 133, 413, 388, 389, 429, 18, 429, 100, 56, 133, 396, 22, 100, 81, 82, 589, 428, 435, 687, 588, 11, 95, 96, 97, 98, 133, 695, 132, 12, 133, 12, 417, 418, 12, 95, 96, 97, 98, 12, 12, 132, 390, 428, 132, 22, 431, 432, 433, 434, 461, 118, 119, 133, 465, 132, 467, 124, 132, 56, 127, 128, 129, 130, 131, 81, 82, 83, 132, 132, 467, 132, 420, 11, 10, 490, 133, 100, 11, 490, 16, 429, 81, 91, 20, 12, 132, 32, 24, 474, 35, 36, 37, 38, 30, 15, 41, 113, 114, 115, 116, 117, 118, 119, 22, 490, 132, 132, 124, 133, 22, 127, 128, 129, 130, 131, 527, 132, 529, 132, 119, 89, 133, 534, 16, 124, 132, 430, 127, 128, 129, 130, 131, 436, 132, 520, 439, 133, 22, 554, 22, 132, 17, 554, 45, 132, 570, 132, 570, 88, 95, 96, 97, 98, 13, 141, 459, 81, 132, 614, 545, 509, 132, 696, 95, 96, 97, 98, 413, 554, 431, 529, 452, 590, 540, 453, 624, 588, 589, 95, 96, 97, 98, 459, 163, -1, 603, 272, -1, 574, 575, 588, -1, -1, -1, 606, 607, 500, -1, 502, 124, 132, 613, 127, 128, 129, 130, 131, -1, 512, 95, 96, 97, 98, -1, 632, 132, -1, 642, 636, 642, -1, 570, 634, 127, 128, 129, 130, 131, 614, 615, -1, 95, 96, 97, 98, -1, -1, -1, 650, 651, 652, -1, 95, 96, 97, 98, 132, -1, -1, 568, 569, 95, 96, 97, 98, 667, 668, 576, 644, -1, 609, 565, -1, 582, 583, -1, -1, 679, 132, 675, -1, -1, 621, 691, -1, 687, -1, -1, 664, 132, -1, -1, -1, 695, 696, -1, -1, 699, 132, -1, -1, -1, -1, 642, -1, -1, -1, 616, 617, 618, -1, -1, 21, 622, 23, -1, -1, 26, -1, 28, 29, -1, 95, 96, 97, 98, -1, -1, 637, -1, 624, -1, 41, -1, -1, 44, 645, 646, -1, 48, -1, -1, -1, -1, -1, -1, 55, 56, 57, 58, 59, -1, -1, 81, 82, 83, -1, -1, 1, 132, -1, 670, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 683, -1, 19, 20, 21, 22, -1, 24, 25, -1, -1, 694, 29, 30, 116, 117, 118, 119, -1, -1, -1, 704, 124, -1, -1, 127, 128, 129, 130, 131, 47, 48, -1, -1, -1, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 81, 82, 83, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, 95, 96, 97, 98, -1, -1, 81, 82, 83, -1, 163, -1, 99, -1, -1, -1, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, 127, 128, 129, 130, 131, 120, 121, -1, 123, 132, 125, 126, 115, 116, 117, 118, 119, -1, 133, -1, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, 213, -1, -1, -1, -1, -1, 219, -1, -1, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 0, 1, -1, 251, -1, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, -1, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 478, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, -1, -1, 1, -1, 133, -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, 535, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, 567, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, 593, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, 12, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, -1, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, 89, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, -1, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 120, 121, -1, 123, -1, 125, 126, -1, 10, 11, -1, 13, -1, 133, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, 69, -1, -1, 72, -1, 74, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, 1, -1, -1, -1, 92, -1, -1, -1, -1, 10, -1, 99, 13, -1, -1, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, -1, -1, -1, -1, 133, 47, 48, -1, -1, -1, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, 132, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 99, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, -1, 47, 48, -1, -1, 133, 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, -1, 63, 64, 65, 66, 67, 68, -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, 79, 80, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, 120, 121, -1, 123, -1, 125, 126, -1, 94, -1, -1, -1, -1, 133, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, 73, -1, 127, 128, 129, 130, 131, -1, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, 127, 128, 129, 130, 131, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 81, 82, 83, -1, 124, -1, -1, 127, 128, 129, 130, 131, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, 127, 128, 129, 130, 131, -1, -1, -1, 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, 127, 128, 129, 130, 131 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 135, 136, 137, 138, 139, 140, 141, 142, 0, 181, 10, 13, 16, 19, 20, 21, 24, 25, 29, 30, 47, 48, 52, 53, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 68, 72, 75, 76, 77, 78, 79, 80, 84, 85, 86, 99, 120, 121, 123, 125, 126, 133, 179, 233, 234, 235, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 255, 263, 264, 265, 266, 267, 268, 269, 270, 271, 11, 178, 1, 22, 26, 27, 28, 31, 32, 35, 36, 37, 38, 40, 41, 42, 43, 46, 49, 50, 51, 54, 69, 74, 92, 143, 144, 145, 147, 148, 149, 150, 151, 155, 156, 157, 158, 159, 160, 162, 164, 166, 168, 170, 171, 172, 174, 175, 176, 177, 178, 191, 195, 233, 252, 70, 189, 190, 191, 179, 187, 226, 227, 187, 56, 62, 178, 264, 272, 255, 272, 247, 272, 247, 272, 272, 247, 123, 133, 250, 264, 265, 266, 247, 178, 247, 207, 207, 208, 272, 272, 248, 13, 133, 247, 207, 247, 133, 133, 90, 133, 178, 247, 56, 179, 234, 254, 264, 272, 178, 272, 255, 56, 62, 210, 234, 247, 247, 247, 247, 247, 132, 233, 95, 96, 97, 98, 15, 11, 13, 133, 113, 114, 113, 111, 112, 111, 73, 81, 82, 83, 94, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 124, 127, 128, 129, 130, 131, 133, 11, 13, 11, 13, 11, 13, 11, 181, 209, 56, 56, 251, 264, 265, 266, 133, 133, 30, 123, 133, 262, 264, 133, 133, 133, 133, 178, 11, 182, 182, 206, 210, 22, 206, 210, 39, 179, 197, 22, 32, 35, 36, 37, 38, 41, 22, 190, 191, 189, 20, 24, 103, 179, 216, 217, 218, 219, 221, 222, 223, 14, 133, 247, 250, 264, 265, 266, 132, 233, 87, 213, 71, 179, 211, 87, 179, 212, 212, 254, 133, 90, 233, 132, 178, 132, 132, 233, 255, 255, 272, 234, 234, 22, 254, 13, 132, 233, 233, 233, 233, 247, 233, 233, 132, 233, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 10, 11, 13, 16, 20, 24, 25, 57, 84, 133, 237, 264, 132, 233, 233, 233, 233, 233, 233, 233, 233, 187, 56, 179, 205, 56, 56, 179, 213, 214, 181, 181, 123, 181, 30, 260, 261, 263, 264, 265, 266, 181, 181, 133, 181, 181, 181, 181, 183, 44, 173, 206, 163, 206, 178, 194, 233, 194, 194, 202, 233, 194, 194, 62, 215, 16, 15, 132, 233, 213, 132, 59, 212, 59, 181, 231, 231, 255, 234, 14, 236, 132, 91, 132, 233, 12, 233, 13, 22, 14, 132, 103, 25, 210, 233, 233, 25, 25, 25, 25, 25, 132, 233, 133, 132, 22, 14, 22, 14, 22, 14, 22, 12, 18, 180, 11, 22, 214, 100, 203, 233, 203, 133, 257, 264, 133, 179, 195, 200, 203, 204, 233, 260, 181, 202, 201, 233, 203, 203, 187, 181, 56, 167, 22, 181, 228, 229, 165, 100, 215, 221, 132, 229, 133, 179, 224, 225, 132, 23, 179, 256, 254, 132, 14, 233, 12, 247, 133, 22, 14, 132, 255, 12, 12, 12, 12, 181, 181, 11, 22, 253, 132, 132, 123, 258, 259, 264, 133, 181, 132, 22, 154, 203, 132, 132, 132, 132, 12, 133, 179, 184, 56, 211, 11, 212, 247, 100, 226, 11, 233, 91, 14, 255, 12, 132, 22, 161, 181, 247, 182, 182, 260, 15, 132, 203, 203, 182, 152, 133, 132, 199, 199, 182, 182, 185, 169, 254, 212, 187, 22, 230, 231, 220, 247, 132, 232, 132, 89, 187, 146, 33, 34, 179, 196, 196, 123, 264, 133, 132, 132, 197, 201, 203, 182, 182, 182, 264, 182, 22, 228, 12, 187, 179, 188, 12, 187, 182, 133, 260, 203, 182, 182, 22, 132, 197, 197, 197, 186, 45, 198, 12, 22, 60, 192, 12, 203, 132, 197, 197, 153, 182, 132, 178, 17, 88, 179, 193, 132, 182, 199, 197, 187, 182, 197, 204, 89, 196, 132, 182 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { 0, 134, 136, 135, 137, 135, 138, 135, 139, 135, 140, 135, 141, 135, 142, 135, 143, 144, 146, 145, 147, 148, 149, 150, 152, 153, 151, 151, 151, 151, 154, 151, 151, 151, 155, 156, 157, 158, 159, 161, 160, 163, 162, 165, 164, 167, 166, 169, 168, 170, 171, 173, 172, 174, 175, 176, 177, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 184, 187, 187, 188, 188, 189, 189, 190, 190, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 192, 193, 193, 194, 195, 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, 197, 197, 198, 198, 199, 200, 200, 201, 201, 202, 203, 204, 205, 205, 206, 207, 208, 209, 210, 210, 211, 211, 212, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224, 225, 227, 226, 228, 228, 229, 230, 230, 232, 231, 233, 233, 233, 233, 233, 234, 234, 234, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 236, 235, 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, 240, 241, 241, 242, 242, 242, 242, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 248, 247, 247, 247, 247, 249, 249, 249, 249, 250, 250, 250, 250, 250, 251, 251, 251, 252, 253, 252, 254, 254, 255, 255, 256, 256, 257, 258, 258, 258, 258, 258, 259, 260, 260, 260, 261, 261, 262, 262, 263, 264, 265, 266, 267, 267, 268, 269, 269, 270, 270, 271, 271, 272, 272, 272, 272 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 0, 4, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 2, 5, 0, 9, 2, 2, 2, 2, 0, 0, 13, 9, 11, 8, 0, 10, 9, 7, 4, 6, 7, 1, 4, 0, 8, 0, 4, 0, 6, 0, 7, 0, 8, 7, 8, 0, 7, 6, 8, 2, 1, 1, 4, 0, 7, 0, 4, 0, 1, 0, 0, 5, 1, 2, 1, 2, 1, 1, 2, 2, 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, 2, 1, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 2, 6, 1, 2, 0, 2, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 0, 1, 1, 1, 2, 3, 4, 0, 1, 3, 5, 0, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 3, 0, 2, 1, 1, 4, 1, 1, 0, 6, 3, 3, 3, 3, 1, 2, 3, 1, 3, 3, 5, 6, 3, 7, 4, 3, 5, 2, 4, 4, 0, 5, 1, 1, 5, 4, 5, 4, 5, 6, 5, 4, 5, 4, 3, 6, 4, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, 2, 3, 3, 3, 1, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 4, 4, 3, 4, 3, 2, 2, 1, 1, 1, 1, 5, 2, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 4, 4, 5, 5, 1, 1, 3, 4, 3, 4, 4, 4, 4, 4, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 4, 0, 6, 1, 1, 1, 3, 2, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 3, 0, 6, 1, 1, 1, 1, 1, 2, 1, 2, 3, 4, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 4, 2, 1, 3, 1, 3, 1, 3, 1, 1, 1, 1 }; typedef enum { toketype_ival, toketype_opval, toketype_pval } toketypes; /* type of each token/terminal */ static const toketypes yy_type_tab[] = { toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_pval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval }; /* Generated from: * 11a76178c6bb99bd6c08dfcc2b9fa80e33e491a061e3f2722d8ff2a9d9a5e7fd perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */