47 #define YYBISON_VERSION "2.7.12-4996"
50 #define YYSKELETON_NAME "yacc.c"
71 #define YYERROR_VERBOSE 1
76 #define YYMALLOC(n) mrb_malloc(p->mrb, (n))
77 #define YYFREE(o) mrb_free(p->mrb, (o))
78 #define YYSTACK_USE_ALLOCA 0
102 #define isascii(c) (((c) & ~0x7f) == 0)
105 #define identchar(c) (isalnum(c) || (c) == '_' || !isascii(c))
109 #define BITSTACK_PUSH(stack, n) ((stack) = ((stack)<<1)|((n)&1))
110 #define BITSTACK_POP(stack) ((stack) = (stack) >> 1)
111 #define BITSTACK_LEXPOP(stack) ((stack) = ((stack) >> 1) | ((stack) & 1))
112 #define BITSTACK_SET_P(stack) ((stack)&1)
114 #define COND_PUSH(n) BITSTACK_PUSH(p->cond_stack, (n))
115 #define COND_POP() BITSTACK_POP(p->cond_stack)
116 #define COND_LEXPOP() BITSTACK_LEXPOP(p->cond_stack)
117 #define COND_P() BITSTACK_SET_P(p->cond_stack)
119 #define CMDARG_PUSH(n) BITSTACK_PUSH(p->cmdarg_stack, (n))
120 #define CMDARG_POP() BITSTACK_POP(p->cmdarg_stack)
121 #define CMDARG_LEXPOP() BITSTACK_LEXPOP(p->cmdarg_stack)
122 #define CMDARG_P() BITSTACK_SET_P(p->cmdarg_stack)
124 #define sym(x) ((mrb_sym)(intptr_t)(x))
125 #define nsym(x) ((node*)(intptr_t)(x))
130 return mrb_intern(p->
mrb, s);
132 #define intern(s) intern_gen(p,(s))
139 #define intern2(s,len) intern_gen2(p,(s),(len))
146 #define intern_c(c) intern_gen_c(p,(c))
154 #define cons_free(c) cons_free_gen(p, (c))
186 #define cons(a,b) cons_gen(p,(a),(b))
193 #define list1(a) list1_gen(p, (a))
200 #define list2(a,b) list2_gen(p, (a),(b))
207 #define list3(a,b,c) list3_gen(p, (a),(b),(c))
214 #define list4(a,b,c,d) list4_gen(p, (a),(b),(c),(d))
221 #define list5(a,b,c,d,e) list5_gen(p, (a),(b),(c),(d),(e))
228 #define list6(a,b,c,d,e,f) list6_gen(p, (a),(b),(c),(d),(e),(f))
244 #define append(a,b) append_gen(p,(a),(b))
245 #define push(a,b) append_gen(p,(a),list1(b))
248 parser_strndup(
parser_state *p,
const char *s,
size_t len)
250 char *
b = (
char *)parser_palloc(p, len+1);
256 #define strndup(s,len) parser_strndup(p, s, len)
261 return parser_strndup(p, s, strlen(s));
264 #define strdup(s) parser_strdup(p, s)
303 if (
sym(n->
car) == sym)
return 1;
320 if (!local_var_p(p, sym)) {
341 #define newline_node(n) (n)
482 yyerror(p,
"both block arg and actual block given");
597 const char *s = (
const char*)str->
cdr->
car;
598 size_t len = (
size_t)str->
cdr->
cdr;
797 new_regx(
parser_state *p,
const char *p1,
const char* p2)
862 return new_call(p, recv,
intern(m), 0);
877 yyerror(p,
"both block arg and actual block given");
892 args_with_block(p, a->
cdr, b);
899 args_with_block(p, n->
car, b);
920 yyerror(p,
"block argument should not be given");
924 return new_array(p, n->
car);
931 local_add(p,
sym(lhs->
cdr));
941 if (!local_var_p(p,
sym(lhs->
cdr))) {
942 n = new_fcall(p,
sym(lhs->
cdr), 0);
992 #define is_strterm_type(p,str_func) ((int)(intptr_t)((p)->lex_strterm->car) & (str_func))
998 #line 999 "/home/kou/work/c/groonga.central/vendor/mruby/mruby.master/build/host/src/y.tab.c"
1001 # if defined __cplusplus && 201103L <= __cplusplus
1002 # define YY_NULL nullptr
1009 #ifdef YYERROR_VERBOSE
1010 # undef YYERROR_VERBOSE
1011 # define YYERROR_VERBOSE 1
1013 # define YYERROR_VERBOSE 0
1027 # define YYTOKENTYPE
1157 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1161 #line 942 "src/parse.y"
1171 #line 1172 "/home/kou/work/c/groonga.central/vendor/mruby/mruby.master/build/host/src/y.tab.c"
1173 # define YYSTYPE_IS_TRIVIAL 1
1174 # define yystype YYSTYPE
1175 # define YYSTYPE_IS_DECLARED 1
1179 #ifdef YYPARSE_PARAM
1180 #if defined __STDC__ || defined __cplusplus
1181 int yyparse (
void *YYPARSE_PARAM);
1186 #if defined __STDC__ || defined __cplusplus
1198 #line 1199 "/home/kou/work/c/groonga.central/vendor/mruby/mruby.master/build/host/src/y.tab.c"
1212 #elif (defined __STDC__ || defined __C99__FUNC__ \
1213 || defined __cplusplus || defined _MSC_VER)
1219 #ifdef YYTYPE_UINT16
1232 # ifdef __SIZE_TYPE__
1233 # define YYSIZE_T __SIZE_TYPE__
1234 # elif defined size_t
1235 # define YYSIZE_T size_t
1236 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
1237 || defined __cplusplus || defined _MSC_VER)
1238 # include <stddef.h>
1239 # define YYSIZE_T size_t
1241 # define YYSIZE_T unsigned int
1245 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1248 # if defined YYENABLE_NLS && YYENABLE_NLS
1250 # include <libintl.h>
1251 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
1255 # define YY_(Msgid) Msgid
1259 #ifndef __attribute__
1261 # if (! defined __GNUC__ || __GNUC__ < 2 \
1262 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
1263 # define __attribute__(Spec)
1268 #if ! defined lint || defined __GNUC__
1269 # define YYUSE(E) ((void) (E))
1277 # define YYID(N) (N)
1279 #if (defined __STDC__ || defined __C99__FUNC__ \
1280 || defined __cplusplus || defined _MSC_VER)
1293 #if ! defined yyoverflow || YYERROR_VERBOSE
1297 # ifdef YYSTACK_USE_ALLOCA
1298 # if YYSTACK_USE_ALLOCA
1300 # define YYSTACK_ALLOC __builtin_alloca
1301 # elif defined __BUILTIN_VA_ARG_INCR
1302 # include <alloca.h>
1304 # define YYSTACK_ALLOC __alloca
1305 # elif defined _MSC_VER
1306 # include <malloc.h>
1307 # define alloca _alloca
1309 # define YYSTACK_ALLOC alloca
1310 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1311 || defined __cplusplus || defined _MSC_VER)
1312 # include <stdlib.h>
1314 # ifndef EXIT_SUCCESS
1315 # define EXIT_SUCCESS 0
1322 # ifdef YYSTACK_ALLOC
1324 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
1325 # ifndef YYSTACK_ALLOC_MAXIMUM
1330 # define YYSTACK_ALLOC_MAXIMUM 4032
1333 # define YYSTACK_ALLOC YYMALLOC
1334 # define YYSTACK_FREE YYFREE
1335 # ifndef YYSTACK_ALLOC_MAXIMUM
1336 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1338 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
1339 && ! ((defined YYMALLOC || defined malloc) \
1340 && (defined YYFREE || defined free)))
1341 # include <stdlib.h>
1342 # ifndef EXIT_SUCCESS
1343 # define EXIT_SUCCESS 0
1347 # define YYMALLOC malloc
1348 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1349 || defined __cplusplus || defined _MSC_VER)
1354 # define YYFREE free
1355 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1356 || defined __cplusplus || defined _MSC_VER)
1364 #if (! defined yyoverflow \
1365 && (! defined __cplusplus \
1366 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1376 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1380 # define YYSTACK_BYTES(N) \
1381 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1382 + YYSTACK_GAP_MAXIMUM)
1384 # define YYCOPY_NEEDED 1
1391 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1394 YYSIZE_T yynewbytes; \
1395 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1396 Stack = &yyptr->Stack_alloc; \
1397 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1398 yyptr += yynewbytes / sizeof (*yyptr); \
1404 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1408 # if defined __GNUC__ && 1 < __GNUC__
1409 # define YYCOPY(Dst, Src, Count) \
1410 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1412 # define YYCOPY(Dst, Src, Count) \
1416 for (yyi = 0; yyi < (Count); yyi++) \
1417 (Dst)[yyi] = (Src)[yyi]; \
1427 #define YYLAST 10895
1430 #define YYNTOKENS 151
1434 #define YYNRULES 544
1436 #define YYNSTATES 956
1439 #define YYUNDEFTOK 2
1440 #define YYMAXUTOK 379
1442 #define YYTRANSLATE(YYX) \
1443 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1446 static const yytype_uint8 yytranslate[] =
1448 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1449 150, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1450 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1451 2, 2, 2, 127, 2, 2, 2, 125, 120, 2,
1452 146, 147, 123, 121, 144, 122, 143, 124, 2, 2,
1453 2, 2, 2, 2, 2, 2, 2, 2, 115, 149,
1454 117, 113, 116, 114, 2, 2, 2, 2, 2, 2,
1455 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1456 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1457 2, 142, 2, 148, 119, 2, 145, 2, 2, 2,
1458 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1459 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1460 2, 2, 2, 140, 118, 141, 128, 2, 2, 2,
1461 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1462 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1463 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1464 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1465 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1466 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1467 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1468 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1469 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1470 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1471 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1472 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1473 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1474 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1475 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1476 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1477 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1478 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1479 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1480 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1481 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1482 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1483 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1484 105, 106, 107, 108, 109, 110, 111, 112, 126, 129,
1485 130, 131, 132, 133, 134, 135, 136, 137, 138, 139
1491 static const yytype_uint16 yyprhs[] =
1493 0, 0, 3, 4, 7, 10, 12, 14, 18, 21,
1494 23, 24, 30, 35, 38, 40, 42, 46, 49, 50,
1495 55, 58, 62, 66, 70, 74, 78, 83, 85, 89,
1496 93, 100, 106, 112, 118, 124, 128, 132, 136, 140,
1497 142, 146, 150, 152, 156, 160, 164, 167, 169, 171,
1498 173, 175, 177, 182, 183, 189, 192, 196, 201, 207,
1499 212, 218, 221, 224, 227, 230, 233, 235, 239, 241,
1500 245, 247, 250, 254, 260, 263, 268, 271, 276, 278,
1501 282, 284, 288, 291, 295, 297, 300, 302, 307, 311,
1502 315, 319, 323, 326, 328, 330, 335, 339, 343, 347,
1503 351, 354, 356, 358, 360, 363, 365, 369, 371, 373,
1504 375, 377, 379, 381, 383, 385, 386, 391, 393, 395,
1505 397, 399, 401, 403, 405, 407, 409, 411, 413, 415,
1506 417, 419, 421, 423, 425, 427, 429, 431, 433, 435,
1507 437, 439, 441, 443, 445, 447, 449, 451, 453, 455,
1508 457, 459, 461, 463, 465, 467, 469, 471, 473, 475,
1509 477, 479, 481, 483, 485, 487, 489, 491, 493, 495,
1510 497, 499, 501, 503, 505, 507, 509, 511, 513, 515,
1511 517, 519, 521, 523, 525, 527, 529, 533, 539, 543,
1512 549, 556, 562, 568, 574, 580, 585, 589, 593, 597,
1513 601, 605, 609, 613, 617, 621, 626, 631, 634, 637,
1514 641, 645, 649, 653, 657, 661, 665, 669, 673, 677,
1515 681, 685, 689, 692, 695, 699, 703, 707, 711, 718,
1516 720, 722, 724, 727, 732, 735, 739, 741, 743, 745,
1517 747, 750, 755, 758, 760, 763, 766, 771, 773, 774,
1518 777, 780, 783, 785, 787, 790, 794, 799, 803, 808,
1519 811, 813, 815, 817, 819, 821, 823, 825, 827, 828,
1520 833, 834, 839, 840, 844, 848, 852, 855, 859, 863,
1521 865, 870, 874, 876, 881, 885, 888, 890, 893, 894,
1522 899, 906, 913, 914, 915, 923, 924, 925, 933, 939,
1523 944, 945, 946, 956, 957, 964, 965, 966, 975, 976,
1524 982, 983, 990, 991, 992, 1002, 1004, 1006, 1008, 1010,
1525 1012, 1014, 1016, 1019, 1021, 1023, 1025, 1031, 1033, 1036,
1526 1038, 1040, 1042, 1046, 1048, 1052, 1054, 1059, 1066, 1070,
1527 1076, 1079, 1084, 1086, 1090, 1097, 1106, 1111, 1118, 1123,
1528 1126, 1133, 1136, 1141, 1148, 1151, 1156, 1159, 1164, 1166,
1529 1168, 1170, 1174, 1176, 1181, 1183, 1188, 1190, 1194, 1196,
1530 1198, 1203, 1205, 1209, 1213, 1214, 1220, 1223, 1228, 1234,
1531 1240, 1243, 1248, 1253, 1257, 1261, 1265, 1268, 1270, 1275,
1532 1276, 1282, 1283, 1289, 1295, 1297, 1299, 1306, 1308, 1310,
1533 1312, 1314, 1317, 1319, 1322, 1324, 1326, 1328, 1330, 1332,
1534 1334, 1336, 1339, 1343, 1345, 1348, 1350, 1351, 1356, 1358,
1535 1361, 1365, 1368, 1372, 1374, 1376, 1378, 1380, 1383, 1385,
1536 1388, 1391, 1395, 1397, 1402, 1405, 1407, 1409, 1411, 1413,
1537 1415, 1418, 1421, 1425, 1427, 1429, 1432, 1435, 1437, 1439,
1538 1441, 1443, 1445, 1447, 1449, 1451, 1453, 1455, 1457, 1459,
1539 1461, 1463, 1465, 1467, 1468, 1473, 1476, 1480, 1483, 1490,
1540 1499, 1504, 1511, 1516, 1523, 1526, 1531, 1538, 1541, 1546,
1541 1549, 1554, 1556, 1557, 1559, 1561, 1563, 1565, 1567, 1569,
1542 1571, 1575, 1577, 1581, 1585, 1589, 1591, 1595, 1597, 1601,
1543 1603, 1605, 1608, 1610, 1612, 1614, 1617, 1620, 1622, 1624,
1544 1625, 1630, 1632, 1635, 1637, 1641, 1645, 1648, 1650, 1652,
1545 1654, 1656, 1658, 1660, 1662, 1664, 1666, 1668, 1670, 1672,
1546 1673, 1675, 1676, 1678, 1681, 1684, 1685, 1687, 1689, 1691,
1547 1693, 1694, 1698, 1700, 1703
1551 static const yytype_int16 yyrhs[] =
1553 152, 0, -1, -1, 153, 154, -1, 155, 295, -1,
1554 304, -1, 156, -1, 155, 303, 156, -1, 1, 156,
1555 -1, 161, -1, -1, 46, 157, 140, 154, 141, -1,
1556 159, 244, 222, 247, -1, 160, 295, -1, 304, -1,
1557 161, -1, 160, 303, 161, -1, 1, 161, -1, -1,
1558 45, 182, 162, 182, -1, 6, 183, -1, 161, 40,
1559 165, -1, 161, 41, 165, -1, 161, 42, 165, -1,
1560 161, 43, 165, -1, 161, 44, 161, -1, 47, 140,
1561 159, 141, -1, 163, -1, 171, 113, 166, -1, 266,
1562 90, 166, -1, 218, 142, 192, 298, 90, 166, -1,
1563 218, 143, 51, 90, 166, -1, 218, 143, 55, 90,
1564 166, -1, 218, 88, 55, 90, 166, -1, 218, 88,
1565 51, 90, 166, -1, 268, 90, 166, -1, 178, 113,
1566 199, -1, 171, 113, 188, -1, 171, 113, 199, -1,
1567 164, -1, 178, 113, 166, -1, 178, 113, 163, -1,
1568 166, -1, 164, 37, 164, -1, 164, 38, 164, -1,
1569 39, 296, 164, -1, 127, 166, -1, 187, -1, 164,
1570 -1, 170, -1, 167, -1, 237, -1, 237, 294, 292,
1571 194, -1, -1, 97, 169, 228, 159, 141, -1, 291,
1572 194, -1, 291, 194, 168, -1, 218, 143, 292, 194,
1573 -1, 218, 143, 292, 194, 168, -1, 218, 88, 292,
1574 194, -1, 218, 88, 292, 194, 168, -1, 32, 194,
1575 -1, 31, 194, -1, 30, 193, -1, 21, 193, -1,
1576 22, 193, -1, 173, -1, 92, 172, 297, -1, 173,
1577 -1, 92, 172, 297, -1, 175, -1, 175, 174, -1,
1578 175, 98, 177, -1, 175, 98, 177, 144, 176, -1,
1579 175, 98, -1, 175, 98, 144, 176, -1, 98, 177,
1580 -1, 98, 177, 144, 176, -1, 98, -1, 98, 144,
1581 176, -1, 177, -1, 92, 172, 297, -1, 174, 144,
1582 -1, 175, 174, 144, -1, 174, -1, 175, 174, -1,
1583 265, -1, 218, 142, 192, 298, -1, 218, 143, 51,
1584 -1, 218, 88, 51, -1, 218, 143, 55, -1, 218,
1585 88, 55, -1, 89, 55, -1, 268, -1, 265, -1,
1586 218, 142, 192, 298, -1, 218, 143, 51, -1, 218,
1587 88, 51, -1, 218, 143, 55, -1, 218, 88, 55,
1588 -1, 89, 55, -1, 268, -1, 51, -1, 55, -1,
1589 89, 179, -1, 179, -1, 218, 88, 179, -1, 51,
1590 -1, 55, -1, 52, -1, 185, -1, 186, -1, 181,
1591 -1, 261, -1, 182, -1, -1, 183, 144, 184, 182,
1592 -1, 118, -1, 119, -1, 120, -1, 72, -1, 73,
1593 -1, 74, -1, 80, -1, 81, -1, 116, -1, 76,
1594 -1, 117, -1, 77, -1, 75, -1, 86, -1, 87,
1595 -1, 121, -1, 122, -1, 123, -1, 98, -1, 124,
1596 -1, 125, -1, 71, -1, 127, -1, 128, -1, 69,
1597 -1, 70, -1, 84, -1, 85, -1, 145, -1, 48,
1598 -1, 49, -1, 50, -1, 46, -1, 47, -1, 45,
1599 -1, 37, -1, 7, -1, 21, -1, 16, -1, 3,
1600 -1, 5, -1, 26, -1, 15, -1, 14, -1, 10,
1601 -1, 9, -1, 36, -1, 20, -1, 25, -1, 4,
1602 -1, 22, -1, 34, -1, 39, -1, 38, -1, 23,
1603 -1, 8, -1, 24, -1, 30, -1, 33, -1, 32,
1604 -1, 13, -1, 35, -1, 6, -1, 17, -1, 31,
1605 -1, 11, -1, 12, -1, 18, -1, 19, -1, 178,
1606 113, 187, -1, 178, 113, 187, 44, 187, -1, 266,
1607 90, 187, -1, 266, 90, 187, 44, 187, -1, 218,
1608 142, 192, 298, 90, 187, -1, 218, 143, 51, 90,
1609 187, -1, 218, 143, 55, 90, 187, -1, 218, 88,
1610 51, 90, 187, -1, 218, 88, 55, 90, 187, -1,
1611 89, 55, 90, 187, -1, 268, 90, 187, -1, 187,
1612 82, 187, -1, 187, 83, 187, -1, 187, 121, 187,
1613 -1, 187, 122, 187, -1, 187, 123, 187, -1, 187,
1614 124, 187, -1, 187, 125, 187, -1, 187, 71, 187,
1615 -1, 126, 58, 71, 187, -1, 126, 59, 71, 187,
1616 -1, 69, 187, -1, 70, 187, -1, 187, 118, 187,
1617 -1, 187, 119, 187, -1, 187, 120, 187, -1, 187,
1618 72, 187, -1, 187, 116, 187, -1, 187, 76, 187,
1619 -1, 187, 117, 187, -1, 187, 77, 187, -1, 187,
1620 73, 187, -1, 187, 74, 187, -1, 187, 75, 187,
1621 -1, 187, 80, 187, -1, 187, 81, 187, -1, 127,
1622 187, -1, 128, 187, -1, 187, 86, 187, -1, 187,
1623 87, 187, -1, 187, 78, 187, -1, 187, 79, 187,
1624 -1, 187, 114, 187, 296, 115, 187, -1, 200, -1,
1625 187, -1, 304, -1, 198, 299, -1, 198, 144, 289,
1626 299, -1, 289, 299, -1, 146, 192, 297, -1, 304,
1627 -1, 190, -1, 304, -1, 193, -1, 198, 144, -1,
1628 198, 144, 289, 144, -1, 289, 144, -1, 170, -1,
1629 198, 197, -1, 289, 197, -1, 198, 144, 289, 197,
1630 -1, 196, -1, -1, 195, 193, -1, 99, 188, -1,
1631 144, 196, -1, 304, -1, 188, -1, 98, 188, -1,
1632 198, 144, 188, -1, 198, 144, 98, 188, -1, 198,
1633 144, 188, -1, 198, 144, 98, 188, -1, 98, 188,
1634 -1, 248, -1, 249, -1, 253, -1, 254, -1, 255,
1635 -1, 267, -1, 268, -1, 52, -1, -1, 7, 201,
1636 158, 10, -1, -1, 93, 164, 202, 297, -1, -1,
1637 93, 203, 297, -1, 92, 159, 147, -1, 218, 88,
1638 55, -1, 89, 55, -1, 95, 189, 148, -1, 96,
1639 288, 141, -1, 30, -1, 31, 146, 193, 297, -1,
1640 31, 146, 297, -1, 31, -1, 39, 146, 164, 297,
1641 -1, 39, 146, 297, -1, 291, 239, -1, 238, -1,
1642 238, 239, -1, -1, 100, 204, 233, 234, -1, 11,
1643 165, 219, 159, 221, 10, -1, 12, 165, 219, 159,
1644 222, 10, -1, -1, -1, 18, 205, 165, 220, 206,
1645 159, 10, -1, -1, -1, 19, 207, 165, 220, 208,
1646 159, 10, -1, 16, 165, 295, 242, 10, -1, 16,
1647 295, 242, 10, -1, -1, -1, 20, 223, 25, 209,
1648 165, 220, 210, 159, 10, -1, -1, 3, 180, 269,
1649 211, 158, 10, -1, -1, -1, 3, 86, 164, 212,
1650 300, 213, 158, 10, -1, -1, 4, 180, 214, 158,
1651 10, -1, -1, 5, 181, 215, 271, 158, 10, -1,
1652 -1, -1, 5, 286, 294, 216, 181, 217, 271, 158,
1653 10, -1, 21, -1, 22, -1, 23, -1, 24, -1,
1654 200, -1, 300, -1, 13, -1, 300, 13, -1, 300,
1655 -1, 27, -1, 222, -1, 14, 165, 219, 159, 221,
1656 -1, 304, -1, 15, 159, -1, 178, -1, 171, -1,
1657 274, -1, 92, 226, 297, -1, 224, -1, 225, 144,
1658 224, -1, 225, -1, 225, 144, 98, 274, -1, 225,
1659 144, 98, 274, 144, 225, -1, 225, 144, 98, -1,
1660 225, 144, 98, 144, 225, -1, 98, 274, -1, 98,
1661 274, 144, 225, -1, 98, -1, 98, 144, 225, -1,
1662 276, 144, 279, 144, 282, 285, -1, 276, 144, 279,
1663 144, 282, 144, 276, 285, -1, 276, 144, 279, 285,
1664 -1, 276, 144, 279, 144, 276, 285, -1, 276, 144,
1665 282, 285, -1, 276, 144, -1, 276, 144, 282, 144,
1666 276, 285, -1, 276, 285, -1, 279, 144, 282, 285,
1667 -1, 279, 144, 282, 144, 276, 285, -1, 279, 285,
1668 -1, 279, 144, 276, 285, -1, 282, 285, -1, 282,
1669 144, 276, 285, -1, 284, -1, 304, -1, 229, -1,
1670 118, 230, 118, -1, 79, -1, 118, 227, 230, 118,
1671 -1, 296, -1, 296, 149, 231, 296, -1, 232, -1,
1672 231, 144, 232, -1, 51, -1, 273, -1, 146, 272,
1673 230, 147, -1, 272, -1, 108, 159, 141, -1, 29,
1674 159, 10, -1, -1, 28, 236, 228, 159, 10, -1,
1675 170, 235, -1, 237, 294, 292, 191, -1, 237, 294,
1676 292, 191, 239, -1, 237, 294, 292, 194, 235, -1,
1677 291, 190, -1, 218, 143, 292, 191, -1, 218, 88,
1678 292, 190, -1, 218, 88, 293, -1, 218, 143, 190,
1679 -1, 218, 88, 190, -1, 32, 190, -1, 32, -1,
1680 218, 142, 192, 298, -1, -1, 140, 240, 228, 159,
1681 141, -1, -1, 26, 241, 228, 159, 10, -1, 17,
1682 198, 219, 159, 243, -1, 222, -1, 242, -1, 8,
1683 245, 246, 219, 159, 244, -1, 304, -1, 188, -1,
1684 199, -1, 304, -1, 91, 178, -1, 304, -1, 9,
1685 159, -1, 304, -1, 264, -1, 260, -1, 259, -1,
1686 263, -1, 60, -1, 63, -1, 105, 63, -1, 105,
1687 250, 63, -1, 251, -1, 250, 251, -1, 65, -1,
1688 -1, 64, 252, 159, 141, -1, 111, -1, 106, 61,
1689 -1, 106, 250, 61, -1, 102, 62, -1, 102, 250,
1690 62, -1, 109, -1, 304, -1, 257, -1, 258, -1,
1691 257, 258, -1, 110, -1, 250, 110, -1, 103, 63,
1692 -1, 103, 250, 63, -1, 261, -1, 101, 105, 251,
1693 63, -1, 101, 262, -1, 181, -1, 54, -1, 53,
1694 -1, 56, -1, 63, -1, 105, 63, -1, 104, 63,
1695 -1, 104, 250, 63, -1, 58, -1, 59, -1, 126,
1696 58, -1, 126, 59, -1, 51, -1, 54, -1, 53,
1697 -1, 56, -1, 55, -1, 265, -1, 265, -1, 34,
1698 -1, 33, -1, 35, -1, 36, -1, 49, -1, 48,
1699 -1, 66, -1, 67, -1, 300, -1, -1, 117, 270,
1700 165, 300, -1, 1, 300, -1, 146, 272, 297, -1,
1701 272, 300, -1, 276, 144, 280, 144, 282, 285, -1,
1702 276, 144, 280, 144, 282, 144, 276, 285, -1, 276,
1703 144, 280, 285, -1, 276, 144, 280, 144, 276, 285,
1704 -1, 276, 144, 282, 285, -1, 276, 144, 282, 144,
1705 276, 285, -1, 276, 285, -1, 280, 144, 282, 285,
1706 -1, 280, 144, 282, 144, 276, 285, -1, 280, 285,
1707 -1, 280, 144, 276, 285, -1, 282, 285, -1, 282,
1708 144, 276, 285, -1, 284, -1, -1, 55, -1, 54,
1709 -1, 53, -1, 56, -1, 273, -1, 51, -1, 274,
1710 -1, 92, 226, 297, -1, 275, -1, 276, 144, 275,
1711 -1, 51, 113, 188, -1, 51, 113, 218, -1, 278,
1712 -1, 279, 144, 278, -1, 277, -1, 280, 144, 277,
1713 -1, 123, -1, 98, -1, 281, 51, -1, 281, -1,
1714 120, -1, 99, -1, 283, 51, -1, 144, 284, -1,
1715 304, -1, 267, -1, -1, 146, 287, 164, 297, -1,
1716 304, -1, 289, 299, -1, 290, -1, 289, 144, 290,
1717 -1, 188, 91, 188, -1, 57, 188, -1, 51, -1,
1718 55, -1, 52, -1, 51, -1, 55, -1, 52, -1,
1719 185, -1, 51, -1, 52, -1, 185, -1, 143, -1,
1720 88, -1, -1, 303, -1, -1, 301, -1, 296, 147,
1721 -1, 296, 148, -1, -1, 301, -1, 144, -1, 149,
1722 -1, 301, -1, -1, 150, 302, 256, -1, 300, -1,
1727 static const yytype_uint16 yyrline[] =
1729 0, 1100, 1100, 1100, 1110, 1116, 1120, 1124, 1128, 1134,
1730 1136, 1135, 1147, 1173, 1179, 1183, 1187, 1191, 1197, 1197,
1731 1201, 1205, 1209, 1213, 1217, 1221, 1225, 1230, 1231, 1235,
1732 1239, 1243, 1247, 1251, 1256, 1260, 1265, 1269, 1273, 1277,
1733 1280, 1284, 1291, 1292, 1296, 1300, 1304, 1308, 1311, 1318,
1734 1319, 1322, 1323, 1327, 1326, 1339, 1343, 1348, 1352, 1357,
1735 1361, 1366, 1370, 1374, 1378, 1382, 1388, 1392, 1398, 1399,
1736 1405, 1409, 1413, 1417, 1421, 1425, 1429, 1433, 1437, 1441,
1737 1447, 1448, 1454, 1458, 1464, 1468, 1474, 1478, 1482, 1486,
1738 1490, 1494, 1500, 1506, 1513, 1517, 1521, 1525, 1529, 1533,
1739 1539, 1545, 1552, 1556, 1559, 1563, 1567, 1573, 1574, 1575,
1740 1576, 1581, 1588, 1589, 1592, 1596, 1596, 1602, 1603, 1604,
1741 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614,
1742 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624,
1743 1625, 1626, 1627, 1628, 1629, 1630, 1633, 1633, 1633, 1634,
1744 1634, 1635, 1635, 1635, 1636, 1636, 1636, 1636, 1637, 1637,
1745 1637, 1638, 1638, 1638, 1639, 1639, 1639, 1639, 1640, 1640,
1746 1640, 1640, 1641, 1641, 1641, 1641, 1642, 1642, 1642, 1642,
1747 1643, 1643, 1643, 1643, 1644, 1644, 1647, 1651, 1655, 1659,
1748 1663, 1667, 1671, 1675, 1679, 1684, 1689, 1694, 1698, 1702,
1749 1706, 1710, 1714, 1718, 1722, 1726, 1730, 1734, 1738, 1742,
1750 1746, 1750, 1754, 1758, 1762, 1766, 1770, 1774, 1778, 1782,
1751 1786, 1790, 1794, 1798, 1802, 1806, 1810, 1814, 1818, 1822,
1752 1828, 1835, 1836, 1840, 1844, 1850, 1856, 1857, 1860, 1861,
1753 1862, 1866, 1870, 1876, 1880, 1884, 1888, 1892, 1898, 1898,
1754 1909, 1915, 1919, 1925, 1929, 1933, 1937, 1943, 1947, 1951,
1755 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1969, 1968,
1756 1979, 1979, 1983, 1983, 1987, 1991, 1995, 1999, 2003, 2007,
1757 2011, 2015, 2019, 2023, 2027, 2031, 2035, 2036, 2042, 2041,
1758 2054, 2061, 2068, 2068, 2068, 2074, 2074, 2074, 2080, 2086,
1759 2091, 2093, 2090, 2100, 2099, 2112, 2117, 2111, 2130, 2129,
1760 2142, 2141, 2154, 2155, 2154, 2168, 2172, 2176, 2180, 2186,
1761 2193, 2194, 2195, 2198, 2199, 2202, 2203, 2211, 2212, 2218,
1762 2222, 2225, 2229, 2235, 2239, 2245, 2249, 2253, 2257, 2261,
1763 2265, 2269, 2273, 2277, 2283, 2287, 2291, 2295, 2299, 2303,
1764 2307, 2311, 2315, 2319, 2323, 2327, 2331, 2335, 2339, 2345,
1765 2346, 2353, 2358, 2363, 2370, 2374, 2380, 2381, 2384, 2389,
1766 2392, 2396, 2402, 2406, 2413, 2412, 2425, 2435, 2439, 2444,
1767 2451, 2455, 2459, 2463, 2467, 2471, 2475, 2479, 2483, 2490,
1768 2489, 2500, 2499, 2511, 2519, 2528, 2531, 2538, 2541, 2545,
1769 2546, 2549, 2553, 2556, 2560, 2563, 2564, 2565, 2566, 2569,
1770 2570, 2571, 2575, 2581, 2582, 2588, 2593, 2592, 2603, 2609,
1771 2613, 2619, 2623, 2629, 2632, 2633, 2636, 2637, 2640, 2645,
1772 2652, 2656, 2663, 2667, 2674, 2681, 2682, 2683, 2684, 2685,
1773 2689, 2695, 2699, 2705, 2706, 2707, 2711, 2717, 2721, 2725,
1774 2729, 2733, 2739, 2745, 2749, 2753, 2757, 2761, 2765, 2772,
1775 2781, 2782, 2785, 2790, 2789, 2798, 2805, 2811, 2817, 2821,
1776 2825, 2829, 2833, 2837, 2841, 2845, 2849, 2853, 2857, 2861,
1777 2865, 2869, 2874, 2880, 2885, 2890, 2895, 2902, 2906, 2913,
1778 2917, 2923, 2927, 2933, 2940, 2947, 2951, 2957, 2961, 2967,
1779 2968, 2971, 2976, 2983, 2984, 2987, 2994, 2998, 3005, 3010,
1780 3010, 3035, 3036, 3042, 3046, 3052, 3056, 3062, 3063, 3064,
1781 3067, 3068, 3069, 3070, 3073, 3074, 3075, 3078, 3079, 3082,
1782 3083, 3086, 3087, 3090, 3093, 3096, 3097, 3098, 3101, 3102,
1783 3106, 3105, 3112, 3113, 3117
1787 #if YYDEBUG || YYERROR_VERBOSE || 0
1790 static const char *
const yytname[] =
1792 "$end",
"error",
"$undefined",
"keyword_class",
"keyword_module",
1793 "keyword_def",
"keyword_undef",
"keyword_begin",
"keyword_rescue",
1794 "keyword_ensure",
"keyword_end",
"keyword_if",
"keyword_unless",
1795 "keyword_then",
"keyword_elsif",
"keyword_else",
"keyword_case",
1796 "keyword_when",
"keyword_while",
"keyword_until",
"keyword_for",
1797 "keyword_break",
"keyword_next",
"keyword_redo",
"keyword_retry",
1798 "keyword_in",
"keyword_do",
"keyword_do_cond",
"keyword_do_block",
1799 "keyword_do_LAMBDA",
"keyword_return",
"keyword_yield",
"keyword_super",
1800 "keyword_self",
"keyword_nil",
"keyword_true",
"keyword_false",
1801 "keyword_and",
"keyword_or",
"keyword_not",
"modifier_if",
1802 "modifier_unless",
"modifier_while",
"modifier_until",
"modifier_rescue",
1803 "keyword_alias",
"keyword_BEGIN",
"keyword_END",
"keyword__LINE__",
1804 "keyword__FILE__",
"keyword__ENCODING__",
"tIDENTIFIER",
"tFID",
"tGVAR",
1805 "tIVAR",
"tCONSTANT",
"tCVAR",
"tLABEL",
"tINTEGER",
"tFLOAT",
"tCHAR",
1806 "tXSTRING",
"tREGEXP",
"tSTRING",
"tSTRING_PART",
"tSTRING_MID",
1807 "tNTH_REF",
"tBACK_REF",
"tREGEXP_END",
"tUPLUS",
"tUMINUS",
"tPOW",
1808 "tCMP",
"tEQ",
"tEQQ",
"tNEQ",
"tGEQ",
"tLEQ",
"tANDOP",
"tOROP",
1809 "tMATCH",
"tNMATCH",
"tDOT2",
"tDOT3",
"tAREF",
"tASET",
"tLSHFT",
1810 "tRSHFT",
"tCOLON2",
"tCOLON3",
"tOP_ASGN",
"tASSOC",
"tLPAREN",
1811 "tLPAREN_ARG",
"tRPAREN",
"tLBRACK",
"tLBRACE",
"tLBRACE_ARG",
"tSTAR",
1812 "tAMPER",
"tLAMBDA",
"tSYMBEG",
"tREGEXP_BEG",
"tWORDS_BEG",
1813 "tSYMBOLS_BEG",
"tSTRING_BEG",
"tXSTRING_BEG",
"tSTRING_DVAR",
"tLAMBEG",
1814 "tHEREDOC_BEG",
"tHEREDOC_END",
"tLITERAL_DELIM",
"tLOWEST",
"'='",
1815 "'?'",
"':'",
"'>'",
"'<'",
"'|'",
"'^'",
"'&'",
"'+'",
"'-'",
"'*'",
1816 "'/'",
"'%'",
"tUMINUS_NUM",
"'!'",
"'~'",
"idNULL",
"idRespond_to",
1817 "idIFUNC",
"idCFUNC",
"id_core_set_method_alias",
1818 "id_core_set_variable_alias",
"id_core_undef_method",
1819 "id_core_define_method",
"id_core_define_singleton_method",
1820 "id_core_set_postexe",
"tLAST_TOKEN",
"'{'",
"'}'",
"'['",
"'.'",
"','",
1821 "'`'",
"'('",
"')'",
"']'",
"';'",
"'\\n'",
"$accept",
"program",
"$@1",
1822 "top_compstmt",
"top_stmts",
"top_stmt",
"@2",
"bodystmt",
"compstmt",
1823 "stmts",
"stmt",
"$@3",
"command_asgn",
"expr",
"expr_value",
1824 "command_call",
"block_command",
"cmd_brace_block",
"$@4",
"command",
1825 "mlhs",
"mlhs_inner",
"mlhs_basic",
"mlhs_item",
"mlhs_list",
1826 "mlhs_post",
"mlhs_node",
"lhs",
"cname",
"cpath",
"fname",
"fsym",
1827 "undef_list",
"$@5",
"op",
"reswords",
"arg",
"arg_value",
"aref_args",
1828 "paren_args",
"opt_paren_args",
"opt_call_args",
"call_args",
1829 "command_args",
"@6",
"block_arg",
"opt_block_arg",
"args",
"mrhs",
1830 "primary",
"$@7",
"$@8",
"$@9",
"@10",
"$@11",
"$@12",
"$@13",
"$@14",
1831 "$@15",
"$@16",
"@17",
"@18",
"@19",
"@20",
"@21",
"$@22",
"@23",
1832 "primary_value",
"then",
"do",
"if_tail",
"opt_else",
"for_var",
1833 "f_marg",
"f_marg_list",
"f_margs",
"block_param",
"opt_block_param",
1834 "block_param_def",
"opt_bv_decl",
"bv_decls",
"bvar",
"f_larglist",
1835 "lambda_body",
"do_block",
"$@24",
"block_call",
"method_call",
1836 "brace_block",
"$@25",
"$@26",
"case_body",
"cases",
"opt_rescue",
1837 "exc_list",
"exc_var",
"opt_ensure",
"literal",
"string",
"string_rep",
1838 "string_interp",
"@27",
"xstring",
"regexp",
"heredoc",
1839 "opt_heredoc_bodies",
"heredoc_bodies",
"heredoc_body",
"words",
1840 "symbol",
"basic_symbol",
"sym",
"symbols",
"numeric",
"variable",
1841 "var_lhs",
"var_ref",
"backref",
"superclass",
"$@28",
"f_arglist",
1842 "f_args",
"f_bad_arg",
"f_norm_arg",
"f_arg_item",
"f_arg",
"f_opt",
1843 "f_block_opt",
"f_block_optarg",
"f_optarg",
"restarg_mark",
1844 "f_rest_arg",
"blkarg_mark",
"f_block_arg",
"opt_f_block_arg",
1845 "singleton",
"$@29",
"assoc_list",
"assocs",
"assoc",
"operation",
1846 "operation2",
"operation3",
"dot_or_colon",
"opt_terms",
"opt_nl",
1847 "rparen",
"rbracket",
"trailer",
"term",
"nl",
"$@30",
"terms",
"none",
YY_NULL
1854 static const yytype_uint16 yytoknum[] =
1856 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1857 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1858 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1859 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1860 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1861 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1862 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1863 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1864 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1865 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1866 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1867 365, 366, 367, 61, 63, 58, 62, 60, 124, 94,
1868 38, 43, 45, 42, 47, 37, 368, 33, 126, 369,
1869 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
1870 123, 125, 91, 46, 44, 96, 40, 41, 93, 59,
1876 static const yytype_uint16 yyr1[] =
1878 0, 151, 153, 152, 154, 155, 155, 155, 155, 156,
1879 157, 156, 158, 159, 160, 160, 160, 160, 162, 161,
1880 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
1881 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
1882 163, 163, 164, 164, 164, 164, 164, 164, 165, 166,
1883 166, 167, 167, 169, 168, 170, 170, 170, 170, 170,
1884 170, 170, 170, 170, 170, 170, 171, 171, 172, 172,
1885 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
1886 174, 174, 175, 175, 176, 176, 177, 177, 177, 177,
1887 177, 177, 177, 177, 178, 178, 178, 178, 178, 178,
1888 178, 178, 179, 179, 180, 180, 180, 181, 181, 181,
1889 181, 181, 182, 182, 183, 184, 183, 185, 185, 185,
1890 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
1891 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
1892 185, 185, 185, 185, 185, 185, 186, 186, 186, 186,
1893 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
1894 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
1895 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
1896 186, 186, 186, 186, 186, 186, 187, 187, 187, 187,
1897 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
1898 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
1899 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
1900 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
1901 188, 189, 189, 189, 189, 190, 191, 191, 192, 192,
1902 192, 192, 192, 193, 193, 193, 193, 193, 195, 194,
1903 196, 197, 197, 198, 198, 198, 198, 199, 199, 199,
1904 200, 200, 200, 200, 200, 200, 200, 200, 201, 200,
1905 202, 200, 203, 200, 200, 200, 200, 200, 200, 200,
1906 200, 200, 200, 200, 200, 200, 200, 200, 204, 200,
1907 200, 200, 205, 206, 200, 207, 208, 200, 200, 200,
1908 209, 210, 200, 211, 200, 212, 213, 200, 214, 200,
1909 215, 200, 216, 217, 200, 200, 200, 200, 200, 218,
1910 219, 219, 219, 220, 220, 221, 221, 222, 222, 223,
1911 223, 224, 224, 225, 225, 226, 226, 226, 226, 226,
1912 226, 226, 226, 226, 227, 227, 227, 227, 227, 227,
1913 227, 227, 227, 227, 227, 227, 227, 227, 227, 228,
1914 228, 229, 229, 229, 230, 230, 231, 231, 232, 232,
1915 233, 233, 234, 234, 236, 235, 237, 237, 237, 237,
1916 238, 238, 238, 238, 238, 238, 238, 238, 238, 240,
1917 239, 241, 239, 242, 243, 243, 244, 244, 245, 245,
1918 245, 246, 246, 247, 247, 248, 248, 248, 248, 249,
1919 249, 249, 249, 250, 250, 251, 252, 251, 251, 253,
1920 253, 254, 254, 255, 256, 256, 257, 257, 258, 258,
1921 259, 259, 260, 260, 261, 262, 262, 262, 262, 262,
1922 262, 263, 263, 264, 264, 264, 264, 265, 265, 265,
1923 265, 265, 266, 267, 267, 267, 267, 267, 267, 267,
1924 268, 268, 269, 270, 269, 269, 271, 271, 272, 272,
1925 272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
1926 272, 272, 272, 273, 273, 273, 273, 274, 274, 275,
1927 275, 276, 276, 277, 278, 279, 279, 280, 280, 281,
1928 281, 282, 282, 283, 283, 284, 285, 285, 286, 287,
1929 286, 288, 288, 289, 289, 290, 290, 291, 291, 291,
1930 292, 292, 292, 292, 293, 293, 293, 294, 294, 295,
1931 295, 296, 296, 297, 298, 299, 299, 299, 300, 300,
1932 302, 301, 303, 303, 304
1936 static const yytype_uint8 yyr2[] =
1938 0, 2, 0, 2, 2, 1, 1, 3, 2, 1,
1939 0, 5, 4, 2, 1, 1, 3, 2, 0, 4,
1940 2, 3, 3, 3, 3, 3, 4, 1, 3, 3,
1941 6, 5, 5, 5, 5, 3, 3, 3, 3, 1,
1942 3, 3, 1, 3, 3, 3, 2, 1, 1, 1,
1943 1, 1, 4, 0, 5, 2, 3, 4, 5, 4,
1944 5, 2, 2, 2, 2, 2, 1, 3, 1, 3,
1945 1, 2, 3, 5, 2, 4, 2, 4, 1, 3,
1946 1, 3, 2, 3, 1, 2, 1, 4, 3, 3,
1947 3, 3, 2, 1, 1, 4, 3, 3, 3, 3,
1948 2, 1, 1, 1, 2, 1, 3, 1, 1, 1,
1949 1, 1, 1, 1, 1, 0, 4, 1, 1, 1,
1950 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1951 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1952 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1953 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1954 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1955 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1956 1, 1, 1, 1, 1, 1, 3, 5, 3, 5,
1957 6, 5, 5, 5, 5, 4, 3, 3, 3, 3,
1958 3, 3, 3, 3, 3, 4, 4, 2, 2, 3,
1959 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1960 3, 3, 2, 2, 3, 3, 3, 3, 6, 1,
1961 1, 1, 2, 4, 2, 3, 1, 1, 1, 1,
1962 2, 4, 2, 1, 2, 2, 4, 1, 0, 2,
1963 2, 2, 1, 1, 2, 3, 4, 3, 4, 2,
1964 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
1965 0, 4, 0, 3, 3, 3, 2, 3, 3, 1,
1966 4, 3, 1, 4, 3, 2, 1, 2, 0, 4,
1967 6, 6, 0, 0, 7, 0, 0, 7, 5, 4,
1968 0, 0, 9, 0, 6, 0, 0, 8, 0, 5,
1969 0, 6, 0, 0, 9, 1, 1, 1, 1, 1,
1970 1, 1, 2, 1, 1, 1, 5, 1, 2, 1,
1971 1, 1, 3, 1, 3, 1, 4, 6, 3, 5,
1972 2, 4, 1, 3, 6, 8, 4, 6, 4, 2,
1973 6, 2, 4, 6, 2, 4, 2, 4, 1, 1,
1974 1, 3, 1, 4, 1, 4, 1, 3, 1, 1,
1975 4, 1, 3, 3, 0, 5, 2, 4, 5, 5,
1976 2, 4, 4, 3, 3, 3, 2, 1, 4, 0,
1977 5, 0, 5, 5, 1, 1, 6, 1, 1, 1,
1978 1, 2, 1, 2, 1, 1, 1, 1, 1, 1,
1979 1, 2, 3, 1, 2, 1, 0, 4, 1, 2,
1980 3, 2, 3, 1, 1, 1, 1, 2, 1, 2,
1981 2, 3, 1, 4, 2, 1, 1, 1, 1, 1,
1982 2, 2, 3, 1, 1, 2, 2, 1, 1, 1,
1983 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1984 1, 1, 1, 0, 4, 2, 3, 2, 6, 8,
1985 4, 6, 4, 6, 2, 4, 6, 2, 4, 2,
1986 4, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1987 3, 1, 3, 3, 3, 1, 3, 1, 3, 1,
1988 1, 2, 1, 1, 1, 2, 2, 1, 1, 0,
1989 4, 1, 2, 1, 3, 3, 2, 1, 1, 1,
1990 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1991 1, 0, 1, 2, 2, 0, 1, 1, 1, 1,
1998 static const yytype_uint16 yydefact[] =
2000 2, 0, 0, 1, 0, 0, 0, 0, 0, 268,
2001 0, 0, 529, 292, 295, 0, 315, 316, 317, 318,
2002 279, 248, 248, 455, 454, 456, 457, 531, 0, 10,
2003 0, 459, 458, 447, 519, 449, 448, 451, 450, 443,
2004 444, 409, 410, 460, 461, 0, 0, 0, 0, 272,
2005 544, 544, 78, 288, 0, 0, 0, 0, 0, 0,
2006 423, 0, 0, 0, 3, 529, 6, 9, 27, 39,
2007 42, 50, 49, 0, 66, 0, 70, 80, 0, 47,
2008 229, 0, 51, 286, 260, 261, 262, 263, 264, 407,
2009 406, 432, 408, 405, 453, 0, 265, 266, 248, 5,
2010 8, 315, 316, 279, 282, 387, 0, 102, 103, 0,
2011 0, 0, 0, 105, 0, 319, 0, 453, 266, 0,
2012 308, 156, 166, 157, 179, 153, 172, 162, 161, 182,
2013 183, 177, 160, 159, 155, 180, 184, 185, 164, 154,
2014 167, 171, 173, 165, 158, 174, 181, 176, 175, 168,
2015 178, 163, 152, 170, 169, 151, 149, 150, 146, 147,
2016 148, 107, 109, 108, 141, 142, 138, 120, 121, 122,
2017 129, 126, 128, 123, 124, 143, 144, 130, 131, 135,
2018 125, 127, 117, 118, 119, 132, 133, 134, 136, 137,
2019 139, 140, 145, 509, 310, 110, 111, 508, 0, 175,
2020 168, 178, 163, 146, 147, 107, 108, 0, 112, 114,
2021 20, 113, 0, 0, 48, 0, 0, 0, 453, 0,
2022 266, 0, 538, 540, 529, 0, 542, 539, 530, 0,
2023 0, 0, 330, 329, 0, 0, 453, 266, 0, 0,
2024 0, 0, 243, 230, 253, 64, 247, 544, 544, 513,
2025 65, 63, 531, 62, 0, 544, 386, 61, 531, 0,
2026 532, 18, 0, 0, 207, 0, 208, 276, 0, 0,
2027 0, 529, 15, 531, 68, 14, 270, 531, 0, 535,
2028 535, 231, 0, 0, 535, 511, 0, 0, 76, 0,
2029 86, 93, 482, 437, 436, 438, 439, 0, 435, 434,
2030 421, 416, 415, 418, 0, 413, 430, 0, 441, 0,
2031 411, 0, 419, 0, 445, 446, 46, 222, 223, 4,
2032 530, 0, 0, 0, 0, 0, 0, 0, 374, 376,
2033 0, 82, 0, 74, 71, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036 0, 0, 0, 544, 0, 528, 527, 0, 391, 389,
2037 287, 0, 0, 380, 55, 285, 305, 102, 103, 104,
2038 445, 446, 0, 463, 303, 462, 0, 544, 0, 0,
2039 0, 482, 312, 0, 115, 0, 544, 276, 321, 0,
2040 320, 0, 0, 544, 0, 0, 0, 0, 544, 0,
2041 0, 0, 543, 0, 0, 276, 0, 544, 0, 300,
2042 516, 254, 250, 0, 0, 244, 252, 0, 245, 531,
2043 0, 281, 249, 531, 239, 544, 544, 238, 531, 284,
2044 45, 0, 0, 0, 0, 0, 0, 17, 531, 274,
2045 13, 530, 67, 531, 273, 277, 537, 232, 536, 537,
2046 234, 278, 512, 92, 84, 0, 79, 0, 0, 544,
2047 0, 488, 485, 484, 483, 486, 0, 500, 504, 503,
2048 499, 482, 0, 371, 487, 489, 491, 544, 497, 544,
2049 502, 544, 0, 481, 440, 0, 0, 422, 414, 431,
2050 442, 412, 420, 0, 0, 7, 21, 22, 23, 24,
2051 25, 43, 44, 544, 0, 28, 37, 0, 38, 531,
2052 0, 72, 83, 41, 40, 0, 186, 253, 36, 204,
2053 212, 217, 218, 219, 214, 216, 226, 227, 220, 221,
2054 197, 198, 224, 225, 531, 213, 215, 209, 210, 211,
2055 199, 200, 201, 202, 203, 520, 525, 521, 526, 385,
2056 248, 383, 531, 520, 522, 521, 523, 384, 248, 520,
2057 521, 248, 544, 544, 29, 188, 35, 196, 53, 56,
2058 0, 465, 0, 0, 102, 103, 106, 0, 531, 544,
2059 0, 531, 482, 0, 0, 0, 0, 269, 544, 544,
2060 397, 544, 322, 186, 524, 521, 531, 520, 521, 544,
2061 428, 0, 541, 425, 426, 424, 0, 0, 299, 324,
2062 293, 323, 296, 524, 275, 531, 520, 521, 0, 515,
2063 0, 255, 251, 544, 514, 280, 533, 235, 240, 242,
2064 283, 19, 0, 26, 195, 69, 16, 271, 535, 85,
2065 77, 89, 91, 531, 520, 521, 0, 488, 0, 342,
2066 333, 335, 531, 331, 531, 0, 0, 289, 0, 474,
2067 507, 0, 477, 501, 0, 479, 505, 433, 0, 205,
2068 206, 362, 531, 0, 360, 359, 259, 0, 81, 75,
2069 0, 0, 0, 0, 0, 0, 382, 59, 0, 388,
2070 0, 0, 237, 381, 57, 236, 377, 52, 0, 0,
2071 0, 544, 306, 0, 0, 388, 309, 510, 531, 0,
2072 467, 313, 116, 398, 399, 544, 400, 0, 544, 327,
2073 0, 0, 325, 0, 0, 388, 0, 0, 0, 429,
2074 427, 298, 0, 0, 0, 0, 388, 0, 256, 246,
2075 544, 11, 233, 87, 493, 531, 0, 340, 0, 490,
2076 0, 364, 0, 0, 492, 544, 544, 506, 544, 498,
2077 544, 544, 417, 488, 531, 0, 544, 495, 544, 544,
2078 358, 0, 0, 257, 73, 187, 0, 34, 193, 33,
2079 194, 60, 534, 0, 31, 191, 32, 192, 58, 378,
2080 379, 0, 0, 189, 0, 0, 464, 304, 466, 311,
2081 482, 0, 0, 402, 328, 0, 12, 404, 0, 290,
2082 0, 291, 255, 544, 0, 0, 301, 241, 332, 343,
2083 0, 338, 334, 370, 0, 373, 372, 0, 470, 0,
2084 472, 0, 478, 0, 475, 480, 0, 0, 361, 349,
2085 351, 0, 354, 0, 356, 375, 258, 228, 30, 190,
2086 392, 390, 0, 0, 0, 0, 401, 0, 94, 101,
2087 0, 403, 0, 394, 395, 393, 294, 297, 0, 0,
2088 341, 0, 336, 368, 531, 366, 369, 544, 544, 544,
2089 544, 0, 494, 363, 544, 544, 544, 496, 544, 544,
2090 54, 307, 0, 100, 0, 544, 0, 544, 544, 0,
2091 339, 0, 0, 365, 471, 0, 468, 473, 476, 276,
2092 0, 0, 346, 0, 348, 355, 0, 352, 357, 314,
2093 524, 99, 531, 520, 521, 396, 326, 302, 337, 367,
2094 544, 524, 275, 544, 544, 544, 544, 388, 469, 347,
2095 0, 344, 350, 353, 544, 345
2099 static const yytype_int16 yydefgoto[] =
2101 -1, 1, 2, 64, 65, 66, 262, 395, 396, 271,
2102 272, 441, 68, 69, 215, 70, 71, 579, 711, 72,
2103 73, 273, 74, 75, 76, 466, 77, 216, 113, 114,
2104 208, 209, 210, 596, 195, 196, 79, 244, 278, 559,
2105 703, 433, 434, 253, 254, 246, 425, 435, 518, 80,
2106 212, 453, 277, 292, 229, 744, 230, 745, 628, 878,
2107 583, 580, 805, 389, 391, 595, 810, 265, 399, 620,
2108 731, 732, 235, 660, 661, 662, 774, 683, 684, 760,
2109 884, 885, 482, 667, 329, 513, 82, 83, 375, 573,
2110 572, 411, 875, 599, 725, 812, 816, 84, 85, 611,
2111 305, 496, 86, 87, 88, 612, 613, 614, 89, 90,
2112 91, 299, 92, 93, 218, 219, 96, 220, 384, 582,
2113 593, 594, 484, 485, 486, 487, 488, 777, 778, 489,
2114 490, 491, 492, 767, 669, 198, 390, 283, 436, 249,
2115 119, 587, 561, 367, 225, 430, 431, 699, 457, 400,
2121 #define YYPACT_NINF -745
2122 static const yytype_int16 yypact[] =
2124 -745, 109, 2594, -745, 7293, 9101, 9428, 5731, 6790, -745,
2125 8762, 8762, 5204, -745, -745, 9210, 7519, 7519, -745, -745,
2126 7519, 3298, 2863, -745, -745, -745, -745, -13, 6790, -745,
2127 1, -745, -745, 5862, 3008, -745, -745, 5993, -745, -745,
2128 -745, -745, -745, -745, -745, 8875, 8875, 94, 4515, 8762,
2129 7745, 8084, 7061, -745, 6504, 671, 707, 751, 771, 314,
2130 -745, 125, 8988, 8875, -745, 189, -745, 905, -745, 491,
2131 -745, -745, 124, 67, -745, 43, 9319, -745, 99, 2845,
2132 228, 271, 24, 76, -745, -745, -745, -745, -745, -745,
2133 -745, -745, -745, -745, 392, 86, -745, 436, 63, -745,
2134 -745, -745, -745, -745, 102, 123, 168, 328, 418, 8762,
2135 104, 4665, 283, -745, 160, -745, 278, -745, -745, 63,
2136 -745, -745, -745, -745, -745, -745, -745, -745, -745, -745,
2137 -745, -745, -745, -745, -745, -745, -745, -745, -745, -745,
2138 -745, -745, -745, -745, -745, -745, -745, -745, 56, 59,
2139 214, 234, -745, -745, -745, -745, -745, -745, 260, 274,
2140 -745, 292, -745, 295, -745, -745, -745, -745, -745, -745,
2141 -745, -745, -745, -745, -745, -745, -745, -745, -745, -745,
2142 -745, -745, -745, -745, -745, -745, -745, -745, -745, -745,
2143 -745, -745, -745, -745, -745, -745, -745, -745, 24, -745,
2144 -745, -745, -745, -745, -745, -745, -745, 6647, -745, -745,
2145 93, -745, 3682, 150, 491, 92, 218, 284, 49, 237,
2146 75, 92, -745, -745, 189, 332, -745, -745, 235, 8762,
2147 8762, 312, -745, -745, 304, 364, 88, 95, 8875, 8875,
2148 8875, 8875, -745, 2845, 300, -745, -745, 261, 266, -745,
2149 -745, -745, 5091, -745, 7519, 7519, -745, -745, 5339, 8762,
2150 -745, -745, 279, 4815, -745, 330, 370, 472, 7406, 4515,
2151 301, 189, 905, 308, 338, -745, 491, 308, 315, 19,
2152 145, -745, 300, 324, 145, -745, 421, 9537, 334, 354,
2153 373, 378, 745, -745, -745, -745, -745, 939, -745, -745,
2154 -745, -745, -745, -745, 696, -745, -745, 943, -745, 961,
2155 -745, 971, -745, 388, 409, 415, -745, -745, -745, -745,
2156 5452, 8762, 8762, 8762, 8762, 7406, 8762, 8762, -745, -745,
2157 8197, -745, 4515, 7177, 357, 8197, 8875, 8875, 8875, 8875,
2158 8875, 8875, 8875, 8875, 8875, 8875, 8875, 8875, 8875, 8875,
2159 8875, 8875, 8875, 8875, 8875, 8875, 8875, 8875, 8875, 8875,
2160 8875, 8875, 2206, 7519, 9814, -745, -745, 10750, -745, -745,
2161 -745, 8988, 8988, -745, 395, -745, 491, -745, 381, -745,
2162 -745, -745, 189, -745, -745, -745, 9892, 7519, 9970, 3682,
2163 8762, 875, -745, 441, -745, 503, 523, 91, -745, 3823,
2164 520, 8875, 10048, 7519, 10126, 8875, 8875, 4095, 802, 332,
2165 8310, 525, -745, 51, 51, 110, 10204, 7519, 10282, -745,
2166 -745, -745, -745, 8875, 7632, -745, -745, 7858, -745, 308,
2167 408, -745, -745, 308, -745, 424, 428, -745, 90, -745,
2168 -745, 6790, 4230, 442, 10048, 10126, 8875, 905, 308, -745,
2169 -745, 5584, 445, 308, -745, -745, 7971, -745, -745, 8084,
2170 -745, -745, -745, 381, 43, 9537, -745, 9537, 10360, 7519,
2171 10438, 446, -745, -745, -745, -745, 1004, -745, -745, -745,
2172 -745, 986, 58, -745, -745, -745, -745, 459, -745, 462,
2173 539, 478, 582, -745, -745, 567, 4815, -745, -745, -745,
2174 -745, -745, -745, 8875, 8875, -745, -745, -745, -745, -745,
2175 -745, -745, -745, 55, 8875, -745, 490, 494, -745, 308,
2176 9537, 499, -745, -745, -745, 533, 1174, -745, -745, 370,
2177 1773, 1773, 1773, 1773, 837, 837, 1845, 2028, 1773, 1773,
2178 2990, 2990, 558, 558, 2700, 837, 837, 752, 752, 812,
2179 385, 385, 370, 370, 370, 3443, 6242, 3532, 6360, -745,
2180 123, -745, 308, 580, -745, 584, -745, -745, 3153, -745,
2181 -745, 1199, 55, 55, -745, 1283, -745, 2845, -745, -745,
2182 189, -745, 8762, 3682, 579, 48, -745, 123, 308, 123,
2183 637, 90, 986, 3682, 189, 6933, 6790, -745, 8423, 634,
2184 -745, 563, -745, 2099, 6124, 2718, 308, 412, 432, 634,
2185 -745, 853, -745, 802, -745, -745, 642, 79, -745, -745,
2186 -745, -745, -745, 139, 219, 308, 120, 128, 8762, -745,
2187 8875, 300, -745, 266, -745, -745, -745, -745, 7632, 7858,
2188 -745, -745, 512, -745, 2845, 30, 905, -745, 145, 357,
2189 -745, 579, 48, 308, 35, 45, 8875, -745, 1004, 647,
2190 -745, 510, 308, -745, 308, 4956, 4815, -745, 986, -745,
2191 -745, 986, -745, -745, 1095, -745, -745, -745, 514, 370,
2192 370, -745, 734, 4956, -745, -745, 517, 8536, -745, -745,
2193 9537, 8988, 8875, 547, 8988, 8988, -745, 395, 516, 598,
2194 8988, 8988, -745, -745, 395, -745, 76, 124, 4956, 4815,
2195 8875, 55, -745, 189, 658, -745, -745, -745, 308, 659,
2196 -745, -745, -745, 490, -745, 585, -745, 4380, 662, -745,
2197 8762, 663, -745, 8875, 8875, 454, 8875, 8875, 675, -745,
2198 -745, -745, 8649, 3959, 4956, 4956, 147, 51, -745, -745,
2199 542, -745, -745, 348, -745, 308, 1135, 545, 1076, -745,
2200 543, 550, 702, 565, -745, 569, 571, -745, 573, -745,
2201 574, 573, -745, 607, 308, 611, 587, -745, 593, 594,
2202 -745, 730, 8875, 599, -745, 2845, 8875, -745, 2845, -745,
2203 2845, -745, -745, 8988, -745, 2845, -745, 2845, -745, -745,
2204 -745, 735, 603, 2845, 4815, 3682, -745, -745, -745, -745,
2205 875, 9646, 92, -745, -745, 4956, -745, -745, 92, -745,
2206 8875, -745, -745, 196, 737, 740, -745, 7858, -745, 610,
2207 1135, 795, -745, -745, 1088, -745, -745, 986, -745, 1095,
2208 -745, 1095, -745, 1095, -745, -745, 9755, 633, -745, 1215,
2209 -745, 1215, -745, 1095, -745, -745, 612, 2845, -745, 2845,
2210 -745, -745, 621, 755, 3682, 712, -745, 396, 373, 378,
2211 3682, -745, 3823, -745, -745, -745, -745, -745, 4956, 1135,
2212 610, 1135, 629, -745, 333, -745, -745, 573, 631, 573,
2213 573, 723, 410, -745, 635, 639, 573, -745, 648, 573,
2214 -745, -745, 776, 381, 10516, 7519, 10594, 523, 563, 784,
2215 610, 1135, 1088, -745, -745, 1095, -745, -745, -745, -745,
2216 10672, 1215, -745, 1095, -745, -745, 1095, -745, -745, -745,
2217 113, 48, 308, 129, 138, -745, -745, -745, 610, -745,
2218 573, 656, 660, 573, 667, 573, 573, 185, -745, -745,
2219 1095, -745, -745, -745, 573, -745
2223 static const yytype_int16 yypgoto[] =
2225 -745, -745, -745, 375, -745, 32, -745, -350, 285, -745,
2226 61, -745, -318, -3, 22, -59, -745, -582, -745, -5,
2227 797, -146, 28, -63, -236, -424, -27, 1718, -79, 814,
2228 7, -12, -745, -745, -248, -745, 1213, 681, -745, 5,
2229 253, -323, 101, 77, -745, -403, -243, 21, -283, 14,
2230 -745, -745, -745, -745, -745, -745, -745, -745, -745, -745,
2231 -745, -745, -745, -745, -745, -745, -745, 288, -217, -359,
2232 -81, -537, -745, -672, -673, 170, -745, -443, -745, -603,
2233 -745, -83, -745, -745, 133, -745, -745, -745, -82, -745,
2234 -745, -391, -745, -76, -745, -745, -745, -745, -745, 1009,
2235 -216, -745, -745, -745, -745, -745, -745, 232, -745, -745,
2236 2, -745, -745, -745, 1319, 1671, 840, 1691, -745, -745,
2237 42, -264, -734, -165, -567, 148, -618, -744, 4, 188,
2238 -745, -141, -745, -260, 1306, -745, -745, -745, 6, -382,
2239 793, -320, -745, 665, 10, -25, -223, -521, -211, -6,
2246 #define YYTABLE_NINF -545
2247 static const yytype_int16 yytable[] =
2249 99, 370, 259, 316, 407, 428, 226, 214, 214, 214,
2250 211, 242, 242, 334, 194, 242, 261, 523, 616, 115,
2251 115, 632, 248, 248, 632, 288, 248, 256, 483, 115,
2252 211, 379, 493, 221, 224, 439, 100, 247, 247, 590,
2253 562, 247, 560, 650, 568, 634, 276, 571, 281, 285,
2254 452, 465, 528, 769, 454, 622, 280, 284, 227, 226,
2255 -88, 298, 728, 67, 588, 67, 115, 715, 589, 460,
2256 -90, 279, 738, 462, 320, 319, 274, 634, 619, 775,
2257 606, 495, 560, 829, 568, 735, 832, 665, 498, 368,
2258 115, 498, 398, 498, 625, 498, 689, 498, 589, 257,
2259 886, 764, 368, 373, 746, 398, 376, 897, 385, 3,
2260 256, 227, 365, -94, 558, 791, 566, 245, 250, 566,
2261 -101, 251, 798, 448, 373, 589, -97, 326, 327, 708,
2262 709, 493, 753, 258, 681, -100, -275, 223, 558, -452,
2263 566, 263, -96, -67, -455, -96, 653, -454, -88, 267,
2264 589, -98, 328, -98, 558, 377, 566, 880, -90, 378,
2265 227, 382, -94, 456, -97, 406, 666, 366, 558, 223,
2266 566, 847, -95, 682, -81, 374, 371, 897, 886, -88,
2267 330, 446, -88, 314, 315, -88, 519, 331, -101, -90,
2268 -275, -275, -90, 428, -521, -90, 558, 566, -95, -455,
2269 222, 223, -454, 369, -100, 397, 635, 832, 910, 255,
2270 637, 727, 335, 410, 298, 640, 369, 664, 226, 769,
2271 558, 493, 566, 742, 464, 645, 214, 214, 222, 223,
2272 647, 465, -86, 714, 409, 632, 632, 394, 938, -93,
2273 223, 222, 223, 719, -99, 426, 426, 242, 252, 242,
2274 242, 413, 414, 437, -92, 438, 440, 634, 248, -520,
2275 248, 227, -97, -97, -88, 226, 784, 227, 804, 255,
2276 227, 515, -90, 247, 764, 247, 524, 383, -96, -96,
2277 451, 450, 764, -89, 465, -520, 873, -98, -98, 459,
2278 81, -87, 81, 116, 116, 223, 688, 274, 217, 217,
2279 217, 115, -456, 234, 217, 217, 521, 586, 217, 222,
2280 223, 663, 574, 576, 258, 724, -319, 227, 214, 214,
2281 214, 214, -457, 511, 512, 458, 458, 405, 718, 447,
2282 458, 401, 493, 270, -95, -95, 81, 217, 222, 223,
2283 289, 380, 381, 506, 507, 508, 509, 115, -459, 410,
2284 217, 517, 505, 429, -517, 432, 517, -456, 242, 362,
2285 274, 437, -458, -91, 289, -521, 386, 415, 717, 567,
2286 -319, -319, 402, 523, -388, 312, 581, -457, 301, 302,
2287 -447, 67, 242, -451, 412, 437, 510, 591, 826, 419,
2288 749, 423, 416, 567, 600, 498, 270, 217, 242, 81,
2289 743, 437, 649, -459, 464, 424, 615, 621, 621, 567,
2290 427, 947, 242, 363, 364, 437, -447, -458, 444, 442,
2291 387, 388, 780, 567, 632, 303, 403, 404, 227, 641,
2292 633, 617, 874, 426, 426, -447, -388, 752, -451, 759,
2293 99, 336, 468, 211, -518, 634, 417, 418, 449, 502,
2294 567, -66, 301, 302, 465, 863, 336, 464, 223, 227,
2295 227, -453, 648, 455, 242, 461, -266, 437, -517, -276,
2296 -447, -447, 403, 445, -517, 567, 463, 912, 467, 115,
2297 503, 115, -452, 223, 904, 670, 504, 670, -388, 670,
2298 -388, -388, 578, 663, 757, 808, 469, 470, 920, 303,
2299 81, 522, 736, 67, 494, -94, -451, 749, 359, 360,
2300 361, 685, 646, 597, 902, -453, -453, 217, 217, 693,
2301 -266, -266, 737, -276, -276, -96, 372, 766, 326, 327,
2302 770, 598, 828, 602, 115, 618, -86, 698, 905, 906,
2303 217, 779, 217, 217, 820, -98, 217, 217, 443, -101,
2304 493, 81, 387, 388, 270, 636, 81, 81, -518, 656,
2305 -451, -451, 446, 698, -518, 696, 705, -95, 638, 705,
2306 685, 685, 639, 702, 712, 289, 702, 730, 727, 214,
2307 -93, 698, 932, 643, 722, -100, 589, 705, 720, -81,
2308 673, 663, 696, 663, 702, 870, 726, 729, 211, 729,
2309 698, 872, 721, 668, 713, -524, 671, 729, 81, 217,
2310 217, 217, 217, 81, 217, 217, -92, 270, 217, 517,
2311 81, 289, 674, 217, 799, 214, 227, 464, 698, 336,
2312 677, 426, 524, 676, -253, 787, 789, 697, 687, 761,
2313 227, 794, 796, 690, 750, 704, 691, 716, 707, 727,
2314 747, 217, 741, 751, 758, 772, 558, 761, 566, 217,
2315 217, -254, 786, 227, 792, 663, 882, -524, 807, 809,
2316 700, 815, 558, 819, 701, 217, 811, 81, 217, 357,
2317 358, 359, 360, 361, 601, 821, 827, 81, 793, 830,
2318 833, 217, 609, -96, 458, 81, 888, -98, 657, 834,
2319 472, 473, 474, 475, 115, 217, 836, 806, 895, 685,
2320 898, -95, 835, 837, 663, 839, 663, 841, 843, -524,
2321 846, -524, -524, 813, -88, -520, 817, 214, -90, 848,
2322 81, 849, 282, 300, 858, 301, 302, 851, 853, 81,
2323 855, 621, -87, -255, 861, 860, 663, 876, 426, 761,
2324 877, 893, 818, 289, 879, 289, -256, 217, 497, 227,
2325 301, 302, 900, 670, 670, 901, 670, 903, 670, 670,
2326 306, 301, 302, 911, 670, 915, 670, 670, 919, 921,
2327 944, 678, 303, 923, 81, 773, 929, 472, 473, 474,
2328 475, 756, 926, 227, 937, 98, 471, 98, 472, 473,
2329 474, 475, -520, 98, 98, 98, -521, 303, 289, 98,
2330 98, 950, 232, 98, 308, 301, 302, 642, 303, 768,
2331 120, 729, 771, 336, 706, 115, 476, 936, 755, 939,
2332 776, 935, 477, 478, 310, 301, 302, 476, 349, 350,
2333 800, 98, 98, 477, 478, 740, 657, 197, 472, 473,
2334 474, 475, 864, 894, 479, 98, 765, 480, 227, 913,
2335 115, 0, 303, 392, 227, 479, 301, 302, 480, 0,
2336 217, 81, 356, 357, 358, 359, 360, 361, 0, 0,
2337 0, 81, 303, 336, 223, 670, 670, 670, 670, 0,
2338 0, 481, 670, 670, 670, 0, 670, 670, 349, 350,
2339 242, 0, 98, 437, 98, 600, 729, 698, 336, 0,
2340 0, 567, 610, 303, 0, 0, 217, 301, 302, 420,
2341 421, 422, 0, 349, 350, 0, 471, 0, 472, 473,
2342 474, 475, 0, 357, 358, 359, 360, 361, 670, 881,
2343 0, 670, 670, 670, 670, 321, 322, 323, 324, 325,
2344 762, 763, 670, 81, 81, 354, 355, 356, 357, 358,
2345 359, 360, 361, 739, 303, 0, 0, 476, 781, 0,
2346 0, 81, 0, 477, 478, 0, 0, 0, 289, 217,
2347 0, 0, 217, 217, 0, 887, 0, 889, 217, 217,
2348 0, 890, 0, 801, 802, 479, 81, 81, 480, 896,
2349 0, 899, 494, 301, 302, 98, 499, 301, 302, 0,
2350 0, 516, 814, 0, 0, 81, 527, 0, 217, 0,
2351 0, 592, 98, 98, 500, 301, 302, 0, 823, 824,
2352 825, 81, 81, 81, 501, 301, 302, 471, 0, 472,
2353 473, 474, 475, 0, 0, 98, 0, 98, 98, 0,
2354 303, 98, 98, 0, 303, 657, 98, 472, 473, 474,
2355 475, 98, 98, 940, 304, 307, 309, 311, 313, 943,
2356 0, 945, 303, 0, 946, 0, 0, 0, 476, 0,
2357 0, 217, 303, 0, 477, 478, 0, 0, 0, 862,
2358 0, 527, 81, 81, 0, 0, 658, 0, 954, 867,
2359 871, 0, 659, 81, 629, 631, 479, 0, 282, 480,
2360 0, 0, 0, 98, 98, 98, 98, 98, 98, 98,
2361 98, 0, 0, 98, 0, 98, 0, 657, 98, 472,
2362 473, 474, 475, 0, 892, 0, 0, 631, 0, 883,
2363 282, 472, 473, 474, 475, 0, 657, 0, 472, 473,
2364 474, 475, 81, 0, 0, 907, 98, 908, 81, 0,
2365 81, 0, 0, 909, 98, 98, 81, 0, 658, 0,
2366 0, 0, 0, 0, 831, 0, 0, 0, 0, 0,
2367 98, 0, 98, 98, 0, 0, 657, 476, 472, 473,
2368 474, 475, 98, 217, 478, 686, 98, 0, 0, -544,
2369 98, 0, 0, 0, 0, 0, 0, -544, -544, -544,
2370 98, 0, -544, -544, -544, 479, -544, 0, 692, 0,
2371 0, 0, 0, 0, 0, -544, -544, 658, 0, 243,
2372 243, 0, 0, 243, 0, 98, -544, -544, 0, -544,
2373 -544, -544, -544, -544, 98, 336, 337, 338, 339, 340,
2374 341, 342, 343, 344, 345, 346, 347, 348, 264, 266,
2375 349, 350, 98, 243, 243, 0, 773, 0, 472, 473,
2376 474, 475, 0, 0, 0, 317, 318, 0, 0, 723,
2377 0, 0, 0, 0, 0, 0, 0, -544, 351, 98,
2378 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
2379 0, 0, 0, 0, 0, 0, 0, 476, 0, 0,
2380 0, 748, 0, 477, 478, 0, 0, 0, -230, 631,
2381 282, 94, 0, 94, 117, 117, 117, 710, 0, 0,
2382 0, 0, 0, 0, 236, 479, 0, 754, 480, -544,
2383 -544, 0, -544, 0, 0, 255, -544, 0, -544, -544,
2384 0, 0, 0, 0, 336, 337, 338, 339, 340, 341,
2385 342, 343, 344, 345, 346, 347, 348, 94, 783, 349,
2386 350, 290, 0, 0, 0, 98, 98, 0, 0, 0,
2387 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
2388 0, 0, 0, 0, 0, 290, 0, 351, 0, 352,
2389 353, 354, 355, 356, 357, 358, 359, 360, 361, 0,
2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2391 0, 98, 0, 822, 0, 0, 0, 0, 0, 0,
2392 94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2394 0, 243, 243, 243, 317, 0, 0, 0, 98, 98,
2395 0, 0, 0, 856, 0, 243, 0, 243, 243, 0,
2396 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
2397 0, 0, 0, 0, 98, 0, 0, 98, 98, 0,
2398 0, 0, 0, 98, 98, 0, 0, 0, 0, 0,
2399 0, 98, 98, 0, 0, 0, 0, 0, 282, 0,
2400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2401 98, 0, 0, 98, 0, 0, 0, 0, 0, 0,
2402 0, 94, 0, 0, 0, 0, 98, 98, 98, 0,
2403 0, 0, 0, 243, 0, 0, 0, 0, 526, 529,
2404 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
2405 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2406 550, 551, 552, 553, 554, 0, 243, 0, 0, 0,
2407 0, 0, 94, 0, 575, 577, 98, 94, 94, 0,
2408 0, 0, 0, 0, 0, 0, 0, 98, 98, 0,
2409 243, 0, 0, 0, 0, 0, 290, 0, 98, 0,
2410 0, 0, 0, 0, 603, 0, 243, 0, 575, 577,
2411 0, 0, 0, 243, 0, 0, 0, 0, 0, 0,
2412 243, 0, 0, 0, 0, 0, 243, 243, 0, 94,
2413 243, 0, 0, 0, 94, 0, 0, 0, 0, 0,
2414 0, 94, 290, 0, 0, 0, 0, 98, 0, 644,
2415 0, 0, 0, 98, 0, 98, 0, 0, 0, 243,
2416 0, 98, 243, 95, 0, 95, 0, 0, 0, 0,
2417 0, 0, 243, 0, 0, 0, 0, 0, 0, 0,
2418 0, 0, 0, 97, 0, 97, 118, 118, 98, 0,
2419 0, 0, 0, 0, 0, 0, 237, 0, 94, 0,
2420 0, 0, 0, 0, 0, 0, 679, 680, 94, 95,
2421 78, 0, 78, 0, 0, 0, 94, 243, 0, 0,
2422 0, 0, 0, 233, 0, 0, 0, 0, 0, 97,
2423 0, 0, 0, 291, 0, 0, 0, 0, 0, 0,
2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2425 0, 94, 0, 0, 0, 0, 78, 291, 0, 0,
2426 94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2427 0, 0, 95, 0, 290, 0, 290, 0, 0, 0,
2428 0, 0, 0, 0, 0, 672, 0, 675, 0, 0,
2429 0, 0, 97, 0, 0, 0, 0, 0, 0, 0,
2430 0, 243, 0, 0, 0, 94, 0, 0, 0, 0,
2431 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
2432 0, 0, 0, 0, 0, 0, 0, 0, 0, 290,
2433 0, 0, 0, 243, 336, -545, -545, -545, -545, 341,
2434 342, 243, 243, -545, -545, 0, 0, 0, 0, 349,
2435 350, 0, 0, 0, 0, 0, 0, 0, 0, 243,
2436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2437 0, 0, 0, 95, 0, 0, 0, 0, 0, 352,
2438 353, 354, 355, 356, 357, 358, 359, 360, 361, 0,
2439 243, 0, 94, 97, 603, 785, 0, 788, 790, 0,
2440 0, 0, 94, 795, 797, 0, 336, 337, 338, 339,
2441 340, 341, 342, 803, 0, 345, 346, 0, 0, 0,
2442 78, 349, 350, 0, 95, 0, 0, 0, 0, 95,
2443 95, 0, 0, 0, 0, 0, 788, 790, 0, 795,
2444 797, 0, 0, 0, 97, 243, 0, 0, 0, 97,
2445 97, 352, 353, 354, 355, 356, 357, 358, 359, 360,
2446 361, 0, 0, 0, 0, 0, 0, 0, 291, 0,
2447 0, 78, 0, 0, 94, 94, 78, 78, 0, 0,
2448 0, 95, 0, 0, 0, 243, 95, 0, 0, 857,
2449 0, 0, 94, 95, 0, 0, 859, 0, 0, 290,
2450 0, 97, 0, 0, 0, 0, 97, 0, 0, 0,
2451 0, 0, 0, 97, 291, 0, 0, 94, 94, 0,
2452 0, 0, 0, 859, 0, 0, 0, 0, 78, 0,
2453 243, 0, 0, 78, 0, 0, 94, 0, 0, 0,
2454 78, 0, 0, 525, 0, 0, 0, 0, 0, 0,
2455 95, 0, 94, 94, 94, 0, 0, 0, 0, 0,
2456 95, 838, 840, 0, 842, 0, 844, 845, 95, 0,
2457 97, 0, 850, 0, 852, 854, 0, 0, 0, 0,
2458 97, 0, 0, 0, 0, 0, 0, 0, 97, 336,
2459 337, 338, 339, 340, 341, 342, 343, 78, 345, 346,
2460 0, 0, 0, 95, 349, 350, 0, 78, 243, 0,
2461 0, 0, 95, 94, 94, 78, 0, 0, 0, 0,
2462 868, 0, 0, 97, 94, 0, 0, 0, 0, 0,
2463 0, 0, 97, 692, 352, 353, 354, 355, 356, 357,
2464 358, 359, 360, 361, 0, 0, 291, 0, 291, 0,
2465 78, 0, 0, 0, 0, 117, 0, 95, 0, 78,
2466 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
2467 346, 347, 348, 94, 0, 349, 350, 97, 0, 94,
2468 0, 94, 0, 914, 916, 917, 918, 94, 0, 0,
2469 922, 924, 925, 0, 927, 928, 0, 0, 0, 0,
2470 0, 291, 0, 351, 78, 352, 353, 354, 355, 356,
2471 357, 358, 359, 360, 361, 0, 0, 0, 0, 0,
2472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2473 0, 0, 0, 0, 0, 0, 948, 0, 0, 949,
2474 951, 952, 953, 0, 95, 0, 0, 555, 556, 0,
2475 955, 557, 0, 0, 95, 0, 0, 0, 0, 0,
2476 0, 0, 0, 0, 97, 164, 165, 166, 167, 168,
2477 169, 170, 171, 172, 97, 0, 173, 174, 0, 0,
2478 175, 176, 177, 178, 0, 0, 0, 0, 0, 0,
2479 0, 78, 0, 0, 179, 0, 0, 0, 0, 0,
2480 0, 78, 0, 0, 0, 0, 0, 0, 0, 0,
2481 0, 0, 180, 181, 182, 183, 184, 185, 186, 187,
2482 188, 189, 0, 190, 191, 0, 95, 95, 0, 0,
2483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2484 0, 192, 255, 0, 95, 0, 97, 97, 0, 0,
2485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2486 0, 0, 0, 0, 97, 0, 0, 0, 0, 95,
2487 95, 291, 0, 78, 78, 0, 0, 0, 0, 0,
2488 0, 0, 0, 0, 0, 0, 0, 0, 95, 97,
2489 97, 78, 0, 0, 0, 0, 0, 0, 0, 525,
2490 0, 0, 0, 0, 95, 95, 95, 0, 97, 0,
2491 0, 0, 0, 0, 0, 0, 78, 78, 0, 0,
2492 0, 0, 0, 0, 97, 97, 97, 0, 0, 0,
2493 0, 0, 0, 0, 0, 78, 0, 0, 0, 0,
2494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2495 0, 78, 78, 78, 0, 0, 0, 0, 0, 0,
2496 0, 0, 0, 0, 0, 95, 95, 0, 0, 0,
2497 0, 0, 0, 0, 0, 0, 95, 0, 0, 0,
2498 0, 0, 0, 0, 0, 97, 97, 0, 0, 0,
2499 0, 0, 869, 0, 0, 0, 97, 0, 0, 0,
2500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2501 0, 0, 78, 78, 0, 0, 0, 0, 0, 866,
2502 0, 0, 0, 78, 0, 95, 0, 118, 0, 0,
2503 0, 95, 0, 95, 0, 0, 0, 0, 0, 95,
2504 0, 0, 0, 0, 0, 97, 0, 0, 0, 0,
2505 0, 97, 0, 97, 0, 0, 0, 0, 0, 97,
2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2507 0, 0, 78, 0, 0, 0, 0, 0, 78, 0,
2508 78, 0, 0, 0, -544, 4, 78, 5, 6, 7,
2509 8, 9, 0, 0, 0, 10, 11, 0, 0, 0,
2510 12, 0, 13, 14, 15, 16, 17, 18, 19, 0,
2511 0, 0, 0, 0, 20, 21, 22, 23, 24, 25,
2512 26, 0, 0, 27, 0, 0, 0, 0, 0, 28,
2513 29, 30, 31, 32, 0, 33, 34, 35, 36, 37,
2514 38, 0, 39, 40, 41, 0, 0, 42, 0, 0,
2515 43, 44, 0, 45, 46, 0, 0, 0, 0, 0,
2516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2517 0, 0, 0, 47, 0, 0, 48, 49, 0, 50,
2518 51, 0, 52, 0, 53, 54, 55, 56, 57, 58,
2519 59, 0, 0, 60, 0, 0, 0, 0, 0, 0,
2520 0, 0, 0, 0, 0, 0, 0, 0, -275, 0,
2521 61, 62, 63, 0, 0, 0, -275, -275, -275, 0,
2522 0, -275, -275, -275, 0, -275, 0, 0, 0, 0,
2523 0, 0, 0, -544, -544, -275, -275, -275, 0, 0,
2524 0, 0, 0, 0, 0, -275, -275, 0, -275, -275,
2525 -275, -275, -275, 0, 0, 0, 0, 0, 0, 0,
2526 0, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2527 345, 346, 347, 348, 0, 0, 349, 350, 0, -275,
2528 -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
2529 -275, -275, 0, 0, -275, -275, -275, 0, 734, -275,
2530 0, 0, 0, 0, 351, -275, 352, 353, 354, 355,
2531 356, 357, 358, 359, 360, 361, -275, 0, 0, 0,
2532 0, -99, -275, -275, -275, -275, -275, -275, -275, -275,
2533 -275, -275, -275, -275, 0, 0, 0, 0, 0, 0,
2534 223, 0, 0, 0, 0, 0, 0, 0, 0, -275,
2535 -275, -275, -275, -387, 0, -275, -275, -275, -275, 0,
2536 0, -387, -387, -387, 0, 0, -387, -387, -387, 0,
2537 -387, 0, 0, 0, 0, 0, 0, 0, 0, -387,
2538 -387, -387, 0, 0, 0, 0, 0, 0, 0, 0,
2539 -387, -387, 0, -387, -387, -387, -387, -387, 0, 0,
2540 0, 0, 0, 0, 0, 0, 336, 337, 338, 339,
2541 340, 341, 342, 343, 344, 345, 346, 347, 348, 0,
2542 0, 349, 350, 0, -387, -387, -387, -387, -387, -387,
2543 -387, -387, -387, -387, -387, -387, -387, 0, 0, -387,
2544 -387, -387, 0, 0, -387, 0, 0, 0, 0, 351,
2545 -387, 352, 353, 354, 355, 356, 357, 358, 359, 360,
2546 361, 0, 0, 0, 0, 0, 0, -387, 0, -387,
2547 -387, -387, -387, -387, -387, -387, -387, -387, -387, 0,
2548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2549 0, 0, 0, -387, -387, -387, -387, -387, -267, 255,
2550 -387, -387, -387, -387, 0, 0, -267, -267, -267, 0,
2551 0, -267, -267, -267, 0, -267, 0, 0, 0, 0,
2552 0, 0, 0, 0, 0, -267, -267, -267, 0, 0,
2553 0, 0, 0, 0, 0, -267, -267, 0, -267, -267,
2554 -267, -267, -267, 0, 0, 0, 0, 0, 0, 0,
2555 0, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2556 345, 346, -545, -545, 0, 0, 349, 350, 0, -267,
2557 -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
2558 -267, -267, 0, 0, -267, -267, -267, 0, 0, -267,
2559 0, 0, 0, 0, 0, -267, 352, 353, 354, 355,
2560 356, 357, 358, 359, 360, 361, -267, 0, 0, 0,
2561 0, 0, -267, -267, -267, -267, -267, -267, -267, -267,
2562 -267, -267, -267, -267, 0, 0, 0, 0, 0, 0,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, -267,
2564 -267, -267, -267, -544, 0, -267, -267, -267, -267, 0,
2565 0, -544, -544, -544, 0, 0, -544, -544, -544, 0,
2566 -544, 0, 0, 0, 0, 0, 0, 0, 0, -544,
2567 -544, -544, 0, 0, 0, 0, 0, 0, 0, 0,
2568 -544, -544, 0, -544, -544, -544, -544, -544, 0, 0,
2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2571 0, 0, 0, 0, -544, -544, -544, -544, -544, -544,
2572 -544, -544, -544, -544, -544, -544, -544, 0, 0, -544,
2573 -544, -544, 0, 0, -544, 0, 0, 0, 0, 0,
2574 -544, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, -544, 0, -544,
2576 -544, -544, -544, -544, -544, -544, -544, -544, -544, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, -544, -544, -544, -544, -544, -282, 255,
2579 -544, -544, -544, -544, 0, 0, -282, -282, -282, 0,
2580 0, -282, -282, -282, 0, -282, 0, 0, 0, 0,
2581 0, 0, 0, 0, 0, -282, -282, 0, 0, 0,
2582 0, 0, 0, 0, 0, -282, -282, 0, -282, -282,
2583 -282, -282, -282, 0, 0, 0, 0, 0, 0, 0,
2584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2585 0, 0, 0, 0, 0, 0, 0, 0, 0, -282,
2586 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2587 -282, -282, 0, 0, -282, -282, -282, 0, 0, -282,
2588 0, 0, 0, 0, 0, -282, 0, 0, 0, 0,
2589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2590 0, 0, -282, 0, -282, -282, -282, -282, -282, -282,
2591 -282, -282, -282, -282, 0, 0, 0, 0, 0, 0,
2592 0, 0, 0, 0, 0, 0, 0, 0, 0, -282,
2593 -282, -282, -282, -524, 252, -282, -282, -282, -282, 0,
2594 0, -524, -524, -524, 0, 0, 0, -524, -524, 0,
2595 -524, 0, 0, 0, 0, 0, 0, 0, 0, -524,
2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2597 -524, -524, 0, -524, -524, -524, -524, -524, 0, 0,
2598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, -524, -524, -524, -524, -524, -524,
2601 -524, -524, -524, -524, -524, -524, -524, 0, 0, -524,
2602 -524, -524, -275, 694, 0, 0, 0, 0, 0, 0,
2603 -275, -275, -275, 0, 0, 0, -275, -275, 0, -275,
2604 0, 0, 0, 0, 0, 0, -97, -524, 0, -524,
2605 -524, -524, -524, -524, -524, -524, -524, -524, -524, -275,
2606 -275, 0, -275, -275, -275, -275, -275, 0, 0, 0,
2607 0, 0, 0, -524, -524, -524, -524, -89, 0, 0,
2608 -524, 0, -524, -524, 0, 0, 0, 0, 0, 0,
2609 0, 0, 0, -275, -275, -275, -275, -275, -275, -275,
2610 -275, -275, -275, -275, -275, -275, 0, 0, -275, -275,
2611 -275, 0, 695, 0, 0, 0, 0, 0, 0, 0,
2612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2613 0, 0, 0, 0, 0, -99, -275, 0, -275, -275,
2614 -275, -275, -275, -275, -275, -275, -275, -275, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2616 0, 0, 0, -275, -275, -275, -91, 0, 0, -275,
2617 0, -275, -275, 268, 0, 5, 6, 7, 8, 9,
2618 -544, -544, -544, 10, 11, 0, 0, -544, 12, 0,
2619 13, 14, 15, 16, 17, 18, 19, 0, 0, 0,
2620 0, 0, 20, 21, 22, 23, 24, 25, 26, 0,
2621 0, 27, 0, 0, 0, 0, 0, 28, 0, 30,
2622 31, 32, 0, 33, 34, 35, 36, 37, 38, 0,
2623 39, 40, 41, 0, 0, 42, 0, 0, 43, 44,
2624 0, 45, 46, 0, 0, 0, 0, 0, 0, 0,
2625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626 0, 47, 0, 0, 48, 49, 0, 50, 51, 0,
2627 52, 0, 53, 54, 55, 56, 57, 58, 59, 0,
2628 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 0, 0, 0, 61, 62,
2630 63, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 0, 0, 268, 0, 5, 6, 7, 8,
2632 9, -544, -544, -544, 10, 11, 0, -544, -544, 12,
2633 0, 13, 14, 15, 16, 17, 18, 19, 0, 0,
2634 0, 0, 0, 20, 21, 22, 23, 24, 25, 26,
2635 0, 0, 27, 0, 0, 0, 0, 0, 28, 0,
2636 30, 31, 32, 0, 33, 34, 35, 36, 37, 38,
2637 0, 39, 40, 41, 0, 0, 42, 0, 0, 43,
2638 44, 0, 45, 46, 0, 0, 0, 0, 0, 0,
2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640 0, 0, 47, 0, 0, 48, 49, 0, 50, 51,
2641 0, 52, 0, 53, 54, 55, 56, 57, 58, 59,
2642 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
2643 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,
2644 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
2645 268, 0, 5, 6, 7, 8, 9, 0, 0, -544,
2646 10, 11, -544, -544, -544, 12, -544, 13, 14, 15,
2647 16, 17, 18, 19, 0, 0, 0, 0, 0, 20,
2648 21, 22, 23, 24, 25, 26, 0, 0, 27, 0,
2649 0, 0, 0, 0, 28, 0, 30, 31, 32, 0,
2650 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
2651 0, 0, 42, 0, 0, 43, 44, 0, 45, 46,
2652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2653 0, 0, 0, 0, 0, 0, 0, 0, 47, 0,
2654 0, 48, 49, 0, 50, 51, 0, 52, 0, 53,
2655 54, 55, 56, 57, 58, 59, 0, 0, 60, 0,
2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2657 0, 0, 0, 0, 0, 61, 62, 63, 0, 0,
2658 0, 0, 0, 0, 0, 0, 268, 0, 5, 6,
2659 7, 8, 9, 0, 0, -544, 10, 11, -544, -544,
2660 -544, 12, 0, 13, 14, 15, 16, 17, 18, 19,
2661 0, 0, 0, 0, 0, 20, 21, 22, 23, 24,
2662 25, 26, 0, 0, 27, 0, 0, 0, 0, 0,
2663 28, 0, 30, 31, 32, 0, 33, 34, 35, 36,
2664 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
2665 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 47, 0, 0, 48, 49, 0,
2668 50, 51, 0, 52, 0, 53, 54, 55, 56, 57,
2669 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 61, 62, 63, 0, 0, 0, 0, 0, 0,
2672 0, 4, 0, 5, 6, 7, 8, 9, 0, 0,
2673 0, 10, 11, 0, -544, -544, 12, 0, 13, 14,
2674 15, 16, 17, 18, 19, 0, 0, 0, 0, 0,
2675 20, 21, 22, 23, 24, 25, 26, 0, 0, 27,
2676 0, 0, 0, 0, 0, 28, 29, 30, 31, 32,
2677 0, 33, 34, 35, 36, 37, 38, 0, 39, 40,
2678 41, 0, 0, 42, 0, 0, 43, 44, 0, 45,
2679 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,
2681 0, 0, 48, 49, 0, 50, 51, 0, 52, 0,
2682 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2684 0, 0, 0, 0, 0, 0, 61, 62, 63, 0,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2686 0, -544, 0, 0, 0, 0, 0, 0, 0, -544,
2687 -544, 268, 0, 5, 6, 7, 8, 9, 0, -544,
2688 -544, 10, 11, 0, 0, 0, 12, 0, 13, 14,
2689 15, 16, 17, 18, 19, 0, 0, 0, 0, 0,
2690 20, 21, 22, 23, 24, 25, 26, 0, 0, 27,
2691 0, 0, 0, 0, 0, 28, 0, 30, 31, 32,
2692 0, 33, 34, 35, 36, 37, 38, 0, 39, 40,
2693 41, 0, 0, 42, 0, 0, 43, 44, 0, 45,
2694 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,
2696 0, 0, 48, 49, 0, 50, 51, 0, 52, 0,
2697 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699 0, 0, 0, 0, 0, 0, 61, 62, 63, 0,
2700 0, 0, 0, 0, 0, 0, 268, 0, 5, 6,
2701 7, 8, 9, 0, 0, 0, 10, 11, 0, -544,
2702 -544, 12, 0, 13, 14, 15, 16, 17, 18, 19,
2703 0, 0, 0, 0, 0, 20, 21, 22, 23, 24,
2704 25, 26, 0, 0, 27, 0, 0, 0, 0, 0,
2705 28, 0, 30, 31, 32, 0, 33, 34, 35, 36,
2706 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
2707 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709 0, 0, 0, 0, 47, 0, 0, 269, 49, 0,
2710 50, 51, 0, 52, 0, 53, 54, 55, 56, 57,
2711 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2713 0, 61, 62, 63, 0, 0, 0, 0, 0, 0,
2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2715 0, 0, -544, 0, -544, -544, 268, 0, 5, 6,
2716 7, 8, 9, 0, 0, 0, 10, 11, 0, 0,
2717 0, 12, 0, 13, 14, 15, 16, 17, 18, 19,
2718 0, 0, 0, 0, 0, 20, 21, 22, 23, 24,
2719 25, 26, 0, 0, 27, 0, 0, 0, 0, 0,
2720 28, 0, 30, 31, 32, 0, 33, 34, 35, 36,
2721 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
2722 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 0, 0, 0, 47, 0, 0, 48, 49, 0,
2725 50, 51, 0, 52, 0, 53, 54, 55, 56, 57,
2726 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2728 0, 61, 62, 63, 0, 0, 0, 0, 0, 0,
2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2730 0, 0, -544, 0, -544, -544, 268, 0, 5, 6,
2731 7, 8, 9, 0, 0, 0, 10, 11, 0, 0,
2732 0, 12, 0, 13, 14, 15, 16, 17, 18, 19,
2733 0, 0, 0, 0, 0, 20, 21, 22, 23, 24,
2734 25, 26, 0, 0, 27, 0, 0, 0, 0, 0,
2735 28, 0, 30, 31, 32, 0, 33, 34, 35, 36,
2736 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
2737 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739 0, 0, 0, 0, 47, 0, 0, 48, 49, 0,
2740 50, 51, 0, 52, 0, 53, 54, 55, 56, 57,
2741 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2743 0, 61, 62, 63, 0, 0, 0, 0, 0, 0,
2744 0, 0, 0, 0, 0, 0, -544, 268, 0, 5,
2745 6, 7, 8, 9, -544, -544, -544, 10, 11, 0,
2746 0, 0, 12, 0, 13, 14, 15, 16, 17, 18,
2747 19, 0, 0, 0, 0, 0, 20, 21, 22, 23,
2748 24, 25, 26, 0, 0, 27, 0, 0, 0, 0,
2749 0, 28, 0, 30, 31, 32, 0, 33, 34, 35,
2750 36, 37, 38, 0, 39, 40, 41, 0, 0, 42,
2751 0, 0, 43, 44, 0, 45, 46, 0, 0, 0,
2752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753 0, 0, 0, 0, 0, 47, 0, 0, 48, 49,
2754 0, 50, 51, 0, 52, 0, 53, 54, 55, 56,
2755 57, 58, 59, 0, 0, 60, 0, 0, 0, 0,
2756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2757 0, 0, 61, 62, 63, 0, 0, 0, 0, 0,
2758 0, 0, 0, 0, 5, 6, 7, 0, 9, 0,
2759 0, 0, 10, 11, 0, -544, -544, 12, 0, 13,
2760 14, 15, 16, 17, 18, 19, 0, 0, 0, 0,
2761 0, 20, 21, 22, 23, 24, 25, 26, 0, 0,
2762 106, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2763 32, 0, 33, 34, 35, 36, 37, 38, 238, 39,
2764 40, 41, 0, 0, 42, 0, 0, 43, 44, 0,
2765 45, 46, 0, 0, 0, 0, 0, 0, 0, 0,
2766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2767 213, 0, 0, 111, 49, 0, 50, 51, 0, 239,
2768 240, 53, 54, 55, 56, 57, 58, 59, 0, 0,
2769 60, 0, 0, 0, 0, 0, 0, 5, 6, 7,
2770 0, 9, 0, 0, 0, 10, 11, 61, 241, 63,
2771 12, 0, 13, 14, 15, 16, 17, 18, 19, 0,
2772 0, 0, 0, 0, 20, 21, 22, 23, 24, 25,
2773 26, 223, 0, 27, 0, 0, 0, 0, 0, 0,
2774 0, 0, 31, 32, 0, 33, 34, 35, 36, 37,
2775 38, 0, 39, 40, 41, 0, 0, 42, 0, 0,
2776 43, 44, 0, 45, 46, 0, 0, 0, 0, 0,
2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2778 0, 0, 0, 213, 0, 0, 111, 49, 0, 50,
2779 51, 0, 0, 0, 53, 54, 55, 56, 57, 58,
2780 59, 0, 0, 60, 0, 0, 0, 0, 0, 0,
2781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2782 61, 62, 63, 0, 0, 0, 0, 0, 0, 0,
2783 0, 0, 5, 6, 7, 0, 9, 0, 0, 0,
2784 10, 11, 0, 222, 223, 12, 0, 13, 14, 15,
2785 16, 17, 18, 19, 0, 0, 0, 0, 0, 20,
2786 21, 22, 23, 24, 25, 26, 0, 0, 27, 0,
2787 0, 0, 0, 0, 0, 0, 0, 31, 32, 0,
2788 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
2789 0, 0, 42, 0, 0, 43, 44, 0, 45, 46,
2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2791 0, 0, 0, 0, 0, 0, 0, 0, 213, 0,
2792 0, 111, 49, 0, 50, 51, 0, 0, 0, 53,
2793 54, 55, 56, 57, 58, 59, 0, 0, 60, 0,
2794 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
2795 0, 0, 0, 10, 11, 61, 62, 63, 12, 0,
2796 13, 14, 15, 16, 17, 18, 19, 0, 0, 0,
2797 0, 0, 20, 21, 22, 23, 24, 25, 26, 223,
2798 0, 27, 0, 0, 0, 0, 0, 28, 29, 30,
2799 31, 32, 0, 33, 34, 35, 36, 37, 38, 0,
2800 39, 40, 41, 0, 0, 42, 0, 0, 43, 44,
2801 0, 45, 46, 0, 0, 0, 0, 0, 0, 0,
2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2803 0, 47, 0, 0, 48, 49, 0, 50, 51, 0,
2804 52, 0, 53, 54, 55, 56, 57, 58, 59, 0,
2805 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
2806 0, 0, 0, 0, 0, 0, 0, 0, 61, 62,
2807 63, 0, 0, 0, 0, 0, 0, 5, 6, 7,
2808 8, 9, 0, 0, 0, 10, 11, 0, 0, 0,
2809 12, 412, 13, 14, 15, 16, 17, 18, 19, 0,
2810 0, 0, 0, 0, 20, 21, 22, 23, 24, 25,
2811 26, 0, 0, 27, 0, 0, 0, 0, 0, 28,
2812 0, 30, 31, 32, 0, 33, 34, 35, 36, 37,
2813 38, 0, 39, 40, 41, 0, 0, 42, 0, 0,
2814 43, 44, 0, 45, 46, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 0, 0, 47, 0, 0, 48, 49, 0, 50,
2817 51, 0, 52, 0, 53, 54, 55, 56, 57, 58,
2818 59, 0, 0, 60, 0, 0, 0, 0, 0, 0,
2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2820 61, 62, 63, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 412, 121, 122, 123, 124, 125, 126,
2823 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2824 137, 138, 139, 140, 141, 142, 143, 144, 0, 0,
2825 0, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2826 154, 0, 0, 0, 0, 0, 155, 156, 157, 158,
2827 159, 160, 161, 162, 35, 36, 163, 38, 0, 0,
2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829 164, 165, 166, 167, 168, 169, 170, 171, 172, 0,
2830 0, 173, 174, 0, 0, 175, 176, 177, 178, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 0, 0, 0, 0, 0, 180, 181, 182,
2834 183, 184, 185, 186, 187, 188, 189, 0, 190, 191,
2835 0, 0, 0, 0, 0, -517, -517, -517, 0, -517,
2836 0, 0, 0, -517, -517, 0, 192, 193, -517, 0,
2837 -517, -517, -517, -517, -517, -517, -517, 0, -517, 0,
2838 0, 0, -517, -517, -517, -517, -517, -517, -517, 0,
2839 0, -517, 0, 0, 0, 0, 0, 0, 0, 0,
2840 -517, -517, 0, -517, -517, -517, -517, -517, -517, -517,
2841 -517, -517, -517, 0, 0, -517, 0, 0, -517, -517,
2842 0, -517, -517, 0, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844 0, -517, 0, 0, -517, -517, 0, -517, -517, 0,
2845 -517, -517, -517, -517, -517, -517, -517, -517, -517, 0,
2846 0, -517, 0, 0, 0, 0, 0, 0, 0, 0,
2847 0, 0, 0, 0, 0, 0, 0, 0, -517, -517,
2848 -517, 0, 0, 0, 0, 0, -518, -518, -518, 0,
2849 -518, 0, -517, 0, -518, -518, 0, 0, -517, -518,
2850 0, -518, -518, -518, -518, -518, -518, -518, 0, -518,
2851 0, 0, 0, -518, -518, -518, -518, -518, -518, -518,
2852 0, 0, -518, 0, 0, 0, 0, 0, 0, 0,
2853 0, -518, -518, 0, -518, -518, -518, -518, -518, -518,
2854 -518, -518, -518, -518, 0, 0, -518, 0, 0, -518,
2855 -518, 0, -518, -518, 0, 0, 0, 0, 0, 0,
2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 0, 0, -518, 0, 0, -518, -518, 0, -518, -518,
2858 0, -518, -518, -518, -518, -518, -518, -518, -518, -518,
2859 0, 0, -518, 0, 0, 0, 0, 0, 0, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 0, -518,
2861 -518, -518, 0, 0, 0, 0, 0, -520, -520, -520,
2862 0, -520, 0, -518, 0, -520, -520, 0, 0, -518,
2863 -520, 0, -520, -520, -520, -520, -520, -520, -520, 0,
2864 0, 0, 0, 0, -520, -520, -520, -520, -520, -520,
2865 -520, 0, 0, -520, 0, 0, 0, 0, 0, 0,
2866 0, 0, -520, -520, 0, -520, -520, -520, -520, -520,
2867 -520, -520, -520, -520, -520, 0, 0, -520, 0, 0,
2868 -520, -520, 0, -520, -520, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, -520, 733, 0, -520, -520, 0, -520,
2871 -520, 0, -520, -520, -520, -520, -520, -520, -520, -520,
2872 -520, 0, 0, -520, 0, 0, 0, -97, 0, 0,
2873 0, 0, 0, 0, 0, -522, -522, -522, 0, -522,
2874 -520, -520, -520, -522, -522, 0, 0, 0, -522, 0,
2875 -522, -522, -522, -522, -522, -522, -522, 0, 0, 0,
2876 -520, 0, -522, -522, -522, -522, -522, -522, -522, 0,
2877 0, -522, 0, 0, 0, 0, 0, 0, 0, 0,
2878 -522, -522, 0, -522, -522, -522, -522, -522, -522, -522,
2879 -522, -522, -522, 0, 0, -522, 0, 0, -522, -522,
2880 0, -522, -522, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 0, -522, 0, 0, -522, -522, 0, -522, -522, 0,
2883 -522, -522, -522, -522, -522, -522, -522, -522, -522, 0,
2884 0, -522, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, -523, -523, -523, 0, -523, -522, -522,
2886 -522, -523, -523, 0, 0, 0, -523, 0, -523, -523,
2887 -523, -523, -523, -523, -523, 0, 0, 0, -522, 0,
2888 -523, -523, -523, -523, -523, -523, -523, 0, 0, -523,
2889 0, 0, 0, 0, 0, 0, 0, 0, -523, -523,
2890 0, -523, -523, -523, -523, -523, -523, -523, -523, -523,
2891 -523, 0, 0, -523, 0, 0, -523, -523, 0, -523,
2892 -523, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 0, -523,
2894 0, 0, -523, -523, 0, -523, -523, 0, -523, -523,
2895 -523, -523, -523, -523, -523, -523, -523, 0, 0, -523,
2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2897 0, 0, 0, 0, 0, 0, -523, -523, -523, 0,
2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2899 0, 0, 0, 0, 0, 0, -523, 121, 122, 123,
2900 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2901 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2902 144, 0, 0, 0, 145, 146, 147, 199, 200, 201,
2903 202, 152, 153, 154, 0, 0, 0, 0, 0, 155,
2904 156, 157, 203, 204, 160, 205, 162, 293, 294, 206,
2905 295, 0, 0, 0, 0, 0, 0, 296, 0, 0,
2906 0, 0, 0, 164, 165, 166, 167, 168, 169, 170,
2907 171, 172, 0, 0, 173, 174, 0, 0, 175, 176,
2908 177, 178, 0, 0, 0, 0, 0, 0, 0, 0,
2909 0, 0, 179, 0, 0, 0, 0, 0, 0, 297,
2910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2912 0, 190, 191, 0, 0, 0, 0, 0, 0, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 192,
2914 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2915 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2916 141, 142, 143, 144, 0, 0, 0, 145, 146, 147,
2917 199, 200, 201, 202, 152, 153, 154, 0, 0, 0,
2918 0, 0, 155, 156, 157, 203, 204, 160, 205, 162,
2919 293, 294, 206, 295, 0, 0, 0, 0, 0, 0,
2920 296, 0, 0, 0, 0, 0, 164, 165, 166, 167,
2921 168, 169, 170, 171, 172, 0, 0, 173, 174, 0,
2922 0, 175, 176, 177, 178, 0, 0, 0, 0, 0,
2923 0, 0, 0, 0, 0, 179, 0, 0, 0, 0,
2924 0, 0, 393, 0, 0, 0, 0, 0, 0, 0,
2925 0, 0, 0, 180, 181, 182, 183, 184, 185, 186,
2926 187, 188, 189, 0, 190, 191, 0, 0, 0, 0,
2927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2928 0, 0, 192, 121, 122, 123, 124, 125, 126, 127,
2929 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2930 138, 139, 140, 141, 142, 143, 144, 0, 0, 0,
2931 145, 146, 147, 199, 200, 201, 202, 152, 153, 154,
2932 0, 0, 0, 0, 0, 155, 156, 157, 203, 204,
2933 160, 205, 162, 0, 0, 206, 0, 0, 0, 0,
2934 0, 0, 0, 0, 0, 0, 0, 0, 0, 164,
2935 165, 166, 167, 168, 169, 170, 171, 172, 0, 0,
2936 173, 174, 0, 0, 175, 176, 177, 178, 0, 0,
2937 0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
2938 0, 207, 0, 0, 0, 0, 0, 0, 0, 0,
2939 0, 0, 0, 0, 0, 0, 180, 181, 182, 183,
2940 184, 185, 186, 187, 188, 189, 0, 190, 191, 0,
2941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2942 0, 0, 0, 0, 0, 192, 121, 122, 123, 124,
2943 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2944 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2945 0, 0, 0, 145, 146, 147, 199, 200, 201, 202,
2946 152, 153, 154, 0, 0, 0, 0, 0, 155, 156,
2947 157, 203, 204, 160, 205, 162, 0, 0, 206, 0,
2948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2949 0, 0, 164, 165, 166, 167, 168, 169, 170, 171,
2950 172, 0, 0, 173, 174, 0, 0, 175, 176, 177,
2951 178, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2952 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
2953 0, 0, 0, 0, 0, 0, 0, 0, 0, 180,
2954 181, 182, 183, 184, 185, 186, 187, 188, 189, 0,
2955 190, 191, 0, 0, 5, 6, 7, 0, 9, 0,
2956 0, 0, 10, 11, 0, 0, 0, 12, 192, 13,
2957 14, 15, 101, 102, 18, 19, 0, 0, 0, 0,
2958 0, 103, 104, 105, 23, 24, 25, 26, 0, 0,
2959 106, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2960 32, 0, 33, 34, 35, 36, 37, 38, 0, 39,
2961 40, 41, 0, 0, 42, 0, 0, 43, 44, 0,
2962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2964 286, 0, 0, 111, 49, 0, 50, 51, 0, 0,
2965 0, 53, 54, 55, 56, 57, 58, 59, 0, 0,
2966 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2967 5, 6, 7, 0, 9, 0, 0, 112, 10, 11,
2968 0, 0, 0, 12, 0, 13, 14, 15, 101, 102,
2969 18, 19, 0, 0, 0, 287, 0, 103, 104, 105,
2970 23, 24, 25, 26, 0, 0, 106, 0, 0, 0,
2971 0, 0, 0, 0, 0, 31, 32, 0, 33, 34,
2972 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
2973 42, 0, 0, 43, 44, 0, 0, 0, 0, 0,
2974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2975 0, 0, 0, 0, 0, 0, 286, 0, 0, 111,
2976 49, 0, 50, 51, 0, 0, 0, 53, 54, 55,
2977 56, 57, 58, 59, 0, 0, 60, 0, 0, 0,
2978 0, 0, 0, 0, 0, 0, 5, 6, 7, 8,
2979 9, 0, 0, 112, 10, 11, 0, 0, 0, 12,
2980 0, 13, 14, 15, 16, 17, 18, 19, 0, 0,
2981 0, 520, 0, 20, 21, 22, 23, 24, 25, 26,
2982 0, 0, 27, 0, 0, 0, 0, 0, 28, 29,
2983 30, 31, 32, 0, 33, 34, 35, 36, 37, 38,
2984 0, 39, 40, 41, 0, 0, 42, 0, 0, 43,
2985 44, 0, 45, 46, 0, 0, 0, 0, 0, 0,
2986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2987 0, 0, 47, 0, 0, 48, 49, 0, 50, 51,
2988 0, 52, 0, 53, 54, 55, 56, 57, 58, 59,
2989 0, 0, 60, 0, 0, 0, 0, 0, 0, 5,
2990 6, 7, 8, 9, 0, 0, 0, 10, 11, 61,
2991 62, 63, 12, 0, 13, 14, 15, 16, 17, 18,
2992 19, 0, 0, 0, 0, 0, 20, 21, 22, 23,
2993 24, 25, 26, 0, 0, 27, 0, 0, 0, 0,
2994 0, 28, 0, 30, 31, 32, 0, 33, 34, 35,
2995 36, 37, 38, 0, 39, 40, 41, 0, 0, 42,
2996 0, 0, 43, 44, 0, 45, 46, 0, 0, 0,
2997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2998 0, 0, 0, 0, 0, 47, 0, 0, 48, 49,
2999 0, 50, 51, 0, 52, 0, 53, 54, 55, 56,
3000 57, 58, 59, 0, 0, 60, 0, 0, 0, 0,
3001 0, 0, 5, 6, 7, 0, 9, 0, 0, 0,
3002 10, 11, 61, 62, 63, 12, 0, 13, 14, 15,
3003 16, 17, 18, 19, 0, 0, 0, 0, 0, 20,
3004 21, 22, 23, 24, 25, 26, 0, 0, 106, 0,
3005 0, 0, 0, 0, 0, 0, 0, 31, 32, 0,
3006 33, 34, 35, 36, 37, 38, 238, 39, 40, 41,
3007 0, 0, 42, 0, 0, 43, 44, 0, 45, 46,
3008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3009 0, 0, 0, 0, 0, 0, 0, 0, 213, 0,
3010 0, 111, 49, 0, 50, 51, 0, 239, 240, 53,
3011 54, 55, 56, 57, 58, 59, 0, 0, 60, 0,
3012 0, 0, 0, 0, 0, 5, 6, 7, 0, 9,
3013 0, 0, 0, 10, 11, 61, 241, 63, 12, 0,
3014 13, 14, 15, 101, 102, 18, 19, 0, 0, 0,
3015 0, 0, 103, 104, 105, 23, 24, 25, 26, 0,
3016 0, 106, 0, 0, 0, 0, 0, 0, 0, 0,
3017 31, 32, 0, 33, 34, 35, 36, 37, 38, 238,
3018 39, 40, 41, 0, 0, 42, 0, 0, 43, 44,
3019 0, 45, 46, 0, 0, 0, 0, 0, 0, 0,
3020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3021 0, 213, 0, 0, 111, 49, 0, 50, 51, 0,
3022 630, 240, 53, 54, 55, 56, 57, 58, 59, 0,
3023 0, 60, 0, 0, 0, 0, 0, 0, 5, 6,
3024 7, 0, 9, 0, 0, 0, 10, 11, 61, 241,
3025 63, 12, 0, 13, 14, 15, 101, 102, 18, 19,
3026 0, 0, 0, 0, 0, 103, 104, 105, 23, 24,
3027 25, 26, 0, 0, 106, 0, 0, 0, 0, 0,
3028 0, 0, 0, 31, 32, 0, 33, 34, 35, 36,
3029 37, 38, 238, 39, 40, 41, 0, 0, 42, 0,
3030 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
3031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3032 0, 0, 0, 0, 213, 0, 0, 111, 49, 0,
3033 50, 51, 0, 239, 0, 53, 54, 55, 56, 57,
3034 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
3035 0, 5, 6, 7, 0, 9, 0, 0, 0, 10,
3036 11, 61, 241, 63, 12, 0, 13, 14, 15, 101,
3037 102, 18, 19, 0, 0, 0, 0, 0, 103, 104,
3038 105, 23, 24, 25, 26, 0, 0, 106, 0, 0,
3039 0, 0, 0, 0, 0, 0, 31, 32, 0, 33,
3040 34, 35, 36, 37, 38, 238, 39, 40, 41, 0,
3041 0, 42, 0, 0, 43, 44, 0, 45, 46, 0,
3042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3043 0, 0, 0, 0, 0, 0, 0, 213, 0, 0,
3044 111, 49, 0, 50, 51, 0, 0, 240, 53, 54,
3045 55, 56, 57, 58, 59, 0, 0, 60, 0, 0,
3046 0, 0, 0, 0, 5, 6, 7, 0, 9, 0,
3047 0, 0, 10, 11, 61, 241, 63, 12, 0, 13,
3048 14, 15, 101, 102, 18, 19, 0, 0, 0, 0,
3049 0, 103, 104, 105, 23, 24, 25, 26, 0, 0,
3050 106, 0, 0, 0, 0, 0, 0, 0, 0, 31,
3051 32, 0, 33, 34, 35, 36, 37, 38, 238, 39,
3052 40, 41, 0, 0, 42, 0, 0, 43, 44, 0,
3053 45, 46, 0, 0, 0, 0, 0, 0, 0, 0,
3054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3055 213, 0, 0, 111, 49, 0, 50, 51, 0, 630,
3056 0, 53, 54, 55, 56, 57, 58, 59, 0, 0,
3057 60, 0, 0, 0, 0, 0, 0, 5, 6, 7,
3058 0, 9, 0, 0, 0, 10, 11, 61, 241, 63,
3059 12, 0, 13, 14, 15, 101, 102, 18, 19, 0,
3060 0, 0, 0, 0, 103, 104, 105, 23, 24, 25,
3061 26, 0, 0, 106, 0, 0, 0, 0, 0, 0,
3062 0, 0, 31, 32, 0, 33, 34, 35, 36, 37,
3063 38, 238, 39, 40, 41, 0, 0, 42, 0, 0,
3064 43, 44, 0, 45, 46, 0, 0, 0, 0, 0,
3065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3066 0, 0, 0, 213, 0, 0, 111, 49, 0, 50,
3067 51, 0, 0, 0, 53, 54, 55, 56, 57, 58,
3068 59, 0, 0, 60, 0, 0, 0, 0, 0, 0,
3069 5, 6, 7, 0, 9, 0, 0, 0, 10, 11,
3070 61, 241, 63, 12, 0, 13, 14, 15, 16, 17,
3071 18, 19, 0, 0, 0, 0, 0, 20, 21, 22,
3072 23, 24, 25, 26, 0, 0, 106, 0, 0, 0,
3073 0, 0, 0, 0, 0, 31, 32, 0, 33, 34,
3074 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
3075 42, 0, 0, 43, 44, 0, 45, 46, 0, 0,
3076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3077 0, 0, 0, 0, 0, 0, 213, 0, 0, 111,
3078 49, 0, 50, 51, 0, 514, 0, 53, 54, 55,
3079 56, 57, 58, 59, 0, 0, 60, 0, 0, 0,
3080 0, 0, 0, 5, 6, 7, 0, 9, 0, 0,
3081 0, 10, 11, 61, 241, 63, 12, 0, 13, 14,
3082 15, 101, 102, 18, 19, 0, 0, 0, 0, 0,
3083 103, 104, 105, 23, 24, 25, 26, 0, 0, 106,
3084 0, 0, 0, 0, 0, 0, 0, 0, 31, 32,
3085 0, 33, 34, 35, 36, 37, 38, 0, 39, 40,
3086 41, 0, 0, 42, 0, 0, 43, 44, 0, 45,
3087 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3088 0, 0, 0, 0, 0, 0, 0, 0, 0, 213,
3089 0, 0, 111, 49, 0, 50, 51, 0, 239, 0,
3090 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
3091 0, 0, 0, 0, 0, 0, 5, 6, 7, 0,
3092 9, 0, 0, 0, 10, 11, 61, 241, 63, 12,
3093 0, 13, 14, 15, 101, 102, 18, 19, 0, 0,
3094 0, 0, 0, 103, 104, 105, 23, 24, 25, 26,
3095 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
3096 0, 31, 32, 0, 33, 34, 35, 36, 37, 38,
3097 0, 39, 40, 41, 0, 0, 42, 0, 0, 43,
3098 44, 0, 45, 46, 0, 0, 0, 0, 0, 0,
3099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3100 0, 0, 213, 0, 0, 111, 49, 0, 50, 51,
3101 0, 514, 0, 53, 54, 55, 56, 57, 58, 59,
3102 0, 0, 60, 0, 0, 0, 0, 0, 0, 5,
3103 6, 7, 0, 9, 0, 0, 0, 10, 11, 61,
3104 241, 63, 12, 0, 13, 14, 15, 101, 102, 18,
3105 19, 0, 0, 0, 0, 0, 103, 104, 105, 23,
3106 24, 25, 26, 0, 0, 106, 0, 0, 0, 0,
3107 0, 0, 0, 0, 31, 32, 0, 33, 34, 35,
3108 36, 37, 38, 0, 39, 40, 41, 0, 0, 42,
3109 0, 0, 43, 44, 0, 45, 46, 0, 0, 0,
3110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3111 0, 0, 0, 0, 0, 213, 0, 0, 111, 49,
3112 0, 50, 51, 0, 782, 0, 53, 54, 55, 56,
3113 57, 58, 59, 0, 0, 60, 0, 0, 0, 0,
3114 0, 0, 5, 6, 7, 0, 9, 0, 0, 0,
3115 10, 11, 61, 241, 63, 12, 0, 13, 14, 15,
3116 101, 102, 18, 19, 0, 0, 0, 0, 0, 103,
3117 104, 105, 23, 24, 25, 26, 0, 0, 106, 0,
3118 0, 0, 0, 0, 0, 0, 0, 31, 32, 0,
3119 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
3120 0, 0, 42, 0, 0, 43, 44, 0, 45, 46,
3121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3122 0, 0, 0, 0, 0, 0, 0, 0, 213, 0,
3123 0, 111, 49, 0, 50, 51, 0, 630, 0, 53,
3124 54, 55, 56, 57, 58, 59, 0, 0, 60, 0,
3125 0, 0, 0, 0, 0, 5, 6, 7, 0, 9,
3126 0, 0, 0, 10, 11, 61, 241, 63, 12, 0,
3127 13, 14, 15, 16, 17, 18, 19, 0, 0, 0,
3128 0, 0, 20, 21, 22, 23, 24, 25, 26, 0,
3129 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
3130 31, 32, 0, 33, 34, 35, 36, 37, 38, 0,
3131 39, 40, 41, 0, 0, 42, 0, 0, 43, 44,
3132 0, 45, 46, 0, 0, 0, 0, 0, 0, 0,
3133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3134 0, 213, 0, 0, 111, 49, 0, 50, 51, 0,
3135 0, 0, 53, 54, 55, 56, 57, 58, 59, 0,
3136 0, 60, 0, 0, 0, 0, 0, 0, 5, 6,
3137 7, 0, 9, 0, 0, 0, 10, 11, 61, 62,
3138 63, 12, 0, 13, 14, 15, 101, 102, 18, 19,
3139 0, 0, 0, 0, 0, 103, 104, 105, 23, 24,
3140 25, 26, 0, 0, 106, 0, 0, 0, 0, 0,
3141 0, 0, 0, 31, 32, 0, 33, 34, 35, 36,
3142 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
3143 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
3144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3145 0, 0, 0, 0, 213, 0, 0, 111, 49, 0,
3146 50, 51, 0, 0, 0, 53, 54, 55, 56, 57,
3147 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
3148 0, 5, 6, 7, 0, 9, 0, 0, 0, 10,
3149 11, 61, 241, 63, 12, 0, 13, 14, 15, 16,
3150 17, 18, 19, 0, 0, 0, 0, 0, 20, 21,
3151 22, 23, 24, 25, 26, 0, 0, 106, 0, 0,
3152 0, 0, 0, 0, 0, 0, 31, 32, 0, 33,
3153 34, 35, 36, 37, 38, 0, 39, 40, 41, 0,
3154 0, 42, 0, 0, 43, 44, 0, 45, 46, 0,
3155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3156 0, 0, 0, 0, 0, 0, 0, 213, 0, 0,
3157 111, 49, 0, 50, 51, 0, 0, 0, 53, 54,
3158 55, 56, 57, 58, 59, 0, 0, 60, 0, 0,
3159 0, 0, 0, 0, 5, 6, 7, 0, 9, 0,
3160 0, 0, 10, 11, 61, 241, 63, 12, 0, 13,
3161 14, 15, 101, 102, 18, 19, 0, 0, 0, 0,
3162 0, 103, 104, 105, 23, 24, 25, 26, 0, 0,
3163 106, 0, 0, 0, 0, 0, 0, 0, 0, 31,
3164 32, 0, 107, 34, 35, 36, 108, 38, 0, 39,
3165 40, 41, 0, 0, 42, 0, 0, 43, 44, 0,
3166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3167 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
3168 110, 0, 0, 111, 49, 0, 50, 51, 0, 0,
3169 0, 53, 54, 55, 56, 57, 58, 59, 0, 0,
3170 60, 0, 0, 5, 6, 7, 0, 9, 0, 0,
3171 0, 10, 11, 0, 0, 0, 12, 112, 13, 14,
3172 15, 101, 102, 18, 19, 0, 0, 0, 0, 0,
3173 103, 104, 105, 23, 24, 25, 26, 0, 0, 106,
3174 0, 0, 0, 0, 0, 0, 0, 0, 31, 32,
3175 0, 33, 34, 35, 36, 37, 38, 0, 39, 40,
3176 41, 0, 0, 42, 0, 0, 43, 44, 0, 0,
3177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3178 0, 0, 0, 0, 0, 0, 0, 0, 0, 231,
3179 0, 0, 48, 49, 0, 50, 51, 0, 52, 0,
3180 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
3181 0, 0, 5, 6, 7, 0, 9, 0, 0, 0,
3182 10, 11, 0, 0, 0, 12, 112, 13, 14, 15,
3183 101, 102, 18, 19, 0, 0, 0, 0, 0, 103,
3184 104, 105, 23, 24, 25, 26, 0, 0, 106, 0,
3185 0, 0, 0, 0, 0, 0, 0, 31, 32, 0,
3186 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
3187 0, 0, 42, 0, 0, 43, 44, 0, 0, 0,
3188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3189 0, 0, 0, 0, 0, 0, 0, 0, 286, 0,
3190 0, 332, 49, 0, 50, 51, 0, 333, 0, 53,
3191 54, 55, 56, 57, 58, 59, 0, 0, 60, 0,
3192 0, 5, 6, 7, 0, 9, 0, 0, 0, 10,
3193 11, 0, 0, 0, 12, 112, 13, 14, 15, 101,
3194 102, 18, 19, 0, 0, 0, 0, 0, 103, 104,
3195 105, 23, 24, 25, 26, 0, 0, 106, 0, 0,
3196 0, 0, 0, 0, 0, 0, 31, 32, 0, 107,
3197 34, 35, 36, 108, 38, 0, 39, 40, 41, 0,
3198 0, 42, 0, 0, 43, 44, 0, 0, 0, 0,
3199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3200 0, 0, 0, 0, 0, 0, 0, 110, 0, 0,
3201 111, 49, 0, 50, 51, 0, 0, 0, 53, 54,
3202 55, 56, 57, 58, 59, 0, 0, 60, 0, 0,
3203 5, 6, 7, 0, 9, 0, 0, 0, 10, 11,
3204 0, 0, 0, 12, 112, 13, 14, 15, 101, 102,
3205 18, 19, 0, 0, 0, 0, 0, 103, 104, 105,
3206 23, 24, 25, 26, 0, 0, 106, 0, 0, 0,
3207 0, 0, 0, 0, 0, 31, 32, 0, 33, 34,
3208 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
3209 42, 0, 0, 43, 44, 0, 0, 0, 0, 0,
3210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3211 0, 0, 0, 0, 0, 0, 286, 0, 0, 332,
3212 49, 0, 50, 51, 0, 0, 0, 53, 54, 55,
3213 56, 57, 58, 59, 0, 0, 60, 0, 0, 5,
3214 6, 7, 0, 9, 0, 0, 0, 10, 11, 0,
3215 0, 0, 12, 112, 13, 14, 15, 101, 102, 18,
3216 19, 0, 0, 0, 0, 0, 103, 104, 105, 23,
3217 24, 25, 26, 0, 0, 106, 0, 0, 0, 0,
3218 0, 0, 0, 0, 31, 32, 0, 33, 34, 35,
3219 36, 37, 38, 0, 39, 40, 41, 0, 0, 42,
3220 0, 0, 43, 44, 0, 0, 0, 0, 0, 0,
3221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3222 0, 0, 0, 0, 0, 865, 0, 0, 111, 49,
3223 0, 50, 51, 0, 0, 0, 53, 54, 55, 56,
3224 57, 58, 59, 0, 0, 60, 0, 0, 5, 6,
3225 7, 0, 9, 0, 0, 0, 10, 11, 0, 0,
3226 0, 12, 112, 13, 14, 15, 101, 102, 18, 19,
3227 0, 0, 0, 0, 0, 103, 104, 105, 23, 24,
3228 25, 26, 0, 0, 106, 0, 0, 0, 0, 0,
3229 0, 0, 0, 31, 32, 0, 33, 34, 35, 36,
3230 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
3231 0, 43, 44, 0, 0, 0, 0, 0, 0, 0,
3232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3233 0, 0, 0, 0, 891, 0, 0, 111, 49, 0,
3234 50, 51, 0, 0, 0, 53, 54, 55, 56, 57,
3235 58, 59, 0, 0, 60, 563, 564, 0, 0, 565,
3236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3237 0, 112, 0, 164, 165, 166, 167, 168, 169, 170,
3238 171, 172, 0, 0, 173, 174, 0, 0, 175, 176,
3239 177, 178, 0, 0, 0, 0, 0, 0, 0, 0,
3240 0, 0, 179, 0, 0, 0, 0, 0, 0, 0,
3241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3242 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
3243 0, 190, 191, 584, 556, 0, 0, 585, 0, 0,
3244 0, 0, 0, 0, 0, 0, 0, 0, 0, 192,
3245 255, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3246 0, 0, 173, 174, 0, 0, 175, 176, 177, 178,
3247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3248 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3249 0, 0, 0, 0, 0, 0, 0, 0, 180, 181,
3250 182, 183, 184, 185, 186, 187, 188, 189, 0, 190,
3251 191, 569, 564, 0, 0, 570, 0, 0, 0, 0,
3252 0, 0, 0, 0, 0, 0, 0, 192, 255, 164,
3253 165, 166, 167, 168, 169, 170, 171, 172, 0, 0,
3254 173, 174, 0, 0, 175, 176, 177, 178, 0, 0,
3255 0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
3256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3257 0, 0, 0, 0, 0, 0, 180, 181, 182, 183,
3258 184, 185, 186, 187, 188, 189, 0, 190, 191, 604,
3259 556, 0, 0, 605, 0, 0, 0, 0, 0, 0,
3260 0, 0, 0, 0, 0, 192, 255, 164, 165, 166,
3261 167, 168, 169, 170, 171, 172, 0, 0, 173, 174,
3262 0, 0, 175, 176, 177, 178, 0, 0, 0, 0,
3263 0, 0, 0, 0, 0, 0, 179, 0, 0, 0,
3264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3265 0, 0, 0, 0, 180, 181, 182, 183, 184, 185,
3266 186, 187, 188, 189, 0, 190, 191, 607, 564, 0,
3267 0, 608, 0, 0, 0, 0, 0, 0, 0, 0,
3268 0, 0, 0, 192, 255, 164, 165, 166, 167, 168,
3269 169, 170, 171, 172, 0, 0, 173, 174, 0, 0,
3270 175, 176, 177, 178, 0, 0, 0, 0, 0, 0,
3271 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
3272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3273 0, 0, 180, 181, 182, 183, 184, 185, 186, 187,
3274 188, 189, 0, 190, 191, 623, 556, 0, 0, 624,
3275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3276 0, 192, 255, 164, 165, 166, 167, 168, 169, 170,
3277 171, 172, 0, 0, 173, 174, 0, 0, 175, 176,
3278 177, 178, 0, 0, 0, 0, 0, 0, 0, 0,
3279 0, 0, 179, 0, 0, 0, 0, 0, 0, 0,
3280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3281 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
3282 0, 190, 191, 626, 564, 0, 0, 627, 0, 0,
3283 0, 0, 0, 0, 0, 0, 0, 0, 0, 192,
3284 255, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3285 0, 0, 173, 174, 0, 0, 175, 176, 177, 178,
3286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3287 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3288 0, 0, 0, 0, 0, 0, 0, 0, 180, 181,
3289 182, 183, 184, 185, 186, 187, 188, 189, 0, 190,
3290 191, 651, 556, 0, 0, 652, 0, 0, 0, 0,
3291 0, 0, 0, 0, 0, 0, 0, 192, 255, 164,
3292 165, 166, 167, 168, 169, 170, 171, 172, 0, 0,
3293 173, 174, 0, 0, 175, 176, 177, 178, 0, 0,
3294 0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
3295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3296 0, 0, 0, 0, 0, 0, 180, 181, 182, 183,
3297 184, 185, 186, 187, 188, 189, 0, 190, 191, 654,
3298 564, 0, 0, 655, 0, 0, 0, 0, 0, 0,
3299 0, 0, 0, 0, 0, 192, 255, 164, 165, 166,
3300 167, 168, 169, 170, 171, 172, 0, 0, 173, 174,
3301 0, 0, 175, 176, 177, 178, 0, 0, 0, 0,
3302 0, 0, 0, 0, 0, 0, 179, 0, 0, 0,
3303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3304 0, 0, 0, 0, 180, 181, 182, 183, 184, 185,
3305 186, 187, 188, 189, 0, 190, 191, 930, 556, 0,
3306 0, 931, 0, 0, 0, 0, 0, 0, 0, 0,
3307 0, 0, 0, 192, 255, 164, 165, 166, 167, 168,
3308 169, 170, 171, 172, 0, 0, 173, 174, 0, 0,
3309 175, 176, 177, 178, 0, 0, 0, 0, 0, 0,
3310 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3312 0, 0, 180, 181, 182, 183, 184, 185, 186, 187,
3313 188, 189, 0, 190, 191, 933, 564, 0, 0, 934,
3314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3315 0, 192, 255, 164, 165, 166, 167, 168, 169, 170,
3316 171, 172, 0, 0, 173, 174, 0, 0, 175, 176,
3317 177, 178, 0, 0, 0, 0, 0, 0, 0, 0,
3318 0, 0, 179, 0, 0, 0, 0, 0, 0, 0,
3319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3320 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
3321 0, 190, 191, 941, 556, 0, 0, 942, 0, 0,
3322 0, 0, 0, 0, 0, 0, 0, 0, 0, 192,
3323 255, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3324 0, 0, 173, 174, 0, 0, 175, 176, 177, 178,
3325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3326 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3327 0, 0, 0, 0, 0, 0, 0, 0, 180, 181,
3328 182, 183, 184, 185, 186, 187, 188, 189, 0, 190,
3329 191, 569, 564, 0, 0, 570, 0, 0, 0, 0,
3330 0, 0, 0, 0, 0, 0, 0, 192, 255, 164,
3331 165, 166, 167, 168, 169, 170, 171, 172, 0, 0,
3332 173, 174, 0, 0, 175, 176, 177, 178, 0, 0,
3333 0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
3334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3335 0, 0, 0, 0, 0, 0, 180, 181, 182, 183,
3336 184, 185, 186, 187, 188, 189, 0, 190, 191, 0,
3337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3341 #define yypact_value_is_default(Yystate) \
3342 (!!((Yystate) == (-745)))
3344 #define yytable_value_is_error(Yytable_value) \
3345 (!!((Yytable_value) == (-545)))
3347 static const yytype_int16 yycheck[] =
3349 2, 83, 27, 62, 221, 248, 12, 10, 11, 12,
3350 8, 16, 17, 76, 7, 20, 28, 335, 409, 5,
3351 6, 424, 16, 17, 427, 52, 20, 22, 292, 15,
3352 28, 110, 292, 11, 12, 258, 4, 16, 17, 389,
3353 363, 20, 362, 467, 364, 427, 49, 367, 50, 51,
3354 273, 287, 335, 671, 277, 414, 50, 51, 12, 65,
3355 25, 54, 599, 2, 387, 4, 52, 588, 388, 280,
3356 25, 50, 609, 284, 65, 65, 48, 459, 27, 682,
3357 403, 297, 402, 756, 404, 606, 758, 29, 304, 26,
3358 76, 307, 13, 309, 417, 311, 520, 313, 418, 22,
3359 834, 668, 26, 98, 625, 13, 109, 851, 114, 0,
3360 105, 65, 88, 25, 362, 697, 364, 16, 17, 367,
3361 25, 20, 704, 269, 119, 445, 13, 37, 38, 572,
3362 573, 391, 653, 146, 79, 25, 88, 150, 386, 90,
3363 388, 140, 13, 113, 88, 25, 469, 88, 113, 55,
3364 470, 13, 28, 25, 402, 51, 404, 830, 113, 55,
3365 114, 1, 113, 144, 25, 90, 108, 143, 416, 150,
3366 418, 774, 25, 118, 144, 98, 90, 921, 912, 144,
3367 113, 90, 147, 58, 59, 150, 332, 144, 113, 144,
3368 142, 143, 147, 436, 146, 150, 444, 445, 13, 143,
3369 149, 150, 143, 140, 113, 55, 429, 879, 881, 146,
3370 433, 15, 113, 17, 207, 438, 140, 481, 224, 837,
3371 468, 481, 470, 144, 287, 448, 229, 230, 149, 150,
3372 453, 467, 144, 583, 224, 638, 639, 144, 911, 144,
3373 150, 149, 150, 593, 25, 247, 248, 252, 146, 254,
3374 255, 229, 230, 255, 144, 258, 259, 639, 252, 146,
3375 254, 215, 149, 150, 144, 271, 690, 221, 711, 146,
3376 224, 330, 144, 252, 841, 254, 335, 117, 149, 150,
3377 271, 271, 849, 144, 520, 146, 823, 149, 150, 144,
3378 2, 144, 4, 5, 6, 150, 519, 269, 10, 11,
3379 12, 287, 88, 15, 16, 17, 333, 386, 20, 149,
3380 150, 476, 371, 372, 146, 598, 88, 271, 321, 322,
3381 323, 324, 88, 326, 327, 279, 280, 90, 592, 268,
3382 284, 113, 592, 48, 149, 150, 48, 49, 149, 150,
3383 52, 58, 59, 321, 322, 323, 324, 333, 88, 17,
3384 62, 330, 320, 252, 26, 254, 335, 143, 363, 88,
3385 332, 363, 88, 144, 76, 146, 88, 55, 591, 364,
3386 142, 143, 88, 691, 26, 61, 382, 143, 64, 65,
3387 88, 320, 387, 88, 149, 387, 325, 390, 747, 25,
3388 633, 91, 88, 388, 396, 611, 111, 109, 403, 111,
3389 617, 403, 465, 143, 467, 144, 408, 413, 414, 404,
3390 144, 932, 417, 142, 143, 417, 88, 143, 88, 140,
3391 142, 143, 682, 418, 827, 111, 142, 143, 382, 441,
3392 424, 410, 823, 435, 436, 143, 88, 648, 143, 662,
3393 442, 71, 88, 441, 26, 827, 142, 143, 147, 61,
3394 445, 113, 64, 65, 690, 805, 71, 520, 150, 413,
3395 414, 88, 456, 148, 469, 141, 88, 469, 140, 88,
3396 142, 143, 142, 143, 146, 470, 55, 144, 144, 465,
3397 71, 467, 90, 150, 88, 487, 71, 489, 140, 491,
3398 142, 143, 97, 658, 659, 718, 142, 143, 88, 111,
3399 212, 144, 90, 442, 63, 113, 88, 750, 123, 124,
3400 125, 513, 451, 10, 864, 142, 143, 229, 230, 544,
3401 142, 143, 90, 142, 143, 113, 90, 668, 37, 38,
3402 671, 8, 755, 13, 520, 10, 144, 562, 142, 143,
3403 252, 682, 254, 255, 90, 113, 258, 259, 263, 113,
3404 810, 263, 142, 143, 269, 147, 268, 269, 140, 113,
3405 142, 143, 90, 588, 146, 560, 568, 113, 144, 571,
3406 572, 573, 144, 568, 580, 287, 571, 14, 15, 582,
3407 144, 606, 905, 141, 596, 113, 906, 589, 594, 144,
3408 51, 756, 587, 758, 589, 812, 598, 599, 596, 601,
3409 625, 818, 595, 144, 582, 26, 144, 609, 320, 321,
3410 322, 323, 324, 325, 326, 327, 144, 332, 330, 598,
3411 332, 333, 144, 335, 706, 628, 580, 690, 653, 71,
3412 63, 633, 691, 51, 144, 694, 695, 560, 144, 664,
3413 594, 700, 701, 144, 638, 568, 113, 10, 571, 15,
3414 628, 363, 10, 141, 144, 141, 904, 682, 906, 371,
3415 372, 144, 115, 617, 148, 830, 831, 88, 10, 10,
3416 90, 9, 920, 10, 90, 387, 91, 389, 390, 121,
3417 122, 123, 124, 125, 399, 10, 144, 399, 90, 144,
3418 147, 403, 407, 113, 648, 407, 837, 113, 51, 149,
3419 53, 54, 55, 56, 690, 417, 141, 713, 849, 711,
3420 851, 113, 10, 144, 879, 144, 881, 144, 144, 140,
3421 113, 142, 143, 725, 144, 146, 728, 730, 144, 118,
3422 442, 144, 51, 62, 793, 64, 65, 144, 144, 451,
3423 10, 747, 144, 144, 141, 10, 911, 10, 750, 774,
3424 10, 118, 730, 465, 144, 467, 144, 469, 62, 713,
3425 64, 65, 141, 765, 766, 10, 768, 55, 770, 771,
3426 63, 64, 65, 144, 776, 144, 778, 779, 55, 144,
3427 921, 496, 111, 144, 496, 51, 10, 53, 54, 55,
3428 56, 144, 144, 747, 10, 2, 51, 4, 53, 54,
3429 55, 56, 146, 10, 11, 12, 146, 111, 520, 16,
3430 17, 144, 15, 20, 63, 64, 65, 442, 111, 671,
3431 6, 823, 674, 71, 571, 811, 92, 908, 658, 912,
3432 682, 907, 98, 99, 63, 64, 65, 92, 86, 87,
3433 707, 48, 49, 98, 99, 613, 51, 7, 53, 54,
3434 55, 56, 810, 849, 120, 62, 668, 123, 812, 884,
3435 846, -1, 111, 198, 818, 120, 64, 65, 123, -1,
3436 582, 583, 120, 121, 122, 123, 124, 125, -1, -1,
3437 -1, 593, 111, 71, 150, 887, 888, 889, 890, -1,
3438 -1, 146, 894, 895, 896, -1, 898, 899, 86, 87,
3439 905, -1, 109, 905, 111, 907, 908, 932, 71, -1,
3440 -1, 906, 110, 111, -1, -1, 628, 64, 65, 238,
3441 239, 240, -1, 86, 87, -1, 51, -1, 53, 54,
3442 55, 56, -1, 121, 122, 123, 124, 125, 940, 144,
3443 -1, 943, 944, 945, 946, 40, 41, 42, 43, 44,
3444 665, 666, 954, 665, 666, 118, 119, 120, 121, 122,
3445 123, 124, 125, 110, 111, -1, -1, 92, 683, -1,
3446 -1, 683, -1, 98, 99, -1, -1, -1, 690, 691,
3447 -1, -1, 694, 695, -1, 837, -1, 839, 700, 701,
3448 -1, 843, -1, 708, 709, 120, 708, 709, 123, 851,
3449 -1, 853, 63, 64, 65, 212, 63, 64, 65, -1,
3450 -1, 330, 727, -1, -1, 727, 335, -1, 730, -1,
3451 -1, 146, 229, 230, 63, 64, 65, -1, 743, 744,
3452 745, 743, 744, 745, 63, 64, 65, 51, -1, 53,
3453 54, 55, 56, -1, -1, 252, -1, 254, 255, -1,
3454 111, 258, 259, -1, 111, 51, 263, 53, 54, 55,
3455 56, 268, 269, 915, 55, 56, 57, 58, 59, 921,
3456 -1, 923, 111, -1, 926, -1, -1, -1, 92, -1,
3457 -1, 793, 111, -1, 98, 99, -1, -1, -1, 804,
3458 -1, 410, 804, 805, -1, -1, 92, -1, 950, 811,
3459 815, -1, 98, 815, 423, 424, 120, -1, 427, 123,
3460 -1, -1, -1, 320, 321, 322, 323, 324, 325, 326,
3461 327, -1, -1, 330, -1, 332, -1, 51, 335, 53,
3462 54, 55, 56, -1, 846, -1, -1, 456, -1, 51,
3463 459, 53, 54, 55, 56, -1, 51, -1, 53, 54,
3464 55, 56, 864, -1, -1, 870, 363, 872, 870, -1,
3465 872, -1, -1, 878, 371, 372, 878, -1, 92, -1,
3466 -1, -1, -1, -1, 98, -1, -1, -1, -1, -1,
3467 387, -1, 389, 390, -1, -1, 51, 92, 53, 54,
3468 55, 56, 399, 905, 99, 514, 403, -1, -1, 0,
3469 407, -1, -1, -1, -1, -1, -1, 8, 9, 10,
3470 417, -1, 13, 14, 15, 120, 17, -1, 44, -1,
3471 -1, -1, -1, -1, -1, 26, 27, 92, -1, 16,
3472 17, -1, -1, 20, -1, 442, 37, 38, -1, 40,
3473 41, 42, 43, 44, 451, 71, 72, 73, 74, 75,
3474 76, 77, 78, 79, 80, 81, 82, 83, 45, 46,
3475 86, 87, 469, 50, 51, -1, 51, -1, 53, 54,
3476 55, 56, -1, -1, -1, 62, 63, -1, -1, 598,
3477 -1, -1, -1, -1, -1, -1, -1, 88, 114, 496,
3478 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3479 -1, -1, -1, -1, -1, -1, -1, 92, -1, -1,
3480 -1, 630, -1, 98, 99, -1, -1, -1, 144, 638,
3481 639, 2, -1, 4, 5, 6, 7, 44, -1, -1,
3482 -1, -1, -1, -1, 15, 120, -1, 656, 123, 140,
3483 141, -1, 143, -1, -1, 146, 147, -1, 149, 150,
3484 -1, -1, -1, -1, 71, 72, 73, 74, 75, 76,
3485 77, 78, 79, 80, 81, 82, 83, 48, 687, 86,
3486 87, 52, -1, -1, -1, 582, 583, -1, -1, -1,
3487 -1, -1, -1, -1, -1, -1, 593, -1, -1, -1,
3488 -1, -1, -1, -1, -1, 76, -1, 114, -1, 116,
3489 117, 118, 119, 120, 121, 122, 123, 124, 125, -1,
3490 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3491 -1, 628, -1, 742, -1, -1, -1, -1, -1, -1,
3492 111, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3493 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3494 -1, 238, 239, 240, 241, -1, -1, -1, 665, 666,
3495 -1, -1, -1, 782, -1, 252, -1, 254, 255, -1,
3496 -1, -1, -1, -1, -1, -1, 683, -1, -1, -1,
3497 -1, -1, -1, -1, 691, -1, -1, 694, 695, -1,
3498 -1, -1, -1, 700, 701, -1, -1, -1, -1, -1,
3499 -1, 708, 709, -1, -1, -1, -1, -1, 827, -1,
3500 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3501 727, -1, -1, 730, -1, -1, -1, -1, -1, -1,
3502 -1, 212, -1, -1, -1, -1, 743, 744, 745, -1,
3503 -1, -1, -1, 330, -1, -1, -1, -1, 335, 336,
3504 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
3505 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3506 357, 358, 359, 360, 361, -1, 363, -1, -1, -1,
3507 -1, -1, 263, -1, 371, 372, 793, 268, 269, -1,
3508 -1, -1, -1, -1, -1, -1, -1, 804, 805, -1,
3509 387, -1, -1, -1, -1, -1, 287, -1, 815, -1,
3510 -1, -1, -1, -1, 401, -1, 403, -1, 405, 406,
3511 -1, -1, -1, 410, -1, -1, -1, -1, -1, -1,
3512 417, -1, -1, -1, -1, -1, 423, 424, -1, 320,
3513 427, -1, -1, -1, 325, -1, -1, -1, -1, -1,
3514 -1, 332, 333, -1, -1, -1, -1, 864, -1, 446,
3515 -1, -1, -1, 870, -1, 872, -1, -1, -1, 456,
3516 -1, 878, 459, 2, -1, 4, -1, -1, -1, -1,
3517 -1, -1, 469, -1, -1, -1, -1, -1, -1, -1,
3518 -1, -1, -1, 2, -1, 4, 5, 6, 905, -1,
3519 -1, -1, -1, -1, -1, -1, 15, -1, 389, -1,
3520 -1, -1, -1, -1, -1, -1, 503, 504, 399, 48,
3521 2, -1, 4, -1, -1, -1, 407, 514, -1, -1,
3522 -1, -1, -1, 15, -1, -1, -1, -1, -1, 48,
3523 -1, -1, -1, 52, -1, -1, -1, -1, -1, -1,
3524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3525 -1, 442, -1, -1, -1, -1, 48, 76, -1, -1,
3526 451, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3527 -1, -1, 111, -1, 465, -1, 467, -1, -1, -1,
3528 -1, -1, -1, -1, -1, 489, -1, 491, -1, -1,
3529 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
3530 -1, 598, -1, -1, -1, 496, -1, -1, -1, -1,
3531 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3532 -1, -1, -1, -1, -1, -1, -1, -1, -1, 520,
3533 -1, -1, -1, 630, 71, 72, 73, 74, 75, 76,
3534 77, 638, 639, 80, 81, -1, -1, -1, -1, 86,
3535 87, -1, -1, -1, -1, -1, -1, -1, -1, 656,
3536 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3537 -1, -1, -1, 212, -1, -1, -1, -1, -1, 116,
3538 117, 118, 119, 120, 121, 122, 123, 124, 125, -1,
3539 687, -1, 583, 212, 691, 692, -1, 694, 695, -1,
3540 -1, -1, 593, 700, 701, -1, 71, 72, 73, 74,
3541 75, 76, 77, 710, -1, 80, 81, -1, -1, -1,
3542 212, 86, 87, -1, 263, -1, -1, -1, -1, 268,
3543 269, -1, -1, -1, -1, -1, 733, 734, -1, 736,
3544 737, -1, -1, -1, 263, 742, -1, -1, -1, 268,
3545 269, 116, 117, 118, 119, 120, 121, 122, 123, 124,
3546 125, -1, -1, -1, -1, -1, -1, -1, 287, -1,
3547 -1, 263, -1, -1, 665, 666, 268, 269, -1, -1,
3548 -1, 320, -1, -1, -1, 782, 325, -1, -1, 786,
3549 -1, -1, 683, 332, -1, -1, 793, -1, -1, 690,
3550 -1, 320, -1, -1, -1, -1, 325, -1, -1, -1,
3551 -1, -1, -1, 332, 333, -1, -1, 708, 709, -1,
3552 -1, -1, -1, 820, -1, -1, -1, -1, 320, -1,
3553 827, -1, -1, 325, -1, -1, 727, -1, -1, -1,
3554 332, -1, -1, 335, -1, -1, -1, -1, -1, -1,
3555 389, -1, 743, 744, 745, -1, -1, -1, -1, -1,
3556 399, 765, 766, -1, 768, -1, 770, 771, 407, -1,
3557 389, -1, 776, -1, 778, 779, -1, -1, -1, -1,
3558 399, -1, -1, -1, -1, -1, -1, -1, 407, 71,
3559 72, 73, 74, 75, 76, 77, 78, 389, 80, 81,
3560 -1, -1, -1, 442, 86, 87, -1, 399, 905, -1,
3561 -1, -1, 451, 804, 805, 407, -1, -1, -1, -1,
3562 811, -1, -1, 442, 815, -1, -1, -1, -1, -1,
3563 -1, -1, 451, 44, 116, 117, 118, 119, 120, 121,
3564 122, 123, 124, 125, -1, -1, 465, -1, 467, -1,
3565 442, -1, -1, -1, -1, 846, -1, 496, -1, 451,
3566 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3567 81, 82, 83, 864, -1, 86, 87, 496, -1, 870,
3568 -1, 872, -1, 887, 888, 889, 890, 878, -1, -1,
3569 894, 895, 896, -1, 898, 899, -1, -1, -1, -1,
3570 -1, 520, -1, 114, 496, 116, 117, 118, 119, 120,
3571 121, 122, 123, 124, 125, -1, -1, -1, -1, -1,
3572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3573 -1, -1, -1, -1, -1, -1, 940, -1, -1, 943,
3574 944, 945, 946, -1, 583, -1, -1, 51, 52, -1,
3575 954, 55, -1, -1, 593, -1, -1, -1, -1, -1,
3576 -1, -1, -1, -1, 583, 69, 70, 71, 72, 73,
3577 74, 75, 76, 77, 593, -1, 80, 81, -1, -1,
3578 84, 85, 86, 87, -1, -1, -1, -1, -1, -1,
3579 -1, 583, -1, -1, 98, -1, -1, -1, -1, -1,
3580 -1, 593, -1, -1, -1, -1, -1, -1, -1, -1,
3581 -1, -1, 116, 117, 118, 119, 120, 121, 122, 123,
3582 124, 125, -1, 127, 128, -1, 665, 666, -1, -1,
3583 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3584 -1, 145, 146, -1, 683, -1, 665, 666, -1, -1,
3585 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3586 -1, -1, -1, -1, 683, -1, -1, -1, -1, 708,
3587 709, 690, -1, 665, 666, -1, -1, -1, -1, -1,
3588 -1, -1, -1, -1, -1, -1, -1, -1, 727, 708,
3589 709, 683, -1, -1, -1, -1, -1, -1, -1, 691,
3590 -1, -1, -1, -1, 743, 744, 745, -1, 727, -1,
3591 -1, -1, -1, -1, -1, -1, 708, 709, -1, -1,
3592 -1, -1, -1, -1, 743, 744, 745, -1, -1, -1,
3593 -1, -1, -1, -1, -1, 727, -1, -1, -1, -1,
3594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3595 -1, 743, 744, 745, -1, -1, -1, -1, -1, -1,
3596 -1, -1, -1, -1, -1, 804, 805, -1, -1, -1,
3597 -1, -1, -1, -1, -1, -1, 815, -1, -1, -1,
3598 -1, -1, -1, -1, -1, 804, 805, -1, -1, -1,
3599 -1, -1, 811, -1, -1, -1, 815, -1, -1, -1,
3600 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3601 -1, -1, 804, 805, -1, -1, -1, -1, -1, 811,
3602 -1, -1, -1, 815, -1, 864, -1, 846, -1, -1,
3603 -1, 870, -1, 872, -1, -1, -1, -1, -1, 878,
3604 -1, -1, -1, -1, -1, 864, -1, -1, -1, -1,
3605 -1, 870, -1, 872, -1, -1, -1, -1, -1, 878,
3606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3607 -1, -1, 864, -1, -1, -1, -1, -1, 870, -1,
3608 872, -1, -1, -1, 0, 1, 878, 3, 4, 5,
3609 6, 7, -1, -1, -1, 11, 12, -1, -1, -1,
3610 16, -1, 18, 19, 20, 21, 22, 23, 24, -1,
3611 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
3612 36, -1, -1, 39, -1, -1, -1, -1, -1, 45,
3613 46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
3614 56, -1, 58, 59, 60, -1, -1, 63, -1, -1,
3615 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
3616 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3617 -1, -1, -1, 89, -1, -1, 92, 93, -1, 95,
3618 96, -1, 98, -1, 100, 101, 102, 103, 104, 105,
3619 106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
3620 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
3621 126, 127, 128, -1, -1, -1, 8, 9, 10, -1,
3622 -1, 13, 14, 15, -1, 17, -1, -1, -1, -1,
3623 -1, -1, -1, 149, 150, 27, 28, 29, -1, -1,
3624 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
3625 42, 43, 44, -1, -1, -1, -1, -1, -1, -1,
3626 -1, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3627 80, 81, 82, 83, -1, -1, 86, 87, -1, 71,
3628 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3629 82, 83, -1, -1, 86, 87, 88, -1, 90, 91,
3630 -1, -1, -1, -1, 114, 97, 116, 117, 118, 119,
3631 120, 121, 122, 123, 124, 125, 108, -1, -1, -1,
3632 -1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3633 122, 123, 124, 125, -1, -1, -1, -1, -1, -1,
3634 150, -1, -1, -1, -1, -1, -1, -1, -1, 141,
3635 142, 143, 144, 0, -1, 147, 148, 149, 150, -1,
3636 -1, 8, 9, 10, -1, -1, 13, 14, 15, -1,
3637 17, -1, -1, -1, -1, -1, -1, -1, -1, 26,
3638 27, 28, -1, -1, -1, -1, -1, -1, -1, -1,
3639 37, 38, -1, 40, 41, 42, 43, 44, -1, -1,
3640 -1, -1, -1, -1, -1, -1, 71, 72, 73, 74,
3641 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
3642 -1, 86, 87, -1, 71, 72, 73, 74, 75, 76,
3643 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3644 87, 88, -1, -1, 91, -1, -1, -1, -1, 114,
3645 97, 116, 117, 118, 119, 120, 121, 122, 123, 124,
3646 125, -1, -1, -1, -1, -1, -1, 114, -1, 116,
3647 117, 118, 119, 120, 121, 122, 123, 124, 125, -1,
3648 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3649 -1, -1, -1, 140, 141, 142, 143, 144, 0, 146,
3650 147, 148, 149, 150, -1, -1, 8, 9, 10, -1,
3651 -1, 13, 14, 15, -1, 17, -1, -1, -1, -1,
3652 -1, -1, -1, -1, -1, 27, 28, 29, -1, -1,
3653 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
3654 42, 43, 44, -1, -1, -1, -1, -1, -1, -1,
3655 -1, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3656 80, 81, 82, 83, -1, -1, 86, 87, -1, 71,
3657 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3658 82, 83, -1, -1, 86, 87, 88, -1, -1, 91,
3659 -1, -1, -1, -1, -1, 97, 116, 117, 118, 119,
3660 120, 121, 122, 123, 124, 125, 108, -1, -1, -1,
3661 -1, -1, 114, 115, 116, 117, 118, 119, 120, 121,
3662 122, 123, 124, 125, -1, -1, -1, -1, -1, -1,
3663 -1, -1, -1, -1, -1, -1, -1, -1, -1, 141,
3664 142, 143, 144, 0, -1, 147, 148, 149, 150, -1,
3665 -1, 8, 9, 10, -1, -1, 13, 14, 15, -1,
3666 17, -1, -1, -1, -1, -1, -1, -1, -1, 26,
3667 27, 28, -1, -1, -1, -1, -1, -1, -1, -1,
3668 37, 38, -1, 40, 41, 42, 43, 44, -1, -1,
3669 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3670 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3671 -1, -1, -1, -1, 71, 72, 73, 74, 75, 76,
3672 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3673 87, 88, -1, -1, 91, -1, -1, -1, -1, -1,
3674 97, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3675 -1, -1, -1, -1, -1, -1, -1, 114, -1, 116,
3676 117, 118, 119, 120, 121, 122, 123, 124, 125, -1,
3677 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3678 -1, -1, -1, 140, 141, 142, 143, 144, 0, 146,
3679 147, 148, 149, 150, -1, -1, 8, 9, 10, -1,
3680 -1, 13, 14, 15, -1, 17, -1, -1, -1, -1,
3681 -1, -1, -1, -1, -1, 27, 28, -1, -1, -1,
3682 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
3683 42, 43, 44, -1, -1, -1, -1, -1, -1, -1,
3684 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3685 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3686 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3687 82, 83, -1, -1, 86, 87, 88, -1, -1, 91,
3688 -1, -1, -1, -1, -1, 97, -1, -1, -1, -1,
3689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3690 -1, -1, 114, -1, 116, 117, 118, 119, 120, 121,
3691 122, 123, 124, 125, -1, -1, -1, -1, -1, -1,
3692 -1, -1, -1, -1, -1, -1, -1, -1, -1, 141,
3693 142, 143, 144, 0, 146, 147, 148, 149, 150, -1,
3694 -1, 8, 9, 10, -1, -1, -1, 14, 15, -1,
3695 17, -1, -1, -1, -1, -1, -1, -1, -1, 26,
3696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3697 37, 38, -1, 40, 41, 42, 43, 44, -1, -1,
3698 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3699 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3700 -1, -1, -1, -1, 71, 72, 73, 74, 75, 76,
3701 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3702 87, 88, 0, 90, -1, -1, -1, -1, -1, -1,
3703 8, 9, 10, -1, -1, -1, 14, 15, -1, 17,
3704 -1, -1, -1, -1, -1, -1, 113, 114, -1, 116,
3705 117, 118, 119, 120, 121, 122, 123, 124, 125, 37,
3706 38, -1, 40, 41, 42, 43, 44, -1, -1, -1,
3707 -1, -1, -1, 140, 141, 142, 143, 144, -1, -1,
3708 147, -1, 149, 150, -1, -1, -1, -1, -1, -1,
3709 -1, -1, -1, 71, 72, 73, 74, 75, 76, 77,
3710 78, 79, 80, 81, 82, 83, -1, -1, 86, 87,
3711 88, -1, 90, -1, -1, -1, -1, -1, -1, -1,
3712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3713 -1, -1, -1, -1, -1, 113, 114, -1, 116, 117,
3714 118, 119, 120, 121, 122, 123, 124, 125, -1, -1,
3715 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3716 -1, -1, -1, 141, 142, 143, 144, -1, -1, 147,
3717 -1, 149, 150, 1, -1, 3, 4, 5, 6, 7,
3718 8, 9, 10, 11, 12, -1, -1, 15, 16, -1,
3719 18, 19, 20, 21, 22, 23, 24, -1, -1, -1,
3720 -1, -1, 30, 31, 32, 33, 34, 35, 36, -1,
3721 -1, 39, -1, -1, -1, -1, -1, 45, -1, 47,
3722 48, 49, -1, 51, 52, 53, 54, 55, 56, -1,
3723 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
3724 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
3725 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3726 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
3727 98, -1, 100, 101, 102, 103, 104, 105, 106, -1,
3728 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
3729 -1, -1, -1, -1, -1, -1, -1, -1, 126, 127,
3730 128, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3731 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3732 7, 149, 150, 10, 11, 12, -1, 14, 15, 16,
3733 -1, 18, 19, 20, 21, 22, 23, 24, -1, -1,
3734 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
3735 -1, -1, 39, -1, -1, -1, -1, -1, 45, -1,
3736 47, 48, 49, -1, 51, 52, 53, 54, 55, 56,
3737 -1, 58, 59, 60, -1, -1, 63, -1, -1, 66,
3738 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
3739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3740 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
3741 -1, 98, -1, 100, 101, 102, 103, 104, 105, 106,
3742 -1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
3743 -1, -1, -1, -1, -1, -1, -1, -1, -1, 126,
3744 127, 128, -1, -1, -1, -1, -1, -1, -1, -1,
3745 1, -1, 3, 4, 5, 6, 7, -1, -1, 10,
3746 11, 12, 149, 150, 15, 16, 17, 18, 19, 20,
3747 21, 22, 23, 24, -1, -1, -1, -1, -1, 30,
3748 31, 32, 33, 34, 35, 36, -1, -1, 39, -1,
3749 -1, -1, -1, -1, 45, -1, 47, 48, 49, -1,
3750 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
3751 -1, -1, 63, -1, -1, 66, 67, -1, 69, 70,
3752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3753 -1, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3754 -1, 92, 93, -1, 95, 96, -1, 98, -1, 100,
3755 101, 102, 103, 104, 105, 106, -1, -1, 109, -1,
3756 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3757 -1, -1, -1, -1, -1, 126, 127, 128, -1, -1,
3758 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3759 5, 6, 7, -1, -1, 10, 11, 12, 149, 150,
3760 15, 16, -1, 18, 19, 20, 21, 22, 23, 24,
3761 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
3762 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
3763 45, -1, 47, 48, 49, -1, 51, 52, 53, 54,
3764 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
3765 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
3766 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3767 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
3768 95, 96, -1, 98, -1, 100, 101, 102, 103, 104,
3769 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
3770 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3771 -1, 126, 127, 128, -1, -1, -1, -1, -1, -1,
3772 -1, 1, -1, 3, 4, 5, 6, 7, -1, -1,
3773 -1, 11, 12, -1, 149, 150, 16, -1, 18, 19,
3774 20, 21, 22, 23, 24, -1, -1, -1, -1, -1,
3775 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
3776 -1, -1, -1, -1, -1, 45, 46, 47, 48, 49,
3777 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
3778 60, -1, -1, 63, -1, -1, 66, 67, -1, 69,
3779 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3780 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
3781 -1, -1, 92, 93, -1, 95, 96, -1, 98, -1,
3782 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
3783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3784 -1, -1, -1, -1, -1, -1, 126, 127, 128, -1,
3785 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3786 -1, 141, -1, -1, -1, -1, -1, -1, -1, 149,
3787 150, 1, -1, 3, 4, 5, 6, 7, -1, 9,
3788 10, 11, 12, -1, -1, -1, 16, -1, 18, 19,
3789 20, 21, 22, 23, 24, -1, -1, -1, -1, -1,
3790 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
3791 -1, -1, -1, -1, -1, 45, -1, 47, 48, 49,
3792 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
3793 60, -1, -1, 63, -1, -1, 66, 67, -1, 69,
3794 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3795 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
3796 -1, -1, 92, 93, -1, 95, 96, -1, 98, -1,
3797 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
3798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3799 -1, -1, -1, -1, -1, -1, 126, 127, 128, -1,
3800 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3801 5, 6, 7, -1, -1, -1, 11, 12, -1, 149,
3802 150, 16, -1, 18, 19, 20, 21, 22, 23, 24,
3803 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
3804 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
3805 45, -1, 47, 48, 49, -1, 51, 52, 53, 54,
3806 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
3807 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
3808 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3809 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
3810 95, 96, -1, 98, -1, 100, 101, 102, 103, 104,
3811 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
3812 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3813 -1, 126, 127, 128, -1, -1, -1, -1, -1, -1,
3814 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3815 -1, -1, 147, -1, 149, 150, 1, -1, 3, 4,
3816 5, 6, 7, -1, -1, -1, 11, 12, -1, -1,
3817 -1, 16, -1, 18, 19, 20, 21, 22, 23, 24,
3818 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
3819 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
3820 45, -1, 47, 48, 49, -1, 51, 52, 53, 54,
3821 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
3822 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
3823 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3824 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
3825 95, 96, -1, 98, -1, 100, 101, 102, 103, 104,
3826 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
3827 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3828 -1, 126, 127, 128, -1, -1, -1, -1, -1, -1,
3829 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3830 -1, -1, 147, -1, 149, 150, 1, -1, 3, 4,
3831 5, 6, 7, -1, -1, -1, 11, 12, -1, -1,
3832 -1, 16, -1, 18, 19, 20, 21, 22, 23, 24,
3833 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
3834 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
3835 45, -1, 47, 48, 49, -1, 51, 52, 53, 54,
3836 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
3837 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
3838 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3839 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
3840 95, 96, -1, 98, -1, 100, 101, 102, 103, 104,
3841 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
3842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3843 -1, 126, 127, 128, -1, -1, -1, -1, -1, -1,
3844 -1, -1, -1, -1, -1, -1, 141, 1, -1, 3,
3845 4, 5, 6, 7, 149, 150, 10, 11, 12, -1,
3846 -1, -1, 16, -1, 18, 19, 20, 21, 22, 23,
3847 24, -1, -1, -1, -1, -1, 30, 31, 32, 33,
3848 34, 35, 36, -1, -1, 39, -1, -1, -1, -1,
3849 -1, 45, -1, 47, 48, 49, -1, 51, 52, 53,
3850 54, 55, 56, -1, 58, 59, 60, -1, -1, 63,
3851 -1, -1, 66, 67, -1, 69, 70, -1, -1, -1,
3852 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3853 -1, -1, -1, -1, -1, 89, -1, -1, 92, 93,
3854 -1, 95, 96, -1, 98, -1, 100, 101, 102, 103,
3855 104, 105, 106, -1, -1, 109, -1, -1, -1, -1,
3856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3857 -1, -1, 126, 127, 128, -1, -1, -1, -1, -1,
3858 -1, -1, -1, -1, 3, 4, 5, -1, 7, -1,
3859 -1, -1, 11, 12, -1, 149, 150, 16, -1, 18,
3860 19, 20, 21, 22, 23, 24, -1, -1, -1, -1,
3861 -1, 30, 31, 32, 33, 34, 35, 36, -1, -1,
3862 39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
3863 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
3864 59, 60, -1, -1, 63, -1, -1, 66, 67, -1,
3865 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3866 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3867 89, -1, -1, 92, 93, -1, 95, 96, -1, 98,
3868 99, 100, 101, 102, 103, 104, 105, 106, -1, -1,
3869 109, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3870 -1, 7, -1, -1, -1, 11, 12, 126, 127, 128,
3871 16, -1, 18, 19, 20, 21, 22, 23, 24, -1,
3872 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
3873 36, 150, -1, 39, -1, -1, -1, -1, -1, -1,
3874 -1, -1, 48, 49, -1, 51, 52, 53, 54, 55,
3875 56, -1, 58, 59, 60, -1, -1, 63, -1, -1,
3876 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
3877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3878 -1, -1, -1, 89, -1, -1, 92, 93, -1, 95,
3879 96, -1, -1, -1, 100, 101, 102, 103, 104, 105,
3880 106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
3881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3882 126, 127, 128, -1, -1, -1, -1, -1, -1, -1,
3883 -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
3884 11, 12, -1, 149, 150, 16, -1, 18, 19, 20,
3885 21, 22, 23, 24, -1, -1, -1, -1, -1, 30,
3886 31, 32, 33, 34, 35, 36, -1, -1, 39, -1,
3887 -1, -1, -1, -1, -1, -1, -1, 48, 49, -1,
3888 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
3889 -1, -1, 63, -1, -1, 66, 67, -1, 69, 70,
3890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3891 -1, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3892 -1, 92, 93, -1, 95, 96, -1, -1, -1, 100,
3893 101, 102, 103, 104, 105, 106, -1, -1, 109, -1,
3894 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
3895 -1, -1, -1, 11, 12, 126, 127, 128, 16, -1,
3896 18, 19, 20, 21, 22, 23, 24, -1, -1, -1,
3897 -1, -1, 30, 31, 32, 33, 34, 35, 36, 150,
3898 -1, 39, -1, -1, -1, -1, -1, 45, 46, 47,
3899 48, 49, -1, 51, 52, 53, 54, 55, 56, -1,
3900 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
3901 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
3902 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3903 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
3904 98, -1, 100, 101, 102, 103, 104, 105, 106, -1,
3905 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
3906 -1, -1, -1, -1, -1, -1, -1, -1, 126, 127,
3907 128, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3908 6, 7, -1, -1, -1, 11, 12, -1, -1, -1,
3909 16, 149, 18, 19, 20, 21, 22, 23, 24, -1,
3910 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
3911 36, -1, -1, 39, -1, -1, -1, -1, -1, 45,
3912 -1, 47, 48, 49, -1, 51, 52, 53, 54, 55,
3913 56, -1, 58, 59, 60, -1, -1, 63, -1, -1,
3914 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
3915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3916 -1, -1, -1, 89, -1, -1, 92, 93, -1, 95,
3917 96, -1, 98, -1, 100, 101, 102, 103, 104, 105,
3918 106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
3919 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3920 126, 127, 128, -1, -1, -1, -1, -1, -1, -1,
3921 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3922 -1, -1, -1, 149, 3, 4, 5, 6, 7, 8,
3923 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
3924 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
3925 -1, 30, 31, 32, 33, 34, 35, 36, 37, 38,
3926 39, -1, -1, -1, -1, -1, 45, 46, 47, 48,
3927 49, 50, 51, 52, 53, 54, 55, 56, -1, -1,
3928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3929 69, 70, 71, 72, 73, 74, 75, 76, 77, -1,
3930 -1, 80, 81, -1, -1, 84, 85, 86, 87, -1,
3931 -1, -1, -1, -1, -1, -1, -1, -1, -1, 98,
3932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3933 -1, -1, -1, -1, -1, -1, -1, 116, 117, 118,
3934 119, 120, 121, 122, 123, 124, 125, -1, 127, 128,
3935 -1, -1, -1, -1, -1, 3, 4, 5, -1, 7,
3936 -1, -1, -1, 11, 12, -1, 145, 146, 16, -1,
3937 18, 19, 20, 21, 22, 23, 24, -1, 26, -1,
3938 -1, -1, 30, 31, 32, 33, 34, 35, 36, -1,
3939 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
3940 48, 49, -1, 51, 52, 53, 54, 55, 56, 57,
3941 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
3942 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
3943 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3944 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
3945 98, 99, 100, 101, 102, 103, 104, 105, 106, -1,
3946 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
3947 -1, -1, -1, -1, -1, -1, -1, -1, 126, 127,
3948 128, -1, -1, -1, -1, -1, 3, 4, 5, -1,
3949 7, -1, 140, -1, 11, 12, -1, -1, 146, 16,
3950 -1, 18, 19, 20, 21, 22, 23, 24, -1, 26,
3951 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
3952 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
3953 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
3954 57, 58, 59, 60, -1, -1, 63, -1, -1, 66,
3955 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
3956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3957 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
3958 -1, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3959 -1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
3960 -1, -1, -1, -1, -1, -1, -1, -1, -1, 126,
3961 127, 128, -1, -1, -1, -1, -1, 3, 4, 5,
3962 -1, 7, -1, 140, -1, 11, 12, -1, -1, 146,
3963 16, -1, 18, 19, 20, 21, 22, 23, 24, -1,
3964 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
3965 36, -1, -1, 39, -1, -1, -1, -1, -1, -1,
3966 -1, -1, 48, 49, -1, 51, 52, 53, 54, 55,
3967 56, 57, 58, 59, 60, -1, -1, 63, -1, -1,
3968 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
3969 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3970 -1, -1, -1, 89, 90, -1, 92, 93, -1, 95,
3971 96, -1, 98, 99, 100, 101, 102, 103, 104, 105,
3972 106, -1, -1, 109, -1, -1, -1, 113, -1, -1,
3973 -1, -1, -1, -1, -1, 3, 4, 5, -1, 7,
3974 126, 127, 128, 11, 12, -1, -1, -1, 16, -1,
3975 18, 19, 20, 21, 22, 23, 24, -1, -1, -1,
3976 146, -1, 30, 31, 32, 33, 34, 35, 36, -1,
3977 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
3978 48, 49, -1, 51, 52, 53, 54, 55, 56, 57,
3979 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
3980 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
3981 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3982 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
3983 98, 99, 100, 101, 102, 103, 104, 105, 106, -1,
3984 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
3985 -1, -1, -1, 3, 4, 5, -1, 7, 126, 127,
3986 128, 11, 12, -1, -1, -1, 16, -1, 18, 19,
3987 20, 21, 22, 23, 24, -1, -1, -1, 146, -1,
3988 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
3989 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
3990 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
3991 60, -1, -1, 63, -1, -1, 66, 67, -1, 69,
3992 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3993 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
3994 -1, -1, 92, 93, -1, 95, 96, -1, 98, 99,
3995 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
3996 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3997 -1, -1, -1, -1, -1, -1, 126, 127, 128, -1,
3998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3999 -1, -1, -1, -1, -1, -1, 146, 3, 4, 5,
4000 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
4001 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
4002 26, -1, -1, -1, 30, 31, 32, 33, 34, 35,
4003 36, 37, 38, 39, -1, -1, -1, -1, -1, 45,
4004 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
4005 56, -1, -1, -1, -1, -1, -1, 63, -1, -1,
4006 -1, -1, -1, 69, 70, 71, 72, 73, 74, 75,
4007 76, 77, -1, -1, 80, 81, -1, -1, 84, 85,
4008 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
4009 -1, -1, 98, -1, -1, -1, -1, -1, -1, 105,
4010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4011 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
4012 -1, 127, 128, -1, -1, -1, -1, -1, -1, -1,
4013 -1, -1, -1, -1, -1, -1, -1, -1, -1, 145,
4014 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
4015 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
4016 23, 24, 25, 26, -1, -1, -1, 30, 31, 32,
4017 33, 34, 35, 36, 37, 38, 39, -1, -1, -1,
4018 -1, -1, 45, 46, 47, 48, 49, 50, 51, 52,
4019 53, 54, 55, 56, -1, -1, -1, -1, -1, -1,
4020 63, -1, -1, -1, -1, -1, 69, 70, 71, 72,
4021 73, 74, 75, 76, 77, -1, -1, 80, 81, -1,
4022 -1, 84, 85, 86, 87, -1, -1, -1, -1, -1,
4023 -1, -1, -1, -1, -1, 98, -1, -1, -1, -1,
4024 -1, -1, 105, -1, -1, -1, -1, -1, -1, -1,
4025 -1, -1, -1, 116, 117, 118, 119, 120, 121, 122,
4026 123, 124, 125, -1, 127, 128, -1, -1, -1, -1,
4027 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4028 -1, -1, 145, 3, 4, 5, 6, 7, 8, 9,
4029 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
4030 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
4031 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
4032 -1, -1, -1, -1, -1, 45, 46, 47, 48, 49,
4033 50, 51, 52, -1, -1, 55, -1, -1, -1, -1,
4034 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
4035 70, 71, 72, 73, 74, 75, 76, 77, -1, -1,
4036 80, 81, -1, -1, 84, 85, 86, 87, -1, -1,
4037 -1, -1, -1, -1, -1, -1, -1, -1, 98, -1,
4038 -1, 101, -1, -1, -1, -1, -1, -1, -1, -1,
4039 -1, -1, -1, -1, -1, -1, 116, 117, 118, 119,
4040 120, 121, 122, 123, 124, 125, -1, 127, 128, -1,
4041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4042 -1, -1, -1, -1, -1, 145, 3, 4, 5, 6,
4043 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
4044 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
4045 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
4046 37, 38, 39, -1, -1, -1, -1, -1, 45, 46,
4047 47, 48, 49, 50, 51, 52, -1, -1, 55, -1,
4048 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4049 -1, -1, 69, 70, 71, 72, 73, 74, 75, 76,
4050 77, -1, -1, 80, 81, -1, -1, 84, 85, 86,
4051 87, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4052 -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
4053 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
4054 117, 118, 119, 120, 121, 122, 123, 124, 125, -1,
4055 127, 128, -1, -1, 3, 4, 5, -1, 7, -1,
4056 -1, -1, 11, 12, -1, -1, -1, 16, 145, 18,
4057 19, 20, 21, 22, 23, 24, -1, -1, -1, -1,
4058 -1, 30, 31, 32, 33, 34, 35, 36, -1, -1,
4059 39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
4060 49, -1, 51, 52, 53, 54, 55, 56, -1, 58,
4061 59, 60, -1, -1, 63, -1, -1, 66, 67, -1,
4062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4064 89, -1, -1, 92, 93, -1, 95, 96, -1, -1,
4065 -1, 100, 101, 102, 103, 104, 105, 106, -1, -1,
4066 109, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4067 3, 4, 5, -1, 7, -1, -1, 126, 11, 12,
4068 -1, -1, -1, 16, -1, 18, 19, 20, 21, 22,
4069 23, 24, -1, -1, -1, 144, -1, 30, 31, 32,
4070 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
4071 -1, -1, -1, -1, -1, 48, 49, -1, 51, 52,
4072 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
4073 63, -1, -1, 66, 67, -1, -1, -1, -1, -1,
4074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4075 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
4076 93, -1, 95, 96, -1, -1, -1, 100, 101, 102,
4077 103, 104, 105, 106, -1, -1, 109, -1, -1, -1,
4078 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
4079 7, -1, -1, 126, 11, 12, -1, -1, -1, 16,
4080 -1, 18, 19, 20, 21, 22, 23, 24, -1, -1,
4081 -1, 144, -1, 30, 31, 32, 33, 34, 35, 36,
4082 -1, -1, 39, -1, -1, -1, -1, -1, 45, 46,
4083 47, 48, 49, -1, 51, 52, 53, 54, 55, 56,
4084 -1, 58, 59, 60, -1, -1, 63, -1, -1, 66,
4085 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
4086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4087 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
4088 -1, 98, -1, 100, 101, 102, 103, 104, 105, 106,
4089 -1, -1, 109, -1, -1, -1, -1, -1, -1, 3,
4090 4, 5, 6, 7, -1, -1, -1, 11, 12, 126,
4091 127, 128, 16, -1, 18, 19, 20, 21, 22, 23,
4092 24, -1, -1, -1, -1, -1, 30, 31, 32, 33,
4093 34, 35, 36, -1, -1, 39, -1, -1, -1, -1,
4094 -1, 45, -1, 47, 48, 49, -1, 51, 52, 53,
4095 54, 55, 56, -1, 58, 59, 60, -1, -1, 63,
4096 -1, -1, 66, 67, -1, 69, 70, -1, -1, -1,
4097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4098 -1, -1, -1, -1, -1, 89, -1, -1, 92, 93,
4099 -1, 95, 96, -1, 98, -1, 100, 101, 102, 103,
4100 104, 105, 106, -1, -1, 109, -1, -1, -1, -1,
4101 -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
4102 11, 12, 126, 127, 128, 16, -1, 18, 19, 20,
4103 21, 22, 23, 24, -1, -1, -1, -1, -1, 30,
4104 31, 32, 33, 34, 35, 36, -1, -1, 39, -1,
4105 -1, -1, -1, -1, -1, -1, -1, 48, 49, -1,
4106 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4107 -1, -1, 63, -1, -1, 66, 67, -1, 69, 70,
4108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4109 -1, -1, -1, -1, -1, -1, -1, -1, 89, -1,
4110 -1, 92, 93, -1, 95, 96, -1, 98, 99, 100,
4111 101, 102, 103, 104, 105, 106, -1, -1, 109, -1,
4112 -1, -1, -1, -1, -1, 3, 4, 5, -1, 7,
4113 -1, -1, -1, 11, 12, 126, 127, 128, 16, -1,
4114 18, 19, 20, 21, 22, 23, 24, -1, -1, -1,
4115 -1, -1, 30, 31, 32, 33, 34, 35, 36, -1,
4116 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
4117 48, 49, -1, 51, 52, 53, 54, 55, 56, 57,
4118 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
4119 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
4120 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4121 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
4122 98, 99, 100, 101, 102, 103, 104, 105, 106, -1,
4123 -1, 109, -1, -1, -1, -1, -1, -1, 3, 4,
4124 5, -1, 7, -1, -1, -1, 11, 12, 126, 127,
4125 128, 16, -1, 18, 19, 20, 21, 22, 23, 24,
4126 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
4127 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
4128 -1, -1, -1, 48, 49, -1, 51, 52, 53, 54,
4129 55, 56, 57, 58, 59, 60, -1, -1, 63, -1,
4130 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
4131 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4132 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
4133 95, 96, -1, 98, -1, 100, 101, 102, 103, 104,
4134 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
4135 -1, 3, 4, 5, -1, 7, -1, -1, -1, 11,
4136 12, 126, 127, 128, 16, -1, 18, 19, 20, 21,
4137 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
4138 32, 33, 34, 35, 36, -1, -1, 39, -1, -1,
4139 -1, -1, -1, -1, -1, -1, 48, 49, -1, 51,
4140 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
4141 -1, 63, -1, -1, 66, 67, -1, 69, 70, -1,
4142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4143 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
4144 92, 93, -1, 95, 96, -1, -1, 99, 100, 101,
4145 102, 103, 104, 105, 106, -1, -1, 109, -1, -1,
4146 -1, -1, -1, -1, 3, 4, 5, -1, 7, -1,
4147 -1, -1, 11, 12, 126, 127, 128, 16, -1, 18,
4148 19, 20, 21, 22, 23, 24, -1, -1, -1, -1,
4149 -1, 30, 31, 32, 33, 34, 35, 36, -1, -1,
4150 39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
4151 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4152 59, 60, -1, -1, 63, -1, -1, 66, 67, -1,
4153 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
4154 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4155 89, -1, -1, 92, 93, -1, 95, 96, -1, 98,
4156 -1, 100, 101, 102, 103, 104, 105, 106, -1, -1,
4157 109, -1, -1, -1, -1, -1, -1, 3, 4, 5,
4158 -1, 7, -1, -1, -1, 11, 12, 126, 127, 128,
4159 16, -1, 18, 19, 20, 21, 22, 23, 24, -1,
4160 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
4161 36, -1, -1, 39, -1, -1, -1, -1, -1, -1,
4162 -1, -1, 48, 49, -1, 51, 52, 53, 54, 55,
4163 56, 57, 58, 59, 60, -1, -1, 63, -1, -1,
4164 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
4165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4166 -1, -1, -1, 89, -1, -1, 92, 93, -1, 95,
4167 96, -1, -1, -1, 100, 101, 102, 103, 104, 105,
4168 106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
4169 3, 4, 5, -1, 7, -1, -1, -1, 11, 12,
4170 126, 127, 128, 16, -1, 18, 19, 20, 21, 22,
4171 23, 24, -1, -1, -1, -1, -1, 30, 31, 32,
4172 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
4173 -1, -1, -1, -1, -1, 48, 49, -1, 51, 52,
4174 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
4175 63, -1, -1, 66, 67, -1, 69, 70, -1, -1,
4176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4177 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
4178 93, -1, 95, 96, -1, 98, -1, 100, 101, 102,
4179 103, 104, 105, 106, -1, -1, 109, -1, -1, -1,
4180 -1, -1, -1, 3, 4, 5, -1, 7, -1, -1,
4181 -1, 11, 12, 126, 127, 128, 16, -1, 18, 19,
4182 20, 21, 22, 23, 24, -1, -1, -1, -1, -1,
4183 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
4184 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
4185 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
4186 60, -1, -1, 63, -1, -1, 66, 67, -1, 69,
4187 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4188 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
4189 -1, -1, 92, 93, -1, 95, 96, -1, 98, -1,
4190 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
4191 -1, -1, -1, -1, -1, -1, 3, 4, 5, -1,
4192 7, -1, -1, -1, 11, 12, 126, 127, 128, 16,
4193 -1, 18, 19, 20, 21, 22, 23, 24, -1, -1,
4194 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
4195 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
4196 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
4197 -1, 58, 59, 60, -1, -1, 63, -1, -1, 66,
4198 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
4199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4200 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
4201 -1, 98, -1, 100, 101, 102, 103, 104, 105, 106,
4202 -1, -1, 109, -1, -1, -1, -1, -1, -1, 3,
4203 4, 5, -1, 7, -1, -1, -1, 11, 12, 126,
4204 127, 128, 16, -1, 18, 19, 20, 21, 22, 23,
4205 24, -1, -1, -1, -1, -1, 30, 31, 32, 33,
4206 34, 35, 36, -1, -1, 39, -1, -1, -1, -1,
4207 -1, -1, -1, -1, 48, 49, -1, 51, 52, 53,
4208 54, 55, 56, -1, 58, 59, 60, -1, -1, 63,
4209 -1, -1, 66, 67, -1, 69, 70, -1, -1, -1,
4210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4211 -1, -1, -1, -1, -1, 89, -1, -1, 92, 93,
4212 -1, 95, 96, -1, 98, -1, 100, 101, 102, 103,
4213 104, 105, 106, -1, -1, 109, -1, -1, -1, -1,
4214 -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
4215 11, 12, 126, 127, 128, 16, -1, 18, 19, 20,
4216 21, 22, 23, 24, -1, -1, -1, -1, -1, 30,
4217 31, 32, 33, 34, 35, 36, -1, -1, 39, -1,
4218 -1, -1, -1, -1, -1, -1, -1, 48, 49, -1,
4219 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
4220 -1, -1, 63, -1, -1, 66, 67, -1, 69, 70,
4221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4222 -1, -1, -1, -1, -1, -1, -1, -1, 89, -1,
4223 -1, 92, 93, -1, 95, 96, -1, 98, -1, 100,
4224 101, 102, 103, 104, 105, 106, -1, -1, 109, -1,
4225 -1, -1, -1, -1, -1, 3, 4, 5, -1, 7,
4226 -1, -1, -1, 11, 12, 126, 127, 128, 16, -1,
4227 18, 19, 20, 21, 22, 23, 24, -1, -1, -1,
4228 -1, -1, 30, 31, 32, 33, 34, 35, 36, -1,
4229 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
4230 48, 49, -1, 51, 52, 53, 54, 55, 56, -1,
4231 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
4232 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
4233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4234 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
4235 -1, -1, 100, 101, 102, 103, 104, 105, 106, -1,
4236 -1, 109, -1, -1, -1, -1, -1, -1, 3, 4,
4237 5, -1, 7, -1, -1, -1, 11, 12, 126, 127,
4238 128, 16, -1, 18, 19, 20, 21, 22, 23, 24,
4239 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
4240 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
4241 -1, -1, -1, 48, 49, -1, 51, 52, 53, 54,
4242 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
4243 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
4244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4245 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
4246 95, 96, -1, -1, -1, 100, 101, 102, 103, 104,
4247 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
4248 -1, 3, 4, 5, -1, 7, -1, -1, -1, 11,
4249 12, 126, 127, 128, 16, -1, 18, 19, 20, 21,
4250 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
4251 32, 33, 34, 35, 36, -1, -1, 39, -1, -1,
4252 -1, -1, -1, -1, -1, -1, 48, 49, -1, 51,
4253 52, 53, 54, 55, 56, -1, 58, 59, 60, -1,
4254 -1, 63, -1, -1, 66, 67, -1, 69, 70, -1,
4255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4256 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
4257 92, 93, -1, 95, 96, -1, -1, -1, 100, 101,
4258 102, 103, 104, 105, 106, -1, -1, 109, -1, -1,
4259 -1, -1, -1, -1, 3, 4, 5, -1, 7, -1,
4260 -1, -1, 11, 12, 126, 127, 128, 16, -1, 18,
4261 19, 20, 21, 22, 23, 24, -1, -1, -1, -1,
4262 -1, 30, 31, 32, 33, 34, 35, 36, -1, -1,
4263 39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
4264 49, -1, 51, 52, 53, 54, 55, 56, -1, 58,
4265 59, 60, -1, -1, 63, -1, -1, 66, 67, -1,
4266 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4267 -1, -1, -1, -1, -1, -1, -1, 86, -1, -1,
4268 89, -1, -1, 92, 93, -1, 95, 96, -1, -1,
4269 -1, 100, 101, 102, 103, 104, 105, 106, -1, -1,
4270 109, -1, -1, 3, 4, 5, -1, 7, -1, -1,
4271 -1, 11, 12, -1, -1, -1, 16, 126, 18, 19,
4272 20, 21, 22, 23, 24, -1, -1, -1, -1, -1,
4273 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
4274 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
4275 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
4276 60, -1, -1, 63, -1, -1, 66, 67, -1, -1,
4277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4278 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
4279 -1, -1, 92, 93, -1, 95, 96, -1, 98, -1,
4280 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
4281 -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
4282 11, 12, -1, -1, -1, 16, 126, 18, 19, 20,
4283 21, 22, 23, 24, -1, -1, -1, -1, -1, 30,
4284 31, 32, 33, 34, 35, 36, -1, -1, 39, -1,
4285 -1, -1, -1, -1, -1, -1, -1, 48, 49, -1,
4286 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
4287 -1, -1, 63, -1, -1, 66, 67, -1, -1, -1,
4288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4289 -1, -1, -1, -1, -1, -1, -1, -1, 89, -1,
4290 -1, 92, 93, -1, 95, 96, -1, 98, -1, 100,
4291 101, 102, 103, 104, 105, 106, -1, -1, 109, -1,
4292 -1, 3, 4, 5, -1, 7, -1, -1, -1, 11,
4293 12, -1, -1, -1, 16, 126, 18, 19, 20, 21,
4294 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
4295 32, 33, 34, 35, 36, -1, -1, 39, -1, -1,
4296 -1, -1, -1, -1, -1, -1, 48, 49, -1, 51,
4297 52, 53, 54, 55, 56, -1, 58, 59, 60, -1,
4298 -1, 63, -1, -1, 66, 67, -1, -1, -1, -1,
4299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4300 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
4301 92, 93, -1, 95, 96, -1, -1, -1, 100, 101,
4302 102, 103, 104, 105, 106, -1, -1, 109, -1, -1,
4303 3, 4, 5, -1, 7, -1, -1, -1, 11, 12,
4304 -1, -1, -1, 16, 126, 18, 19, 20, 21, 22,
4305 23, 24, -1, -1, -1, -1, -1, 30, 31, 32,
4306 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
4307 -1, -1, -1, -1, -1, 48, 49, -1, 51, 52,
4308 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
4309 63, -1, -1, 66, 67, -1, -1, -1, -1, -1,
4310 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4311 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
4312 93, -1, 95, 96, -1, -1, -1, 100, 101, 102,
4313 103, 104, 105, 106, -1, -1, 109, -1, -1, 3,
4314 4, 5, -1, 7, -1, -1, -1, 11, 12, -1,
4315 -1, -1, 16, 126, 18, 19, 20, 21, 22, 23,
4316 24, -1, -1, -1, -1, -1, 30, 31, 32, 33,
4317 34, 35, 36, -1, -1, 39, -1, -1, -1, -1,
4318 -1, -1, -1, -1, 48, 49, -1, 51, 52, 53,
4319 54, 55, 56, -1, 58, 59, 60, -1, -1, 63,
4320 -1, -1, 66, 67, -1, -1, -1, -1, -1, -1,
4321 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4322 -1, -1, -1, -1, -1, 89, -1, -1, 92, 93,
4323 -1, 95, 96, -1, -1, -1, 100, 101, 102, 103,
4324 104, 105, 106, -1, -1, 109, -1, -1, 3, 4,
4325 5, -1, 7, -1, -1, -1, 11, 12, -1, -1,
4326 -1, 16, 126, 18, 19, 20, 21, 22, 23, 24,
4327 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
4328 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
4329 -1, -1, -1, 48, 49, -1, 51, 52, 53, 54,
4330 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
4331 -1, 66, 67, -1, -1, -1, -1, -1, -1, -1,
4332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4333 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
4334 95, 96, -1, -1, -1, 100, 101, 102, 103, 104,
4335 105, 106, -1, -1, 109, 51, 52, -1, -1, 55,
4336 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4337 -1, 126, -1, 69, 70, 71, 72, 73, 74, 75,
4338 76, 77, -1, -1, 80, 81, -1, -1, 84, 85,
4339 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
4340 -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
4341 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4342 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
4343 -1, 127, 128, 51, 52, -1, -1, 55, -1, -1,
4344 -1, -1, -1, -1, -1, -1, -1, -1, -1, 145,
4345 146, 69, 70, 71, 72, 73, 74, 75, 76, 77,
4346 -1, -1, 80, 81, -1, -1, 84, 85, 86, 87,
4347 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4348 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4349 -1, -1, -1, -1, -1, -1, -1, -1, 116, 117,
4350 118, 119, 120, 121, 122, 123, 124, 125, -1, 127,
4351 128, 51, 52, -1, -1, 55, -1, -1, -1, -1,
4352 -1, -1, -1, -1, -1, -1, -1, 145, 146, 69,
4353 70, 71, 72, 73, 74, 75, 76, 77, -1, -1,
4354 80, 81, -1, -1, 84, 85, 86, 87, -1, -1,
4355 -1, -1, -1, -1, -1, -1, -1, -1, 98, -1,
4356 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4357 -1, -1, -1, -1, -1, -1, 116, 117, 118, 119,
4358 120, 121, 122, 123, 124, 125, -1, 127, 128, 51,
4359 52, -1, -1, 55, -1, -1, -1, -1, -1, -1,
4360 -1, -1, -1, -1, -1, 145, 146, 69, 70, 71,
4361 72, 73, 74, 75, 76, 77, -1, -1, 80, 81,
4362 -1, -1, 84, 85, 86, 87, -1, -1, -1, -1,
4363 -1, -1, -1, -1, -1, -1, 98, -1, -1, -1,
4364 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4365 -1, -1, -1, -1, 116, 117, 118, 119, 120, 121,
4366 122, 123, 124, 125, -1, 127, 128, 51, 52, -1,
4367 -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
4368 -1, -1, -1, 145, 146, 69, 70, 71, 72, 73,
4369 74, 75, 76, 77, -1, -1, 80, 81, -1, -1,
4370 84, 85, 86, 87, -1, -1, -1, -1, -1, -1,
4371 -1, -1, -1, -1, 98, -1, -1, -1, -1, -1,
4372 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4373 -1, -1, 116, 117, 118, 119, 120, 121, 122, 123,
4374 124, 125, -1, 127, 128, 51, 52, -1, -1, 55,
4375 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4376 -1, 145, 146, 69, 70, 71, 72, 73, 74, 75,
4377 76, 77, -1, -1, 80, 81, -1, -1, 84, 85,
4378 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
4379 -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
4380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4381 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
4382 -1, 127, 128, 51, 52, -1, -1, 55, -1, -1,
4383 -1, -1, -1, -1, -1, -1, -1, -1, -1, 145,
4384 146, 69, 70, 71, 72, 73, 74, 75, 76, 77,
4385 -1, -1, 80, 81, -1, -1, 84, 85, 86, 87,
4386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4387 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4388 -1, -1, -1, -1, -1, -1, -1, -1, 116, 117,
4389 118, 119, 120, 121, 122, 123, 124, 125, -1, 127,
4390 128, 51, 52, -1, -1, 55, -1, -1, -1, -1,
4391 -1, -1, -1, -1, -1, -1, -1, 145, 146, 69,
4392 70, 71, 72, 73, 74, 75, 76, 77, -1, -1,
4393 80, 81, -1, -1, 84, 85, 86, 87, -1, -1,
4394 -1, -1, -1, -1, -1, -1, -1, -1, 98, -1,
4395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4396 -1, -1, -1, -1, -1, -1, 116, 117, 118, 119,
4397 120, 121, 122, 123, 124, 125, -1, 127, 128, 51,
4398 52, -1, -1, 55, -1, -1, -1, -1, -1, -1,
4399 -1, -1, -1, -1, -1, 145, 146, 69, 70, 71,
4400 72, 73, 74, 75, 76, 77, -1, -1, 80, 81,
4401 -1, -1, 84, 85, 86, 87, -1, -1, -1, -1,
4402 -1, -1, -1, -1, -1, -1, 98, -1, -1, -1,
4403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4404 -1, -1, -1, -1, 116, 117, 118, 119, 120, 121,
4405 122, 123, 124, 125, -1, 127, 128, 51, 52, -1,
4406 -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
4407 -1, -1, -1, 145, 146, 69, 70, 71, 72, 73,
4408 74, 75, 76, 77, -1, -1, 80, 81, -1, -1,
4409 84, 85, 86, 87, -1, -1, -1, -1, -1, -1,
4410 -1, -1, -1, -1, 98, -1, -1, -1, -1, -1,
4411 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4412 -1, -1, 116, 117, 118, 119, 120, 121, 122, 123,
4413 124, 125, -1, 127, 128, 51, 52, -1, -1, 55,
4414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4415 -1, 145, 146, 69, 70, 71, 72, 73, 74, 75,
4416 76, 77, -1, -1, 80, 81, -1, -1, 84, 85,
4417 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
4418 -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
4419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4420 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
4421 -1, 127, 128, 51, 52, -1, -1, 55, -1, -1,
4422 -1, -1, -1, -1, -1, -1, -1, -1, -1, 145,
4423 146, 69, 70, 71, 72, 73, 74, 75, 76, 77,
4424 -1, -1, 80, 81, -1, -1, 84, 85, 86, 87,
4425 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4426 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4427 -1, -1, -1, -1, -1, -1, -1, -1, 116, 117,
4428 118, 119, 120, 121, 122, 123, 124, 125, -1, 127,
4429 128, 51, 52, -1, -1, 55, -1, -1, -1, -1,
4430 -1, -1, -1, -1, -1, -1, -1, 145, 146, 69,
4431 70, 71, 72, 73, 74, 75, 76, 77, -1, -1,
4432 80, 81, -1, -1, 84, 85, 86, 87, -1, -1,
4433 -1, -1, -1, -1, -1, -1, -1, -1, 98, -1,
4434 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4435 -1, -1, -1, -1, -1, -1, 116, 117, 118, 119,
4436 120, 121, 122, 123, 124, 125, -1, 127, 128, -1,
4437 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4438 -1, -1, -1, -1, -1, 145
4443 static const yytype_uint16 yystos[] =
4445 0, 152, 153, 0, 1, 3, 4, 5, 6, 7,
4446 11, 12, 16, 18, 19, 20, 21, 22, 23, 24,
4447 30, 31, 32, 33, 34, 35, 36, 39, 45, 46,
4448 47, 48, 49, 51, 52, 53, 54, 55, 56, 58,
4449 59, 60, 63, 66, 67, 69, 70, 89, 92, 93,
4450 95, 96, 98, 100, 101, 102, 103, 104, 105, 106,
4451 109, 126, 127, 128, 154, 155, 156, 161, 163, 164,
4452 166, 167, 170, 171, 173, 174, 175, 177, 178, 187,
4453 200, 218, 237, 238, 248, 249, 253, 254, 255, 259,
4454 260, 261, 263, 264, 265, 266, 267, 268, 291, 304,
4455 156, 21, 22, 30, 31, 32, 39, 51, 55, 86,
4456 89, 92, 126, 179, 180, 200, 218, 265, 268, 291,
4457 180, 3, 4, 5, 6, 7, 8, 9, 10, 11,
4458 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
4459 22, 23, 24, 25, 26, 30, 31, 32, 33, 34,
4460 35, 36, 37, 38, 39, 45, 46, 47, 48, 49,
4461 50, 51, 52, 55, 69, 70, 71, 72, 73, 74,
4462 75, 76, 77, 80, 81, 84, 85, 86, 87, 98,
4463 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
4464 127, 128, 145, 146, 181, 185, 186, 267, 286, 33,
4465 34, 35, 36, 48, 49, 51, 55, 101, 181, 182,
4466 183, 261, 201, 89, 164, 165, 178, 218, 265, 266,
4467 268, 165, 149, 150, 165, 295, 300, 301, 303, 205,
4468 207, 89, 171, 178, 218, 223, 265, 268, 57, 98,
4469 99, 127, 170, 187, 188, 193, 196, 198, 289, 290,
4470 193, 193, 146, 194, 195, 146, 190, 194, 146, 296,
4471 301, 182, 157, 140, 187, 218, 187, 55, 1, 92,
4472 159, 160, 161, 172, 173, 304, 164, 203, 189, 198,
4473 289, 304, 188, 288, 289, 304, 89, 144, 177, 218,
4474 265, 268, 204, 53, 54, 56, 63, 105, 181, 262,
4475 62, 64, 65, 111, 250, 251, 63, 250, 63, 250,
4476 63, 250, 61, 250, 58, 59, 166, 187, 187, 295,
4477 303, 40, 41, 42, 43, 44, 37, 38, 28, 235,
4478 113, 144, 92, 98, 174, 113, 71, 72, 73, 74,
4479 75, 76, 77, 78, 79, 80, 81, 82, 83, 86,
4480 87, 114, 116, 117, 118, 119, 120, 121, 122, 123,
4481 124, 125, 88, 142, 143, 88, 143, 294, 26, 140,
4482 239, 90, 90, 190, 194, 239, 164, 51, 55, 179,
4483 58, 59, 1, 117, 269, 300, 88, 142, 143, 214,
4484 287, 215, 294, 105, 144, 158, 159, 55, 13, 219,
4485 300, 113, 88, 142, 143, 90, 90, 219, 302, 295,
4486 17, 242, 149, 165, 165, 55, 88, 142, 143, 25,
4487 188, 188, 188, 91, 144, 197, 304, 144, 197, 193,
4488 296, 297, 193, 192, 193, 198, 289, 304, 164, 297,
4489 164, 162, 140, 159, 88, 143, 90, 161, 172, 147,
4490 295, 303, 297, 202, 297, 148, 144, 299, 301, 144,
4491 299, 141, 299, 55, 174, 175, 176, 144, 88, 142,
4492 143, 51, 53, 54, 55, 56, 92, 98, 99, 120,
4493 123, 146, 233, 272, 273, 274, 275, 276, 277, 280,
4494 281, 282, 283, 284, 63, 251, 252, 62, 251, 63,
4495 63, 63, 61, 71, 71, 156, 165, 165, 165, 165,
4496 161, 164, 164, 236, 98, 166, 188, 198, 199, 172,
4497 144, 177, 144, 163, 166, 178, 187, 188, 199, 187,
4498 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
4499 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
4500 187, 187, 187, 187, 187, 51, 52, 55, 185, 190,
4501 292, 293, 192, 51, 52, 55, 185, 190, 292, 51,
4502 55, 292, 241, 240, 166, 187, 166, 187, 97, 168,
4503 212, 300, 270, 211, 51, 55, 179, 292, 192, 292,
4504 158, 164, 146, 271, 272, 216, 184, 10, 8, 244,
4505 304, 159, 13, 187, 51, 55, 192, 51, 55, 159,
4506 110, 250, 256, 257, 258, 304, 242, 198, 10, 27,
4507 220, 300, 220, 51, 55, 192, 51, 55, 209, 188,
4508 98, 188, 196, 289, 290, 297, 147, 297, 144, 144,
4509 297, 182, 154, 141, 187, 297, 161, 297, 289, 174,
4510 176, 51, 55, 192, 51, 55, 113, 51, 92, 98,
4511 224, 225, 226, 274, 272, 29, 108, 234, 144, 285,
4512 304, 144, 285, 51, 144, 285, 51, 63, 159, 187,
4513 187, 79, 118, 228, 229, 304, 188, 144, 297, 176,
4514 144, 113, 44, 296, 90, 90, 190, 194, 296, 298,
4515 90, 90, 190, 191, 194, 304, 191, 194, 228, 228,
4516 44, 169, 300, 165, 158, 298, 10, 297, 272, 158,
4517 300, 181, 182, 188, 199, 245, 304, 15, 222, 304,
4518 14, 221, 222, 90, 90, 298, 90, 90, 222, 110,
4519 258, 10, 144, 219, 206, 208, 298, 165, 188, 197,
4520 289, 141, 299, 298, 188, 226, 144, 274, 144, 297,
4521 230, 296, 159, 159, 275, 280, 282, 284, 276, 277,
4522 282, 276, 141, 51, 227, 230, 276, 278, 279, 282,
4523 284, 159, 98, 188, 176, 187, 115, 166, 187, 166,
4524 187, 168, 148, 90, 166, 187, 166, 187, 168, 239,
4525 235, 159, 159, 187, 228, 213, 300, 10, 297, 10,
4526 217, 91, 246, 304, 159, 9, 247, 304, 165, 10,
4527 90, 10, 188, 159, 159, 159, 220, 144, 297, 225,
4528 144, 98, 224, 147, 149, 10, 141, 144, 285, 144,
4529 285, 144, 285, 144, 285, 285, 113, 230, 118, 144,
4530 285, 144, 285, 144, 285, 10, 188, 187, 166, 187,
4531 10, 141, 159, 158, 271, 89, 178, 218, 265, 268,
4532 219, 159, 219, 222, 242, 243, 10, 10, 210, 144,
4533 225, 144, 274, 51, 231, 232, 273, 276, 282, 276,
4534 276, 89, 218, 118, 279, 282, 276, 278, 282, 276,
4535 141, 10, 158, 55, 88, 142, 143, 159, 159, 159,
4536 225, 144, 144, 296, 285, 144, 285, 285, 285, 55,
4537 88, 144, 285, 144, 285, 285, 144, 285, 285, 10,
4538 51, 55, 192, 51, 55, 244, 221, 10, 225, 232,
4539 276, 51, 55, 276, 282, 276, 276, 298, 285, 285,
4540 144, 285, 285, 285, 276, 285
4543 #define yyerrok (yyerrstatus = 0)
4544 #define yyclearin (yychar = YYEMPTY)
4545 #define YYEMPTY (-2)
4548 #define YYACCEPT goto yyacceptlab
4549 #define YYABORT goto yyabortlab
4550 #define YYERROR goto yyerrorlab
4560 #define YYFAIL goto yyerrlab
4568 #define YYRECOVERING() (!!yyerrstatus)
4570 #define YYBACKUP(Token, Value) \
4572 if (yychar == YYEMPTY) \
4576 YYPOPSTACK (yylen); \
4582 yyerror (p, YY_("syntax error: cannot back up")); \
4589 #define YYERRCODE 256
4593 #ifndef YY_LOCATION_PRINT
4594 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4600 # define YYLEX yylex (&yylval, YYLEX_PARAM)
4602 # define YYLEX yylex (&yylval, p)
4610 # define YYFPRINTF fprintf
4613 # define YYDPRINTF(Args) \
4619 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4623 YYFPRINTF (stderr, "%s ", Title); \
4624 yy_symbol_print (stderr, \
4626 YYFPRINTF (stderr, "\n"); \
4636 #if (defined __STDC__ || defined __C99__FUNC__ \
4637 || defined __cplusplus || defined _MSC_VER)
4639 yy_symbol_value_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
parser_state *p)
4642 yy_symbol_value_print (yyoutput, yytype, yyvaluep, p)
4645 YYSTYPE const * const yyvaluep;
4649 FILE *yyo = yyoutput;
4656 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
4668 #if (defined __STDC__ || defined __C99__FUNC__ \
4669 || defined __cplusplus || defined _MSC_VER)
4671 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
parser_state *p)
4674 yy_symbol_print (yyoutput, yytype, yyvaluep, p)
4677 YYSTYPE const * const yyvaluep;
4682 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
4684 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
4686 yy_symbol_value_print (yyoutput, yytype, yyvaluep, p);
4695 #if (defined __STDC__ || defined __C99__FUNC__ \
4696 || defined __cplusplus || defined _MSC_VER)
4698 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
4701 yy_stack_print (yybottom, yytop)
4702 yytype_int16 *yybottom;
4703 yytype_int16 *yytop;
4707 for (; yybottom <= yytop; yybottom++)
4709 int yybot = *yybottom;
4715 # define YY_STACK_PRINT(Bottom, Top) \
4718 yy_stack_print ((Bottom), (Top)); \
4726 #if (defined __STDC__ || defined __C99__FUNC__ \
4727 || defined __cplusplus || defined _MSC_VER)
4732 yy_reduce_print (yyvsp, yyrule, p)
4738 int yynrhs = yyr2[yyrule];
4740 unsigned long int yylno = yyrline[yyrule];
4741 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
4744 for (yyi = 0; yyi < yynrhs; yyi++)
4747 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
4748 &(yyvsp[(yyi + 1) - (yynrhs)])
4754 # define YY_REDUCE_PRINT(Rule) \
4757 yy_reduce_print (yyvsp, Rule, p); \
4764 # define YYDPRINTF(Args)
4765 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4766 # define YY_STACK_PRINT(Bottom, Top)
4767 # define YY_REDUCE_PRINT(Rule)
4773 # define YYINITDEPTH 200
4784 # define YYMAXDEPTH 10000
4791 # if defined __GLIBC__ && defined _STRING_H
4792 # define yystrlen strlen
4795 #if (defined __STDC__ || defined __C99__FUNC__ \
4796 || defined __cplusplus || defined _MSC_VER)
4798 yystrlen (
const char *yystr)
4806 for (yylen = 0; yystr[yylen]; yylen++)
4814 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4815 # define yystpcpy stpcpy
4819 #if (defined __STDC__ || defined __C99__FUNC__ \
4820 || defined __cplusplus || defined _MSC_VER)
4822 yystpcpy (
char *yydest,
const char *yysrc)
4825 yystpcpy (yydest, yysrc)
4831 const char *yys = yysrc;
4833 while ((*yyd++ = *yys++) !=
'\0')
4850 yytnamerr (
char *yyres,
const char *yystr)
4855 char const *yyp = yystr;
4862 goto do_not_strip_quotes;
4866 goto do_not_strip_quotes;
4879 do_not_strip_quotes: ;
4883 return yystrlen (yystr);
4885 return yystpcpy (yyres, yystr) - yyres;
4898 yysyntax_error (
YYSIZE_T *yymsg_alloc,
char **yymsg,
4899 yytype_int16 *yyssp,
int yytoken)
4903 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
4905 const char *yyformat =
YY_NULL;
4907 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
4941 int yyn = yypact[*yyssp];
4942 yyarg[yycount++] = yytname[yytoken];
4948 int yyxbegin = yyn < 0 ? -yyn : 0;
4950 int yychecklim =
YYLAST - yyn + 1;
4954 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4955 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR
4958 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
4964 yyarg[yycount++] = yytname[yyx];
4967 if (! (yysize <= yysize1
4978 # define YYCASE_(N, S) \
4983 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
4984 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
4985 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
4986 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
4987 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
4992 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
4998 if (*yymsg_alloc < yysize)
5000 *yymsg_alloc = 2 * yysize;
5001 if (! (yysize <= *yymsg_alloc
5013 while ((*yyp = *yyformat) !=
'\0')
5014 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
5016 yyp += yytnamerr (yyp, yyarg[yyi++]);
5034 #if (defined __STDC__ || defined __C99__FUNC__ \
5035 || defined __cplusplus || defined _MSC_VER)
5040 yydestruct (yymsg, yytype, yyvaluep, p)
5064 #ifdef YYPARSE_PARAM
5065 #if (defined __STDC__ || defined __C99__FUNC__ \
5066 || defined __cplusplus || defined _MSC_VER)
5072 void *YYPARSE_PARAM;
5075 #if (defined __STDC__ || defined __C99__FUNC__ \
5076 || defined __cplusplus || defined _MSC_VER)
5090 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
5092 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
5093 _Pragma ("GCC diagnostic push") \
5094 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
5095 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
5096 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
5097 _Pragma ("GCC diagnostic pop")
5102 # define YY_INITIAL_VALUE(Value) = Value
5104 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5105 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5106 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
5108 #ifndef YY_INITIAL_VALUE
5109 # define YY_INITIAL_VALUE(Value)
5132 yytype_int16 *yyssp;
5152 char *yymsg = yymsgbuf;
5153 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
5156 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
5162 yyssp = yyss = yyssa;
5163 yyvsp = yyvs = yyvsa;
5166 YYDPRINTF ((stderr,
"Starting parse\n"));
5185 if (yyss + yystacksize - 1 <= yyssp)
5188 YYSIZE_T yysize = yyssp - yyss + 1;
5196 yytype_int16 *yyss1 = yyss;
5202 yyoverflow (
YY_(
"memory exhausted"),
5203 &yyss1, yysize *
sizeof (*yyssp),
5204 &yyvs1, yysize *
sizeof (*yyvsp),
5211 # ifndef YYSTACK_RELOCATE
5212 goto yyexhaustedlab;
5216 goto yyexhaustedlab;
5222 yytype_int16 *yyss1 = yyss;
5226 goto yyexhaustedlab;
5229 # undef YYSTACK_RELOCATE
5236 yyssp = yyss + yysize - 1;
5237 yyvsp = yyvs + yysize - 1;
5239 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
5240 (
unsigned long int) yystacksize));
5242 if (yyss + yystacksize - 1 <= yyssp)
5246 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
5262 yyn = yypact[yystate];
5271 YYDPRINTF ((stderr,
"Reading a token: "));
5275 if (yychar <=
YYEOF)
5277 yychar = yytoken =
YYEOF;
5278 YYDPRINTF ((stderr,
"Now at end of input.\n"));
5289 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
5323 yyn = yydefact[yystate];
5344 yyval = yyvsp[1-yylen];
5352 #line 1100 "src/parse.y"
5355 if (!p->locals) p->locals =
cons(0,0);
5361 #line 1105 "src/parse.y"
5363 p->tree = new_scope(p, (yyvsp[(2) - (2)].nd));
5369 #line 1111 "src/parse.y"
5371 (yyval.
nd) = (yyvsp[(1) - (2)].nd);
5377 #line 1117 "src/parse.y"
5379 (yyval.
nd) = new_begin(p, 0);
5385 #line 1121 "src/parse.y"
5387 (yyval.
nd) = new_begin(p, (yyvsp[(1) - (1)].nd));
5393 #line 1125 "src/parse.y"
5401 #line 1129 "src/parse.y"
5403 (yyval.
nd) = new_begin(p, 0);
5409 #line 1136 "src/parse.y"
5411 (yyval.
nd) = local_switch(p);
5417 #line 1140 "src/parse.y"
5419 yyerror(p,
"BEGIN not supported");
5420 local_resume(p, (yyvsp[(2) - (5)].nd));
5427 #line 1151 "src/parse.y"
5429 if ((yyvsp[(2) - (4)].nd)) {
5430 (yyval.
nd) = new_rescue(p, (yyvsp[(1) - (4)].nd), (yyvsp[(2) - (4)].nd), (yyvsp[(3) - (4)].nd));
5432 else if ((yyvsp[(3) - (4)].nd)) {
5433 yywarn(p,
"else without rescue is useless");
5434 (yyval.
nd) =
push((yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].nd));
5437 (yyval.
nd) = (yyvsp[(1) - (4)].nd);
5439 if ((yyvsp[(4) - (4)].nd)) {
5441 (yyval.
nd) = new_ensure(p, (yyval.
nd), (yyvsp[(4) - (4)].nd));
5444 (yyval.
nd) =
push((yyvsp[(4) - (4)].nd), new_nil(p));
5452 #line 1174 "src/parse.y"
5454 (yyval.
nd) = (yyvsp[(1) - (2)].nd);
5460 #line 1180 "src/parse.y"
5462 (yyval.
nd) = new_begin(p, 0);
5468 #line 1184 "src/parse.y"
5470 (yyval.
nd) = new_begin(p, (yyvsp[(1) - (1)].nd));
5476 #line 1188 "src/parse.y"
5484 #line 1192 "src/parse.y"
5486 (yyval.
nd) = new_begin(p, (yyvsp[(2) - (2)].nd));
5492 #line 1197 "src/parse.y"
5498 #line 1198 "src/parse.y"
5500 (yyval.
nd) = new_alias(p, (yyvsp[(2) - (4)].
id), (yyvsp[(4) - (4)].id));
5506 #line 1202 "src/parse.y"
5508 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
5514 #line 1206 "src/parse.y"
5516 (yyval.
nd) = new_if(p, cond((yyvsp[(3) - (3)].nd)), (yyvsp[(1) - (3)].nd), 0);
5522 #line 1210 "src/parse.y"
5524 (yyval.
nd) = new_unless(p, cond((yyvsp[(3) - (3)].nd)), (yyvsp[(1) - (3)].nd), 0);
5530 #line 1214 "src/parse.y"
5532 (yyval.
nd) = new_while(p, cond((yyvsp[(3) - (3)].nd)), (yyvsp[(1) - (3)].nd));
5538 #line 1218 "src/parse.y"
5540 (yyval.
nd) = new_until(p, cond((yyvsp[(3) - (3)].nd)), (yyvsp[(1) - (3)].nd));
5546 #line 1222 "src/parse.y"
5548 (yyval.
nd) = new_rescue(p, (yyvsp[(1) - (3)].nd),
list1(
list3(0, 0, (yyvsp[(3) - (3)].nd))), 0);
5554 #line 1226 "src/parse.y"
5556 yyerror(p,
"END not suported");
5557 (yyval.
nd) = new_postexe(p, (yyvsp[(3) - (4)].nd));
5563 #line 1232 "src/parse.y"
5565 (yyval.
nd) = new_masgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
5571 #line 1236 "src/parse.y"
5573 (yyval.
nd) = new_op_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].nd));
5579 #line 1240 "src/parse.y"
5581 (yyval.
nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (6)].nd),
intern2(
"[]",2), (yyvsp[(3) - (6)].nd)), (yyvsp[(5) - (6)].id), (yyvsp[(6) - (6)].nd));
5587 #line 1244 "src/parse.y"
5589 (yyval.
nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
5595 #line 1248 "src/parse.y"
5597 (yyval.
nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
5603 #line 1252 "src/parse.y"
5605 yyerror(p,
"constant re-assignment");
5612 #line 1257 "src/parse.y"
5614 (yyval.
nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
5620 #line 1261 "src/parse.y"
5622 backref_error(p, (yyvsp[(1) - (3)].nd));
5623 (yyval.
nd) = new_begin(p, 0);
5629 #line 1266 "src/parse.y"
5631 (yyval.
nd) = new_asgn(p, (yyvsp[(1) - (3)].nd), new_array(p, (yyvsp[(3) - (3)].nd)));
5637 #line 1270 "src/parse.y"
5639 (yyval.
nd) = new_masgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
5645 #line 1274 "src/parse.y"
5647 (yyval.
nd) = new_masgn(p, (yyvsp[(1) - (3)].nd), new_array(p, (yyvsp[(3) - (3)].nd)));
5653 #line 1281 "src/parse.y"
5655 (yyval.
nd) = new_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
5661 #line 1285 "src/parse.y"
5663 (yyval.
nd) = new_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
5669 #line 1293 "src/parse.y"
5671 (yyval.
nd) = new_and(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
5677 #line 1297 "src/parse.y"
5679 (yyval.
nd) = new_or(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
5685 #line 1301 "src/parse.y"
5687 (yyval.
nd) = call_uni_op(p, cond((yyvsp[(3) - (3)].nd)),
"!");
5693 #line 1305 "src/parse.y"
5695 (yyval.
nd) = call_uni_op(p, cond((yyvsp[(2) - (2)].nd)),
"!");
5701 #line 1312 "src/parse.y"
5703 if (!(yyvsp[(1) - (1)].nd)) (yyval.
nd) = new_nil(p);
5704 else (yyval.
nd) = (yyvsp[(1) - (1)].nd);
5710 #line 1327 "src/parse.y"
5718 #line 1333 "src/parse.y"
5720 (yyval.
nd) = new_block(p, (yyvsp[(3) - (5)].nd), (yyvsp[(4) - (5)].nd));
5727 #line 1340 "src/parse.y"
5729 (yyval.
nd) = new_fcall(p, (yyvsp[(1) - (2)].
id), (yyvsp[(2) - (2)].nd));
5735 #line 1344 "src/parse.y"
5737 args_with_block(p, (yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd));
5738 (yyval.
nd) = new_fcall(p, (yyvsp[(1) - (3)].
id), (yyvsp[(2) - (3)].nd));
5744 #line 1349 "src/parse.y"
5746 (yyval.
nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
5752 #line 1353 "src/parse.y"
5754 args_with_block(p, (yyvsp[(4) - (5)].nd), (yyvsp[(5) - (5)].nd));
5755 (yyval.
nd) = new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].nd));
5761 #line 1358 "src/parse.y"
5763 (yyval.
nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
5769 #line 1362 "src/parse.y"
5771 args_with_block(p, (yyvsp[(4) - (5)].nd), (yyvsp[(5) - (5)].nd));
5772 (yyval.
nd) = new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].nd));
5778 #line 1367 "src/parse.y"
5780 (yyval.
nd) = new_super(p, (yyvsp[(2) - (2)].nd));
5786 #line 1371 "src/parse.y"
5788 (yyval.
nd) = new_yield(p, (yyvsp[(2) - (2)].nd));
5794 #line 1375 "src/parse.y"
5796 (yyval.
nd) = new_return(p, ret_args(p, (yyvsp[(2) - (2)].nd)));
5802 #line 1379 "src/parse.y"
5804 (yyval.
nd) = new_break(p, ret_args(p, (yyvsp[(2) - (2)].nd)));
5810 #line 1383 "src/parse.y"
5812 (yyval.
nd) = new_next(p, ret_args(p, (yyvsp[(2) - (2)].nd)));
5818 #line 1389 "src/parse.y"
5820 (yyval.
nd) = (yyvsp[(1) - (1)].nd);
5826 #line 1393 "src/parse.y"
5828 (yyval.
nd) = (yyvsp[(2) - (3)].nd);
5834 #line 1400 "src/parse.y"
5836 (yyval.
nd) =
list1((yyvsp[(2) - (3)].nd));
5842 #line 1406 "src/parse.y"
5844 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
5850 #line 1410 "src/parse.y"
5852 (yyval.
nd) =
list1(
push((yyvsp[(1) - (2)].nd),(yyvsp[(2) - (2)].nd)));
5858 #line 1414 "src/parse.y"
5860 (yyval.
nd) =
list2((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
5866 #line 1418 "src/parse.y"
5868 (yyval.
nd) =
list3((yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].nd), (yyvsp[(5) - (5)].nd));
5874 #line 1422 "src/parse.y"
5876 (yyval.
nd) =
list2((yyvsp[(1) - (2)].nd), new_nil(p));
5882 #line 1426 "src/parse.y"
5884 (yyval.
nd) =
list3((yyvsp[(1) - (4)].nd), new_nil(p), (yyvsp[(4) - (4)].nd));
5890 #line 1430 "src/parse.y"
5892 (yyval.
nd) =
list2(0, (yyvsp[(2) - (2)].nd));
5898 #line 1434 "src/parse.y"
5900 (yyval.
nd) =
list3(0, (yyvsp[(2) - (4)].nd), (yyvsp[(4) - (4)].nd));
5906 #line 1438 "src/parse.y"
5908 (yyval.
nd) =
list2(0, new_nil(p));
5914 #line 1442 "src/parse.y"
5916 (yyval.
nd) =
list3(0, new_nil(p), (yyvsp[(3) - (3)].nd));
5922 #line 1449 "src/parse.y"
5924 (yyval.
nd) = (yyvsp[(2) - (3)].nd);
5930 #line 1455 "src/parse.y"
5932 (yyval.
nd) =
list1((yyvsp[(1) - (2)].nd));
5938 #line 1459 "src/parse.y"
5940 (yyval.
nd) =
push((yyvsp[(1) - (3)].nd), (yyvsp[(2) - (3)].nd));
5946 #line 1465 "src/parse.y"
5948 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
5954 #line 1469 "src/parse.y"
5956 (yyval.
nd) =
push((yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
5962 #line 1475 "src/parse.y"
5964 assignable(p, (yyvsp[(1) - (1)].nd));
5970 #line 1479 "src/parse.y"
5972 (yyval.
nd) = new_call(p, (yyvsp[(1) - (4)].nd),
intern2(
"[]",2), (yyvsp[(3) - (4)].nd));
5978 #line 1483 "src/parse.y"
5980 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
5986 #line 1487 "src/parse.y"
5988 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
5994 #line 1491 "src/parse.y"
5996 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
6002 #line 1495 "src/parse.y"
6004 if (p->in_def || p->in_single)
6005 yyerror(p,
"dynamic constant assignment");
6006 (yyval.
nd) = new_colon2(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id));
6012 #line 1501 "src/parse.y"
6014 if (p->in_def || p->in_single)
6015 yyerror(p,
"dynamic constant assignment");
6016 (yyval.
nd) = new_colon3(p, (yyvsp[(2) - (2)].
id));
6022 #line 1507 "src/parse.y"
6024 backref_error(p, (yyvsp[(1) - (1)].nd));
6031 #line 1514 "src/parse.y"
6033 assignable(p, (yyvsp[(1) - (1)].nd));
6039 #line 1518 "src/parse.y"
6041 (yyval.
nd) = new_call(p, (yyvsp[(1) - (4)].nd),
intern2(
"[]",2), (yyvsp[(3) - (4)].nd));
6047 #line 1522 "src/parse.y"
6049 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
6055 #line 1526 "src/parse.y"
6057 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
6063 #line 1530 "src/parse.y"
6065 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
6071 #line 1534 "src/parse.y"
6073 if (p->in_def || p->in_single)
6074 yyerror(p,
"dynamic constant assignment");
6075 (yyval.
nd) = new_colon2(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id));
6081 #line 1540 "src/parse.y"
6083 if (p->in_def || p->in_single)
6084 yyerror(p,
"dynamic constant assignment");
6085 (yyval.
nd) = new_colon3(p, (yyvsp[(2) - (2)].
id));
6091 #line 1546 "src/parse.y"
6093 backref_error(p, (yyvsp[(1) - (1)].nd));
6100 #line 1553 "src/parse.y"
6102 yyerror(p,
"class/module name must be CONSTANT");
6108 #line 1560 "src/parse.y"
6116 #line 1564 "src/parse.y"
6124 #line 1568 "src/parse.y"
6126 (yyval.
nd) =
cons((yyvsp[(1) - (3)].nd),
nsym((yyvsp[(3) - (3)].
id)));
6132 #line 1577 "src/parse.y"
6135 (yyval.
id) = (yyvsp[(1) - (1)].
id);
6141 #line 1582 "src/parse.y"
6144 (yyval.
id) = (yyvsp[(1) - (1)].
id);
6150 #line 1593 "src/parse.y"
6152 (yyval.
nd) = new_undef(p, (yyvsp[(1) - (1)].
id));
6158 #line 1596 "src/parse.y"
6164 #line 1597 "src/parse.y"
6166 (yyval.
nd) =
push((yyvsp[(1) - (4)].nd),
nsym((yyvsp[(4) - (4)].
id)));
6172 #line 1602 "src/parse.y"
6178 #line 1603 "src/parse.y"
6184 #line 1604 "src/parse.y"
6190 #line 1605 "src/parse.y"
6196 #line 1606 "src/parse.y"
6202 #line 1607 "src/parse.y"
6208 #line 1608 "src/parse.y"
6214 #line 1609 "src/parse.y"
6220 #line 1610 "src/parse.y"
6226 #line 1611 "src/parse.y"
6232 #line 1612 "src/parse.y"
6238 #line 1613 "src/parse.y"
6244 #line 1614 "src/parse.y"
6250 #line 1615 "src/parse.y"
6256 #line 1616 "src/parse.y"
6262 #line 1617 "src/parse.y"
6268 #line 1618 "src/parse.y"
6274 #line 1619 "src/parse.y"
6280 #line 1620 "src/parse.y"
6286 #line 1621 "src/parse.y"
6292 #line 1622 "src/parse.y"
6298 #line 1623 "src/parse.y"
6304 #line 1624 "src/parse.y"
6310 #line 1625 "src/parse.y"
6316 #line 1626 "src/parse.y"
6322 #line 1627 "src/parse.y"
6328 #line 1628 "src/parse.y"
6334 #line 1629 "src/parse.y"
6340 #line 1630 "src/parse.y"
6346 #line 1648 "src/parse.y"
6348 (yyval.
nd) = new_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
6354 #line 1652 "src/parse.y"
6356 (yyval.
nd) = new_asgn(p, (yyvsp[(1) - (5)].nd), new_rescue(p, (yyvsp[(3) - (5)].nd),
list1(
list3(0, 0, (yyvsp[(5) - (5)].nd))), 0));
6362 #line 1656 "src/parse.y"
6364 (yyval.
nd) = new_op_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].nd));
6370 #line 1660 "src/parse.y"
6372 (yyval.
nd) = new_op_asgn(p, (yyvsp[(1) - (5)].nd), (yyvsp[(2) - (5)].id), new_rescue(p, (yyvsp[(3) - (5)].nd),
list1(
list3(0, 0, (yyvsp[(5) - (5)].nd))), 0));
6378 #line 1664 "src/parse.y"
6380 (yyval.
nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (6)].nd),
intern2(
"[]",2), (yyvsp[(3) - (6)].nd)), (yyvsp[(5) - (6)].id), (yyvsp[(6) - (6)].nd));
6386 #line 1668 "src/parse.y"
6388 (yyval.
nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
6394 #line 1672 "src/parse.y"
6396 (yyval.
nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
6402 #line 1676 "src/parse.y"
6404 (yyval.
nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
6410 #line 1680 "src/parse.y"
6412 yyerror(p,
"constant re-assignment");
6413 (yyval.
nd) = new_begin(p, 0);
6419 #line 1685 "src/parse.y"
6421 yyerror(p,
"constant re-assignment");
6422 (yyval.
nd) = new_begin(p, 0);
6428 #line 1690 "src/parse.y"
6430 backref_error(p, (yyvsp[(1) - (3)].nd));
6431 (yyval.
nd) = new_begin(p, 0);
6437 #line 1695 "src/parse.y"
6439 (yyval.
nd) = new_dot2(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
6445 #line 1699 "src/parse.y"
6447 (yyval.
nd) = new_dot3(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
6453 #line 1703 "src/parse.y"
6455 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"+", (yyvsp[(3) - (3)].nd));
6461 #line 1707 "src/parse.y"
6463 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"-", (yyvsp[(3) - (3)].nd));
6469 #line 1711 "src/parse.y"
6471 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"*", (yyvsp[(3) - (3)].nd));
6477 #line 1715 "src/parse.y"
6479 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"/", (yyvsp[(3) - (3)].nd));
6485 #line 1719 "src/parse.y"
6487 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"%", (yyvsp[(3) - (3)].nd));
6493 #line 1723 "src/parse.y"
6495 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"**", (yyvsp[(3) - (3)].nd));
6501 #line 1727 "src/parse.y"
6503 (yyval.
nd) = call_uni_op(p, call_bin_op(p, (yyvsp[(2) - (4)].nd),
"**", (yyvsp[(4) - (4)].nd)),
"-@");
6509 #line 1731 "src/parse.y"
6511 (yyval.
nd) = call_uni_op(p, call_bin_op(p, (yyvsp[(2) - (4)].nd),
"**", (yyvsp[(4) - (4)].nd)),
"-@");
6517 #line 1735 "src/parse.y"
6519 (yyval.
nd) = call_uni_op(p, (yyvsp[(2) - (2)].nd),
"+@");
6525 #line 1739 "src/parse.y"
6527 (yyval.
nd) = call_uni_op(p, (yyvsp[(2) - (2)].nd),
"-@");
6533 #line 1743 "src/parse.y"
6535 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"|", (yyvsp[(3) - (3)].nd));
6541 #line 1747 "src/parse.y"
6543 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"^", (yyvsp[(3) - (3)].nd));
6549 #line 1751 "src/parse.y"
6551 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"&", (yyvsp[(3) - (3)].nd));
6557 #line 1755 "src/parse.y"
6559 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"<=>", (yyvsp[(3) - (3)].nd));
6565 #line 1759 "src/parse.y"
6567 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
">", (yyvsp[(3) - (3)].nd));
6573 #line 1763 "src/parse.y"
6575 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
">=", (yyvsp[(3) - (3)].nd));
6581 #line 1767 "src/parse.y"
6583 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"<", (yyvsp[(3) - (3)].nd));
6589 #line 1771 "src/parse.y"
6591 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"<=", (yyvsp[(3) - (3)].nd));
6597 #line 1775 "src/parse.y"
6599 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"==", (yyvsp[(3) - (3)].nd));
6605 #line 1779 "src/parse.y"
6607 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"===", (yyvsp[(3) - (3)].nd));
6613 #line 1783 "src/parse.y"
6615 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"!=", (yyvsp[(3) - (3)].nd));
6621 #line 1787 "src/parse.y"
6623 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"=~", (yyvsp[(3) - (3)].nd));
6629 #line 1791 "src/parse.y"
6631 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"!~", (yyvsp[(3) - (3)].nd));
6637 #line 1795 "src/parse.y"
6639 (yyval.
nd) = call_uni_op(p, cond((yyvsp[(2) - (2)].nd)),
"!");
6645 #line 1799 "src/parse.y"
6647 (yyval.
nd) = call_uni_op(p, cond((yyvsp[(2) - (2)].nd)),
"~");
6653 #line 1803 "src/parse.y"
6655 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
"<<", (yyvsp[(3) - (3)].nd));
6661 #line 1807 "src/parse.y"
6663 (yyval.
nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd),
">>", (yyvsp[(3) - (3)].nd));
6669 #line 1811 "src/parse.y"
6671 (yyval.
nd) = new_and(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
6677 #line 1815 "src/parse.y"
6679 (yyval.
nd) = new_or(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
6685 #line 1819 "src/parse.y"
6687 (yyval.
nd) = new_if(p, cond((yyvsp[(1) - (6)].nd)), (yyvsp[(3) - (6)].nd), (yyvsp[(6) - (6)].nd));
6693 #line 1823 "src/parse.y"
6695 (yyval.
nd) = (yyvsp[(1) - (1)].nd);
6701 #line 1829 "src/parse.y"
6703 (yyval.
nd) = (yyvsp[(1) - (1)].nd);
6704 if (!(yyval.
nd)) (yyval.
nd) = new_nil(p);
6710 #line 1837 "src/parse.y"
6712 (yyval.
nd) = (yyvsp[(1) - (2)].nd);
6718 #line 1841 "src/parse.y"
6720 (yyval.
nd) =
push((yyvsp[(1) - (4)].nd), new_hash(p, (yyvsp[(3) - (4)].nd)));
6726 #line 1845 "src/parse.y"
6728 (yyval.
nd) =
cons(new_hash(p, (yyvsp[(1) - (2)].nd)), 0);
6734 #line 1851 "src/parse.y"
6736 (yyval.
nd) = (yyvsp[(2) - (3)].nd);
6742 #line 1863 "src/parse.y"
6744 (yyval.
nd) =
cons((yyvsp[(1) - (2)].nd),0);
6750 #line 1867 "src/parse.y"
6752 (yyval.
nd) =
cons(
push((yyvsp[(1) - (4)].nd), new_hash(p, (yyvsp[(3) - (4)].nd))), 0);
6758 #line 1871 "src/parse.y"
6760 (yyval.
nd) =
cons(
list1(new_hash(p, (yyvsp[(1) - (2)].nd))), 0);
6766 #line 1877 "src/parse.y"
6768 (yyval.
nd) =
cons(
list1((yyvsp[(1) - (1)].nd)), 0);
6774 #line 1881 "src/parse.y"
6776 (yyval.
nd) =
cons((yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
6782 #line 1885 "src/parse.y"
6784 (yyval.
nd) =
cons(
list1(new_hash(p, (yyvsp[(1) - (2)].nd))), (yyvsp[(2) - (2)].nd));
6790 #line 1889 "src/parse.y"
6792 (yyval.
nd) =
cons(
push((yyvsp[(1) - (4)].nd), new_hash(p, (yyvsp[(3) - (4)].nd))), (yyvsp[(4) - (4)].nd));
6798 #line 1893 "src/parse.y"
6800 (yyval.
nd) =
cons(0, (yyvsp[(1) - (1)].nd));
6806 #line 1898 "src/parse.y"
6808 (yyval.
stack) = p->cmdarg_stack;
6815 #line 1903 "src/parse.y"
6817 p->cmdarg_stack = (yyvsp[(1) - (2)].stack);
6818 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
6824 #line 1910 "src/parse.y"
6826 (yyval.
nd) = new_block_arg(p, (yyvsp[(2) - (2)].nd));
6832 #line 1916 "src/parse.y"
6834 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
6840 #line 1920 "src/parse.y"
6848 #line 1926 "src/parse.y"
6850 (yyval.
nd) =
cons((yyvsp[(1) - (1)].nd), 0);
6856 #line 1930 "src/parse.y"
6858 (yyval.
nd) =
cons(new_splat(p, (yyvsp[(2) - (2)].nd)), 0);
6864 #line 1934 "src/parse.y"
6866 (yyval.
nd) =
push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
6872 #line 1938 "src/parse.y"
6874 (yyval.
nd) =
push((yyvsp[(1) - (4)].nd), new_splat(p, (yyvsp[(4) - (4)].nd)));
6880 #line 1944 "src/parse.y"
6882 (yyval.
nd) =
push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
6888 #line 1948 "src/parse.y"
6890 (yyval.
nd) =
push((yyvsp[(1) - (4)].nd), new_splat(p, (yyvsp[(4) - (4)].nd)));
6896 #line 1952 "src/parse.y"
6898 (yyval.
nd) =
list1(new_splat(p, (yyvsp[(2) - (2)].nd)));
6904 #line 1965 "src/parse.y"
6906 (yyval.
nd) = new_fcall(p, (yyvsp[(1) - (1)].
id), 0);
6912 #line 1969 "src/parse.y"
6914 (yyvsp[(1) - (1)].stack) = p->cmdarg_stack;
6915 p->cmdarg_stack = 0;
6921 #line 1975 "src/parse.y"
6923 p->cmdarg_stack = (yyvsp[(1) - (4)].stack);
6924 (yyval.
nd) = (yyvsp[(3) - (4)].nd);
6930 #line 1979 "src/parse.y"
6936 #line 1980 "src/parse.y"
6938 (yyval.
nd) = (yyvsp[(2) - (4)].nd);
6944 #line 1983 "src/parse.y"
6950 #line 1984 "src/parse.y"
6958 #line 1988 "src/parse.y"
6960 (yyval.
nd) = (yyvsp[(2) - (3)].nd);
6966 #line 1992 "src/parse.y"
6968 (yyval.
nd) = new_colon2(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id));
6974 #line 1996 "src/parse.y"
6976 (yyval.
nd) = new_colon3(p, (yyvsp[(2) - (2)].
id));
6982 #line 2000 "src/parse.y"
6984 (yyval.
nd) = new_array(p, (yyvsp[(2) - (3)].nd));
6990 #line 2004 "src/parse.y"
6992 (yyval.
nd) = new_hash(p, (yyvsp[(2) - (3)].nd));
6998 #line 2008 "src/parse.y"
7000 (yyval.
nd) = new_return(p, 0);
7006 #line 2012 "src/parse.y"
7008 (yyval.
nd) = new_yield(p, (yyvsp[(3) - (4)].nd));
7014 #line 2016 "src/parse.y"
7016 (yyval.
nd) = new_yield(p, 0);
7022 #line 2020 "src/parse.y"
7024 (yyval.
nd) = new_yield(p, 0);
7030 #line 2024 "src/parse.y"
7032 (yyval.
nd) = call_uni_op(p, cond((yyvsp[(3) - (4)].nd)),
"!");
7038 #line 2028 "src/parse.y"
7040 (yyval.
nd) = call_uni_op(p, new_nil(p),
"!");
7046 #line 2032 "src/parse.y"
7048 (yyval.
nd) = new_fcall(p, (yyvsp[(1) - (2)].
id),
cons(0, (yyvsp[(2) - (2)].nd)));
7054 #line 2037 "src/parse.y"
7056 call_with_block(p, (yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
7057 (yyval.
nd) = (yyvsp[(1) - (2)].nd);
7063 #line 2042 "src/parse.y"
7066 (yyval.
num) = p->lpar_beg;
7067 p->lpar_beg = ++p->paren_nest;
7073 #line 2049 "src/parse.y"
7075 p->lpar_beg = (yyvsp[(2) - (4)].num);
7076 (yyval.
nd) = new_lambda(p, (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].nd));
7083 #line 2058 "src/parse.y"
7085 (yyval.
nd) = new_if(p, cond((yyvsp[(2) - (6)].nd)), (yyvsp[(4) - (6)].nd), (yyvsp[(5) - (6)].nd));
7091 #line 2065 "src/parse.y"
7093 (yyval.
nd) = new_unless(p, cond((yyvsp[(2) - (6)].nd)), (yyvsp[(4) - (6)].nd), (yyvsp[(5) - (6)].nd));
7099 #line 2068 "src/parse.y"
7105 #line 2068 "src/parse.y"
7111 #line 2071 "src/parse.y"
7113 (yyval.
nd) = new_while(p, cond((yyvsp[(3) - (7)].nd)), (yyvsp[(6) - (7)].nd));
7119 #line 2074 "src/parse.y"
7125 #line 2074 "src/parse.y"
7131 #line 2077 "src/parse.y"
7133 (yyval.
nd) = new_until(p, cond((yyvsp[(3) - (7)].nd)), (yyvsp[(6) - (7)].nd));
7139 #line 2083 "src/parse.y"
7141 (yyval.
nd) = new_case(p, (yyvsp[(2) - (5)].nd), (yyvsp[(4) - (5)].nd));
7147 #line 2087 "src/parse.y"
7149 (yyval.
nd) = new_case(p, 0, (yyvsp[(3) - (4)].nd));
7155 #line 2091 "src/parse.y"
7161 #line 2093 "src/parse.y"
7167 #line 2096 "src/parse.y"
7169 (yyval.
nd) = new_for(p, (yyvsp[(2) - (9)].nd), (yyvsp[(5) - (9)].nd), (yyvsp[(8) - (9)].nd));
7175 #line 2100 "src/parse.y"
7177 if (p->in_def || p->in_single)
7178 yyerror(p,
"class definition in method body");
7179 (yyval.
nd) = local_switch(p);
7185 #line 2107 "src/parse.y"
7187 (yyval.
nd) = new_class(p, (yyvsp[(2) - (6)].nd), (yyvsp[(3) - (6)].nd), (yyvsp[(5) - (6)].nd));
7188 local_resume(p, (yyvsp[(4) - (6)].nd));
7194 #line 2112 "src/parse.y"
7196 (yyval.
num) = p->in_def;
7203 #line 2117 "src/parse.y"
7205 (yyval.
nd) =
cons(local_switch(p), (
node*)(intptr_t)p->in_single);
7212 #line 2123 "src/parse.y"
7214 (yyval.
nd) = new_sclass(p, (yyvsp[(3) - (8)].nd), (yyvsp[(7) - (8)].nd));
7215 local_resume(p, (yyvsp[(6) - (8)].nd)->car);
7216 p->in_def = (yyvsp[(4) - (8)].num);
7217 p->in_single = (int)(intptr_t)(yyvsp[(6) - (8)].nd)->cdr;
7223 #line 2130 "src/parse.y"
7225 if (p->in_def || p->in_single)
7226 yyerror(p,
"module definition in method body");
7227 (yyval.
nd) = local_switch(p);
7233 #line 2137 "src/parse.y"
7235 (yyval.
nd) = new_module(p, (yyvsp[(2) - (5)].nd), (yyvsp[(4) - (5)].nd));
7236 local_resume(p, (yyvsp[(3) - (5)].nd));
7242 #line 2142 "src/parse.y"
7245 (yyval.
nd) = local_switch(p);
7251 #line 2149 "src/parse.y"
7253 (yyval.
nd) = new_def(p, (yyvsp[(2) - (6)].
id), (yyvsp[(4) - (6)].nd), (yyvsp[(5) - (6)].nd));
7254 local_resume(p, (yyvsp[(3) - (6)].nd));
7261 #line 2154 "src/parse.y"
7267 #line 2155 "src/parse.y"
7271 (yyval.
nd) = local_switch(p);
7277 #line 2163 "src/parse.y"
7279 (yyval.
nd) = new_sdef(p, (yyvsp[(2) - (9)].nd), (yyvsp[(5) - (9)].id), (yyvsp[(7) - (9)].nd), (yyvsp[(8) - (9)].nd));
7280 local_resume(p, (yyvsp[(6) - (9)].nd));
7287 #line 2169 "src/parse.y"
7289 (yyval.
nd) = new_break(p, 0);
7295 #line 2173 "src/parse.y"
7297 (yyval.
nd) = new_next(p, 0);
7303 #line 2177 "src/parse.y"
7305 (yyval.
nd) = new_redo(p);
7311 #line 2181 "src/parse.y"
7313 (yyval.
nd) = new_retry(p);
7319 #line 2187 "src/parse.y"
7321 (yyval.
nd) = (yyvsp[(1) - (1)].nd);
7322 if (!(yyval.
nd)) (yyval.
nd) = new_nil(p);
7328 #line 2206 "src/parse.y"
7330 (yyval.
nd) = new_if(p, cond((yyvsp[(2) - (5)].nd)), (yyvsp[(4) - (5)].nd), (yyvsp[(5) - (5)].nd));
7336 #line 2213 "src/parse.y"
7338 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
7344 #line 2219 "src/parse.y"
7352 #line 2226 "src/parse.y"
7354 (yyval.
nd) = new_arg(p, (yyvsp[(1) - (1)].
id));
7360 #line 2230 "src/parse.y"
7362 (yyval.
nd) = new_masgn(p, (yyvsp[(2) - (3)].nd), 0);
7368 #line 2236 "src/parse.y"
7370 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
7376 #line 2240 "src/parse.y"
7378 (yyval.
nd) =
push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
7384 #line 2246 "src/parse.y"
7386 (yyval.
nd) =
list3((yyvsp[(1) - (1)].nd),0,0);
7392 #line 2250 "src/parse.y"
7394 (yyval.
nd) =
list3((yyvsp[(1) - (4)].nd), new_arg(p, (yyvsp[(4) - (4)].
id)), 0);
7400 #line 2254 "src/parse.y"
7402 (yyval.
nd) =
list3((yyvsp[(1) - (6)].nd), new_arg(p, (yyvsp[(4) - (6)].
id)), (yyvsp[(6) - (6)].nd));
7408 #line 2258 "src/parse.y"
7410 (yyval.
nd) =
list3((yyvsp[(1) - (3)].nd), (
node*)-1, 0);
7416 #line 2262 "src/parse.y"
7418 (yyval.
nd) =
list3((yyvsp[(1) - (5)].nd), (
node*)-1, (yyvsp[(5) - (5)].nd));
7424 #line 2266 "src/parse.y"
7426 (yyval.
nd) =
list3(0, new_arg(p, (yyvsp[(2) - (2)].
id)), 0);
7432 #line 2270 "src/parse.y"
7434 (yyval.
nd) =
list3(0, new_arg(p, (yyvsp[(2) - (4)].
id)), (yyvsp[(4) - (4)].nd));
7440 #line 2274 "src/parse.y"
7448 #line 2278 "src/parse.y"
7450 (yyval.
nd) =
list3(0, (
node*)-1, (yyvsp[(3) - (3)].nd));
7456 #line 2284 "src/parse.y"
7458 (yyval.
nd) = new_args(p, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].nd), (yyvsp[(5) - (6)].
id), 0, (yyvsp[(6) - (6)].id));
7464 #line 2288 "src/parse.y"
7466 (yyval.
nd) = new_args(p, (yyvsp[(1) - (8)].nd), (yyvsp[(3) - (8)].nd), (yyvsp[(5) - (8)].
id), (yyvsp[(7) - (8)].nd), (yyvsp[(8) - (8)].
id));
7472 #line 2292 "src/parse.y"
7474 (yyval.
nd) = new_args(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].nd), 0, 0, (yyvsp[(4) - (4)].
id));
7480 #line 2296 "src/parse.y"
7482 (yyval.
nd) = new_args(p, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].nd), 0, (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
7488 #line 2300 "src/parse.y"
7490 (yyval.
nd) = new_args(p, (yyvsp[(1) - (4)].nd), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].
id));
7496 #line 2304 "src/parse.y"
7498 (yyval.
nd) = new_args(p, (yyvsp[(1) - (2)].nd), 0, 1, 0, 0);
7504 #line 2308 "src/parse.y"
7506 (yyval.
nd) = new_args(p, (yyvsp[(1) - (6)].nd), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
7512 #line 2312 "src/parse.y"
7514 (yyval.
nd) = new_args(p, (yyvsp[(1) - (2)].nd), 0, 0, 0, (yyvsp[(2) - (2)].id));
7520 #line 2316 "src/parse.y"
7522 (yyval.
nd) = new_args(p, 0, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].
id));
7528 #line 2320 "src/parse.y"
7530 (yyval.
nd) = new_args(p, 0, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
7536 #line 2324 "src/parse.y"
7538 (yyval.
nd) = new_args(p, 0, (yyvsp[(1) - (2)].nd), 0, 0, (yyvsp[(2) - (2)].id));
7544 #line 2328 "src/parse.y"
7546 (yyval.
nd) = new_args(p, 0, (yyvsp[(1) - (4)].nd), 0, (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].
id));
7552 #line 2332 "src/parse.y"
7554 (yyval.
nd) = new_args(p, 0, 0, (yyvsp[(1) - (2)].
id), 0, (yyvsp[(2) - (2)].id));
7560 #line 2336 "src/parse.y"
7562 (yyval.
nd) = new_args(p, 0, 0, (yyvsp[(1) - (4)].
id), (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].
id));
7568 #line 2340 "src/parse.y"
7570 (yyval.
nd) = new_args(p, 0, 0, 0, 0, (yyvsp[(1) - (1)].
id));
7576 #line 2347 "src/parse.y"
7578 p->cmd_start =
TRUE;
7579 (yyval.
nd) = (yyvsp[(1) - (1)].nd);
7585 #line 2354 "src/parse.y"
7594 #line 2359 "src/parse.y"
7603 #line 2364 "src/parse.y"
7605 (yyval.
nd) = (yyvsp[(2) - (4)].nd);
7611 #line 2371 "src/parse.y"
7619 #line 2375 "src/parse.y"
7627 #line 2385 "src/parse.y"
7629 local_add_f(p, (yyvsp[(1) - (1)].
id));
7630 new_bv(p, (yyvsp[(1) - (1)].
id));
7636 #line 2393 "src/parse.y"
7638 (yyval.
nd) = (yyvsp[(2) - (4)].nd);
7644 #line 2397 "src/parse.y"
7646 (yyval.
nd) = (yyvsp[(1) - (1)].nd);
7652 #line 2403 "src/parse.y"
7654 (yyval.
nd) = (yyvsp[(2) - (3)].nd);
7660 #line 2407 "src/parse.y"
7662 (yyval.
nd) = (yyvsp[(2) - (3)].nd);
7668 #line 2413 "src/parse.y"
7676 #line 2419 "src/parse.y"
7678 (yyval.
nd) = new_block(p,(yyvsp[(3) - (5)].nd),(yyvsp[(4) - (5)].nd));
7685 #line 2426 "src/parse.y"
7688 yyerror(p,
"block given to yield");
7691 call_with_block(p, (yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
7693 (yyval.
nd) = (yyvsp[(1) - (2)].nd);
7699 #line 2436 "src/parse.y"
7701 (yyval.
nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
7707 #line 2440 "src/parse.y"
7709 (yyval.
nd) = new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].nd));
7710 call_with_block(p, (yyval.
nd), (yyvsp[(5) - (5)].nd));
7716 #line 2445 "src/parse.y"
7718 (yyval.
nd) = new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].nd));
7719 call_with_block(p, (yyval.
nd), (yyvsp[(5) - (5)].nd));
7725 #line 2452 "src/parse.y"
7727 (yyval.
nd) = new_fcall(p, (yyvsp[(1) - (2)].
id), (yyvsp[(2) - (2)].nd));
7733 #line 2456 "src/parse.y"
7735 (yyval.
nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
7741 #line 2460 "src/parse.y"
7743 (yyval.
nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
7749 #line 2464 "src/parse.y"
7751 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
7757 #line 2468 "src/parse.y"
7759 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd),
intern2(
"call",4), (yyvsp[(3) - (3)].nd));
7765 #line 2472 "src/parse.y"
7767 (yyval.
nd) = new_call(p, (yyvsp[(1) - (3)].nd),
intern2(
"call",4), (yyvsp[(3) - (3)].nd));
7773 #line 2476 "src/parse.y"
7775 (yyval.
nd) = new_super(p, (yyvsp[(2) - (2)].nd));
7781 #line 2480 "src/parse.y"
7783 (yyval.
nd) = new_zsuper(p);
7789 #line 2484 "src/parse.y"
7791 (yyval.
nd) = new_call(p, (yyvsp[(1) - (4)].nd),
intern2(
"[]",2), (yyvsp[(3) - (4)].nd));
7797 #line 2490 "src/parse.y"
7805 #line 2495 "src/parse.y"
7807 (yyval.
nd) = new_block(p,(yyvsp[(3) - (5)].nd),(yyvsp[(4) - (5)].nd));
7814 #line 2500 "src/parse.y"
7822 #line 2505 "src/parse.y"
7824 (yyval.
nd) = new_block(p,(yyvsp[(3) - (5)].nd),(yyvsp[(4) - (5)].nd));
7831 #line 2514 "src/parse.y"
7833 (yyval.
nd) =
cons(
cons((yyvsp[(2) - (5)].nd), (yyvsp[(4) - (5)].nd)), (yyvsp[(5) - (5)].nd));
7839 #line 2520 "src/parse.y"
7841 if ((yyvsp[(1) - (1)].nd)) {
7842 (yyval.
nd) =
cons(
cons(0, (yyvsp[(1) - (1)].nd)), 0);
7852 #line 2534 "src/parse.y"
7854 (yyval.
nd) =
list1(
list3((yyvsp[(2) - (6)].nd), (yyvsp[(3) - (6)].nd), (yyvsp[(5) - (6)].nd)));
7855 if ((yyvsp[(6) - (6)].nd)) (yyval.
nd) =
append((yyval.
nd), (yyvsp[(6) - (6)].nd));
7861 #line 2542 "src/parse.y"
7863 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
7869 #line 2550 "src/parse.y"
7871 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
7877 #line 2557 "src/parse.y"
7879 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
7885 #line 2572 "src/parse.y"
7887 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
7893 #line 2576 "src/parse.y"
7895 (yyval.
nd) = new_dstr(p,
push((yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd)));
7901 #line 2583 "src/parse.y"
7903 (yyval.
nd) =
append((yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
7909 #line 2589 "src/parse.y"
7911 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
7917 #line 2593 "src/parse.y"
7919 (yyval.
nd) = p->lex_strterm;
7920 p->lex_strterm = NULL;
7926 #line 2599 "src/parse.y"
7928 p->lex_strterm = (yyvsp[(2) - (4)].nd);
7929 (yyval.
nd) =
list2((yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].nd));
7935 #line 2604 "src/parse.y"
7937 (yyval.
nd) =
list1(new_literal_delim(p));
7943 #line 2610 "src/parse.y"
7945 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
7951 #line 2614 "src/parse.y"
7953 (yyval.
nd) = new_dxstr(p,
push((yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd)));
7959 #line 2620 "src/parse.y"
7961 (yyval.
nd) = (yyvsp[(2) - (2)].nd);
7967 #line 2624 "src/parse.y"
7969 (yyval.
nd) = new_dregx(p, (yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd));
7975 #line 2641 "src/parse.y"
7984 #line 2646 "src/parse.y"
7993 #line 2653 "src/parse.y"
7995 (yyval.
nd) = new_words(p,
list1((yyvsp[(2) - (2)].nd)));
8001 #line 2657 "src/parse.y"
8003 (yyval.
nd) = new_words(p,
push((yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd)));
8009 #line 2664 "src/parse.y"
8011 (yyval.
nd) = new_sym(p, (yyvsp[(1) - (1)].
id));
8017 #line 2668 "src/parse.y"
8020 (yyval.
nd) = new_dsym(p,
push((yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].nd)));
8026 #line 2675 "src/parse.y"
8029 (yyval.
id) = (yyvsp[(2) - (2)].
id);
8035 #line 2686 "src/parse.y"
8037 (yyval.
id) = new_strsym(p, (yyvsp[(1) - (1)].nd));
8043 #line 2690 "src/parse.y"
8045 (yyval.
id) = new_strsym(p, (yyvsp[(2) - (2)].nd));
8051 #line 2696 "src/parse.y"
8053 (yyval.
nd) = new_symbols(p,
list1((yyvsp[(2) - (2)].nd)));
8059 #line 2700 "src/parse.y"
8061 (yyval.
nd) = new_symbols(p,
push((yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd)));
8067 #line 2708 "src/parse.y"
8069 (yyval.
nd) = negate_lit(p, (yyvsp[(2) - (2)].nd));
8075 #line 2712 "src/parse.y"
8077 (yyval.
nd) = negate_lit(p, (yyvsp[(2) - (2)].nd));
8083 #line 2718 "src/parse.y"
8085 (yyval.
nd) = new_lvar(p, (yyvsp[(1) - (1)].
id));
8091 #line 2722 "src/parse.y"
8093 (yyval.
nd) = new_ivar(p, (yyvsp[(1) - (1)].
id));
8099 #line 2726 "src/parse.y"
8101 (yyval.
nd) = new_gvar(p, (yyvsp[(1) - (1)].
id));
8107 #line 2730 "src/parse.y"
8109 (yyval.
nd) = new_cvar(p, (yyvsp[(1) - (1)].
id));
8115 #line 2734 "src/parse.y"
8117 (yyval.
nd) = new_const(p, (yyvsp[(1) - (1)].
id));
8123 #line 2740 "src/parse.y"
8125 assignable(p, (yyvsp[(1) - (1)].nd));
8131 #line 2746 "src/parse.y"
8133 (yyval.
nd) = var_reference(p, (yyvsp[(1) - (1)].nd));
8139 #line 2750 "src/parse.y"
8141 (yyval.
nd) = new_nil(p);
8147 #line 2754 "src/parse.y"
8149 (yyval.
nd) = new_self(p);
8155 #line 2758 "src/parse.y"
8157 (yyval.
nd) = new_true(p);
8163 #line 2762 "src/parse.y"
8165 (yyval.
nd) = new_false(p);
8171 #line 2766 "src/parse.y"
8174 p->filename =
"(null)";
8176 (yyval.
nd) = new_str(p, p->filename, strlen(p->filename));
8182 #line 2773 "src/parse.y"
8186 snprintf(buf,
sizeof(buf),
"%d", p->lineno);
8187 (yyval.
nd) = new_int(p, buf, 10);
8193 #line 2786 "src/parse.y"
8201 #line 2790 "src/parse.y"
8204 p->cmd_start =
TRUE;
8210 #line 2795 "src/parse.y"
8212 (yyval.
nd) = (yyvsp[(3) - (4)].nd);
8218 #line 2799 "src/parse.y"
8227 #line 2806 "src/parse.y"
8229 (yyval.
nd) = (yyvsp[(2) - (3)].nd);
8231 p->cmd_start =
TRUE;
8237 #line 2812 "src/parse.y"
8239 (yyval.
nd) = (yyvsp[(1) - (2)].nd);
8245 #line 2818 "src/parse.y"
8247 (yyval.
nd) = new_args(p, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].nd), (yyvsp[(5) - (6)].
id), 0, (yyvsp[(6) - (6)].id));
8253 #line 2822 "src/parse.y"
8255 (yyval.
nd) = new_args(p, (yyvsp[(1) - (8)].nd), (yyvsp[(3) - (8)].nd), (yyvsp[(5) - (8)].
id), (yyvsp[(7) - (8)].nd), (yyvsp[(8) - (8)].
id));
8261 #line 2826 "src/parse.y"
8263 (yyval.
nd) = new_args(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].nd), 0, 0, (yyvsp[(4) - (4)].
id));
8269 #line 2830 "src/parse.y"
8271 (yyval.
nd) = new_args(p, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].nd), 0, (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
8277 #line 2834 "src/parse.y"
8279 (yyval.
nd) = new_args(p, (yyvsp[(1) - (4)].nd), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].
id));
8285 #line 2838 "src/parse.y"
8287 (yyval.
nd) = new_args(p, (yyvsp[(1) - (6)].nd), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
8293 #line 2842 "src/parse.y"
8295 (yyval.
nd) = new_args(p, (yyvsp[(1) - (2)].nd), 0, 0, 0, (yyvsp[(2) - (2)].id));
8301 #line 2846 "src/parse.y"
8303 (yyval.
nd) = new_args(p, 0, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].
id));
8309 #line 2850 "src/parse.y"
8311 (yyval.
nd) = new_args(p, 0, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
8317 #line 2854 "src/parse.y"
8319 (yyval.
nd) = new_args(p, 0, (yyvsp[(1) - (2)].nd), 0, 0, (yyvsp[(2) - (2)].id));
8325 #line 2858 "src/parse.y"
8327 (yyval.
nd) = new_args(p, 0, (yyvsp[(1) - (4)].nd), 0, (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].
id));
8333 #line 2862 "src/parse.y"
8335 (yyval.
nd) = new_args(p, 0, 0, (yyvsp[(1) - (2)].
id), 0, (yyvsp[(2) - (2)].id));
8341 #line 2866 "src/parse.y"
8343 (yyval.
nd) = new_args(p, 0, 0, (yyvsp[(1) - (4)].
id), (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].
id));
8349 #line 2870 "src/parse.y"
8351 (yyval.
nd) = new_args(p, 0, 0, 0, 0, (yyvsp[(1) - (1)].
id));
8357 #line 2874 "src/parse.y"
8360 (yyval.
nd) = new_args(p, 0, 0, 0, 0, 0);
8366 #line 2881 "src/parse.y"
8368 yyerror(p,
"formal argument cannot be a constant");
8375 #line 2886 "src/parse.y"
8377 yyerror(p,
"formal argument cannot be an instance variable");
8384 #line 2891 "src/parse.y"
8386 yyerror(p,
"formal argument cannot be a global variable");
8393 #line 2896 "src/parse.y"
8395 yyerror(p,
"formal argument cannot be a class variable");
8402 #line 2903 "src/parse.y"
8410 #line 2907 "src/parse.y"
8412 local_add_f(p, (yyvsp[(1) - (1)].
id));
8413 (yyval.
id) = (yyvsp[(1) - (1)].
id);
8419 #line 2914 "src/parse.y"
8421 (yyval.
nd) = new_arg(p, (yyvsp[(1) - (1)].
id));
8427 #line 2918 "src/parse.y"
8429 (yyval.
nd) = new_masgn(p, (yyvsp[(2) - (3)].nd), 0);
8435 #line 2924 "src/parse.y"
8437 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
8443 #line 2928 "src/parse.y"
8445 (yyval.
nd) =
push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
8451 #line 2934 "src/parse.y"
8453 local_add_f(p, (yyvsp[(1) - (3)].
id));
8454 (yyval.
nd) =
cons(
nsym((yyvsp[(1) - (3)].
id)), (yyvsp[(3) - (3)].nd));
8460 #line 2941 "src/parse.y"
8462 local_add_f(p, (yyvsp[(1) - (3)].
id));
8463 (yyval.
nd) =
cons(
nsym((yyvsp[(1) - (3)].
id)), (yyvsp[(3) - (3)].nd));
8469 #line 2948 "src/parse.y"
8471 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
8477 #line 2952 "src/parse.y"
8479 (yyval.
nd) =
push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
8485 #line 2958 "src/parse.y"
8487 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
8493 #line 2962 "src/parse.y"
8495 (yyval.
nd) =
push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
8501 #line 2972 "src/parse.y"
8503 local_add_f(p, (yyvsp[(2) - (2)].
id));
8504 (yyval.
id) = (yyvsp[(2) - (2)].
id);
8510 #line 2977 "src/parse.y"
8519 #line 2988 "src/parse.y"
8521 local_add_f(p, (yyvsp[(2) - (2)].
id));
8522 (yyval.
id) = (yyvsp[(2) - (2)].
id);
8528 #line 2995 "src/parse.y"
8530 (yyval.
id) = (yyvsp[(2) - (2)].
id);
8536 #line 2999 "src/parse.y"
8545 #line 3006 "src/parse.y"
8547 (yyval.
nd) = (yyvsp[(1) - (1)].nd);
8548 if (!(yyval.
nd)) (yyval.
nd) = new_nil(p);
8554 #line 3010 "src/parse.y"
8560 #line 3011 "src/parse.y"
8562 if ((yyvsp[(3) - (4)].nd) == 0) {
8563 yyerror(p,
"can't define singleton method for ().");
8566 switch ((
enum node_type)(
int)(intptr_t)(yyvsp[(3) - (4)].nd)->car) {
8576 yyerror(p,
"can't define singleton method for literals");
8581 (yyval.
nd) = (yyvsp[(3) - (4)].nd);
8587 #line 3037 "src/parse.y"
8589 (yyval.
nd) = (yyvsp[(1) - (2)].nd);
8595 #line 3043 "src/parse.y"
8597 (yyval.
nd) =
list1((yyvsp[(1) - (1)].nd));
8603 #line 3047 "src/parse.y"
8605 (yyval.
nd) =
push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
8611 #line 3053 "src/parse.y"
8613 (yyval.
nd) =
cons((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
8619 #line 3057 "src/parse.y"
8621 (yyval.
nd) =
cons(new_sym(p, (yyvsp[(1) - (2)].
id)), (yyvsp[(2) - (2)].nd));
8627 #line 3101 "src/parse.y"
8633 #line 3106 "src/parse.y"
8642 #line 3113 "src/parse.y"
8648 #line 3117 "src/parse.y"
8656 #line 8657 "/home/kou/work/c/groonga.central/vendor/mruby/mruby.master/build/host/src/y.tab.c"
8684 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
8685 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
8686 yystate = yytable[yystate];
8705 #if ! YYERROR_VERBOSE
8706 yyerror (p,
YY_(
"syntax error"));
8708 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
8711 char const *yymsgp =
YY_(
"syntax error");
8712 int yysyntax_error_status;
8714 if (yysyntax_error_status == 0)
8716 else if (yysyntax_error_status == 1)
8718 if (yymsg != yymsgbuf)
8724 yymsg_alloc =
sizeof yymsgbuf;
8725 yysyntax_error_status = 2;
8733 yyerror (p, yymsgp);
8734 if (yysyntax_error_status == 2)
8735 goto yyexhaustedlab;
8737 # undef YYSYNTAX_ERROR
8743 if (yyerrstatus == 3)
8748 if (yychar <=
YYEOF)
8751 if (yychar ==
YYEOF)
8756 yydestruct (
"Error: discarding",
8795 yyn = yypact[yystate];
8812 yydestruct (
"Error: popping",
8813 yystos[yystate], yyvsp, p);
8845 #if !defined yyoverflow || YYERROR_VERBOSE
8850 yyerror (p,
YY_(
"memory exhausted"));
8861 yydestruct (
"Cleanup: discarding lookahead",
8868 while (yyssp != yyss)
8870 yydestruct (
"Cleanup: popping",
8871 yystos[*yyssp], yyvsp, p);
8879 if (yymsg != yymsgbuf)
8883 return YYID (yyresult);
8888 #line 3121 "src/parse.y"
8890 #define yylval (*((YYSTYPE*)(p->ylval)))
8904 fprintf(stderr,
"line %d:%d: %s\n", p->
lineno, p->
column, s);
8910 c = (
char *)parser_palloc(p, n + 1);
8911 memcpy(c, s, n + 1);
8924 snprintf(buf,
sizeof(buf), fmt, i);
8940 fprintf(stderr,
"line %d:%d: %s\n", p->
lineno, p->
column, s);
8946 c = (
char *)parser_palloc(p, n + 1);
8947 memcpy(c, s, n + 1);
8962 yywarning_s(
parser_state *p,
const char *fmt,
const char *s)
8966 snprintf(buf,
sizeof(buf), fmt, s);
8975 c = (int)(intptr_t)n->
car;
8978 yyerror_i(p,
"can't set variable $%d", (
int)(intptr_t)n->
cdr);
8980 yyerror_i(p,
"can't set variable $%c", (
int)(intptr_t)n->
cdr);
8982 mrb_bug(p->
mrb,
"Internal error in backref_error() : n=>car == %d", c);
8997 c = (int)(intptr_t)p->
pb->
car;
9005 if (feof(p->f))
goto end_retry;
9007 if (c == EOF)
goto end_retry;
9011 if (!p->
s || p->
s >= p->
send) {
9015 c = (
unsigned char)*p->
s++;
9022 if (!p->
cxt)
return -1;
9050 if (c == term)
break;
9062 if (c0 < 0)
return FALSE;
9063 list =
push(list, (
node*)(intptr_t)c0);
9071 if (c0 == c)
return TRUE;
9074 #define peek(p,c) peek_n((p), (c), 0)
9079 int len = strlen(s);
9085 if (!peek_n(p, *s++, n++))
return FALSE;
9091 if (p->
s && p->
s + len >= p->
send) {
9092 if (memcmp(p->
s, s, len) == 0)
return TRUE;
9106 if (c < 0)
return c;
9111 int len = strlen(s);
9151 yyerror(p,
"string too long (truncated)");
9168 #define IS_ARG() (p->lstate == EXPR_ARG || p->lstate == EXPR_CMDARG)
9169 #define IS_END() (p->lstate == EXPR_END || p->lstate == EXPR_ENDARG || p->lstate == EXPR_ENDFN)
9170 #define IS_BEG() (p->lstate == EXPR_BEG || p->lstate == EXPR_MID || p->lstate == EXPR_VALUE || p->lstate == EXPR_CLASS)
9171 #define IS_SPCARG(c) (IS_ARG() && space_seen && !ISSPACE(c))
9172 #define IS_LABEL_POSSIBLE() ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG())
9173 #define IS_LABEL_SUFFIX(n) (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1))
9176 scan_oct(
const int *start,
int len,
int *retlen)
9178 const int *s = start;
9182 while (len-- && *s >=
'0' && *s <=
'7') {
9184 retval |= *s++ -
'0';
9186 *retlen = s - start;
9192 scan_hex(
const int *start,
int len,
int *retlen)
9194 static const char hexdigit[] =
"0123456789abcdef0123456789ABCDEF";
9195 register const int *s = start;
9196 register int retval = 0;
9200 while (len-- && *s && (tmp = (
char*)strchr(hexdigit, *s))) {
9202 retval |= (tmp - hexdigit) & 15;
9205 *retlen = s - start;
9215 switch (c = nextc(p)) {
9240 case '0':
case '1':
case '2':
case '3':
9241 case '4':
case '5':
case '6':
case '7':
9247 for (i=1; i<3; i++) {
9249 if (buf[i] == -1)
goto eof;
9250 if (buf[i] <
'0' ||
'7' < buf[i]) {
9251 pushback(p, buf[i]);
9255 c = scan_oct(buf, i, &i);
9264 for (i=0; i<2; i++) {
9266 if (buf[i] == -1)
goto eof;
9268 pushback(p, buf[i]);
9272 c = scan_hex(buf, i, &i);
9274 yyerror(p,
"Invalid escape character syntax");
9287 if ((c = nextc(p)) !=
'-') {
9288 yyerror(p,
"Invalid escape character syntax");
9292 if ((c = nextc(p)) ==
'\\') {
9293 return read_escape(p) | 0x80;
9295 else if (c == -1)
goto eof;
9297 return ((c & 0xff) | 0x80);
9301 if ((c = nextc(p)) !=
'-') {
9302 yyerror(p,
"Invalid escape character syntax");
9307 if ((c = nextc(p))==
'\\') {
9312 else if (c == -1)
goto eof;
9317 yyerror(p,
"Invalid escape character syntax");
9337 while ((c = nextc(p)) != end || nest_level != 0) {
9338 if (hinf && (c ==
'\n' || c == -1)) {
9344 line_head = hinf->line_head;
9345 hinf->line_head =
TRUE;
9348 const char *s = tok(p);
9349 int len = toklen(p);
9350 if (hinf->allow_indent) {
9351 while (
ISSPACE(*s) && len > 0) {
9356 if ((len-1 == hinf->term_len) && (strncmp(s, hinf->term, len-1) == 0)) {
9362 snprintf(buf,
sizeof(buf),
"can't find string \"%s\" anywhere before EOF", hinf->term);
9366 yylval.nd = new_str(p, tok(p), toklen(p));
9370 yyerror(p,
"unterminated string meets end of file");
9373 else if (c == beg) {
9377 else if (c == end) {
9381 else if (c ==
'\\') {
9384 if (c == end || c == beg) {
9399 tokadd(p, read_escape(p));
9402 hinf->line_head =
FALSE;
9405 if (c != beg && c != end) {
9424 else if ((c ==
'#') && (type & STR_FUNC_EXPAND)) {
9430 yylval.nd = new_str(p, tok(p), toklen(p));
9432 hinf->line_head =
FALSE;
9439 if ((type & STR_FUNC_ARRAY) &&
ISSPACE(c)) {
9440 if (toklen(p) == 0) {
9446 }
while (
ISSPACE(c = nextc(p)));
9452 yylval.nd = new_str(p, tok(p), toklen(p));
9466 yylval.nd = new_xstr(p, tok(p), toklen(p));
9470 if (type & STR_FUNC_REGEXP) {
9473 char *s =
strndup(tok(p), toklen(p));
9479 while (c = nextc(p), c != -1 &&
ISALPHA(c)) {
9481 case 'i': f |= 1;
break;
9482 case 'x': f |= 2;
break;
9483 case 'm': f |= 4;
break;
9484 default: tokadd(p, c);
break;
9491 snprintf(msg,
sizeof(msg),
"unknown regexp option%s - %s",
9492 toklen(p) > 1 ?
"s" :
"", tok(p));
9496 if (f & 1) *flag++ =
'i';
9497 if (f & 2) *flag++ =
'x';
9498 if (f & 4) *flag++ =
'm';
9499 dup =
strndup(flags, (
size_t)(flag - flags));
9504 yylval.nd = new_regx(p, s, dup);
9509 yylval.nd = new_str(p, tok(p), toklen(p));
9533 if (c ==
'\'' || c ==
'"') {
9538 while ((c = nextc(p)) != -1 && c != term) {
9546 yyerror(p,
"unterminated here document identifier");
9552 if (indent) pushback(p,
'-');
9558 }
while ((c = nextc(p)) != -1 &&
identchar(c));
9562 newnode = new_heredoc(p);
9589 yywarning(p,
"ambiguous first argument; put parentheses or even spaces");
9607 return parse_string(p);
9610 return parse_string(p);
9616 switch (c = nextc(p)) {
9624 case ' ':
case '\t':
case '\f':
case '\r':
9636 goto normal_newline;
9650 while ((c = nextc(p))) {
9652 case ' ':
case '\t':
case '\f':
case '\r':
9657 if ((c = nextc(p)) !=
'.') {
9663 goto normal_newline;
9666 goto normal_newline;
9675 if ((c = nextc(p)) ==
'*') {
9676 if ((c = nextc(p)) ==
'=') {
9692 yywarning(p,
"`*' interpreted as argument prefix");
9731 if (peeks(p,
"begin\n")) {
9732 skips(p,
"\n=end\n");
9741 if ((c = nextc(p)) ==
'=') {
9742 if ((c = nextc(p)) ==
'=') {
9751 else if (c ==
'>') {
9764 (!
IS_ARG() || space_seen)) {
9765 int token = heredoc_identifier(p);
9778 if ((c = nextc(p)) ==
'>') {
9785 if ((c = nextc(p)) ==
'=') {
9802 if ((c = nextc(p)) ==
'=') {
9806 if ((c = nextc(p)) ==
'=') {
9823 return parse_string(p);
9847 yyerror(p,
"incomplete character syntax");
9878 snprintf(buf,
sizeof(buf),
"invalid character syntax; use ?\\%c", c2);
9887 token_column = newtok(p);
9889 if ((isalnum(c) || c ==
'_')) {
9892 if ((isalnum(c2) || c2 ==
'_')) {
9913 yylval.nd = new_str(p, tok(p), toklen(p));
9918 if ((c = nextc(p)) ==
'&') {
9920 if ((c = nextc(p)) ==
'=') {
9928 else if (c ==
'=') {
9935 yywarning(p,
"`&' interpreted as argument prefix");
9952 if ((c = nextc(p)) ==
'|') {
9954 if ((c = nextc(p)) ==
'=') {
10037 if ((c = nextc(p)) ==
'.') {
10038 if ((c = nextc(p)) ==
'.') {
10046 yyerror(p,
"no .<digit> floating literal anymore; put 0 before dot");
10052 case '0':
case '1':
case '2':
case '3':
case '4':
10053 case '5':
case '6':
case '7':
case '8':
case '9':
10055 int is_float, seen_point, seen_e, nondigit;
10057 is_float = seen_point = seen_e = nondigit = 0;
10059 token_column = newtok(p);
10060 if (c ==
'-' || c ==
'+') {
10065 #define no_digits() do {yyerror(p,"numeric literal without digits"); return 0;} while (0)
10066 int start = toklen(p);
10068 if (c ==
'x' || c ==
'X') {
10074 if (nondigit)
break;
10080 tokadd(p, tolower(c));
10081 }
while ((c = nextc(p)) != -1);
10085 if (toklen(p) == start) {
10088 else if (nondigit)
goto trailing_uc;
10089 yylval.nd = new_int(p, tok(p), 16);
10092 if (c ==
'b' || c ==
'B') {
10095 if (c ==
'0' || c ==
'1') {
10098 if (nondigit)
break;
10102 if (c !=
'0' && c !=
'1')
break;
10105 }
while ((c = nextc(p)) != -1);
10109 if (toklen(p) == start) {
10112 else if (nondigit)
goto trailing_uc;
10113 yylval.nd = new_int(p, tok(p), 2);
10116 if (c ==
'd' || c ==
'D') {
10122 if (nondigit)
break;
10129 }
while ((c = nextc(p)) != -1);
10133 if (toklen(p) == start) {
10136 else if (nondigit)
goto trailing_uc;
10137 yylval.nd = new_int(p, tok(p), 10);
10144 if (c ==
'o' || c ==
'O') {
10147 if (c == -1 || c ==
'_' || !
ISDIGIT(c)) {
10151 if (c >=
'0' && c <=
'7') {
10156 if (nondigit)
break;
10160 if (c < '0' || c >
'9')
break;
10161 if (c >
'7')
goto invalid_octal;
10164 }
while ((c = nextc(p)) != -1);
10166 if (toklen(p) > start) {
10169 if (nondigit)
goto trailing_uc;
10170 yylval.nd = new_int(p, tok(p), 8);
10178 if (c >
'7' && c <=
'9') {
10180 yyerror(p,
"Invalid octal digit");
10182 else if (c ==
'.' || c ==
'e' || c ==
'E') {
10187 yylval.nd = new_int(p,
"0", 10);
10194 case '0':
case '1':
case '2':
case '3':
case '4':
10195 case '5':
case '6':
case '7':
case '8':
case '9':
10201 if (nondigit)
goto trailing_uc;
10202 if (seen_point || seen_e) {
10207 if (c0 == -1 || !
ISDIGIT(c0)) {
10235 if (c !=
'-' && c !=
'+')
continue;
10241 if (nondigit)
goto decode_num;
10255 yyerror_i(p,
"trailing `%c' in number", nondigit);
10263 d = strtod(tok(p), &endp);
10264 if (d == 0 && endp == tok(p)) {
10265 yywarning_s(p,
"corrupted float value %s", tok(p));
10267 else if (errno == ERANGE) {
10268 yywarning_s(p,
"float %s out of range", tok(p));
10271 yylval.nd = new_float(p, tok(p));
10274 yylval.nd = new_int(p, tok(p), 10);
10314 if ((c = nextc(p)) ==
'=') {
10332 if ((c = nextc(p)) ==
'=') {
10355 if ((c = nextc(p)) !=
'@') {
10382 if ((c = nextc(p)) ==
']') {
10383 if ((c = nextc(p)) ==
'=') {
10395 else if (
IS_ARG() && space_seen) {
10441 if (c == -1 || !
ISALNUM(c)) {
10447 if (isalnum(term)) {
10448 yyerror(p,
"unknown type of %string");
10452 if (c == -1 || term == -1) {
10453 yyerror(p,
"unterminated quoted string meets end of file");
10457 if (term ==
'(') term =
')';
10458 else if (term ==
'[') term =
']';
10459 else if (term ==
'{') term =
'}';
10460 else if (term ==
'<') term =
'>';
10470 return parse_string(p);
10501 yyerror(p,
"unknown type of %string");
10505 if ((c = nextc(p)) ==
'=') {
10523 token_column = newtok(p);
10526 yyerror(p,
"incomplete global variable syntax");
10581 yylval.nd = new_back_ref(p, c);
10584 case '1':
case '2':
case '3':
10585 case '4':
case '5':
case '6':
10586 case '7':
case '8':
case '9':
10590 }
while (c != -1 && isdigit(c));
10594 yylval.nd = new_nth_ref(p, atoi(tok(p)));
10609 token_column = newtok(p);
10616 if (p->
bidx == 1) {
10617 yyerror(p,
"incomplete instance variable syntax");
10620 yyerror(p,
"incomplete class variable syntax");
10624 else if (isdigit(c)) {
10625 if (p->
bidx == 1) {
10626 yyerror_i(p,
"`@%c' is not allowed as an instance variable name", c);
10629 yyerror_i(p,
"`@@%c' is not allowed as a class variable name", c);
10640 token_column = newtok(p);
10645 yyerror_i(p,
"Invalid char `\\x%02X' in expression", c);
10649 token_column = newtok(p);
10658 if (token_column == 0 && toklen(p) == 7 && (c < 0 || c ==
'\n') &&
10659 strncmp(tok(p),
"__END__", toklen(p)) == 0)
10662 switch (tok(p)[0]) {
10663 case '@':
case '$':
10667 if ((c ==
'!' || c ==
'?') && !
peek(p,
'=')) {
10679 switch (tok(p)[0]) {
10686 if (tok(p)[1] ==
'@')
10693 if (toklast(p) ==
'!' || toklast(p) ==
'?') {
10698 if ((c = nextc(p)) ==
'=' && !
peek(p,
'~') && !
peek(p,
'>') &&
10699 (!
peek(p,
'=') || (peek_n(p,
'>', 1)))) {
10708 if (result == 0 && isupper((
int)(
unsigned char)tok(p)[0])) {
10726 const struct kwtable *kw;
10729 kw = mrb_reserved_word(tok(p), toklen(p));
10756 if (kw->id[0] != kw->id[1])
10783 if (last_state !=
EXPR_DOT && islower(tok(p)[0]) && lvar_defined(ident)) {
10798 t = parser_yylex(p);
10813 for (i=0; i<cxt->
slen; i++) {
10814 local_add_f(p, cxt->
syms[i]);
10838 for (i=0, n=n0; n; i++,n=n->
cdr) {
10849 if (setjmp(p->
jmp) != 0) {
10850 yyerror(p,
"memory allocation error");
10861 parser_init_cxt(p, c);
10864 p->
tree = new_nil(p);
10866 parser_update_cxt(p, c);
10880 if (!pool)
return 0;
10884 *p = parser_state_zero;
10889 p->
s = p->
send = NULL;
10890 #ifdef ENABLE_STDIO
10900 #if defined(PARSER_TEST) || defined(PARSER_DEBUG)
10939 int len = strlen(s);
10942 memcpy(p, s, len + 1);
10992 #ifdef ENABLE_STDIO
11000 p->
s = p->
send = NULL;
11032 struct RProc *proc;
11037 return mrb_undef_value();
11043 n = snprintf(buf,
sizeof(buf),
"line %d: %s\n",
11047 return mrb_undef_value();
11050 static const char msg[] =
"syntax error";
11053 return mrb_undef_value();
11059 static const char msg[] =
"codegen error";
11061 return mrb_nil_value();
11065 if (c->
no_exec)
return mrb_fixnum_value(n);
11076 if (mrb->
exc)
return mrb_nil_value();
11080 #ifdef ENABLE_STDIO
11084 return load_exec(mrb, mrb_parse_file(mrb, f, c), c);
11090 return mrb_load_file_cxt(mrb, f, NULL);
11118 #ifdef ENABLE_STDIO
11121 dump_prefix(
int offset)
11143 #ifdef ENABLE_STDIO
11148 dump_prefix(offset);
11149 n = (int)(intptr_t)tree->
car;
11153 printf(
"NODE_BEGIN:\n");
11154 dump_recur(mrb, tree, offset+1);
11158 printf(
"NODE_RESCUE:\n");
11160 dump_prefix(offset+1);
11168 dump_prefix(offset+1);
11169 printf(
"rescue:\n");
11173 dump_prefix(offset+2);
11174 printf(
"handle classes:\n");
11175 dump_recur(mrb, n3->
car, offset+3);
11178 dump_prefix(offset+2);
11179 printf(
"exc_var:\n");
11183 dump_prefix(offset+2);
11184 printf(
"rescue body:\n");
11192 dump_prefix(offset+1);
11199 printf(
"NODE_ENSURE:\n");
11200 dump_prefix(offset+1);
11203 dump_prefix(offset+1);
11204 printf(
"ensure:\n");
11209 printf(
"NODE_BLOCK:\n");
11214 printf(
"NODE_BLOCK:\n");
11220 dump_prefix(offset+1);
11221 printf(
"mandatory args:\n");
11222 dump_recur(mrb, n->
car, offset+2);
11226 dump_prefix(offset+1);
11227 printf(
"optional args:\n");
11232 dump_prefix(offset+2);
11241 dump_prefix(offset+1);
11246 dump_prefix(offset+1);
11247 printf(
"post mandatory args:\n");
11248 dump_recur(mrb, n->
car, offset+2);
11252 dump_prefix(offset+1);
11256 dump_prefix(offset+1);
11262 printf(
"NODE_IF:\n");
11263 dump_prefix(offset+1);
11266 dump_prefix(offset+1);
11270 dump_prefix(offset+1);
11277 printf(
"NODE_AND:\n");
11283 printf(
"NODE_OR:\n");
11289 printf(
"NODE_CASE:\n");
11295 dump_prefix(offset+1);
11297 dump_recur(mrb, tree->
car->
car, offset+2);
11298 dump_prefix(offset+1);
11306 printf(
"NODE_WHILE:\n");
11307 dump_prefix(offset+1);
11310 dump_prefix(offset+1);
11316 printf(
"NODE_UNTIL:\n");
11317 dump_prefix(offset+1);
11320 dump_prefix(offset+1);
11326 printf(
"NODE_FOR:\n");
11327 dump_prefix(offset+1);
11333 dump_prefix(offset+2);
11335 dump_recur(mrb, n2->
car, offset+3);
11340 dump_prefix(offset+2);
11347 dump_prefix(offset+2);
11349 dump_recur(mrb, n2->
car, offset+3);
11355 dump_prefix(offset+1);
11359 dump_prefix(offset+1);
11365 printf(
"NODE_SCOPE:\n");
11369 if (n2 && (n2->
car || n2->
cdr)) {
11370 dump_prefix(offset+1);
11371 printf(
"local variables:\n");
11372 dump_prefix(offset+2);
11375 if (n2 != tree->
car) printf(
", ");
11389 printf(
"NODE_CALL:\n");
11391 dump_prefix(offset+1);
11392 printf(
"method='%s' (%d)\n",
11394 (
int)(intptr_t)tree->
cdr->
car);
11397 dump_prefix(offset+1);
11399 dump_recur(mrb, tree->
car, offset+2);
11401 dump_prefix(offset+1);
11402 printf(
"block:\n");
11409 printf(
"NODE_DOT2:\n");
11415 printf(
"NODE_DOT3:\n");
11421 printf(
"NODE_COLON2:\n");
11423 dump_prefix(offset+1);
11428 printf(
"NODE_COLON3:\n");
11429 dump_prefix(offset+1);
11434 printf(
"NODE_ARRAY:\n");
11435 dump_recur(mrb, tree, offset+1);
11439 printf(
"NODE_HASH:\n");
11441 dump_prefix(offset+1);
11444 dump_prefix(offset+1);
11445 printf(
"value:\n");
11452 printf(
"NODE_SPLAT:\n");
11457 printf(
"NODE_ASGN:\n");
11458 dump_prefix(offset+1);
11461 dump_prefix(offset+1);
11467 printf(
"NODE_MASGN:\n");
11468 dump_prefix(offset+1);
11474 dump_prefix(offset+2);
11476 dump_recur(mrb, n2->
car, offset+3);
11481 dump_prefix(offset+2);
11484 dump_prefix(offset+2);
11485 printf(
"(empty)\n");
11494 dump_prefix(offset+2);
11496 dump_recur(mrb, n2->
car, offset+3);
11501 dump_prefix(offset+1);
11507 printf(
"NODE_OP_ASGN:\n");
11508 dump_prefix(offset+1);
11512 dump_prefix(offset+1);
11519 printf(
"NODE_SUPER:\n");
11521 dump_prefix(offset+1);
11523 dump_recur(mrb, tree->
car, offset+2);
11525 dump_prefix(offset+1);
11526 printf(
"block:\n");
11533 printf(
"NODE_ZSUPER\n");
11537 printf(
"NODE_RETURN:\n");
11542 printf(
"NODE_YIELD:\n");
11543 dump_recur(mrb, tree, offset+1);
11547 printf(
"NODE_BREAK:\n");
11552 printf(
"NODE_NEXT:\n");
11557 printf(
"NODE_REDO\n");
11561 printf(
"NODE_RETRY\n");
11585 printf(
"NODE_MATCH:\n");
11586 dump_prefix(offset + 1);
11589 dump_prefix(offset + 1);
11595 printf(
"NODE_BACK_REF: $%c\n", (
int)(intptr_t)tree);
11599 printf(
"NODE_NTH_REF: $%d\n", (
int)(intptr_t)tree);
11607 printf(
"NODE_BLOCK_ARG:\n");
11612 printf(
"NODE_INT %s base %d\n", (
char*)tree->car, (
int)(intptr_t)tree->cdr->car);
11616 printf(
"NODE_FLOAT %s\n", (
char*)tree);
11620 printf(
"NODE_NEGATE\n");
11625 printf(
"NODE_STR \"%s\" len %d\n", (
char*)tree->car, (
int)(intptr_t)tree->cdr);
11629 printf(
"NODE_DSTR\n");
11630 dump_recur(mrb, tree, offset+1);
11634 printf(
"NODE_XSTR \"%s\" len %d\n", (
char*)tree->car, (
int)(intptr_t)tree->cdr);
11638 printf(
"NODE_DXSTR\n");
11639 dump_recur(mrb, tree, offset+1);
11643 printf(
"NODE_REGX /%s/%s\n", (
char*)tree->car, (
char*)tree->cdr);
11647 printf(
"NODE_DREGX\n");
11648 dump_recur(mrb, tree->car, offset+1);
11649 dump_prefix(offset);
11650 printf(
"tail: %s\n", (
char*)tree->cdr->cdr->car);
11651 dump_prefix(offset);
11652 printf(
"opt: %s\n", (
char*)tree->cdr->cdr->cdr);
11660 printf(
"NODE_SELF\n");
11664 printf(
"NODE_NIL\n");
11668 printf(
"NODE_TRUE\n");
11672 printf(
"NODE_FALSE\n");
11676 printf(
"NODE_ALIAS %s %s:\n",
11682 printf(
"NODE_UNDEF");
11694 printf(
"NODE_CLASS:\n");
11695 if (tree->car->car == (
node*)0) {
11696 dump_prefix(offset+1);
11699 else if (tree->car->car == (
node*)1) {
11700 dump_prefix(offset+1);
11705 dump_prefix(offset+1);
11708 if (tree->cdr->car) {
11709 dump_prefix(offset+1);
11710 printf(
"super:\n");
11713 dump_prefix(offset+1);
11715 parser_dump(mrb, tree->cdr->cdr->car->cdr, offset+2);
11719 printf(
"NODE_MODULE:\n");
11720 if (tree->car->car == (
node*)0) {
11721 dump_prefix(offset+1);
11724 else if (tree->car->car == (
node*)1) {
11725 dump_prefix(offset+1);
11730 dump_prefix(offset+1);
11733 dump_prefix(offset+1);
11739 printf(
"NODE_SCLASS:\n");
11741 dump_prefix(offset+1);
11747 printf(
"NODE_DEF:\n");
11748 dump_prefix(offset+1);
11754 if (n2 && (n2->
car || n2->
cdr)) {
11755 dump_prefix(offset+1);
11756 printf(
"local variables:\n");
11757 dump_prefix(offset+2);
11760 if (n2 != tree->
car) printf(
", ");
11773 dump_prefix(offset+1);
11774 printf(
"mandatory args:\n");
11775 dump_recur(mrb, n->
car, offset+2);
11779 dump_prefix(offset+1);
11780 printf(
"optional args:\n");
11785 dump_prefix(offset+2);
11794 dump_prefix(offset+1);
11799 dump_prefix(offset+1);
11800 printf(
"post mandatory args:\n");
11801 dump_recur(mrb, n->
car, offset+2);
11805 dump_prefix(offset+1);
11813 printf(
"NODE_SDEF:\n");
11816 dump_prefix(offset+1);
11818 tree = tree->cdr->cdr;
11823 dump_prefix(offset+1);
11824 printf(
"mandatory args:\n");
11825 dump_recur(mrb, n->
car, offset+2);
11829 dump_prefix(offset+1);
11830 printf(
"optional args:\n");
11835 dump_prefix(offset+2);
11844 dump_prefix(offset+1);
11849 dump_prefix(offset+1);
11850 printf(
"post mandatory args:\n");
11851 dump_recur(mrb, n->
car, offset+2);
11855 dump_prefix(offset+1);
11864 printf(
"NODE_POSTEXE:\n");
11869 printf(
"NODE_HEREDOC:\n");
11874 printf(
"node type: %d (0x%x)\n", (
int)n, (
int)n);